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

Работы по созданию Экспертных систем (ЭС) - первая попытка практического применения результатов в области Искусственного интеллекта (ИИ).

История: "романтический период" ИИ -> серьезные научные исследования -> практические задачи.

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

Основные особенности ЭС:
•	ориентированы на решение практических задач в трудноформализуемых узких предметных областях,
•	результаты работы сравнимы с результатами человека-эксперта,
•	«прозрачность» решения,
•	открытая совокупность знаний.

Одна из первых задач - задача Диагностики (выявление причин неправильного функционирования системы). 

Одна из первых ЭС для задачи медицинской диагностики - 	MYCIN (диагностика бактериальных инфекций).

Одна из первых ЭС в Геологии: PROSPECTOR  - оценка потенциальной рудоносности района
Что может делать СИСТЕМА PROSPECTOR:
•	Беседует с пользователем (экспертом-геологом), употребляя знакомые ему термины.
•	Позволяет пользователю вводить любую информацию о районе в любой момент диалога; учитывает при этом степень уверенности пользователя в достоверности сообщаемых им фактов.
•	Выбирает гипотезу о рудных залежах в районе и затем задает пользователю вопросы с целью либо доказать, либо опровергнуть ее.
•	Перефразирует вопросы, когда пользователь указывает, что они ему непонятны.
•	Может сообщить пользователю, почему ей нужен ответ на конкретный вопрос.
•	Отбрасывает свои гипотезы и выбирает новые на основании ответов пользователя на свои вопросы.
•	Ищет противоречия в ответах пользователя, указывает их и позволяет пользователю изменять и старые, и новые ответы с целью добиться непротиворечивости.
•	Предлагает свои заключения вместе со сводкой соображений, на основании которых она пришла к этим заключениям.

ФРАГМЕНТ ПРОТОКОЛА ДИАЛОГА ПОЛЬЗОВАТЕЛЯ С СИСТЕМОЙ PROSPECTOR.
01.П:  присутствуют дайки (запоминает ЭС: дайки, достоверность = 5)
02.П:  присутствуют меловые диориты (запоминает ЭС: меловые диориты, достоверность = 5)
03.П:  возможно, есть сиенодиорит (запоминает ЭС: сиенодиорит/монцонит, достоверность = 3)
04.П: может быть некоторое количество кварцевого монцонита (запоминает ЭС: кварцевый монцонит, достоверность = 3)
. . .
77:ЭС: на шкале от -5 до +5 уверенность, что имеется месторождение медно-порфировых руд типа А (МПРА), равна 1.683.
Основные заключения в пользу гипотезы:
- Соответствующее геологическое строение региона (достоверность = 3.576).
- Соответствующее петро-тектоническое окружение (достоверность = 3.333).
- Соответствующая интрузивная структура для МПРА (достоверность = 1.683).
Основные наблюдения, поддерживающие гипотезу:
- В исследуемом регионе есть система гранитных интрузий (достоверность = 5.0).
- Наблюдаются измененные породы (достоверность = 5.0)
. . .
Существует еще много других наблюдений в пользу гипотезы. Хотите рассмотреть еще какие-нибудь?
П: нет 

Типичные задачи, решаемые с помощью ЭС:

Интерпретация - описание ситуации по информации, поступающей от датчиков.
	SPE - определение концентрации гамма-глобулина в крови.
Прогноз - определение вероятных последствий заданных ситуаций.
	PLANT/cd - определения потерь урожая от черной совки.
Планирование - определение последовательности действий.
	TATR - планирование авиаударов по аэродромам противника.
Диагностика - выявление причин неправильного функционирования системы.
	MYCIN - диагностика бактериальных инфекций.
Отладка - составление рецептов исправления неправильного функционирования системы.
	ONCOCIN - планирования химиотерапевтического лечения.
Ремонт - выполнение последовательности предписанных исправлений.
	TQMSTUNE - настройка масс-спектрометра.
Проектирование - построение конфигурации объектов при заданных ограничениях.
	XCON (R1) - выбор оптимальной конфигурации аппаратных средств (VAX).
Наблюдение - сравнение результатов наблюдения с ожидаемыми результатами.
	VM - наблюдение за состоянием больного в палате интенсивной терапии.
Обучение - диагностика, отладка и ремонт поведения обучаемого.
	GUIDON - обучение студентов-медиков (антибактериальная терапия).
Управление - управление поведением системы как целого.
	VM

Сферы применения ЭС:

ХИМИЯ:	DENDRAL (интерпр.) - определение структурной формулы хим.в-ва		
МЕДИЦИНА:	VM, MYCIN (см.выше)
ВОЕННОЕ ДЕЛО: TATR (см.выше), I&W (прогнозир.) - прогнозирование вооруженных конфликтов
ЭЛЕКТРОНИКА: EURISKO (проектир.) - проектирование СБИС
КОМПЬЮТЕРНЫЕ СИСТЕМЫ: XCON (см.выше), PTRANS (планир.&прогнозир.) - маркетинг в DEC
ТЕХНИКА: REACTOR (наблюден.) - в составе системы управления ядерным реактором  
ГЕОЛОГИЯ: PROSPECTOR (интерпр.) - оценка потенциальной рудоносности района

Основные компоненты ЭС (архитектура ЭС):

•	решатель / машина вывода (решение задач пользователя),
•	база знаний (хранение знаний, необходимых для решения задач),
•	подсистема объяснений (объяснение того, как получено решение), 
•	пользовательский интерфейс,
•	подсистема приобретения знаний,
•	интерфейс администратора / инженера знаний.

Решатель ЭС:

Вызов процедур (модулей / правил) по образцу  гибкая схема взаимодействия (управления)

Продукция – правило вида:  p:  (где: p – предусловие,  - антецедент,  - консеквент).

Основной цикл работы:
•	выборка (правил-кандидатов)
•	сопоставление / означивание
•	разрешение конфликтов
•	выполнение / действия

Метазнания в ЭС:

1. ВЫБОР ПРАВИЛ:
П1: утечка серной кислоты  использовать анион-обменник 
(стоимость: дорого, источник информации: доктор Грин, степень опасности: невелика)

П2: утечка серной кислоты  использовать уксусную кислоту
(стоимость: дешево, источник информации: практикант Грун, степень опасности: велика)

П3: прежде всего использовать правило, требующее минимальных затрат

П4: прежде всего использовать правило, внесенное в БЗ специалистом

П5: прежде всего использовать правило с минимальной степенью опасности

	2. ОПРАВДАНИЕ ПРАВИЛ:
П6: утечка серной кислоты  использовать известь
(оправдание: нейтрализация, образование нерастворимого и химически неактивного вещества)

П7: утечка уксусной кислоты  использовать известь
(оправдание: нейтрализация)

П8: утечка соляной кислоты  использовать известь
(оправдание: нейтрализация)

	3. ОБНАРУЖЕНИЕ ОШИБОК В ПРАВИЛАХ:
ПР01: использовать известь	- нет антецедента

ПР02: утечка:	соляная кислота  использовать известь	 

ПР03: 		соляная кислота  использовать известь - проверить: не совпадает ли предусловие
								с предусловием предыдущего правила

П9: если некоторое правило никогда не срабатывает, проверить его предусловие

	 4. СТРАТЕГИЧЕСКИЕ ПРАВИЛА:
П10: пространство поиска относительно мало  оправдан полный перебор

П11: один из конъюнктов часто ложен  перенести его в начало

П12: фрагмент часто выполняется  оптимизировать его

П13: фрагмент часто выполняется & редко меняется  скомпилировать его

П14: утечка вещества, которое не описано в БЗ  база знаний по утечкам неадекватна

Пример вывода в ЭС, основанной на правилах продукций

Правила:	R1: разлита горючая жидкость  звонить по телефону 01
R2: разлита уксусная кислота  использовать известь
		R3: pH жидкости < 6  кислота
R4: кислота & имеет запах уксуса  уксусная кислота

Факты:		F1: разлита жидкость
		F2: pH жидкости < 6
		F3: жидкость имеет запах уксуса

Цепочка вывода:
F1 & F2  F4 (разлита кислота) & F3  F5 (разлита уксусная кислота)  F6 (нейтрализация)  
              R3                                              R4                                                     R2

Цепочка вывода с учетом достоверности / вероятности:
F1      &      F2            F4     &    F3              F5           F6
80%            60%   R3     70%         100%    R4    85%     R2

Распространение вероятности - изменение вероятности в узлах сети вывода с целью учета влияния новой информации о вероятности в некотором конкретном узле.

Объяснение в ЭС.
Цель - обосновать, аргументировать ответ в максимально естественной форме.

