Экспертные системы, основанные на правилах (диагностика автомобиля) (на основе цели).
Архитектура экспертной системы, основанной на правилах, может быть рассмотрена в терминах модели продукционной системы решения задач, представленной в части П. Между ними есть большое сходство: продукционная система считается интеллектуальным предшественником архитектуры современных экспертных систем, в которой продукционные правша позволяют лучше понять конкретную ситуацию. Когда Ньюэлл и Саймон разрабатывали продукционную систему, их целью было моделирование деятельности человека при решении задач. Если экспертную систему на рис. 7.1 рассматривать как продукционную, то базу знаний о предметной области можно считать набором продукционных правил. В системе, основанной на правилах, пары "условие-действие" представляются правилами "если..., то... " в которых посылка (часть если) соответствует условию, а заключение (часть то) — действию. Если условие удовлетворяется, экспертная система осуществляет действие, означающее истинность заключения. Данные частных случаев можно хранить в рабочей памяти. Механизм вывода осуществляет цикл продукционной системы "распознавание-действие". При этом управление может осуществляться либо на основе данных, либо на основе цели.
Многие предметные области больше соответствуют прямому поиску. Например, в проблеме интерпретации большая часть информации представляет собой исходные данные, при этом часто трудно сформулировать гипотезы или цель. Это приводит к прямому процессу рассуждения, при котором факты помещаются в рабочую память, и система ищет для них интерпретацию.
В экспертной системе на основе цели в рабочую память помещается целевое выражение. Система сопоставляет заключения правил с целевым выражением и помешает их предпосылки в рабочую память. Это соответствует декомпозиции проблемы на более простые подцели. На следующей итерации работы продукционной системы процесс продолжается, эти предпосылки становятся новыми подцелями, которые сопоставляются с заключениями правил. Система работает до тех пор, пока все подцели в рабочей памяти не станут истинными, подтверждая гипотезу. Таким образом, обратный поиск в экспертной системе приближенно соответствует процессу проверки гипотез при решении проблем человеком.
В экспертной системе, чтобы достичь подцели, следует запросить информацию у пользователя. В некоторых экспертных системах разработчики определяют, какие подцели могут достигаться путем запроса к пользователю. Другие системы обращаются к пользователю, если не могут вывести истинность подцели на основе правил из базы знаний.
В качестве примера решения задач на основе цели с запросами к пользователю рассмотрим небольшую экспертную систему диагностики автомобиля. Это не полная система диагностики, так как она содержит всего четыре очень простых правила. Она приводится как пример, демонстрирующий образование цепочек правил, интеграцию новых данных и использование возможностей объяснения.
Правило 1: если
топливо поступает в двигатель и
двигатель вращается,
то
проблема в свечах зажигания.
Правило 2: если
двигатель не вращается и
фары не горят,
то
проблема в аккумуляторе или проводке.
Правило 3: если
двигатель не вращается и
фары горят,
то
проблема в стартере.
Правило 4: если
в баке есть топливо и
топливо поступает в карбюратор,
то
топливо поступает в двигатель.
Для работы с этой базой знаний цель верхнего уровня проблема в X помещается в рабочую память, как показано на рис. 7.5. Здесь X — переменная, которая может сопоставляться с любой фразой, например, проблема в аккумуляторе или проводке. В процессе решения задачи она будет связана с некоторым значением. С выражением в рабочей памяти сопоставляются три правила: правило 1, правило 2 и правило 3. Если мы разрешаем конфликты, предпочитая правила с наименьшим номером, будет активизироваться правило 1. При этом X связывается со значением свечи зажигания, и предпосылки правила 1 помещаются в рабочую память (рис. 7.6). Таким образом, система выбирает для исследования гипотезу о неисправности свечей зажигания. Это можно рассматривать как выбор системой ветви ИЛИ на графе И/ИЛИ (глава 3).
Отметим, что для истинности заключения правила 1 должны быть удовлетворены две предпосылки, Они являются ветвями И графа поиска, представляющего декомпозицию задачи (действительно ли проблема в свечах зажигания) на две подзадачи (топливо поступает в двигатель и двигатель вращается). Затем можно активизировать правило 4, заключение которого сопоставляется с целевым утверждением топливо поступает в двигатель, и его предпосылки помещаются в рабочую память (рис. 7.7).
Теперь в рабочей памяти существуют три элемента, которые не соответствуют ни одному из заключений в наборе правил. В подобной ситуации экспертная система будет запрашивать пользователя. Если пользователь подтвердит истинность всех трех подцелей, экспертная система успешно определит, что автомобиль не заводится из-за неисправности свечей зажигания. При поиске этого решения система исследовала крайнюю слева ветвь графа И/ИЛИ, показанного на рис. 7.8.
Конечно, это очень простой пример. И не только потому, что база знаний об автомобиле ограничена, а также потому, что в этом примере не учитывается ряд важных аспектов реализации. Правила описаны на русском, а не на формальном языке. При обнаружении решения реальная экспертная система сообщит пользователю свой диагноз (наша модель просто останавливается). Необходимо также поддерживать достаточно длинную историю рассуждений, чтобы в случае необходимости возвратиться назад. Если вывод о неисправности свечей зажигания окажется неудачным, нужно иметь возможность возвратиться на второй уровень и проверить правило 2. Заметим, что информация по упорядочению подцелей в рабочей памяти на рис. 7.7 и на графе, представленном на рис. 7.8, явно не выражена. Однако, несмотря на простоту, этот пример подчеркивает важность поиска на основе продукционной системы и его представления графом И/ИЛИ в экспертных системах, основанных на правилах.
Ранее мы подчеркивали, что экспертная система должна быть открытой для инспектирования, легко модифицируемой и эвристической по природе. Архитектура продукционной системы является важным фактором для каждого из этих требований. Легкость модификации, например, определяется синтаксической независимостью продукционных правил: каждое правило является "глыбой" знаний, которая может модифицироваться независимо. Однако существуют семантические ограничения, поскольку индивидуальные правила связаны но смыслу. Значит, они должны быть согласованы в любом процессе редактирования или модификации. Ниже мы обсудим генерацию объяснений и управление выводом.