Характеристики экспертных систем
Экспертная система отличается от прочих прикладных программ наличием следующих признаков.
- Моделирует не столько
физическую (или иную) природу определенной проблемной области, сколько механизм
мышления человека применительно к решению задач в этой проблемной области.
Это существенно отличает экспертные системы от систем математического моделирования
или компьютерной анимации. Нельзя, конечно, сказать, что программа полностью
воспроизводит психологическую модель специалиста в этой предметной области
(эксперта), но важно, что основное внимание все-таки уделяется воспроизведению
компьютерными средствами методики решения проблем, которая применяется экспертом,
-т.е. выполнению некоторой части задач так же (или даже лучше), как это делает
эксперт.
- Система, помимо выполнения
вычислительных операций, формирует определенные соображения и выводы, основываясь
на тех знаниях, которыми она располагает. Знания в системе представлены,
как правило, на некотором специальном языке и хранятся отдельно от собственно
программного кода, который и формирует выводы и соображения. Этот компонент
программы принято называть базой знаний.
- При решении задач основными
являются эвристические и приближенные методы, которые, в отличие от
алгоритмических, не всегда гарантируют успех. Эвристика, по существу, является
правилом влияния (rule of thumb), которое в машинном виде представляет
некоторое знание, приобретенное человеком по мере накопления практического
опыта решения аналогичных проблем. Такие методы являются приблизительными
в том смысле, что, во-первых, они не требуют исчерпывающей исходной информации,
и, во-вторых, существует определенная степень уверенности (или неуверенности)
в том, что предлагаемое решение является верным.
- Экспертные системы
имеют дело с предметами реального мира, операции с которыми обычно
требуют наличия значительного опыта, накопленного человеком. Множество программ
из области искусственного интеллекта являются сугубо исследовательскими и
основное внимание в них уделяется абстрактным математическим проблемам или
упрощенным вариантам реальных проблем (иногда их называют "игрушечными"
проблемами), а целью выполнения такой программы является "повышение уровня
интуиции" или отработка методики. Экспертные системы имеют ярко выраженную
практическую направленность в научной или коммерческой области.
- Одной из основных характеристик
экспертной системы является ее производительность, т.е. скорость получения
результата и его достоверность (надежность). Исследовательские программы искусственного
интеллекта могут и не быть очень быстрыми, можно примириться и с существованием
в них отказов в отдельных ситуациях, поскольку, в конце концов, — это инструмент
исследования, а не программный продукт. А вот экспертная система должна за
приемлемое время найти решение, которое было бы не хуже, чем то, которое может
предложить специалист в этой предметной области.
- Экспертная система
должна обладать способностью объяснить, почему предложено именно такое
решение, и доказать его обоснованность. Пользователь должен получить
всю информацию, необходимую ему для того, чтобы быть уверенным, что решение
принято "не с потолка". В отличие от этого, исследовательские программы
"общаются" только со своим создателем, который и так (скорее всего)
знает, на чем основывается ее результат. Экспертная система проектируется
в расчете на взаимодействие с разными пользователями, для которых ее работа
должна быть, по возможности, прозрачной.
Суммируя все сказанное, отметим — экспертная система содержит знания в определенной предметной области, накопленные в результате практической деятельности человека (или человечества), и использует их для решения проблем, специфичных для этой области. Этим экспертные системы отличаются от прочих, "традиционных" систем, в которых предпочтение отдается более общим и менее связанным с предметной областью теоретическим методам, чаще всего математическим. Процесс создания экспертной системы часто называют инженерией знаний (knowledge engineering) и он рассматривается в качестве "применения методов искусственного интеллекта" (см. [Feigenbaum, 1977]). Далее, в главах 2 и 3, мы более пристально рассмотрим отличие между общепринятым в программировании подходом к решению проблем и тем, который предлагается при проектировании экспертных систем.
В оставшейся части этой главы мы рассмотрим следующие вопросы. Сначала будут перечислены четыре базовые функции, которые реализуются в экспертных системах. Эти функции здесь будут рассмотрены очень поверхностно, с единственной целью дать читателю общее представление о них и познакомить с соответствующей терминологией. Последний раздел главы даст читателю представление об общей структуре материала в этой книге и о его распределении по главам.