Тестирование MinMax с альфа-бета-обрезкой и стратегией игры - PullRequest
4 голосов
/ 19 марта 2011

Я сделал игру (Connect-4) и использовал алгоритм MinMax с альфа-бета-отсечкой для компьютерного ИИ. Какой хороший способ проверить правильность моей альфа-бета? Я не уверен в правильности, иногда при игре против моего ИИ игра не делает игру, которая продлит игру дольше, если она понесла убыток глубже, и трудно проверить вещи вручную и с помощью юнит-тестирования, когда он начинает искать просто немного глубоко (7-9 ходов). Как можно это исправить? (Я знаю, может ли альфа-бета обрезать что-то, что дает более трудный выигрыш, если нет способа не проиграть)

1 Ответ

3 голосов
/ 19 марта 2011

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

Это упрощает задачу тестирования правильности вашего алгоритма MiniMax, и я не могу придумать каких-либо специальных приемов для этого -но так как это рекурсивная функция, должна быть возможность написать Unittests для всех случаев

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