Байланысты: Лекция2 методы ИИ Данные и знания. Представление знаний в интеллектуальных системах
Продукционные модели Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: «Если(условие), то (действие)». Здесь под условием понимается некоторое предложение — образец, по которому осуществляется поиск в базе знаний, а под действием — действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее тоже как условия, либо терминальными, или целевыми, завершающими работу системы).
При использовании продукционной модели база знаний состоит из набора правил. Программа же, управляющая перебором этих правил, называется машиной вывода. Чаще всего вывод бывает прямым (от данных — к поиску цели) или обратным (от цели, для ее подтверждения, — к данным).
Машина вывода выполняет две функции:
просмотр существующих фактов (из рабочей памяти) и правил (из базы знаний) и добавление в рабочую память новых фактов;
определение порядка просмотра и применения правил.
Действие машины вывода основано на применении следующего правила: если известно, что истинно утверждение А, и существует правило вида «если А, то В», тогда утверждение В также истинно.
Правила срабатывают, если найдены факты, удовлетворяющие их левой части: если истинна посылка, то должно быть истинно и заключение.
Управляющий компонент машины вывода определяет порядок применения правил и выполняет четыре следующих функции:
сопоставление — образец правила сопоставляется с имеющимися фактами;
выбор — если может быть применено несколько правил, то выбирается только одно из них по какому-либо критерию;
срабатывание — если образец правила совпал с каким-либо фактом, то данное правило срабатывает;
действия — в рабочую память добавляются заключения сработавшего правила.
Эти действия циклически повторяются, пока мы не дойдем до терминального правила или у нас больше не окажется сопоставлений. Цикл работы машины вывода изображен на рис. 1.4.
Пример. Пусть имеется фрагмент базы знаний, состоящий из двух правил.
П1: Если «отдых — летом» и «человек — активный», то «ехать в горы».
П2: Если «любит солнце», то «отдых летом».
Предположим, что в систему поступили данные: «человек активный» и «любит солнце».
Прямой вывод — требуется, исходя из этих данных, получить ответ.
1-й проход.
Шаг 1. Пробуем П1 — не работает (не хватает данных «отдых — летом»).
Шаг 2. Пробуем П2 — работает; в базу поступает факт «отдых — летом».
2-й проход.
Шаг 3. Пробуем П1 — работает, активируется цель «ехать в горы», которая и выступает как совет, который будет предложен.
Обратный вывод — требуется подтвердить выбранную цель при помощи имеющихся правил и данных.
1-й проход.
Шаг 1. Цель — «ехать в горы». Пробуем П1 — данных «отдых — летом» нет, они становятся новой целью, и осуществляется поиск правила, где они располагаются в правой части.
Шаг 2. Цель «отдых — летом». Правило П2 подтверждает цель и активирует ее.
2-й проход.
Шаг 3. Пробуем П1 — подтверждается искомая цель.
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода.