Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция ФилП.docx
Скачиваний:
10
Добавлен:
19.09.2019
Размер:
401.58 Кб
Скачать

Правила

Правила позволяют определять новое отношение, исходя из существующих.

Из суждения: если Х – родитель Y, то Y – ребенок Х.

Получается правило:

Ребенок (Y,X) .

Родитель (X,Y).

Все переменные связываются квантором всеобщнгости.мы его не пишем, но предполагаем.

На языке логики:

КВ.всеоб.(X,Y) . родитель (X,Y) -> ребеонк (Y,X)

Примеры

Введем новые факты:

Женщина (пам) .

Женщина (лиз) .

Женщина (пат) .

Женщина (памэнн ).

И свойство – женский пол.

Если мы введем эти факты, то можем построить новое отношение мать, которое опред.след.обр.:

Мать (X,Y) :-

Родитель (X,Y) ,

Женщина (X) .

Отношенеие сестра:

Сестра (X,Y) :-

Родитель (Z,X) ,

Родитель (Z, Y) ,

Женщина (Х) ,

Х \== Y.

Неравенство атомов \==

z

x

y

Если Z – родитель Х, и Z – родитель Y, и Х – женщина, и Х и Y не идентичны

Это Х – сестра Y.

Рекурсивные определения

На основе рекурсии строят самые интересные отношения

Потомок (X,Y) :- (1)

Родитель(Y,X) .

Потомок (X,Y) :- (2)

Родитель (Y,Z),

Потомок (X,Z) .

Потом удаленностью N определяем отношением удаленности N-1. Сводим к задаче, которая на 1 шаг меньше.

Отношения в прологе могут определяться несколькими правилами.

Для 1го правила мы дожлны найти такое отношение что Y родитель X, то можем заключиьь новое отнош. Что X явл. потомком Y

Литература

1 братко И. Программмирование на языке Пролог для ИссИнт.

! 2 Клоксин У., Меллиш К. Програ на яз.пролог

3 Стерлиг Л, шапиро Е. Исскуство прогр на яз Пролог (много примеров)

4 Хоггер К. Введение в логич программирование

Лекция 2

Изучим синтаксис и семантику

Синтаксис пролога.

Минимальными объектами с которыми предстоит иметь дело являются атомы.

В каждой области знаний разрабатывается своя терминология.

В прологе атомы используются для обозначения предметных констант.

В прологе есть 3 способа записи атомов :

1. ann x25 x_25 (последовательность букв, цифр и символом подчеркивания, начинающихся с маленькой буквы)

2. Как последовательность спец.симоволов +-*<>=:& _ ~

Пример : <--> ::= …

3. ‘Ann’ ‘Canada’

Переменные: X, Result, _25 (с большой буквы).

Здесь символ подчеркивания приравнивается к большой букве.

Есть одна особая переменная, анонимная, одно подчеркивание. Она используется если значение какой то позиции нам безразлично.

Пример: человек имеет ребенка.

Им.реб (Х) :- rod(X, _).

Анонимные переменные не образуют связей объектов.

Бабушка (Х,Y):-

Rod(x,y),

Rod(x,z),

Rod(z,y),

Fm(X).

Если вместо z поставить анонимную переменную то связи не будет между объектами.

Числа в прологе – это специального вида атомы.

15

В прологе можно использовать целые и вещественные числа.

Структуры

Они служат для обозначения сложных объектов и являются сложными, не атомарными именами.

Функциональный символ исп.для построения сложного имени.

Иванов Пальто(‘Иванов’)

Петров

Сидоров

Мы можем этих людей обозначить предметными константами и рассуждать.

А теперь будем рассуждать о одежде. У них есть пальто.

Это тоже обозначение предмета.

Пример: дата(1, май, 2006)

Функтор компоненты, аргументы

У структуры ее название – функтор, а компоненты – аргументы.

P1 = pnt(2,3)

P2 = pnt(3,5)

P3 = pnt(4,2)

L1 = line(P1, P2)

L2 = line (P3, P4)

Структура сама по себе обозначается функтором и количеством аргументов.

pnt/2 – функтор pnt с двумя аргументами.

Если мы возьмем pnt/3 это уже 3мерная точка.

Рассмотренные нами объекты, атомы, числа, переменные и структуры называются термами.