Существует, по крайней мере, четыре значительно отличающихся друг от друга подхода к созданию экспертных систем:
- подход, базирующийся на поверхностных знаниях;
- структурный подход;
- подход, базирующийся на глубинных знаниях;
- смешанный подход, базирующийся на использовании поверхностных и глубинных знаний.
1. Подход, базирующийся на поверхностных знаниях
Применяется к сложным задачам, которые не могут быть точно описаны. Этот подход заключается в получении от эксперта фрагментов знаний (часто эвристических), которые релевантны решаемой задаче. При этом не предпринимается никаких попыток систематического или глубинного изучения области, что предопределяет использование поиска в пространстве состояний в качестве универсального механизма вывода. Обычно в экспертных системах, использующих данный подход, в качестве способа представления выбираются правила. Условие каждого правила определяет образец некоторой ситуации, при соблюдении которой правило может быть выполнено. Поиск решения состоит в выполнении тех правил, образцы которых сопоставляются с текущими данными. При этом предполагается, что в процессе поиска решения последовательность формируемых таким образом ситуаций не оборвется до получения решения, т.е. не возникнет неизвестной ситуации, которая не сопоставится ни с одним правилом. Данный подход с успехом применяется к широкому классу приложений, однако он оказывается неэффективным в тех приложениях, когда задача может быть заранее структурирована или при решении задачи может быть использована некоторая модель.
2. Структурный подход
Структурный подход к построению экспертных систем обусловлен тем, что для ряда приложений применение только техники поверхностных знаний не обеспечивает решения задачи. Действительно, использование поиска в качестве механизма вывода в неструктурированной базе знаний может приводить к ненадежным и (или) некачественным решениям. Структурный подход к построению экспертных систем подобен структурному программированию. Однако применительно к экспертным системам речь не идет о том, что структурирование должно довести задачу до алгоритма (как в традиционном программировании), а предполагается, что часть задачи решается с помощью поиска. Структурный подход в различных приложениях целесообразно сочетать с поверхностным или глубинным.
3. Глубинный подход
В глубинном подходе компетентность экспертной системы базируется на модели той проблемной среды, в которой эта экспертная система работает. Модель может быть определена различными способами (декларативно, процедурно). Необходимость в ряде приложений использовать модели вызвана стремлением исправить несовершенство поверхностного подхода, возникающего при отсутствии правил, удовлетворяющих текущей ситуации в рабочей памяти. Глубинные экспертные системы кроме возможностей поверхностных обладают способностью при возникновении неизвестной ситуации определить с помощью некоторых общих принципов, справедливых для области экспертизы, какие действия следует выполнить.
Глубинный (модельный) подход требует явного описания структуры и взаимоотношений между различными сущностями области. При этом подходе необходимо использовать инструментальные средства, обладающие мощными моделирующими возможностями: объекты с присоединенными процедурами, иерархическое наследование свойств, активные знания (программирование, управляемое данными), передача сообщений объектам (объектно-ориентированное программирование) и т.п.
4. Смешанный подход
Смешанный подход в общем случае может сочетать поверхностный, структурный и глубинный подходы. Например, поверхностный подход может быть использован для поиска адекватных знаний, которые затем используются некоторой глубинной моделью.