Продукционные правила
Самый распространённый формат для представления знаний – это правило продукции. Production rules – порождающие правила. Правило продукции имеет вид: «Если <условие>, то <действие>». Продукционная система состоит из трёх основных компонент:
БЗ, содержащая правила продукции;
БД или рабочая память, которая отображает текущее состояние задачи в виде фактов (исходные данные к задаче и выводы, полученные в ходе работы системы);
управляющая структура - механизм логического вывода, использующий правила в соответствии с содержимым рабочей памяти, т.е. решающий, какое из продукционных правил надо применить следующим.
Правила продукции определяют набор разрешённых преобразований, с помощью которых происходит продвижение от начального состояния до окончательного решения поставленной задачи. В ходе решения задачи происходит сопоставление условий правил из БЗ с содержимым БД, по которому определяется результат и действие. Какое из правил следует применить в данный момент, решает механизм логического вывода.
Например, в БЗ имеются два правила.
Правило 1: Если «намерение - отдых» и «дорога ухабистая», то «использовать джип».
Правило 2: Если «место отдыха - горы», то «дорога ухабистая».
Допустим, что в рабочую память поступили исходные данные: «намерение - отдых»; «место отдыха - горы».
Механизм логического вывода начинает сопоставлять образцы из условных частей правил с образцами, хранимыми в рабочей памяти. Если образцы из условной части правила имеются в рабочей памяти, то условная часть считается истинной, в противном случае – ложной.
В данном примере при рассмотрении правила 1 оказывается, что образец «намерение - отдых» имеется в рабочей памяти, а образец «дорога ухабистая» отсутствует, поэтому условная часть Правила 1 считается ложной. При рассмотрении Правила 2 выясняется, что его условная часть истинна. Механизм логического вывода выполняет заключительную часть этого правила, и образец «дорога ухабистая» заносится в рабочую память. Поскольку Правило 2 отработало, оно выбывает из числа кандидатов на рассмотрение.
Снова рассматривается Правило 1, условная часть которого теперь становится истинной, и содержимое рабочей памяти пополняется образцом «использовать джип». В итоге правил, которые можно было бы применять, не остаётся, и система останавливается.
В рассмотренном примере приведён прямой вывод – от данных к поиску цели. Однако применяется и обратный вывод – от цели для её подтверждения к данным. Допустим, что наряду с исходными данными «намерение - отдых», «место отдыха - горы», имеется цель «использовать джип».
Согласно Правилу 1 для достижения этой цели требуется выполнение условия «дорога ухабистая», поэтому условие становится новой целью. При рассмотрении Правила 2 оказывается, что условная часть этого правила истинна, поэтому рабочая память пополняется образцом «дорога ухабистая». При повторном рассмотрении Правила 1 подтверждается цель «использовать джип».
Продукционная система функционирует до тех пор, пока не дойдёт до состояния, которое означает, что задача решена, или не остановится из-за отсутствия необходимого правила продукции.
В приведённом примере на каждом этапе прямого вывода можно было использовать только одно правило. В общем же случае на каждом этапе вывода таких правил несколько – конфликтный набор, поэтому возникает проблема выбора. Выбор одного из них называется разрешением конфликта. Аналогичная ситуация возникает и при обратном выводе.
Продукционная модель – это наиболее часто используемый способ представления знаний в современных экспертных системах (ЭС). Основными преимуществами продукционной модели являются наглядность, высокая модульность, лёгкость внесения изменений и дополнений, простота механизма логического вывода.
Фреймы
В психологии и философии используется понятие абстрактного образа. Например, слово «автомобиль» вызывает у слушателя образ устройства, способного перемещаться, имеющего четыре колеса, двигатель, руль и т.д.
Фрейм (рамка) – это модель абстрактного образа, минимально возможное описание сущности какого-либо объекта, явления, события, ситуации, процесса. Фрейм имеет имя и состоит из отдельных единиц, называемых слотами. Фрейм имеет однородную структуру:
ИМЯ ФРЕЙМА
Имя 1-го слота: значение 1-го слота
Имя 2-го слота: значение 2-го слота
----------------------------------------------
Имя N-го слота: значение N-го слота.
Для записи и хранения таких фреймов сначала создаётся фрейм – прототип, определяющий структуру фрейма, т.е. из каких слотов состоит фрейм. Например:
Командировка =<Кто>, <Когда>, <Куда>,<Зачем>.
имя фрейма слоты – переменные
После заполнения фрейма – прототипа получают фрейм – экземпляр.
Командировка =<Петров И.И.>, <11.03.98- 22.03.98>, <Тула>,<заключение договора>.
В качестве значения слота может выступать имя другого фрейма, таким образом фреймы объединяются в сеть. Свойства фреймов наследуются сверху вниз, от вышестоящих к нижестоящим. Например, рассмотрим следующие фреймы:
Млекопитающее = <Это>, <Состоит из>, <Возраст>.
Млекопитающее = <Живая материя>, <костей, мяса>, <0-300 лет>.
Человек = <Это>, < Возраст >, <Рост>, <Умеет>.
Человек = <Млекопитающее>, < 0-100 лет >, <50 – 180 см>, <мыслить>.
Студент = <Это>, <Учится>, <Возраст>, <Сдаёт>.
Студент = <Человек>, <в университете>, <17 – 23 года>, <экзамены>.
Фрейм Студент имеет ссылки на вышестоящие фреймы Человек и Млекопитающее. Поэтому на вопрос: «Может ли студент мыслить?» - ответ будет положительным, так как этим свойством обладает вышестоящий фрейм Человек.
Если одно и то же свойство указывается в нескольких связанных между собой фреймах, то приоритет отдаётся нижестоящему фрейму. Так, возраст фрейма Студент не наследуется из вышестоящих фреймов.
Сеть фреймов используется для представления сложных объектов. Во фреймовых моделях основной операцией является поиск по образцу. Образец – фрейм, в котором заполнены не все слоты.
Основным преимуществом фреймов является наглядность и гибкость в употреблении. Фреймовая структура согласуется с современными представлениями о хранении информации в памяти человека.
