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




Пример: обезьяна и банан - часть 3


        схватить,                                 % Ход
        состояние( середина, наящике, середина, имеет) ).
                                                         % После хода

В этом факте говорится о том, что после хода у обезьяны уже есть банан и что она осталась на ящике в середине комнаты.

Таким же способом можно выразить и тот факт, что обезьяна, находясь на полу, может перейти из любой горизонтальной позиции Р1 в любую позицию Р2. Обезьяна может это сделать независимо от позиции ящика, а также независимо от того, есть у нее банан или нет. Все это можно записать в виде следующего прологовского факта:

        ход( состояние( Р1, наполу, В, Н),
                перейти( Р1, Р2),             % Перейти из Р1 в Р2
                состояние( Р2, наполу, В, Н) ).

Заметим, что в этом предложении делается много утверждений и, в частности:

  • выполненный ход состоял в том, чтобы "перейти из некоторой позиции Р1 в некоторую позицию Р2";
  • обезьяна находится на полу, как до, так и после хода;
  • ящик находится в некоторой точке В, которая осталась неизменной после хода;
  • состояние "имеет банан" остается неизменным после хода.

fig2_13.gif (1314 bytes)

Рис. 2. 13.  Рекурсивная формулировка отношения можетзавладетъ.

Данное предложение на самом деле определяет все множество возможных ходов указанного типа, так как оно применимо к любой ситуации, сопоставимой с состоянием, имеющим место перед входом.


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