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

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

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

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

• Каждое предложение прологовской программы можно считать отдельным модулем со своим пусковым образцом. Голова предложения соответствует образцу, тело - тому действию, которое выполняет модуль.

• База данных системы — это текущий список целей, которые пролог-система пытается удовлетворить.

• Предложение пролог-системы "запускается", если его голова сопоставима с целью, расположенной первой в базе данных.

• Выполнить действие модуля (т.е. тело предложения) — это значит: поместить в базу данных вместо первой из целей весь список целей тела предложения (с соответствующей конкретизацией переменных).

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


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

Оглавление книги


Генерация: 4.593. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз