Есть ли оптимальная глубина в игровом дереве? - PullRequest
0 голосов
/ 27 ноября 2018

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

Первая проблема:

Когда я увеличиваю глубину поискаИнтуитивно я должен получить лучшие результаты, даже если отнимает больше времени, но в моем случае переход от глубины 8 (победа) к глубине 9 заставляет меня все время проигрывать, теперь, если я увеличу его до 10, я внезапно снова выиграю.Имейте в виду, что я держу все постоянным, кроме глубины.Сначала я подумал, что, возможно, это потому, что на глубине 9 мы сначала находим многообещающий ход, который противник может легко опровергнуть, но потом это может произойти на любой глубине.Итак, мой вопрос, что вызывает это странное поведение?Существует ли оптимальная глубина, которая, если мы выйдем за пределы, может иметь неприятные последствия?

Вторая проблема: она похожа на порядок ходов, но сделана, чтобы получить значения следующей игры, чтобы выбрать, что играть.Например:

For every possible move starting from weakest move do: minimax(move)

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

1 Ответ

0 голосов
/ 01 декабря 2018

Когда я увеличиваю глубину поиска, интуитивно я получаю лучшие результаты, даже если отнимает больше времени, но в моем случае переход от глубины 8 (победа) к глубине 9 заставляет меня все время проигрывать, теперьесли я увеличу его до 10, я внезапно снова выиграю.

Конечно, для меня это звучит как ошибка.

For every possible move starting from weakest move do:
    minimax(move)

Вы всегда должны начинать с самого сильного хода, чтобы извлечь выгоду изальфа-бета-обрезка

Теперь, поскольку мы должны пройти через все возможные шаги

А как насчет альфа-бета-обрезки?Вам не нужно проходить все возможные ходы.

...