Программа на Прологе, вычисляющая минимаксную
выбор( Поз1, Оц1, Поз2, Оц2, ЛучшПоз, ЛучшОц).
выбор( Поз0, Оц0, Поз1, Оц1, Поз0, Оц0) :-
ход_мина( Поз0), Оц > Оц1, !;
ход_макса( Поз0), Оц < Оц1, !.
выбор( Поз0, Оц0, Поз1, Оц1, Поз1, Оц1).
line();
Рис. 15. 3. Упрощенная реализация минимаксного принципа.
Программа на Прологе, вычисляющая минимаксную рабочую оценку для некоторой заданной позиции, показана на рис. 15.3. Основное отношение этой программы -
минимакс( Поз, ЛучшПоз, Оц)
где
Оц - минимаксная оценка позиции
Поз, а
ЛучшПоз - наилучшая позиция-преемник позиции
Поз
(лучший ход, позволяющий достигнуть оценки
Оц). Отношение
ходы( Поз, СписПоз)
задает разрешенные ходы игры:
СписПоз
- это список разрешенных позиций-преемников позиции
Поз. Предполагается, что цель
ходы
имеет неуспех, если
Поз является терминальной поисковой позицией (листом дерева поиска). Отношение
лучш( СписПоз, ЛучшПоз, ЛучшОц)
выбирает из списка позиций-кандидатов
СписПоз
"наилучшую" позицию
ЛучшПоз.
ЛучшОц
- оценка позиции
ЛучшПоз, а следовательно, и позиции
Поз. Под "наилучшей" оценкой мы понимаем либо максимальную, либо минимальную оценку, в зависимости от того, с чьей стороны ожидается ход.
Назад | Содержание
| Вперёд
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий