PDF-лекции (1156613), страница 23
Текст из файла (страница 23)
ЭС.Основные компоненты ЭС (архитектура ЭС):решатель / машина вывода (решение задач пользователя),база знаний (хранение знаний, необходимых для решения задач),подсистема объяснений (объяснение того, как получено решение),пользовательский интерфейс,подсистема приобретения знаний,интерфейс администратора / инженера знаний.Решатель ЭС:Вызов процедур (модулей / правил) по образцу гибкая схема взаимодействия (управления)Продукция – правило вида: p: (где: p – предусловие, - антецедент, - консеквент).Основной цикл работы решателя:выборка (правил-кандидатов)сопоставление / означиваниеразрешение конфликтоввыполнение / действияпереход на НАЧАЛОЭкспертные системы Реального времениСпособность «быстро работать» - лишь одно из требований к ЭС РВ.74Основные свойства ЭС РВ:1.Немонотонность. В процессе функционирования происходит обновление данных. Необходимыспециальные механизмы поддержания истинности (удаление старых данных вместе со сделанными наих основе выводами, учет новых данных).2.Рассуждения с учетом времени (способность рассуждать о прошлых, текущих и будущих событиях,планировать поведение с учетом времени).3.Реактивность по отношению к асинхронным событиям (происходящим в среде).4.Концентрация внимания.
Учет того, что события имеют разную значимость для ЭС РВ, умениевыделять наиболее важные цели и отбирать необходимые для их достижения ресурсы.5.Внешний интерфейс. ЭС РВ должна уметь собирать информацию, поступающую от различныхсенсоров, по различным каналам связи, а также передавать данные по каналам связи (в том числе и дляразличных исполнительных механизмов).6.Ненадежность и неполнота данных. Наличие ненадежных и неполных данных типично для областейприменения ЭС РВ, необходимы механизмы для работы в таких условиях.7.Интеграция с традиционным программным обеспечением (сжатие данных, обработка сигналов,специальный ввод-вывод и др.).8.Высокая скорость работы.
Для многих приложений важна высокая скорость реакции на события,важно также, чтобы ЭС РВ имела гарантированное время ответа (т.е., было известно, что обработкалюбого события потребует времени в определенных фиксированных границах).Основной цикл работы решателя:ввод в базу фактов всех сообщений, полученных к данному моменту из внешних источников,посылка необходимых сообщений внешним адресатам (фаза коммуникации)ввод в базу фактов «отложенных» фактов, время наступления которых уже «пришло»выборка (правил-кандидатов)сопоставление / означиваниеразрешение конфликтов (если правил с удовлетворенными условиями нет, СТОП), переход вспециальный режим «ожидание», нарушить который может некоторое событие (внешнее сообщение,сообщение от таймера)выполнение / действияпереход на НАЧАЛОМетазнания в ЭС1.
ВЫБОР ПРАВИЛ:П1: утечка серной кислоты использовать анион-обменник(стоимость: дорого, источник информации: доктор Грин, степень опасности: невелика)П2: утечка серной кислоты использовать уксусную кислоту(стоимость: дешево, источник информации: практикант Грун, степень опасности: велика)П3: прежде всего использовать правило, требующее минимальных затратП4: прежде всего использовать правило, внесенное в БЗ специалистомП5: прежде всего использовать правило с минимальной степенью опасности2. ОПРАВДАНИЕ ПРАВИЛ:П6: утечка серной кислоты использовать известь(оправдание: нейтрализация, образование нерастворимого и химически неактивного вещества)П7: утечка уксусной кислоты использовать известь(оправдание: нейтрализация)П8: утечка соляной кислоты использовать известь75(оправдание: нейтрализация)3. ОБНАРУЖЕНИЕ ОШИБОК В ПРАВИЛАХ:ПР01: использовать известь - нет антецедентаПР02: утечка: соляная кислота использовать известьПР03:соляная кислота использовать известь - проверить: не совпадает ли предусловиес предусловием предыдущего правилаП9: если некоторое правило никогда не срабатывает, проверить его предусловие4.
СТРАТЕГИЧЕСКИЕ ПРАВИЛА:П10: пространство поиска относительно мало оправдан полный переборП11: один из конъюнктов часто ложен перенести его в началоП12: фрагмент часто выполняется оптимизировать егоП13: фрагмент часто выполняется & редко меняется скомпилировать егоП14: утечка вещества, которое не описано в БЗ база знаний по утечкам неадекватнаПример вывода в ЭС, основанной на правилах продукцийПравила:R1: разлита горючая жидкость звонить по телефону 01R2: разлита уксусная кислота использовать известьR3: pH жидкости < 6 кислотаR4: кислота & имеет запах уксуса уксусная кислотаФакты:F1: разлита жидкостьF2: pH жидкости < 6F3: жидкость имеет запах уксусаЦепочка вывода:F1 & F2 F4 (разлита кислота) & F3 F5 (разлита уксусная кислота) F6 (нейтрализация)R3R4R2Цепочка вывода с учетом достоверности / вероятности:F1& F2 F4 & F3 F5 F680%60% R3 70%100% R4 85% R2Распространение вероятности - изменение вероятности в узлах сети вывода с целью учета влиянияновой информации о вероятности в некотором конкретном узле.Объяснение в ЭСЦель - обосновать, аргументировать ответ в максимально естественной форме.Что объяснять? как получено решение как использована некоторая информация (факты, правила) почему не использована некоторая информация (факты, правила) что использовано в целом при решении задачи (факты, правила)76Для кого нужны объяснения?- эксперты- инженеры знаний- пользователи- изучающие (новички)Этапы построения ЭС: идентификация ПО (цели и характеристики ЭС, ресурсы, участники разработки) концептуализация (основные понятия и связи между ними, основные задачи) формализация (запись на выбранном языке представления знаний, формирование БЗ) реализация проверка правил, тестированиеСтадии разработки ЭС:прототип:демонстрационныйисследовательскийдействующийсистема:промышленнаякоммерческая(прототип система - происходит отчуждение ЭС от разработчика)Создавать ли ЭС?ДА - ЕСЛИ: Разработка возможна & Разработка оправдана & Разработка разумнаРазработка возможна:задача не слишком трудназадача вполне понятназадача требует только интеллектуальных навыков&существуют хорошие экспертыэксперты единодушныэксперты могут описать свои знанияРазработка оправдана:полученное решение высокорентабельночеловеческий опыт утрачиваетсяVэкспертов малоопыт нужен во многих местахопыт нужен в неблагоприятной среде (автономная ЭС)Разработка разумна:задача требует оперирования символамизадача требует эвристических решений&задача не слишком простазадача имеет практический интересзадача решаема (ЭС реализуема)Трудности, Ловушки, СоветыВЫБОР ЗАДАЧИ: задача слишком трудна, построенная ЭС не решает нужные задачи.РЕСУРСЫ: количество разработчиков, ЭС - не обычная программа.ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА: неэффективны, не начинать с языков низкого уровня.ЭКСПЕРТЫ: выбор Э, у Э нет времени, Э далек от компьютеров, Э незнаком с терминологией ЭС,правила слишком коротки и просты, правила слишком громоздки, Э теряет интерес к работе, слишкоммного Э (они не единодушны во мнениях).РЕАЛИЗАЦИЯ: разделять знания Э и знания для решения задач, в готовой ЭС нет многих понятий,очень много специфических частных правил, нет хороших объяснений, нет удобств для пользователя,разочарование на этапе тестирования, трудно вносить изменения (большая система).Извлечение экспертных знаний и формирование БЗ:Эмпирические правила:77"Чем более компетентен эксперт, тем менее способен он описать те знания, которые использует прирешении задач"."Не будьте своим собственным экспертом"."Не принимайте на веру все, что говорят эксперты".Методы извлечения экспертных знаний:Наблюдение на рабочем местеЭ решает реальные задачи, ИЗ - пассивно наблюдаетцель: ИЗ получает представление о характерных задачах.Обсуждение задачИЗ обсуждает с Э отобранные им (ИЗ) характерные задачицель: ИЗ узнает, как организованы знания Э (понятия, гипотезы), как Э работает с неполной,неточной, противоречивой информацией, какие процедуры необходимы для решения задач.Описание задачИЗ просит Э описать типичные задачи для каждого класса задачцель: ИЗ узнает, как связаны между собой задачи одного класса, классы задач.Анализ задачИЗ предлагает Э задачи и расспрашивает о ходе решенияцель: ИЗ пытается найти и сформулировать стратегии решения задач.Доводка системыЭ предлагает ИЗ/прототипу_ЭС характерные задачицель: ИЗ проверяет сформированную совокупность знаний (БЗ).Оценивание системыЭ анализирует и оценивает правила, стратегии, систему понятий ПОцель: Э оценивает точность работы ИЗ и правильность сформированной БЗ.Проверка системыИЗ предлагает независимым экспертам протоколы решения задач Э и прототипом_ЭСцель: объективная оценка результатов работы ИЗ и Э (и сформированной БЗ).Пример: Оценка размера страховых выплатСитуация.
Беседа Инженера_знаний с Экспертом.Некоторые правила:Если повреждение истца действительно требует, чтобы он носил очкиии истец до повреждения не носил очковувеличить фактор неудобства на 2500$Если истец действительно имеет вероятность заболеть глаукомойиэта вероятность была вызвана повреждениемивеличина этой вероятности равна 10%увеличить фактор осложнений в будущем на 30000$Реализация модельной экспертной системы на языке ПлэнерМодельная экспертная система решает задачу распознавания вида животного (тигр) на основе группывзаимосвязанных признаков:млекопитающеепитается-мясомострокон-зубыТИГРхищниккогтирыжевато-корглаза-спередитемные-полосыСистема работает с базой данных, в которой хранятся утверждения следующих типов:(<имя> = <вид>) → ОБСН: <обоснование>()78(<имя> - <класс>) → ОБСН: <обоснование> ( )(<имя> имеет <свойство>) → ОТВ: ДА НЕТ(<имя> питается <пища>)Для определения вида животного используется аппарат теорем.
Часть информации, необходимой длярешения задачи представлена в виде утвереждений базы данных, часть запрашивается у пользователя. Всписках свойств утверждений представлены ответы пользователя и обоснование решения системы.[define main (lambda ( )[prog (ОТВ ИМЯ КЛАСС ОБ)[while T[print ‘Работает эксперт по распознаванию животных‘][print ‘У Вас есть задача на распознавание?‘][pset ОТВ [yes-no]][cond ([eq .ОТВ НЕТ] [exit main main])][print ‘Введите имя распознаваемого объекта‘][pset ИМЯ [read]][if ([perm [goal (.ИМЯ = *КЛАСС)]][pset ОБ [geta (.ИМЯ = *КЛАСС) ОБСН]][output .ИМЯ .КЛАСС .ОБ] )(T [mprint Кем является .ИМЯ я не знаю ])][cleardb] ] ])][define Тигр? (conseq (ИМЯ ОБ ОБ1 ОБ2)(*ИМЯ = ТИГР)[goal (.ИМЯ - млекопитающее)][goal (.ИМЯ - хищник)][goal (.ИМЯ имеет рыжевато-кор) (test ОТВ ДА)][goal (.ИМЯ имеет темные-полосы) (test ОТВ ДА)][pset ОБ1 [geta (.ИМЯ - млекопитающее) ОБСН]][pset ОБ2 [geta (.ИМЯ - хищник) ОБСН]][pset ОБ ( ( (.ИМЯ = ТИГР) так как (.ИМЯ – млекопитающее)(.ИМЯ – хищник)(.ИМЯ имеет рыжевато-коричневую окраску)(.ИМЯ имеет темные полосы)) !.ОБ1 !.ОБ2)][passert (.ИМЯ = ТИГР) (with ОБСН .ОБ)] )][define Окраска? (conseq (ИМЯ ОТВ)(*ИМЯ имеет рыжевато-кор)[if ([search1 (.ИМЯ имеет рыжевато-кор) (test ОТВ *ОТВ)])(T [mprint .ИМЯ имеет рыжевато-коричневую окраску?][pset ОТВ [yes-no]][passert (.ИМЯ имеет рыжевато-кор) (with ОТВ .ОТВ)])][cond ([eq .ОТВ НЕТ] [fail])] )][define Полосы? (conseq (ИМЯ ОТВ)(*ИМЯ имеет темные-полосы)[if ([search1 (.ИМЯ имеет темные-полосы) (test ОТВ *ОТВ)])(T [mprint .ИМЯ имеет темные полосы?][pset [yes-no]][passert (.ИМЯ имеет темные-полосы ) (with ОТВ .ОТВ)])][cond ([eq .ОТВ НЕТ] [fail])] )]79[define Хищник1? (conseq (ИМЯ ОБ)(*ИМЯ - хищник)[goal (.ИМЯ питается мясом)][pset ОБ ( ( (.ИМЯ - хищник) так как (питается мясом)))][passert (.ИМЯ - хищник) (with ОБСН .ОБ)] )][define Хищник2? (conseq (ИМЯ ОБ)(*ИМЯ - хищник)[goal (.ИМЯ имеет острокон-зубы)][goal (.ИМЯ имеет когти)][goal (.ИМЯ имеет глаза-спереди)][pset ОБ ( ( (.ИМЯ - хищник) так как (.ИМЯ имеет остроконечные зубы)(.ИМЯ имеет когти)(.ИМЯ имеет глаза спереди)))][passert (.ИМЯ - хищник) (with ОБСН .ОБ)] )][define yes-no (lambda ( ) [read])][define output (lambda (x y z ) [prog ( ) [print .x] [print.y] [print .z]])][assert (Муся питается мясом)][assert (Муся - млекопитающее)][assert (Муся имеет темные-полосы) (with ОТВ ДА)][assert (Муся имеет рыжевато-кор) (with ОТВ ДА)]Реализация модельной экспертной системы на языке Плэнер (день 13 ч.