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




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


        схватить,

                                % Ход

        состояние( середина, наящике, середина, имеет) ).

                                                         % После хода

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

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

        ход( состояние( Р1, наполу, В, Н),

  

             перейти( Р1, Р2),             % Перейти из Р1 в Р2

  

             состояние( Р2, наполу, В, Н) ).

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

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

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

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


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