Что объяснять?
•	как получено решение
•	как использована некоторая информация (факты, правила)
•	почему не использована некоторая информация (факты, правила)
•	что использовано в целом при решении задачи (факты, правила)

Для кого нужны объяснения?
-	эксперты
-	инженеры знаний
-	пользователи
-	изучающие (новички)

Этапы построения ЭС:
•	идентификация ПО (цели и характеристики ЭС, ресурсы, участники разработки)
•	концептуализация  (основные понятия и связи между ними, основные задачи)
•	формализация (запись на выбранном языке представления знаний, формирование БЗ)
•	реализация
•	проверка правил, тестирование

Стадии разработки ЭС:
прототип:	демонстрационный
		исследовательский
		действующий
система:	промышленная
		коммерческая
(прототип  система - происходит отчуждение ЭС от разработчика)

Создавать ли ЭС?
ДА - ЕСЛИ: Разработка возможна & Разработка оправдана & Разработка разумна

Разработка возможна:
задача не слишком трудна
задача вполне понятна

&

	задача требует только интеллектуальных навыков
существуют хорошие эксперты
эксперты единодушны
эксперты могут описать свои знания

Разработка оправдана:
полученное решение высокорентабельно
человеческий опыт утрачивается
V	экспертов мало
опыт нужен во многих местах
опыт нужен в неблагоприятной среде (автономная ЭС)

Разработка разумна:
задача требует оперирования символами
задача требует эвристических решений
&	задача не слишком проста
задача имеет практический интерес
задача решаема (ЭС реализуема)
Трудности, Ловушки, Советы
ВЫБОР ЗАДАЧИ: задача слишком трудна, построенная ЭС не решает нужные задачи.
РЕСУРСЫ: количество разработчиков, ЭС - не обычная программа.
ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА: неэффективны, не начинать с языков низкого уровня.
ЭКСПЕРТЫ: выбор Э, у Э нет времени, Э далек от компьютеров, Э незнаком с терминологией ЭС, правила слишком коротки и просты, правила слишком громоздки, Э теряет интерес к работе, слишком много Э (они не единодушны во мнениях).
РЕАЛИЗАЦИЯ: разделять знания Э и знания для решения задач, в готовой ЭС нет многих понятий, очень много специфических частных правил, нет хороших объяснений, нет удобств для пользователя, разочарование на этапе тестирования, трудно вносить изменения (большая система).

Извлечение экспертных знаний и формирование БЗ:
Эмпирические правила:
"Чем более компетентен эксперт, тем менее способен он описать те знания, которые использует при решении задач".
"Не будьте своим собственным экспертом".
"Не принимайте на веру все, что говорят эксперты".

Методы извлечения экспертных знаний:
Наблюдение на рабочем месте
	Э решает реальные задачи, ИЗ - пассивно наблюдает
	цель: ИЗ получает представление о характерных задачах.  
Обсуждение задач
ИЗ обсуждает с Э отобранные им (ИЗ) характерные задачи
цель: ИЗ узнает, как организованы знания Э (понятия, гипотезы), как Э работает с неполной, неточной, противоречивой информацией, какие процедуры необходимы для решения задач.
Описание задач
	ИЗ просит Э описать типичные задачи для каждого класса задач
	цель: ИЗ узнает, как связаны между собой задачи одного класса, классы задач.
Анализ задач
	ИЗ предлагает Э задачи и расспрашивает о ходе решения
	цель: ИЗ пытается найти и сформулировать стратегии решения задач.
Доводка системы
Э предлагает ИЗ/прототипу_ЭС характерные задачи
	цель: ИЗ проверяет сформированную совокупность знаний (БЗ).
Оценивание системы
Э анализирует и оценивает правила, стратегии, систему понятий ПО
цель: Э оценивает точность работы ИЗ и правильность сформированной БЗ.
Проверка системы
	ИЗ предлагает независимым экспертам протоколы решения задач Э и прототипом_ЭС
	цель: объективная оценка результатов работы ИЗ и Э (и сформированной БЗ).

Пример: Оценка размера страховых выплат. Ситуация.
Беседа Инженера_знаний с Экспертом.
Некоторые правила:
Если	повреждение истца действительно требует, чтобы он носил очки
  и	и истец до повреждения не носил очков
увеличить фактор неудобства на 2500$ 
Если	истец действительно имеет вероятность заболеть глаукомой
  и	эта вероятность была вызвана повреждением
  и	величина этой вероятности равна 10%
увеличить фактор осложнений в будущем на 30000$