Скачиваний:
122
Добавлен:
21.01.2014
Размер:
706.56 Кб
Скачать

Лекция 4

1.4 Представление знаний с использованием логики предикатов.

1.4.1. Логические модели и логическое программирование

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

В отличие от естественного языка, который очень сложен, язык логики предикатов использует только такие конструкции естественного языка, которые легко формализуются.

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

Язык логики предикатов использует слова, которые описывают:

понятия и объекты изучаемой предметной области;

свойства этих объектов и понятий, а также их поведение и отношения между ними.

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

Термыпредставляют собой средства для обозначения интересующих нас индивидуумов, апредикатывыражают отношения между индивидуумами (которые обозначаются с помощью термов).

Логическая модель- это множество предложений, выражающих различные логические свойства именованных отношений.

При логическом программировании пользователь описывает предметную область совокупностью предложений в виде логических формул, а ЭВМ, манипулируя этими предложениями, строит необходимый для решения задач вывод.

1.4.2. Простейшие конструкции языка предикатов

Терм- это знак (символ) или комбинация знаков (символов), являющаяся наименьшим значимым элементом языка.

К термам относятся константы, переменные и функции.

Константаприменяется для обозначения конкретных объектов реального мира. Пример: ласточка, птица, один, 2 и т.д.

Переменныеиспользуются для обозначения некоторого из возможных объектов реального мира или их совокупности (в Прологе начинаются с заглавной буквы). Пример: Некто, X, Who, Вещь и т.д.

Функции (структуры)- последовательность из нескольких констант или переменных, заключенных в круглые скобки, следующие за функциональным символом (функтором). Пример: сумма (1,2); +(1,2); удвоить (X).

Функторыобозначают операторы, которые после воздействия на объект возвращают некоторое значение.

Предикат- это логическая функция, которая выражает отношение между своими аргументами и принимает значение «истина», если это отношение имеется, или «ложь», если оно отсутствует.

Заключенная в скобки последовательность из n термов, перед которой стоит предикатный символ, называется n-местным(илиn-арным)предикатом, который принимает значения «истина» или «ложь» в соответствии со значением термов, являющимися его аргументами.

Пример:

является ( ласточка, птица )

отец (X, Джон )

Такого типа предикаты получили название атомарных предикатови соответствуют наиболее простым предложениям нашего разговорного языка - нераспространенным предложениям.

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

1.4.3. Предикатные формулы

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

Таблица 4.1

Логические связки

,

Ú

ù

«и»

«или»

«не»

«если»

«тогда и только»

Логические связки имеют следующий приоритет использования:

  1. ù

  2. , Ú

  3. ¬,«

Наиболее часто в логическом программировании используются связки «И», «НЕ» «ЕСЛИ».

Примерпредикатной формулы, соответствующей сложному предложению: