- •Содержание
- •Глава 1. Работа с системой пролог-д или быстрое начало.
- •1. Вариант ms-dos
- •2. Вариант windows
- •3. Запуск системы Пролог-д
- •Глава 2 программы на Прологе-д - это логично
- •1. Логические основы работы системы Пролог-д.
- •2. Процедурная семантика Пролога-д
- •Исполнение программы.
- •Глава 3. Построение базы знаний
- •1. Факты и правила.
- •2. Арифметика и другие встроенные предикаты в Прологе-д.
- •3. Рекурсия.
- •4. Графические возможности системы Пролог-д
- •1. Точка.
- •2. Линия.
- •3. Окружность.
- •5. Обработка списков
- •X список
- •5.1. Принадлежность элемента списку.
- •5.2. Склеивание двух списков.
- •Глава 4. Особенности работы
- •3.5. Вопрос.
- •3.6. Запуск программы на Прологе-д.
- •3.7. Правила логического вывода.
- •3.8. Печать результатов.
- •3.9. Приостановка вывода.
- •4.2. Встроенные предикаты
- •4.3. Использование памяти
- •Литература
Глава 4. Особенности работы
С СИСТЕМОЙ Пролог -Д.
1. Комплект поставки системы Пролог-Д
Система Пролог-Д для MS-DOS. На дискете (в архиве, в рабочей директории) должны быть файлы:
PROLOG.EXE - транслятор (интерпретатор),
EGAVGA .BGI – системная графика
PROLOG.HLP – справка.
Система Пролог-Д для Windows. На дискете (в архиве, в рабочей директории) должны быть файлы:
PROLOGW.EXE – транслятор (интерпретатор),
PROLOGW.HLP - справка,
BORLANDMM.DLL – системная библиотека,
CP3245MT.DLL – системная библиотека.
2. Запуск системы Пролог-Д
Систему, работающую под управлением MS- DOS вы можете запустить, набрав в ответ на приглашение операционной системы: >prolog, или воспользоваться программой Norton Commander.
Систему, работающую под управлением Windows95/NT запускают путем инициации мышью ярлыка, соответствующего вызову программы prologw.exe..
3. Программа на Прологе-Д и принципы работы системы.
3.1. Программа.
Синтаксис: Программа ::= БазаЗнанийВопрос
3.2. База знаний.
Синтаксис: БазаЗнаний ::= {Предложение}*
Предложение::= Факт ¦ Правило ¦ Комментарий
Комментарий::= "{СимволASCII}*"
База знаний на Прологе-Д состоит из множества фактов и правил.
3.3. Факты.
Синтаксис:
Факт ::= Предикат;
Предикат ::= Имя(Аргумент{,Аргумент}*) ¦ Имя
Имя ::= БукваСимвол{Символ}* Константа::= Целое ¦ Словосочетание
В данной версии Пролога-Д длина имени предикатного символа не ограничена. Аргументом может быть любой терм. Аргументов может и не быть. Факты описывают объекты и отношения между ними. Декларативно Факт P0 означает, что P0 безусловно истинно. Процедурно означает, что факт P0 всегда выполнен.
3.4. Правила.
Синтаксис: Правило::= Предикат<-Цель{,Цель}*;
Цель ::= Предикат ¦ !
Правило описывает отношения между объектами. Предикат, стоящий слева от знака импликации <- называется головой, а предикаты, стоящие справа - целями или посылками. Правило может иметь любое число целей. (Правило без целей - это факт). Декларативно правило P0<-P1,..,Pn; читается так: P0 истинный, если P1, .. , Pn истинны. Процедурно это значит, что для удовлетворения P0 необходимо последовательно удовлетворить P1, .. , Pn.
3.5. Вопрос.
Синтаксис: Вопрос::= ?Цель{,Цель}*; Процедурно вопрос означает исполнение программы на Прологе-Д.
3.6. Запуск программы на Прологе-д.
Для запуска программы в системе Прологе-Д, работающей под управлением MS- DOS необходимо нажать клавишу <F9>? Для запуска программы в системе Пролог-Д, работающей под управлением Windows необходимо выбрать элемент меню Исполнение. В этом случае последовательно выполняются все вопросы в порядке следования сверху вниз.
3.7. Правила логического вывода.
В данной версии Пролога-Д реализована SLD-резолюция с правилами вычислений "сначала - в глубину" и "замкнутый мир". Эти правила можно сформулировать так:
1. Цель может унифицироваться с фактом или головой правила.
2. Если для данной подцели имеется несколько предложений, с которыми она может унифицироваться, то используется первое сверху из них. В случае неудачи используется следующее по порядку возможное предложение.
3. Подцели правила удовлетворяются слева направо.
4. Если для некоторой подцели нет ни одного предложения, с которым ее можно унифицировать, то подцель считается ложной.