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

       

Прологовские программы как системы, управляемые образцами


Программы, написанные на Прологе, можно рассматривать как системы, управляемые образцами. Между пролог-программами и этими системами можно установить соответствие примерно следующим образом:

  • Каждое предложение прологовской программы можно считать отдельным модулем со своим пусковым образцом. Голова предложения соответствует образцу, тело - тому действию, которое выполняет модуль.
  • База данных системы - это текущий список целей, которые пролог-система пытается удовлетворить.
  • Предложение пролог-системы "запускается", если его голова сопоставима с целью, расположенной первой в базе данных.
  • Выполнить действие модуля (т.е. тело предложе ния) - это значит: поместить в базу данных вместо первой из целей весь список целей тела предложения (с соответствующей конкретизацией переменных).
  • Процесс активизации модулей (предложений) не детерминирован в том смысле, что с первой целью базы данных могут удачно сопоставить свою голову сразу несколько предложений, и, вообще говоря, любое из них может быть запущено. В Прологе этот недетерминизм реализован при помощи механизма возвратов.

Рис. 16. 2.  Основной цикл работы системы, управляемой образцами.
В этом примере база данных согласуется с пусковыми образцами
модулей  1,  3  и  4;  для выполнения выбран модуль  3.



Содержание раздела