Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: Если (условие), то (действие).
если А1, А2, …, Аn, то В
А1, А2, …, Аn – факты
Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием - действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы).
При использовании продукционной модели база знаний состоит из набора правил, Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения - к данным). Данные - это исходные факты, на основании которых запускается машина вывода - программа, перебирающая правила из базы.
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода.
Преимущества продукционных систем:
- подавляющая часть человеческих знаний может быть представлена в виде продукций;
- системы продукции являются модульными;
- при необходимости системы продукций могут реализовывать сложные алгоритмы;
- прозрачность системы (легко проследить логику и объяснить полученный результат).
Продукционные модели имеют два недостатка: при большом числе продукций (> 1000) проверка непротиворечивости становится сложнее; неоднозначность выбора из фронта готовой продукции.
Язык, использующий продукционную модель – ПРОЛОГ.
Логическая модель
В основе их описания лежит формальная система с четырьмя элементами:
М=<Т, Р, А, В >, где
Т – множество базовых элементов различной природы с соответствующими процедурами;
Р – множество синтаксических правил. С их помощью из элементов Т образуют синтаксически правильные совокупности. Процедура П(Р) определяет, является ли эта совокупность правильной;
А- подмножество множества Р, называемых аксиомами. Процедура П(А) дает ответ на вопрос о принадлежности к множеству А;
В – множество правил вывода. Применяя их к элементам А, можно получить новые синтаксически правильные совокупности, к которым можно применить эти правила снова. Процедура П(В) определяет для каждой синтаксически правильной совокупности, является ли она выводимой.
ПРОЛОГ - язык логического программирования