Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Пролог - язык логического программирования, используемый для представления и манипулирования знаниями в системах ии.

Поиск

Осн. понятия - факты, правила и вопросы. Из фактов и правил образуются описания данных, про­цедур и программы на языке Пролог. Вопросы - это основное сред­ство ведения диалога с базами знаний и программами, имеющимися в памяти ЭВМ. Факты в Прологе служат для описания конкретных данных и простейших сведений. Примеры фактов:

мама (зина, вова); - Зина - мама Вовы

папа (миша, вова); - Миша - папа Вовы

Группы фактов могут образовывать данные. Совокупность дан­ных, размещаемых на дисках, образуют базы данных.

Правила используются для описания определений, процедур принятия решений и обработки данных. Примеры использования правил для описания определения понятия «родитель»:

родитель (х,у) папа (х,у); - Родитель — это папа или мама

родитель (х,у) мама (х,у);

Процедуры образуются из некоторых групп правил. Общая форма описания процедур в Прологе:

процедура:

[<факты>] <правило>; [<правило>;...]

Пример описания рекурсивной процедуры, в которой определя­емое понятие задается через самое себя:

предок (х,у) родитель (х,у);

предок (x,z) родитель (х,у), предок (y,z);

Программа на Прологе — это совокупность процедур над опреде­ленными данными:

программа:

<процедуры>; [<данные>;]

Описания баз данных на Прологе образуют совокупность описа­ний данных:

база данных:

<данные>; [<данные>;... ]

Базы знаний на Прологе описываются наборами фактов и правил определения обобщенных понятий над ними:

база знаний:

<данные>; <правила>;

Вопросы служат запросами к базам данных и знаний, а также обращениями к процедурам и программам. Приме­р:? мама (х,вова)

Семантика: каждый факт интерпретируется как некоторое истинное утверждение.

Вопросы служат для записи простых или сложносоставных запросов к базам знаний или обращений к процедурам и про­граммам. Ответами на запросы к базам данных и знаний могут быть логические значения ДА (истина) или НЕТ (ложь) либо список кон­кретных данных, отвечающих запросу.

Общая форма записи сложносоставных вопросов:

сложный вопрос:

? <вопрос>[,<вопрос>...]

В сложносоставных вопросах составляющие его подвопросы раз­деляются запятыми. Любой вопрос в Прологе начинается со знака вопроса «?» и заканчивается знаком «точка с запятой». Пример сложносоставного вопроса:? папа(х,у), папа (у,вова);

В роли аргументов в вопросах могут указываться как конкретные значения, так и переменные. Если в вопросе указаны только кон­кретные значения, то ответом будет логическое значение ДА или НЕТ. Если же в вопросе указываются переменные, то при положительном ответе дополнительным результатом будет вывод конкретных значе­ний переменных, указанных в исходном вопросе.

В роли переменных в Прологе могут указываться латинские и русские буквы, как строчные, так и прописные. Кроме того, в качестве имен переменных могут употребляться лю­бые слова и словосочетания, заканчивающиеся знаком апострофа.

Примеры имен: дед ', х1', оценка4 ' и т. п.

Кроме того, в вопросах и правилах аргументы могут иметь неопределенные значения. Для этого вместо конкретных значений или имен переменных в вопросе указывается знак подчер­кивания [ _ ].

Пример вопроса с использованием неопределенных значений:? мама (мать', _); Ответом на указанный вопрос будет перечень имен всех матерей, сведения о которых имеются в базе знаний.

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

Заголовки правил имеют следующую форму:

заголовок:

<имя>(<парам>[,<парам>...])

Здесь <имя> - это любое слово или словосочетание. В роли параметров в заголовках правил могут указываться переменные или конкретные значения либо неопределенные значения с помощью знака подчеркивания [ _ ].

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

определение:

<заголовок>[,<заголовок>...]

Запросы и определения отделяются в описаниях правил запятыми и записываются по тем же правилам, что и заголовки.

Результатом выполнения любых процедур и правил в Прологе всегда являются логические значения - ДА либо НЕТ, соответству­ющее успеху или неуспеху их применения.

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

 



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 125; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.133.214 (0.006 с.)