Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть II Искусственный интеллект.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
4.04 Mб
Скачать

Лекция 31

10.6.2.Минимаксный алгоритм.

Простран­ство поиска астрономических размеров в дереве игры в шахматы включает приблизительно 10120 позиций. Иногда можно услышать такие возражения, что в различных местах дерева, показанного на рис. 10.23, встречаются одинаковые позиции. Тем не менее доказано, что количество различных позиций на шахматной доске намного превосхо­дит возможности любых компьютеров, которые могут быть созданы в обозримом бу­дущем.

Начальная позиция

.................. ≈ 30 позиций

продолжения

30Х30≈ 1000 позиций

100040 позиций

..............................................................

Рис. 10.23. Сложность деревьев игр в шахматах. Приведенные здесь оценки основа­ны на предположении, что из любой шахматной позиции может быть сделано приблизительно 30 допустимых ходов, а заключительные позиции возникают на глубине 40 ходов. Каждый ход состоит из 2 полуходов (по 1 полуходу от каждого участника) .

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

Поиск в дереве игры осуществля­ется только до определенной глубины, как правило, на несколько ходов, а затем осуществляется оценка концевых узлов этого дерева поиска с помощью некоторой функции оценки. Идея состоит в том, что оценка этих заключительных позиций по­иска происходит без выполнения поиска за их пределами, что позволяет сэкономить время. После этого оценки заключительных позиций распространяются вверх по де­реву поиска в соответствии с принципом минимакса. Это позволяет определить оцен­ки позиций для всех позиций в дереве поиска. Затем в игре фактически выполняется ход, который ведет от первоначальной, корневой позиции к ее наиболее перспектив­ному преемнику (согласно этим оценкам).

Обратите внимание на то, что в приведенном выше описании проводится различие между понятиями "дерево игры" и "дерево поиска". Дерево поиска обычно представ­ляет собой лишь (верхнюю) часть дерева игры, иными словами, часть, явно форми­руемую в процессе поиска. Поэтому заключительные позиции поиска не обязательно должны быть заключительными позициями игры.

При этом многое зависит от функции оценки. Такая функция в большинстве ин­тересных игр должна представлять собой эвристическую функцию, позволяющую оценить шансы на выигрыш с точки зрения одного из игроков. Чем выше эта оцен­ка, тем больше шансов на выигрыш имеет игрок, а чем меньше это значение, тем выше шансы на выигрыш у его противника. Поскольку один из игроков получает возможность достичь позиции с высокой оценкой, а другой вынужден довольство­ваться низкой оценкой, эти два игрока соответственно именуются как МАХ и MIN. Каждый раз, когда ход должен сделать игрок МАХ, он выбирает ход, который в мак­симальной степени увеличивает оценку своей позиции. В противоположность этому игрок MIN должен выбрать ход, который сводит к минимуму оценку позиции своего противника. Если известны значения позиций низкого уровня в дереве поиска, то такой принцип (называемый минимаксом) позволяет определить значения всех дру­гих позиций в дереве поиска, как показано на рис. 10.24. На этом рисунке уровни по­зиций, в которых должен ходить игрок МАХ, чередуются с позициями, в которых право сделать ход передается игроку MIN. Значения позиций нижнего уровня опреде­ляются с помощью функции оценки. Стоимости внутренних узлов можно рассчитать, поднимаясь снизу вверх, от одного уровня к другому до тех пор, пока не будет достигнут корневой узел. На рис. 10.24. результирующая стоимость корневого узла равна 4, поэтому наилучшим ходом для игрока МАХ в позиции а является а - b. Наилучшим ответом для игрока MIN является b-d и т.д. Такая последовательность позиций в иг­ре называется также основным вариантом. Основной вариант определяет для обоих участников игру, оптимальную в соответствии с принципом минимакса. Обратите внимание на то, что стоимость позиций вдоль основного варианта не изменяется. В соответствии с этим правильными являются те ходы, которые позволяют сохра­нить стоимость игры.

а Ход игрока МАХ

b c Ход игрока MIN

d e f g Ход игрока

МАХ

Статические оценки

Рис. 10.24. Статические значения (нижний уровень) и зафиксированные минимаксные значения в дереве поиска. Ходы, обозначенные жирными стрелками, составляют ос­новной вариант, т.е. игру обеих сторон, оптимальную в соответствии с принципом минимакса.