Как извлечь информацию из Zobrist Hash? - PullRequest
0 голосов
/ 10 июля 2019

Я читал о Zobrist Hashing как способ эффективного кодирования состояний настольных игр в таких играх, как Chess, Go, TicTacToe и так далее. Тем не менее, я действительно смущен тем, как вы получаете информацию, содержащуюся в хеше Zobrist.

Скажем, например, я строю дерево поиска по шахматам. Если я нахожусь на узле в дереве поиска, и все, что у меня есть, - это состояние игры, представленное в виде хеша Зобриста, как мне узнать, какие ходы разрешены, где фигуры или игрок выиграл игру? Разве я не должен был бы хранить все состояние разделенной доски, чтобы проверить все условия для законных шагов?

Но если мне нужно сохранить состояние нерасширенной доски в дополнение к хешу Зобриста, что на самом деле выполняет хеш Зобриста? Это не экономит память в дереве поиска, если оно является дополнением к состоянию хэшированной доски, и если бы я хотел провести сравнение с базой хешированной таблицы, я мог бы просто вызвать хеш-функцию в моем состоянии хэшированной доски в любое время, без необходимость нести хэш Зобриста в каждом узле. Кажется, это действительно крутая идея, но я чувствую, что упускаю что-то важное для нее.

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