Время: 2 часа (90 мин.)
Продукционные правила описывают знания в форме «ЕСЛИ...ТО...». Часть правила «ЕСЛИ...» называется посылкой, а «ТО...» - заключением. Правило можно представить следующим образом: ЕСЛИ А1, А2, … , Аn, ТО В. Такая запись означает, что «если все условия от А1 до Аn выполняются (т.е. являются истинными), то В также выполняется (является истинным).
Архитектура системы, базирующейся на продукционных правилах, приведена на рис.9. Основными её компонентами являются: база правил, содержащая совокупность продукционных правил; механизм выводов, использующий продукционные правила для логического вывода новых фактов на основе имеющихся; рабочая память, которая используется для хранения в системе исходных фактов, вводимых пользователем, а также результатов промежуточных выводов, получаемых в ходе работы механизма выводов.
Рис.9. Архитектура продукционной системы
Механизм выводов имеет функции выполнения операций сопоставления посылок правил с фактами из рабочей памяти и отделения заключений (правых частей) правил. В зависимости от отправной точки вывода различают прямой и обратный выводы.
В прямых выводах осуществляется продвижение к поставленной цели путем последовательного применения правил к данным (фактам), которые принимаются за отправную точку. Такие выводы называются выводами, управляемыми данными, или восходящими выводами, когда последовательно выводятся новые результаты, начиная уже с известных.
Выводы, при которых процесс движется в направлении от поставленной цели к отправной точке, являются обратными. Они называются также нисходящими выводами, или выводами, ориентированными на цель. У продукционных систем с высокой степенью универсальности имеются возможности использования обоих способов вывода.
Рассмотрим работу механизма выводов в прямом направлении. Для этого, предварительно, опишем алгоритм прямого вывода.
Алгоритм прямого вывода
1.Сопоставление по образцу. Осуществляется путем просмотра всех правил из базы правил, у которых левые части (образцы) совпадают с известными на данный момент фактами. Результатом сопоставления является обнаружение N таких правил, называемых выполнимыми. Если N=0, то работа механизма выводов прекращается. Если N=1, то осуществляется переход к п.3 алгоритма. Если N >1, то осуществляется переход к п.2 алгоритма.
2.Выбор выполняемого правила из набора выполнимых.
Осуществляется по определенному критерию. Эта процедура
называется процедурой разрешения конфликта, а множество
выполнимых на данном шаге правил, обнаруженных в п.1, носит
название конфликтного множества правил.
3.Выполнение выбранного правила. Заключается в том, что
правая часть выбранного в п.2 правила отделяется. Само, только что
выполненное, правило помечается и в дальнейшем больше не рассматривается («вычеркивается»), т.е. в процессе работы механизма выводов больше не участвует.
4.Проверка достижения целевого состояния. Если правая
часть выполненного в п.3 правила представляет собой целевое
заключение (пометка об этом ставится в правых частях некоторых
правил, содержащихся в рабочей памяти – например, пометка «СОВЕТ»), то полученный результат является решением, которое выдается пользователю. В противном случае результат вывода является промежуточным, и правая часть правила добавляется к фактам, имеющимся в рабочей памяти (расширяя т.о. знания о ситуации, определяемой вначале исходными фактами) и после этого осуществляется переход к п.1 алгоритма.
Работа механизма выводов, таким образом, имеет циклический характер и осуществляется на основе исходный фактов, вводимых в рабочую память, и правил, имеющихся в базе правил, до достижения ситуации, когда обнаруживается отсутствие выполнимых правил (при этом выводится одного или несколько целевых заключений). Каждое выполняемое на очередном шаге вывода правило, таким образом, добавляет в рабочую память новые (выведенные) факты, в результате чего её содержимое, в конечном счете, преобразуется от исходного состояния к целевому, т.е. цель вывода синтезируется в рабочей памяти.
Ниже приводится пример работы механизма выводов системы, обеспечивающей получение советов относительно возможных действий по восстановлению работоспособности двигателя автомобиля.
Пример
I. База правил содержит следующие правила:
1. ЕСЛИ Мембраны бензонасоса старые
И Нет подачи топлива
ТО СОВЕТ: Смени мембраны бензонасоса
2. ЕСЛИ Не работает стартер
ТО Неисправности в электропитании стартера
3. ЕСЛИ Неисправности в электропитании стартера
И Не работает клаксон
ТО СОВЕТ: Зачисти клеммы аккумулятора
4. ЕСЛИ Уровень топлива в норме
И Не работает двигатель
ТО Нет подачи топлива
II. Исходные факты, вводимые в рабочую память пользователем:
Не работает стартер
Не работает клаксон
Не работает двигатель
Уровень топлива в норме
Мембраны бензонасоса новые
III. Цель работы с системой – получить совет (несколько советов) относительно необходимых действий.
IV. Работа механизма выводов:
1. Просмотр: Правило 1/Условия не выполняются;
Правило 2/Выполнимо; Правило 3/Условия не
выполняются; Правило 4/Выполнимо;
2. Разрешение конфликта: выбираем правило 2 для
выполнения по критерию первоочередности.
3. Выполнение правила 2: Помещаем в базу данных
утверждение «Неисправности в электропитании стартера».
Правило 2 исключаем из дальнейшего рассмотрения.
4. Просмотр: Правило 1/Условия не выполняются; Правило
3/Выполнимо; Правило 4/Выполнимо.
5. Разрешение конфликта: выбираем правило 3 для
выполнения по критерию первоочередности.
6. Выполнение правила 3: Результат выполнения
представляет собой СОВЕТ, который выводится
пользователю системы: «Зачисти клеммы аккумулятора».
Правило 3 исключаем из дальнейшего рассмотрения.
7. Просмотр: Правило 1/Условия не выполняются; Правило
4/Выполнимо.
8. Выполнение правила 4: Помещаем в базу данных
утверждение «Нет подачи топлива». Правило 4 исключаем
из дальнейшего рассмотрения.
9. Просмотр: Правило 1/Условия не выполняются.
Механизм выводов прекращает свою работу. Система выдает один совет: «Зачисти клеммы аккумулятора».
В приведенном примере нет проблемы с поиском и выполнением правил. Однако с увеличением их числа возникает проблема эффективности функционирования механизма выводов. Для решения этой проблемы применяются методы, основанные на разбиении правил на группы, благодаря чему ограничиваются размеры конфликтных наборов правил. Типичным примером такого подхода является модель «доски объявлений». В этой модели для каждой отдельной проблемы имеется соответствующее множество правил, причем все имеющиеся множества управляются через общую рабочую область (называемую доской объявлений) так, что все знания используются согласованно, как единое целое.
Продукционные правила широко используются в экспертных системах (ЭС), назначением которых является моделирование интеллектуальной деятельности специалистов по решению задач экспертизы в той или иной области.
Дата: 2018-11-18, просмотров: 575.