Реализация логической модели представления знаний средствами Пролога

Содержание

Слайд 2

История Пролога

Алан Робинсон и Роберт Ковальский
(метод резолюций)
начало 70-х - Алан Колмероэ Пролог

История Пролога Алан Робинсон и Роберт Ковальский (метод резолюций) начало 70-х -
(ПРОграммирование ЛОГическое)
1977 г Дэвид Уоррен и Ф. Перейро (Эдинбургского университет) - первый интерпретатор/компилятор для ЭВМ DEC-10
в 1980 г. К. Кларк и Ф. Маккейб - версия Пролога для ПЭВМ.
1981 г. японский проект создания ЭВМ пятого поколения, за основу выбрано логическое программирование.

Слайд 3

Наиболее известные реализации Пролога

CProlog
Silogic Knowledge Workbench
Arity Prolog
Prolog-86 (Prolog Development

Наиболее известные реализации Пролога CProlog Silogic Knowledge Workbench Arity Prolog Prolog-86 (Prolog
Center - PDC) с Borland International в 1986 г.
Turbo Prolog 2.0 ,..3.31 (с 1988)
Visual Prolog (PDC) с 1996 г.

Слайд 4

Логическая программа

программа = множество аксиом;
вычисление = конструктивный вывод целевого утверждения из

Логическая программа программа = множество аксиом; вычисление = конструктивный вывод целевого утверждения
программы.
Программа содержит: Факты
правила
вопросы

Слайд 5

Факты

Факты, отражающие свойства
human(oleg).
fruit(orange).
red(rose).
Факты, отражающие отношения
likes(bill, cindy).
meet(lena, maria).

Факты Факты, отражающие свойства human(oleg). fruit(orange). red(rose). Факты, отражающие отношения likes(bill, cindy). meet(lena, maria).

Слайд 6

Правила

правило – это заключение, для которого известно, что оно истинно, если одно

Правила правило – это заключение, для которого известно, что оно истинно, если
или несколько других найденных заключений или фактов являются истинными.
Like(Марина, яблоки).
Like(Оксана, Something):-Like(Марина, Something).
Символ :- соответствует "if"

Слайд 7

Вопросы или цели

Вопросы (цели) бывают простые и составные.
Среди простых вопросов можно также

Вопросы или цели Вопросы (цели) бывают простые и составные. Среди простых вопросов
выделить конкретные – те, которые требуют ответа в форме “ДА”, “НЕТ”
like(Марина, яблоки).
экзистенциональные вопросы, которые могут иметь несколько ответов
meet(Person, maria).
can_buy(Who,What).
Составные вопросы- представляют собой цель, состоящую из двух и более частей. Каждая часть сложной цели называется подцелью.
like(Person, ice-cream), like(Person,cinema ).
коньюнкцией (логическое “И”- “,”) или дизъюнкцией (логическое “ИЛИ”- “;”) нескольких подцелей.

Слайд 8

Пример пролог-программы

predicates
likes(symbol,symbol)
fruit(symbol)
clauses
fruit(apple).
fruit(orang).
likes(marine, apple).
likes(marine, orang).
likes(marine, Something):- likes(marine,Something),fruit(Something).
goal
likes(oksana, Fruit).

Пример пролог-программы predicates likes(symbol,symbol) fruit(symbol) clauses fruit(apple). fruit(orang). likes(marine, apple). likes(marine, orang).

Слайд 9

Основные разделы Пролог-программы

DOMAINS
Объявление доменов
PREDICATES
Объявление предикатов
CLAUSES
Предложения (факты и правила)
GOAL
Подцель_1, Подцель_2, и т.д.

Основные разделы Пролог-программы DOMAINS Объявление доменов PREDICATES Объявление предикатов CLAUSES Предложения (факты

Слайд 10

DOMAINS

чтобы задавать доменам (типам) осмысленные имена
создавать собственные домены для описания структур данных.
Игорь

DOMAINS чтобы задавать доменам (типам) осмысленные имена создавать собственные домены для описания
– мужчина, которому 20 лет.
domains
name, gender= symbol
age= integer
predicates
Person(Name, gender, age)