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




Миниатюрный интерпретатор языка AL0 - часть 9


                                          ХодыПр).

        принадлежит( X, [X | Спис]).

        принадлежит( X, [Y | Спис]) :-
                принадлежит( X, Спис).

line();

Рис. 15. 6.  Миниатюрный интерпретатор языка AL0.

        игра( Поз)

где Поз - выбранная начальная позиция. Если в позиции Поз ходит противник, то программа принимает его ход, в противном случае - "консультируется" с таблицей советов, приложенной к программе, порождает форсированное дерево и делает свой ход в соответствии с этим деревом. Так продолжается до окончания игры, которое обнаруживает предикат конец_игры (например, если поставлен мат).

Форсированное дерево - это дерево ходов, представленное в программе следующей структурой:

        Ход . . [ Ответ1 . . Фдер1, Ответ2 . . Фдер2, . . . ]

Здесь ".." - инфиксный оператор; Ход - первый ход "игрока"; Ответ1, Ответ2, ... - возможные ответы противника; Фдер1, Фдер2, ... - форсированные поддеревья для каждого из этих ответов.




Содержание  Назад  Вперед