logo
Основы искусственного интеллекта

Логическое программирование. Основные понятия языка Пролог (Предикаты, Факты, Правила, Простые и составные запросы).

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

На Прологе описываются объекты  и факты, затем описываются правила, при которых эти факты являются истинными.

Факт – это предложение, которое истинное всегда.

Например, рассмотрим такой факт: like(kola, apple). Предикат like говорит о том, что Коля любит яблоки. Like – это аргумент / имя терма / функтор. (kola, apple) – это аргументы предиката.

Правила позволяют вывести один факт из других фактов. Другими словами, можно сказать, что правило — это заключение, для которого известно, что оно истинно, если одно или несколько других найденных заключений или фактов являются истинными. Тело правила – это ряд условий, которые должны быть истинными, чтобы Prolog мог доказать, что заголовок правила истинен. Тело правила состоит из термов, встроенных предикатов связанных «,/;».

Например: like(mike, X):-like(anna, X). Если Анна любит Х, то и Майк тоже это любит.

В Прологе можно задать вопрос (поставить цель). Она может быть внутренней и внешней. Внутренняя цель записывается в самой программе, в разделе Goal. Внешняя цель вызывается при запуске программы на выполнение. Она может содержать несколько подцелей.

Например, рассмотрим факты:

year(ivanov, 25).

year(grishko, 30).

Цель: year(ivanov, X). Сколько лет Иванову? Ответ: X = 25.

Цель: year(X,30). Кому 30 лет? Ответ: X= grishko.

Цель: year(ivanov, 20) Иванову 20 лет? Ответ: не.