Какая альтернатива для использования списков в качестве ключей для словаря? - PullRequest
0 голосов
/ 30 мая 2018

Я играю в шахматы.Доска хранится в 2-м списке.В игре также есть ai, выполняющий алгоритм минимакса.Я хочу ускорить ай, добавив счет для определенного состояния платы (который является 2-мерным списком) в словарь (check_states_max для максимизатора и check_states_min для минимизатора).Как я могу это сделать, поскольку в python списки нельзя использовать в качестве ключей словаря, потому что они изменчивы?Боюсь, что преобразование всего этого в кортеж будет неэффективным.

1 Ответ

0 голосов
/ 30 мая 2018

Хеширование Zobrist - это то, что вы ищете.

Реализуйте хеш-функцию, которая принимает состояние игры (обратите внимание, не только текущую доску, так как рокировка и прохождение не могут бытьдействителен в зависимости от предыдущих шагов) и возвращает одно целое число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...