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