17.2.
Оболочки экспертных систем
Класс программ,
которые мы называем оболочкой экспертной системы, создавался с целью позволить
непрограммистам воспользоваться результатами работы программистов, решавших
аналогичные проблемы. Так, программа EMYCIN [van Melle, 1981] позволяет
использовать архитектуру системы MYCIN в приложении к другим областям медицины
(напомним, что программа MYCIN была ориентирована только на заболевания крови).
На базе EMYCIN были разработаны экспертные системы как для медицины (например,
система PUFF для диагностики легочных заболеваний), так и для других областей
знаний, например программа структурного анализа SACON.
Совершенно
очевидно, что оболочки являются программами, ориентированными на достаточно
узкий класс задач, хотя и более широкий, чем та программа, на основе которой
была создана та или иная оболочка. Автор системы EMYCIN Ван Мелле (van Melle)
одним из первых подчеркнул, что оболочки отнюдь не являются универсальной архитектурой
для решения проблем. Разработанная им система EMYCIN ориентирована на те проблемы
диагностирования с большими объемами данных, которые поддаются решению с помощью
дедуктивного подхода в предположении, что пространство диагностических категорий
стационарно. Кленси (Clancey) назвал класс подобных проблем "проблемами
эвристической классификации" (см. главы 11 и 12). Однако этот подход значительно
меньше подходит для решения проблем конструирования, т.е. объединения отдельных
элементов в единый комплекс с учетом заданных ограничений (см. о методах решения
таких проблем в главах 14 и 15).
К сожалению,
нельзя слишком доверять рекомендациям о возможности использования оболочки для
решения конкретных проблем. Дело в том, что мы еще не имеем настолько четкого
представления о классификации задач, решаемых экспертными системами, чтобы можно
было точно представить, к какому именно классу следует отнести конкретную систему.
Классификации задач, пригодных для решения экспертными системами, посвящено
довольно много работ, из которых следует отметить сборник [Hayes-Roth et
al, 1983] и статью [Chandrasekaran, 1984]. Может создаться впечатление,
что отличить задачу классификации от задачи конструирования можно и "невооруженным
глазом", но это впечатление обманчиво. Множество проблем допускает решение
разными способами. Например, в том подходе к задаче диагностирования, который
использован в системе INTRN1ST, применяются методы, свойственные решению задач
конструирования (см. об этом в главе 13). Сложные проблемы зачастую требуют
применения комбинированных методов, в которых просматриваются черты, свойственные
обоим подходам.
Мы еще остановимся
на общем подходе к выбору инструментальных средств для построения конкретных
экспертных систем ниже, в разделе 17.4. Но если речь идет конкретно об оболочках,
то уже сейчас нужно отметить, что большинство коммерческих продуктов этого типа
подходит только для тех проблем, в которых пространство поиска невелико. Как
правило, в них применяется метод исчерпывающего поиска с построением обратной
цепочки вывода и ограниченными возможностями управления процессом. Но некоторые
современные оболочки, например М.4, как утверждают их создатели, могут применяться
для решения широкого круга задач, поскольку они поддерживают множество функций
представления знаний и управления, включая и моделирование прямой цепочки логического
вывода, процедуры, передачу сообщений и т.п.
Простота языков
представления знаний, применяемых в большинстве оболочек, является, с одной
стороны, достоинством, а с другой — недостатком такого рода систем. На это обратила
внимание Эйкинс в критическом замечании по поводу реализации экспертной системы
PUFF на базе оболочки EMYCIN [Aikins, 1983].
Другое критическое
замечание Эйкинс касается не столько конкретной системы PUFF или EMYCIN, сколько
функциональных возможностей систем, базирующихся на правилах, в общем, а следовательно,
и всех оболочек, в которых порождающие правила используются в качестве основного
языка представления знаний. Значительная часть экс-пертности — это знания о
типовых случаях, т.е. довольно часто встречающихся в предметной области. Эксперты
легко распознают известные типовые случаи и способны без особого труда классифицировать
их в терминах идеальных прототипов даже при наличии определенных "помех"
или неполных данных. Они интуитивно различают подходящие случаю или необычные
значения исходных данных и принимают адекватное решение о том, как поступить
в дальнейшем при решении проблемы. Такие знания практически невозможно представить
в экспертной системе, если пользоваться только правилами в форме "условие-действие".
Для этого потребуется значительно более сложный формализм, который сведет на
нет одно из главных достоинств использования порождающих правил в качестве основного
средства принятия решений.
Последнее
замечание по поводу использования оболочек касается механизма обработки неопределенности.
Такие оболочки, как М.1, уже включают в себя определенный формальный механизм
работы с неопределенностью, например основанный на использовании коэффициентов
уверенности. Однако большинство, если не все использованные в оболочках механизмы
такого рода, не согласуются с выводами теории вероятностей и обладают свойствами,
которые с трудом поддаются анализу. Конечно, конкретному методу обработки неопределенности
при решении конкретной задачи в данной предметной области можно дать прагматическое
обоснование, как поступил, например, Шортлифф (Shortliffe) по отношению к схеме
обработки коэффициентов уверенности в системе MYCIN. Но вряд ли оправданно распространять
этот аппарат на другие области применения, встроив его в оболочку.
По сравнению с первыми разработками современные оболочки более гибкие, по крайней мере, в том, что без особого труда могут быть интегрированы в большинство операционных сред, доступных на рынке программного обеспечения, и оснащены достаточно развитыми средствами пользовательского интерфейса. Так, оболочка МЛ может функционировать под управлением любой из операционных систем, используемых в персональных компьютерах, подключаться к базам данных, иметь средства для включения фрагментов программного кода на языках С, Visual BASIC и Visual C++. Оболочка поддерживает индивидуальную настройку пользовательского интерфейса и возможность формирования пояснений при ответах на вопрос "почему" в том же стиле, что и система-прародитель MYCIN.