Базовые понятия языка Пролог
Основными понятиями в языке Пролог являются факты, правила и вопросы. Из фактов и правил образуются описания данных, процедур и программы на языке Пролог. Вопросы - это основное средство ведения диалога с базами знаний и программами, имеющимися в памяти ЭВМ.
Факты в Прологе служат для описания конкретных данных и простейших сведений. Примеры фактов:
мама (зина, вова); - Зина - мама Вовы
папа (миша, вова); - Миша - папа Вовы
Группы фактов могут образовывать данные. Совокупность данных, размещаемых на дисках, образуют базы данных. Общее определение данных в Прологе:
данные:
<факт>; [<факт>;...]
Правила используются для описания определений, процедур принятия решений и обработки данных. Примеры использования правил для описания определения понятия «родитель»:
родитель (х,у) ¬ папа (х,у); - Родитель — это папа или мама
родитель (х,у) ¬ мама (х,у);
Процедуры образуются из некоторых групп правил. Общая форма описания процедур в Прологе:
процедура:
[<факты>] <правило>; [<правило>; ...]
Пример описания рекурсивной процедуры, в которой определяемое понятие задается через самое себя:
предок (х,у) ¬ родитель (х,у);
предок (x,z) ¬ родитель (х,у), предок (y,z);
Программа на Прологе — это совокупность процедур над определенными данными:
программа:
<процедуры>; [<данные>;]
Описания баз данных на Прологе образуют совокупность описаний данных:
база данных:
<данные>; [<данные>; ... ]
Базы знаний на Прологе описываются наборами фактов и правил определения обобщенных понятий над ними:
база знаний:
<данные>; <правила>;Вопросы в языке Пролог служат запросами к базам данных и знаний, а также обращениями к процедурам и программам. Примеры вопросов:
? мама (х,вова) ?
предок (х,вова)