Многопоточная оценка с использованием Negamax + альфа-бета-обрезка с таблицами транспозиции - PullRequest
0 голосов
/ 30 января 2019

Я только что реализовал хорошо работающую функцию оценки для шашек.Текущая реализация использует потоки и отдельные таблицы транспонирования для каждого.

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

Теперь у меня есть два соображения:

  1. Можно ли безопасно разделить одну таблицу транспонирования между всеми этими потоками (потокисинхронизироваться конечно)?

  2. Каждый раз, когда я начинаю новый анализ, я должен очистить таблицы или их безопасно использовать?

Есть какие-нибудь мысли?

...