Главная arrow книги arrow Копия Глава 6. Поиск в условиях противодействия arrow Альфа-бета-отсечение
Альфа-бета-отсечение

Рис. 6.4. Этапы вычисления оптимального решения для дерева игры, показанного на рис. 6.2; в каждой точке известен ряд возможных значений для каждого узла: первый лист, расположенный ниже узла В, имеет значение 3. Поэтому В, который является узлом MIN, имеет, самое большее, значение 3 (а); второй лист, расположенный ниже узла В, имеет значение 12 (б); игрок Мin должен избегать этого хода, поэтому значение В, все еще самое большее, равно 3; третий лист, расположенный ниже узла В, имеет значение 8; мы проверили всех преемников узла В, поэтому значение В в точности равно 3 (в). Теперь можно сделать вывод, что значение корня, самое меньшее, равно 3, поскольку игрок МАХ в корне делает выбор со значением 3; первый лист, находящийся ниже С, имеет значение 2. Поэтому С, который представляет собой узел Мin, имеет, самое большее, значение 2. Но известно, что узел В позволяет достичь значения 3, поэтому игрок МАХ ни в коем случае не должен выбирать узел С. Это означает, что нет смысла проверять остальных преемников узла С. Это — пример применения альфа-бета-отсечения (г). Первый лист, находящийся ниже D, имеет значение 14, поэтому D имеет, самое большее, значение 14. Оно все еще выше, чем наилучшая альтернатива для игрока МАХ (т.е. 3), поэтому необходимо продолжить исследование преемников узла D. Следует также отметить, что теперь определены предельные значения всех преемников корневого узла, поэтому значение корня также равно, самое большее, 14 (д); второй преемник D имеет значение 5, поэтому снова приходится продолжать исследование. Значение третьего преемника равно 2, поэтому теперь значение D точно равно 2. В корневом узле игрок МАХ принимает решение сделать ход, ведущий к узлу В, что позволяет ему получить значение 3 (е)

Этот подход может также рассматриваться под другим углом — как упрощение формулы для получения минимаксного значения Minimax-Value. Допустим, что два преемника узла С на рис. 6.4, еще не обработанные в процессе вычисления, имеют значения х и у, и предположим, что z — минимальное значение среди х и у. В таком случае значение корневого узла можно найти следующим образом:

Иными словами, значение корневого узла, а следовательно, и минимаксное решение не зависит от значений отсеченных листовых узлов х и у.