Я пишу AI для карточной игры, и после некоторого тестирования я обнаружил, что использование MTD (f) в моем альфа-бета-алгоритме - серия поиска нулевого окна - быстрее, чем просто использовать альфа-бета.Как использовать таблицы транспонирования с MTD (f)
МПД (е) алгоритм описан здесь хорошо http://people.csail.mit.edu/plaat/mtdf.html
У меня проблема является то, что для каждого прохода в МПД (ф) поиск (для каждого предположения) не использовать повторно любой из предыдущих позиций Я сохранил, хотя запись в ссылке предполагает, что я должен (фактически очистка таблицы между итерациями ускоряет алгоритм).
Моя проблема заключается в том, что когда я сохраняю позицию и значение в моей таблице транспозиции, я также сохраняю значения альфы и беты, для которых она действительна. Поэтому второй проход через дерево с другой догадкой (и, следовательно, альфа и бета) не может повторно использовать какую-либо информацию. Это то, что можно ожидать, или я пропустил что-то фундаментальное здесь?
Например, если для альфа = 3 бета = 4 мы приходим к результату 7 (очевидно, к отсечению), следует ли хранить это в таблице как действительное для альфа = 3 до бета = 6? Или бета = 7?
Спасибо, это именно то, что я искал, и подключил несколько отверстий в моем понимании. – Daniel
Я думаю, что также необходимо как-то доказать, что это не делает недействительным предположение альфа/бета использовать значения tt из более глубокого поиска. По крайней мере, если вам нужна полная мощность. –