Экспертная система это – компьютерная программа, обладающая знаниями эксперта в соответствующей предметной области и моделирующая процесс суждения человека-эксперта. Применение экспертной системы в качестве системы поддержки принятия решения позволяет сократить временные и финансовые затраты на экспертизу, снизить влияние человеческого фактора.
Экспертные системы призваны решать те задачи, где, как принято считать, невозможно обойтись без совета или рекомендации эксперта-человека. Некоторые области деятельности, в которых возможно и оправдано использование ЭС в качестве инструмента поддержки принятия решений, приведены ниже.
Медицина
– Диагностика и выявление причин болезни
– Выбор стратегии лечения
– Подбор лекарства
– Анализ кардиограммы
– Подбор диеты
Техника
– Выявление причин неисправностей оборудования
– Устранение аварийных ситуаций
– Выбор конфигурации системы
– Выбор технологии, материала, комплектующих, оборудования
Бизнес
– Оценка инвестиционной привлекательности проекта
– Оценка рисков проекта
– Выбор/оценка поставщика (подрядчика)
– Выбор стратегии развития бизнеса
– Формирование команды проекта
Финансы
– Оценка надежности заемщика
– Операции с ценными бумагами
– Оценка рисков
– Юриспруденция
– Выбор стратегии поведения
Мода
– Выбор стиля, элемента одежды
Экспертная система – взгляд снаружи
Чтобы понять, как работает экспертная система, представьте следующую ситуацию. Вы собираетесь, например, на концерт, и перед вами стоит проблема: надевать галстук или нет, а если надевать, то какой: одноцветный, с рисунком или в крапинку. Не являясь специалистом в области моды, вы звоните своему приятелю-стилисту. Приятель задает вам несколько вопросов, относительно вида концерта, элементов одежды, которые есть в вашем распоряжении, и на основе информации, полученной от вас, дает совет, что, по его мнению, вам следует надеть (рис. 1). В описанной ситуации вашего приятеля можно рассматривать как экспертную систему. Он обладает знаниями
в предметной области (мода) и, на основе полученной от вас информации о текущей ситуации, может предложить вам разумное решение проблемы.Рис. 1.
Диалог с экспертомТеперь, если вы каким-либо образом сможете “извлечь знания из эксперта”, понять, как эксперт принимает решения, формализовать знания и процесс принятия решений, то вы сможете создать экспертную систему, которая заменит реального человека-эксперта, и в дальнейшем, чтобы получить совет, вы будете обращаться не к эксперту, а к экспертной системе (рис. 2).
Рис. 2.
Диалог с экспертной системойАрхитектура экспертной системы
Архитектура экспертной системы, в которой знания представлены совокупностью правил логического вывода, показана на рис. 3.
Рис. 3.
Архитектура экспертной системы на правилах (МВ – механизм или "машина" выводв; ИР – интерфейс разработчика; ОС – объясняющая система; ИП – интерфейс пользователя)В простейшем случае экспертная система может состоять из базы знаний, механизма вывода и интерфейса разработчика-пользователя (рис. 4).
Рис. 4.
Минимальная архитектура экспертной системы(ИР – интерфейс разработчика; МВ – "машина" вывода)
Основой экспертной системы является база знаний
о предметной области. База знаний (БЗ) содержит знания – информацию об объектах предметной области.В экспертных системах для представления знаний используют:
– семантические сети
– фреймы
– правила логического вывода
Семантические сети и фреймы
используют в системах, предназначенных для решения исследовательских задач в области искусственного интеллекта. Рассмотрение этих способов представления знаний выходит за рамки этой книги.Правила логического вывода
в общем случае представляют собой выражения видаЕСЛИ
Правила логического вывода отражают ход рассуждений человека-эксперта и позволяют наиболее естественно и понятно описать процесс принятия решений.
Например, на естественном языке правила выбора галстука можно записать так:
If
jacket is blazer and shirt is white classic then tie is narrowIf
jacket is sport coat and shirt is striped then no tieВ базе знаний экспертной системы эти правила выглядят так:
rule
(1)jacket = blazer
shirt = white_classic
then
tie=narrow;
rule
(2)jacket = sport_coat
shirt = striped
then
tie = no;
Факты
базы знаний представляю собой утверждения видаФакты в базе знаний появляются в процессе консультации как результат ответов пользователя на вопросы экспертной системы, а также как результат согласования фактов с правилами.
Например, если на вопрос экспертной системы Shirt? пользователь введет white_classic, то в базу знаний будет добавлен факт
shirt=white_classic, cf=100