
Логическая экспертная система
Языки, предназначенные для описания предметных областей, называются языками представления знаний. Универсальным языком представления знаний является естественный язык. Однако использование естественного языка в системах машинного представления знаний наталкивается на большие трудности, ввиду присущих ему нерегулярностей и двусмысленностей. Но главное препятствие заключается в отсутствии формальной семантики естественного языка, которая имела бы достаточно эффективную операционную поддержку. Семантика - то же, что семасиология, раздел языкознания, изучающий значение единиц языка, прежде всего слов.
Одним из способов описания предметных областей являются описания, выполненные в логических языках, называемых (формальными) логическими моделями. В основе логических моделей представления знаний лежит понятие формальной системы. Формальная система (ФС) задается четверкой
,
где
-
множество базовых элементов;
-
множество синтаксических правил;
-
множество аксиом;
-
множество правил вывода.
Элементы
множества
-
алфавит ФС, на основе которого строятся
все остальные составные части ФС. На
множество
никаких ограничений не накладывается.
Множество синтаксических правил
позволяет строить из элементов
синтаксически
правильные совокупности базовых
элементов. На множество синтаксических
правил также не накладывается особых
ограничений. Необходимо только, чтобы
данная совокупность элементов из
синтаксически правильной. Такие
совокупности называют правильно
построенными формулами
(ППФ). Среди всех ППФ выделяют некоторое
подмножество аксиом
.
При этом необходима процедура, позволяющая
дать однозначный ответ - является ли
данная ППФ аксиомой данной ФС. Наконец
множество
-
это конечное множество отношений между
ППФ, называемых правилами вывода. Правило
вывода - это отношение на множестве
формул. Если из формул
непосредственно
выводится формула
,
то формулы
называются посылками правила, а
- его следствием.
В системах искусственного интеллекта широко используются два класса ФС: исчисление высказываний и исчисление предикатов.
Логика предикатов является обобщением и расширением логики высказываний, и высказывание является центральной категорией логики предикатов. Высказыванием называют предложение, которое может принимать одно из двух значений: истина, ложь. Например, высказываниями являются предложения «время растет», «тело движется», «тело покоится» и т.п. Из нескольких высказываний можно составить более сложные, или составные, высказывания, например, из приведенных выше высказываний образуются следующие составные высказывания:
«тело движется или тело покоится»,
«время растет и тело движется»,
«если тело движется, то тело не покоится».
Слова «или», «и», «если..., то...», «не» являются логическими связками. Не обязательно от высказываний требовать наличия смысла. Высказываниями являются, например, следующие бессмысленные с точки зрения физики конструкции:
«тело движется и тело покоится»,
«если тело движется, то тело покоится».
С другой стороны, многие высказывания могут быть разложены на несколько более простых, или частичных, высказываний. Если высказывание не может быть разложено на частичные, то его называют элементарным. Примерами здесь могут быть упомянутые выше высказывания «время растет», «тело движется», «тело покоится». С точки зрения логики высказываний, интересен не смысл, или семантика, элементарных высказываний, а их истинность или ложность. Поэтому элементарные высказывания играют роль переменных, принимающих одно из двух значений: истина, ложь. Если известны значения элементарных высказываний (т.е. их истинность или ложность), входящих в состав какого-либо высказывания, то можно установить значение и этого высказывания.
Логика предикатов имеет свой синтаксис и алфавит. Обычно алфавит состоит из символов шести типов:
Переменные. Обозначаются буквами х, у, z, и, v, w или этими же буквами с индексами;
Константы. Обозначаются буквами а, b, с, d, e (то же с индексами);
Функциональные символы. Обозначаются буквами f, g, h (то же с индексами);
Предикативные символы. Обозначаются буквами р, г, s, t (то же с индексами);
Логические
символы
;
Вспомогательные символы: запятые, круглые и другие скобки, другие символы, не входящие в приведенные выше первые пять групп.
Логические
символы играют роль, аналогичную
роли знаков математических действий.
Четыре первых символа называют
логическими, или позиционными,
связками. Они имеют следующий смысл:
— «и» (конъюнкция),
— «или» (дизъюнкция),
— «не»
(отрицание),
—
«если..., то...» (импликация). Два
последних символа являются знаками
кванторов:
—
квантора существования и
—
квантора общности.
Кванторы –
это знаки, которые в сочетании с
переменными дают возможность утверждать,
что для всех или некоторых объектов
предметной области выполняется
определенное свойство или отношение.
Пусть Р(х) – предикат, где предметная
переменная определена на множестве Х,
то есть
.
Утверждение, что все
обладают свойством Р, записывается в
виде формулы
,
которая читается «для всех х, Р от х».
Утверждение о том, что существует хотя
бы один объект предметной области Х,
обладающий свойством Р, записывают в
виде формулы
и читают «существует такое х, что Р от
х».
Знак квантора общности соответствует перевернутой букве А и возник как сокращение английского слова all (все). Знак квантора существования соответствует перевернутой букве Е (от англ. exists – существовать).
Выражения
и
не зависят от переменной х. Приписывая
квантор впереди предметной переменной,
переходим к высказываниям. Например,
если Р(х) означает «х – четное число m»,
то
- ложное высказывание, а
- истинное высказывание.
Кванторы связывают
переменную в области своего действия.
Поэтому переменная х в формулах
и
является связанной. Для преобразования
многоместного предиката в высказывание
нужно связать квантором каждую переменную.
Таблица истинности:
P |
|
P1 |
P2 |
|
|
|
|
И |
Л |
И |
И |
И |
И |
И |
И |
Л |
И |
Л |
И |
И |
Л |
И |
Л |
И |
Л |
И |
Л |
И |
Л |
Л |
Л |
Л |
И |
Л |
Л |
Л |
Л |
И |
И |
Здесь
высказывание
читается «если Р1,
то Р2»
(другое обозначение
).
Например, импликацией будет высказывание
«Если я пойду на стадион (Р1)
, то встречу друга (Р2).
Высказывание
называется двойной
импликацией (эквиваленцией)
и читается «если и только если Р1,
то Р2».
Это высказывание истинно тогда и только
тогда, когда Р1
и Р2
имеют одно и то же истинное значение.
Эквиваленцией будет следующее
высказывание: «Я пойду на стадион (Р1),
тогда и только тогда, когда втсречу
друга (Р2)».
Среди
формул исчисления высказываний выделяют
формулы, которые истины во всех
интерпретациях. Данные формулы называются
тавтологиями
или
общезначимыми
формулами.
Примерами тавтологий являются:
,
.
Множество правил вывода исчисления высказываний задается двумя правилами: правилом подстановки и правилом заключения.
Правило подстановки. Если Ф – тавтология, содержащая букву А, то заменив в ней всюду букву А на произвольную правильно построенную формулу (совокупность элементов, которая является синтаксически правильной) В, получим также тавтологию. Данное правило можно записать в виде:
Правило
заключения.
(modus
ponens).
Если А и
- выводимые формулы (тавтологии), то В –
также тавтология. Данное правило
записывается в виде:
В данном правиле переменные А и В допускают замену другими ППФ.
Правило силлогизма.
В исчислении предикатов к правилам логики высказываний добавляются следующие правила.
Правило универсальной конкретизации (УК)
где P(t)
– получается заменой в P(x)
переменной х на фундаментальный терм
t (константа или функция
от фундаментального терма). Например,
х
предпочитает (х, мороженное), подставив
вместо х константу «Иван», получим:
предпочитает (Иван, мороженое).
Правило экзистенциональной конкретизации (ЭК):
Данное правило
справедливо для любой формулы Р(х) и
предметной постоянной а, которой нет в
базе знаний. Например, из
х
нравится (х, спорт) можно вывести нравится
(спортсмен, спорт), если константа
«спортсмен» отсутствует в базе знаний.
Правило
экзистенциального обобщения (введение
квантора
):
Оно позволяет
перейти от Р(а) к
хР(х),
если Р(а) истино.
Правило универсального
обобщения (правило введения квантора
):
Если Р(х) – следствие
посылки Q, которая не имеет
свободных вхождений х, то из нее выводится
хР(х).
Применение рассмотренных правил вывода состоит в простом сопоставлении посылок правил с утверждениями, содержащимися в базе, и добавлении в базу знаний получаемых заключений.
Как указывалось выше, центральной задачей логики предикатов является вычисление заключения из предпосылок. Пусть, например, в качестве предпосылок используются следующие факты:
1 .Изоляторы не проводят электрический ток.
2. Стекло является изолятором.
Из этих предпосылок для любого более-менее грамотного человека сразу же следует заключение: стекло не проводит электрический ток. Применим для получения этого заключения логический метод представления знаний.
Как видно, предпосылки являются элементарными высказываниями, и между ними нет никакой логической связи. В рамках логики высказываний заключение получить нельзя. Однако его можно получить, если разбить элементарные высказывания на еще более мелкие элементы. Рассмотрим, например, второе высказывание. Его можно разложить на части, при этом «стекло» играет роль субъекта, а «изолятор» — роль свойства этого субъекта. Таким образом, «изолятор» является предикатом, и это обстоятельство можно передать посредством следующей записи:
изолятор(стекло),
где «стекло» является именем изолятора. Но изоляторов много, «стекло» — это только одно из возможных имен, в скобках могут стоять и другие имена. А это значит, что запись изолятор(стекло) является частным случаем более общей записи
изолятор(X),
где X — переменная (использован символ первого типа). Первичную запись изолятор(стекло) можно рассматривать как результат подстановки вместо X одного из его конкретных значений — «стекло».
Используя введенные обозначения, первую предпосылку можно записать через импликацию в следующем виде: