Объяснение
Минимакс представляет игру как дерево возможностей. Каждая ветвь является ходом, а уровни поочерёдно принадлежат одной и другой стороне. Шахматный движок, то есть программа, анализирующая позиции и выбирающая ходы, рассматривает свои варианты, а затем сильнейшие ответы соперника. Главное предположение осторожно: он никогда не рассчитывает на ошибку соперника .
На уровнях, где ходит движок, алгоритм сохраняет наиболее благоприятный результат. На уровнях соперника он сохраняет наименее благоприятный для движка результат, поскольку предполагается максимально сильное сопротивление. Затем значения переносятся назад от будущих позиций к текущей. Поэтому начальные ходы можно сравнивать по результату, который каждый гарантирует против лучшей защиты.
Практический поиск редко способен исследовать всю партию. На границе глубины он использует , формулу, оценивающую, какая сторона стоит лучше. Поэтому выбор минимакса при ограниченной глубине не является абсолютным доказательством: он зависит от достигнутой глубины и точности оценки. Также возможен , когда важное последствие находится сразу за отсечкой.
Движки делают эту схему эффективнее с помощью таких методов, как , где перспективные варианты исследуются раньше, чтобы быстрее отбрасывать несущественные ветви. Другие системы, включая , иначе распределяют усилия, но стремятся к той же практической цели: определить ход, заслуживающий наибольшего доверия.
Употребление и контекст
Минимакс является базовой логической схемой принятия решений для многих традиционных поисков, используемых шахматным .
Распространённые заблуждения
Минимакс и оценочная функция
Минимакс организует сравнение решений обеих сторон. Оценочная функция лишь присваивает позиции оценку.
Открыть терминИсточники
- 1.Minimax, Chess Programming Wiki
