我正在制作一个国际象棋游戏。该板存储在二维列表中。游戏还有一个运行极小极大算法的人工智能。我想通过将特定棋盘状态(这是一个二维列表)的分数添加到字典(最大化器的 checked_states_max 和最小化器的 checked_states_min )来加速人工智能。因为在 python 中,列表不能用作字典键,因为它们是可变的,我该怎么做呢?我担心将其全部转换为元组效率很低。
最佳答案
Zobrist hashing这就是您正在寻找的。p>
实现一个哈希函数,该函数获取游戏状态(注意,不仅仅是当前棋盘,因为根据之前的移动,王位转换和过路可能无效)并返回单个整数。
关于python - 使用列表作为字典的键的替代方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50593632/