
- •Министерство общего и профессионального образования российской федерации
- •Введение
- •Цель работы
- •Теоретические сведения Определение экспертной системы
- •Представление знаний в экспертных системах
- •Семантические сети
- •Логические подходы
- •Система продукций
- •Объекты и средства исследования
- •Подготовка к работе
- •Порядок работы
- •Результаты работы
- •Варианты заданий для выполнения лабораторной работы
- •Контрольные вопросы
- •Библиографический список
Логические подходы
В логических подходах знания представляются посредством формул, которые строятся из предикатов, кванторов логических функций.
Предикатом Pназывается
функция P:
, где M
- произвольное
множество,
а B
- множество
булевых переменных,
то есть это двузначная функция от n
аргументов,
принимающих значения «истина»
или «ложь».
Пусть P()
-предикат,
определенный на M.
Высказывание
«для
всех
из M
P(
)истинно»
обозначается
(множество
M не
входит в обозначение и должно быть ясно
из контекста).
Знак
называется квантором общности.
Высказывание
«существует
такой
из M,
что P(
)истинно»
обозначается
.
Символ
называется
квантором существования.
Логические функции в настоящее время
получили такое широкое распространение,
что разъяснять их нецелесообразно.
В приведенном ниже примере объявляется, что:
а) все люди обладают именами
б) Катя является человеком , и отсюда можно сделать вывод:
в) Катя обладает именем
Пример:
а)
человек
(
)
обладает именем(
);
б) человек (Катя)
в) обладает именем(Катя)
Здесь роль предиката
P()играет
человек (
)и обладает
именем (
).
В той же системе Омега логическую функцию можно записать в виде
Tom is (a Cat) or (a Dog) (Tom это (кошка) или (собака))
Ниже даются некоторые элементы языка, в котором использован логический подход, предложенный для диагностики неисправностей оборудования космического корабля многоразового использования Спейс Шаттл и применявшийся для управления интеллектуальными роботами [2].
Введем следующие обозначения:
(!P) - действия (линия поведения) по достижению конкретного состояния P,
(?P) - действия по проверке условия P,
(#P) - действия, сохраняющие состояние P
Действия можно компоновать в выражения действий, состоящих из конъюнктивных и дизъюнктивных операторов.
Пример (!P)^(?q) обозначает одновременное действие по достижению P и проверке q. Конъюнкция и дизъюнкция описанных действий означает соответственно пересечение и объединение множества линий поведения.
Введем понятие процессуального утверждения. Оно состоит из описания процесса P, характеризующего сам процесс, предусловия C, обозначающего множество состояний внешнего мира, в которых процесс может быть реализован, и результата g, характеризующего множество успешных линий поведения, фактически порождаемых процессом, когда он начинается в состоянии, удовлетворяющем условию C. Подобное утверждение будем записывать в виде c<p<g. Смысл этого утверждения - любое удачное проведение процесса P с начальным состоянием, соответствующим предусловию C, будет также удовлетворять результату g. В процессуальных утверждениях могут также содержаться глобальные и локальные переменные. Они имеют смысл, принятый в традиционных языках программирования - глобальным переменным (они обозначаются служебным символом $) должна соответствовать одинаковая интерпретация в рамках одного утверждения. Локальные переменные должны иметь фиксированную интерпретацию только в том интервале состояний, в котором существует данная дуга, и могут меняться в других ситуациях (локальные переменные обозначаются символом %). Они часто появляются в циклах, когда возникает необходимость определить различные элементы внутри цикла при переходе от текущей итерации к следующей.
Поиск необходимой информации здесь, как и в семантических сетях, осуществляется по графу, построенному экспертной системой.
Другой подход реализован в широко известном языке программирования Пролог.