Программирование на языке Пролог для искусственного интеллекта


         

Программа на Прологе, вычисляющая минимаксную



                выбор( Поз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
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий