Продукционная модель представления знаний

Продукции (наряду с сетевыми моделями) являются наиболее по­пу­ляр­ными средствами представления знаний в информационных системах. В общем виде под про­дук­цией понимают выражение вида A ® B. Обычное прочтение продукции выглядит так: ЕСЛИ А, ТО B. Импликация может истолковываться в обычном логическом смысле, как знак логи­ческо­го следования B из истинного А. Возможны и другие интер­пре­та­ции про­дукции, например, А описывает некоторое условие, не­об­хо­ди­мое, чтобы можно было совершить действие B.

Продукционная модель или модель, основанная на правилах, позволяет представить знания в виде предложений типа

«Если (условие), то (действие)».

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

При использовании продукционной модели база знаний состоит из набора правил, Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения – к данным). Данные — это исходные факты, на основании которых запускается маши­на вывода.

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

В состав системы продукций входит база правил (продукций), глобальная база данных и система управления. База правил – это область памяти, которая содержит совокупность знаний в форме правил вида ЕСЛИ – ТО.

Приведем несколько примеров.

Правило 1.

ЕСЛИ (намерение — отдых) и (дорога ухабистая) ТО (использовать джип)

Правило 2.

ЕСЛИ (место отдыха — горы) ТО (дорога ухабистая)

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

Правила вывода бывает удобно представлять в виде дерева решений. Граф — множество вершин, связанных дугами. Дерево — граф, не содер­жа­щий циклов.

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

В обратных выводах процесс начинается от поставленной це­ли. Если эта цель согласуется с правой частью правила (заключением), то посылка правила принимается за подцель или гипотезу. Этот процесс повторяется до тех пор, пока не будет получено совпадение подцели с данными.

Пример. Имеется фрагмент базы знаний из двух правил: 

П1: Если (отдых – летом) и (человек – активный) то (ехать в горы)

П2: Если (любит – солнце) то (отдых – летом)

Предположим, в систему поступили данные — (человек­ – активный) и (любит – солнце).

Прямой вывод — исходя из данных, получить ответ.

1-й проход.

Шаг 1. Пробуем П1, не работает (не хватает данных (отдых–летом)).

Шаг 2. Пробуем П2, работает, в базу поступает факт (отдых–летом).

2-й проход.

Шаг 3. Пробуем П1, работает, активируется цель (ехать в горы), которая и выступает как вывод.

Обратный вывод — подтвердить выбранную цель при помощи имеющихся правил и данных.

1-й проход.

Шаг 1. Цель — (ехать в горы): пробуем П1 — данных  (отдых– летом) нет, они становятся новой целью, и ищется правило, где она в правой части.

Шаг 2. Цель (отдых – летом): правило П2 подтверждает цель и активирует ее.

2-й проход.

Шаг 3. Пробуем П1, подтверждается искомая цель.

При большом числе продукций в продукционной модели услож­ня­ет­ся про­верка непротиворечивости системы продукций, то есть множества пра­вил. По­этому число продукций, с которыми работают современные системы искусственного интеллекта, как правило, не превышает тысячи.

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

Приведем сильные и слабые стороны систем продукций.

Сильные стороны систем продукций:

  • модульность;
  • единообразие структуры (основные компоненты продукционной системы могут применяться для построения интеллектуальных сис­тем с различной проблемной ориентацией);
  • естественность (вывод заключения в продукционной системе во мно­гом аналогичен процессу рассуждения эксперта);
  • гибкость родовидовой иерархии  понятий, которая поддер­жи­ва­ет­ся только как связь между правилами (изменение правила ведет за собой изменение в иерархии);
  • простота создания и понимания отдельных правил;
  • простота пополнения и модификации;
  • простота механизма логического вывода.

Слабые стороны систем продукций:

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

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

Имеется большое число программных средств, реализующих про­дукционных подход: OPS5, EXSYS RuleBook, ЭКСПЕРТ, ЭКО, G2 и др.