Скачиваний:
47
Добавлен:
05.04.2013
Размер:
114.18 Кб
Скачать

Логические подходы

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

Предикатом 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. В процессуальных утверждениях могут также содержаться глобальные и локальные переменные. Они имеют смысл, принятый в традиционных языках программирования - глобальным переменным (они обозначаются служебным символом $) должна соответствовать одинаковая интерпретация в рамках одного утверждения. Локальные переменные должны иметь фиксированную интерпретацию только в том интервале состояний, в котором существует данная дуга, и могут меняться в других ситуациях (локальные переменные обозначаются символом %). Они часто появляются в циклах, когда возникает необходимость определить различные элементы внутри цикла при переходе от текущей итерации к следующей.

Поиск необходимой информации здесь, как и в семантических сетях, осуществляется по графу, построенному экспертной системой.

Другой подход реализован в широко известном языке программирования Пролог.

Соседние файлы в папке лаб2