34
Пролог - это одна из моделей систем искусственного интеллекта, способных воспроизво-
дить логические умозаключения. Кроме того, Пролог - это язык для описания фактов, правил и
процедур логического вывода. О языке Пролог обычно говорят, что он представляет язык логиче-
ского программирования.
Основной особенностью системы Пролог являются встроенные процедуры логического
вывода, имитирующие способность человеческого интеллекта выполнять логические умозаклю-
чения. Какая лексика используется при этом - русского, английского или других языков - играет
второстепенную роль, несущественную для ЭВМ, но важную для тех, кто будет работать и вести
диалог с машиной.
Основная идея Пролога как языка записи фактов, вопросов и правил заключается в том,
что они записываются в форме предикатов математической логики. Все они интерпретируются
ЭВМ строго в соответствии с законами математической логики и ни чем более.
Основные конструкции языка Пролог - это факты, вопросы и правила. Все эти три конст-
рукции записываются в форме предикатов и их комбинаций. Рассмотрим правила их записи на
языке Пролог.
Факты - это конкретные сведения о ком-то либо о чем-то. Факты на языке Пролог записы-
ваются в форме предикатов с конкретными аргументами-значениями. Примеры записи фактов на
Прологе:
папа (Вова, Лена);
-
Вова - папа Лены
любит (Лена, музыка);
-
Лена любит музыку
оценка (Лена, русский, 5);
-
У Лены 5 по русскому языку
Вопросы на Прологе - это запросы к совокупности данных или процедурам, хранящимся, в
ЭВМ. Запись вопросов начинается со знака ?, за которым записывается предикат или группа пре-
дикатов, разделяемых запятыми. Примеры записи простых вопросов на языке Пролог:
? папа (х, Лена)
-
Кто папы Лены?
х = Вова
? мама (х, у)
-
Кто у кого - мама ?
НЕТ
? оценка (х, _ , 5)
-
Кто имеет оценки 5?
х = Лена
Здесь буквы х, у
- обозначения переменных, а числа и слова - конкретные значения аргу-
ментов в соответствующих предикатах. Знак подчеркивания «_» представляет неопределенное
значение, которое несущественно для ответа на вопросы.
При записи сложносоставных вопросов в языке Пролог можно указывать несколько усло-
вий-предикатов, разделяемых запятыми. Запятая в этих сложносоставных вопросах играет роль
логической связки и. Примеры сложносоставных вопросов:
? мама (х, у), мама (у, Оля)
-
Кто мама у мамы Оли?
х = Зина у = Люба
? мама (х, у), папа (у, Оля)
-
Кто мама у папы Оли?
НЕТ
Правила в Прологе - это правила логического вывода. Слева в правилах записывается
следствие, а справа - предусловие. Предусловие может состоять из одного или нескольких преди-
катов, разделяемых запятыми. Примеры записи правил вывода на Прологе:
студент (х)
занятие (х, учеба);
-
Студент - тот, кто занят учебой;
нумизмат (х)
собирает (х, монеты);
-
Нумизмат - тот, кто собирает монеты.
Примеры вопросов на использование этих правил:
|