17.4.2.
Выбор подходящего инструментария для разработки экспертной системы
В работе [Hayes-Roth
et al, 1983, Chapter 1] собраны рекомендации по выбору подходящих инструментальных
средств построения экспертной системы. В основу рекомендаций положено сопоставление
характеристик задач, решаемых проектируемой экспертной системой, и необходимых
функциональных возможностей инструментального комплекса.
Важнейшим
для выбора инструментальной среды является вопрос о способе определения характеристик
проблемы, решаемой проектируемой экспертной системой. Этот вопрос обсуждается
в работе [Stefik et al, 1983], где предлагается схема анализа, основанная
на свойствах пространства поиска решения. Я позволил себе несколько обобщить
предлагаемые авторами работы категории проблем и свел 11 Категорий к четырем,
хотя основные принципы классификации остались прежними.
(1) Малое
пространство решений, надежные данные и знания. Предполагается, что количество
альтернатив, которые следует принимать во внимание при поиске решения, невелико
и что все данные достоверны, а истинность правил не вызывает сомнений. В таком
случае возможно выполнять исчерпывающий поиск в пространстве решений и при необходимости
организовать возврат с прослеживанием в обратном порядке. Для решения проблем
этой группы можно воспользоваться готовыми решениями, т.е. ранее созданной оболочкой
на базе экспертной системы, решавшей аналогичную проблему в другой предметной
области. Распространено мнение, что такой подход позволяет получить удовлетворительное,
а не оптимальное решение проблемы, т.е. достаточно хорошее, а не лучшее
решение. Учтите, что попытка отыскать оптимальное решение неизбежно сопряжена
с перебором нескольких вариантов, что таит в себе опасность "комбинаторного
взрыва".
(2) Ненадежные
данные или знания. Если данные и/или знания ненадежны, т.е. существует опасность,
что вводимые в систему данные недостоверны, а правила в базе знаний неоднозначны,
то в экспертной системе нужно комбинировать информацию от нескольких источников
и использовать в какой-либо форме логику неточных рассуждений. Авторы цитируемой
работы весьма мудро решили воздержаться от конкретных рекомендаций, какой именно
формализм неточных рассуждений следует выбрать, но круг кандидатов в любом случае
довольно ограничен — формализм коэффициентов уверенности (см. главу 3) или нечеткой
логики (см. главу 9). Обсуждение альтернативных методов, таких как использование
функций доверия (belief function) и обновляемых оценок по Байесу (Bayesian belief
updating), мы отложим до главы 21.
(3)
Большое, но факторизуемое пространство решений. В
литературе можно найти два варианта толкования термина "факторизуемый".
Пространство поиска можно назвать факторизуемым, если существует "правило
исключения", которое помогает уменьшить размер пространства на ранней стадии
решения проблемы [Stefik et al, 1983, p. 99]. Есть и другое определение
— пространство поиска является факторизуемым, если возможно разделить его на
несколько независимых подпространств, которые можно обрабатывать по отдельности,
причем для разных подпространств могут быть использованы и разные множества
правил или отдельные подмножества одного и того же множества правил [Nilsson,
1980, р. 37]. Обычно такое разбиение выполняется на уровне решаемой проблемы,
т.е. большая общая проблема разбивается на несколько более мелких. Успех в достижении
главной цели, таким образом, оценивается по совокупности успехов в достижении
более или менее независимых подцелей. .Если система потерпит неудачу в достижении
одной из подцелей, то это будет означать неудачу и решения проблемы в целом.
В любом случае для решения проблем такого класса наиболее предпочтительным является
метод порождения и проверки (generate-and-test). Этот метод позволяет
"обрезать" ветви, уводящие нас от решения, и разделить большое пространство
решений на подпространства.
(4)
Большое нефакторизуемое пространство решений. Пространство
решений может оказаться и нефакторизуемым, в каком бы смысле мы не трактовали
этот термин. Очень часто оказывается, что проблема проектирования допускает
выработку частного решения какого-либо компонента только в контексте всего проекта.
При сборке головоломки нельзя предсказать, найдено ли верное решение, пока последний
элемент мозаики не станет на свое место. Общий подход к работе в большом пространстве
поиска состоит в том, чтобы последовательно рассматривать его на разных уровнях
абстракции, т.е. использовать варианты описания пространства с разным уровнем
учета деталей. Решение проблемы таким методом часто называют нисходящим уточнением
(top-down refinement) (см. об этом в главе 14). Применение метода нисходящего
уточнения требует исключить, по возможности, обратное прослеживание между уровнями,
реализация которого требует значительных вычислительных ресурсов. Но это срабатывает
только в случае, если между уровнями нет тесного взаимодействия. Как было показано
в главе 15, эффективной стратегией решения такого рода задач является стратегия
наименьшего принуждения (least commitment), подкрепленная адекватным
механизмом разрешения конфликтов.
В книге [Hayes-Roth
et al, 1983] проблема выбора инструментальных средств представлена в терминах
схемы рис. 17.2. Выяснив характеристики проблемы, решаемой проектируемой экспертной
системой, можно определиться со свойствами пространства решений, которые перечислены
выше. Затем они рассматриваются совместно с предполагаемыми характеристиками
разрабатываемой системы — характеристиками порождающих правил, прямой цепочки
вывода или возможностями формирования пояснений, — и вырабатываются желаемые
характеристики инструментальной среды. Последние и позволяют подобрать нужную
модель инструментальной среды. Нужно сказать, что все это прекрасно выглядит
на картинке, но очень сложно реализуется на практике, хотя вряд ли кто-нибудь
будет спорить с тем, что такой подход более логичен, чем какой-либо другой.
Как показывает практика, большинство разработчиков явно или неявно следует именно
такому подходу при создании экспертных систем.
Рис. 17.2.
Схема выбора инструментальной среды проектирования экспертной системы
Например,
разработчики экспертной системы COMPASS, описанной в главе 10, следующим образом
аргументировали свое решение выбрать для выполнения проекта инструментальную
среду КЕЕ.
Проанализировав
возможные варианты, разработчики остановились на выборе в качестве основного
инструментального средства компонента COTS среды КЕЕ.
При выборе инструментальной среды немаловажное значение имеет и то, насколько проста среда в обращении и как быстро проектировщики экспертной системы смогут овладеть методикой работы в этой среде, какую поддержку в этом готова оказать им фирма-изготовитель среды, и, конечно же, цена этого программного продукта.