Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и ВТ Брукшир.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.07 Mб
Скачать

10.6.5Экспертные системы

Важное расширение концепции интеллектуальных баз данных — экспертные системы (expert systems). Это пакеты программного обеспечения, предназначенные для помощи людям в ситуациях, когда требуется эксперт в определенной области знаний. Такие системы имитируют мышление по образу «причина и следствие», то есть способ мышления эксперта при столкновении с такой же ситуацией. Так, медицинская экспертная система должна предложить тот же набор действий, что и медицинский эксперт, который знает, что необходимо провести биопсию, если замечено необычное состояние организма и рентгеновское обследование показывает наличие некоторого образования в этом месте.

Главная задача при создании экспертной системы — получение необходимых знаний от эксперта. Важной областью исследований стали способы выполнения этой задачи. Фактически она состоит из двух частей. Одна — это обеспечение и поддержка сотрудничества с экспертом. Такое сотрудничество может стать достаточно сложной проблемой, так как необходимый опрос часто бывает длинным и порой бесполезным, а эксперт может не пожелать передавать знания системе, которая в конечном итоге займет его место. Другой усложняющий фактор — это то, что большинство экспертов никогда не задумывались над процессом мышления, приводящим к определенным выводам. Если спросить их: «Как вы это сделали?», ответом чаще всего будет «Я не знаю».

Когда организационные вопросы решены, полученные от эксперта знания необходимо организовать в систему, совместимую с программным обеспечением. Это обычно делается путем выражения знаний в виде набора правил в форме логических выводов. Например, правило, что отклонение, подтвержденное рентгеном, приводит к необходимости проведения биопсии, можно выразить как (замечено отклонение и рентген показывает наличие образования) следовательно (необходимо выполнить биопсию)

(Если вы прочитали дополнительный раздел о декларативном программировании в главе 5, то заметите сходство между структурой экспертной системы и программой на языке Prolog. Это сходство является главной причиной популярности этого языка в области искусственного интеллекта. Действительно, Prolog — прекрасный язык для разработки экспертной системы.)

Обратите внимание на сходство между правилами экспертной системы и порождениями продукционной системы. Первая часть правила описывает предпосылки для того, чтобы был сделан вывод во второй части. Действительно, многие экспертные системы являются продукционными системами, где правила, полученные от эксперта-человека, — это порождения, а мышление на основе этих правил имитируется системой управления. В этом контексте набор порождений обычно называется базой знаний системы, а система управления — механизмом логического вывода.

Не следует, однако, думать, что экспертная система — это просто увеличенный вариант программы для решения головоломки, рассмотренной ранее. Некоторые экспертные системы составлены из наборов продукционных систем, объединяющих усилия для решения задачи. Например, экспертные системы, основанные на модели «классной доски» (blackboard model), где несколько систем решения задач, называемых источниками знаний, работают в одной области хранения, называемой «классной доской». «Классная доска» отображает текущее состояние решаемой задачи, и, поскольку ее используют все источники знаний, она является средством, через которое все источники знания вносят свой вклад в решение задачи. Для координации действий источников знаний предусмотрен блок управления, выполняющий задачу активации подходящего источника знаний в подходящий момент времени. В терминологии модели «классной доски» управляющий модуль должен определять центр внимания системы (focus of the attention).

Другое различие между экспертной системой и простой продукционной системой состоит в том, что экспертная система не обязательно должна достигнуть предопределенной цели; чаще всего ее задачей является предоставление хорошо обоснованного совета. Например, предположим, что экспертная система столкнулась с проблемой диагностики заболеваний. В идеальном случае мы хотели бы, чтобы система выдавала определенное утверждение в форме «Диагноз — X», где на место X ставится название болезни. К сожалению, такой точности достигнуть невозможно. Наилучший ответ, которого можно ожидать, это «Вероятнее всего, диагноз — X» или «Диагнозом может быть X или Y. Выполните следующий тест для определения верного ответа». Из-за существования такой неопределенности система управления экспертной системы может проследовать по нескольким путям в графе состояний и выдать результаты всех исследований. Если порождение, полученное в каком-либо состоянии, это (присутствует ревматоидный фактор и у пациента наблюдается боль в суставах) следовательно (вероятность ревматоидного артрита равна 80£) то любое дальнейшее размышление, основанное на факте, что диагнозом является ревматоидный артрит, с какой-то вероятностью может быть неверным.

Как и в других областях исследований, ранние приложения экспертных систем были ограничены несколькими областями. Однако сегодня количество областей, в которых применяются экспертные системы, существенно возросло. Среди прочего причиной такого распространения стало осознание того, что экспертную систему можно разделить на мыслящую составляющую и составляющую знаний. Удалив базу знаний из существующей экспертной системы, мы останемся с системой имитирующих мышление процедур — механизмом логического вывода, который можно применить и в других задачах. Новые экспертные системы в прочих областях можно создавать, присоединяя новую базу знаний к существующему механизму логического вывода. С точки зрения продукционных систем, набор порождений составляет базу знаний, а система управления является механизмом логического вывода. (Если вы прочитали дополнительный раздел о декларативном программировании в главе 5, то поймете, что программа на языке Prolog — это база знаний, а лежащая в ее основании система Prolog является механизмом логического вывода.)