- •Глава 1. Что такое экспертная система?
- •Глава 4. Символические вычисления 63
- •Глава 5. Системы, основанные на знаниях 75
- •Глава 11. Эвристическая классификация (I) 176
- •Глава 12. Эвристическая классификация (II) 191
- •Глава 13. Иерархическое построение и проверка гипотез 208
- •Глава 14. Решение проблем конструирования (I) 222
- •Глава 15. Решение проблем конструирования (II) 236
- •Глава 16. Средства формирования пояснений 252
- •Глава 17. Инструментальные средства разработки экспертных систем 274
- •Глава 18. Системы с доской объявлений 294
- •Глава 19. Система отслеживания истинности предположений 308
- •Глава 20. Формирование знаний на основе машинного обучения 323
- •Глава 21. Сети доверия 342
- •Глава 22. Рассуждения, основанные на прецедентах 351
- •Глава 23. Гибридные системы 362
- •Глава 24. Заключение 377
- •Студентам и преподавателям
- •Инженерам-программистам
- •Научным работникам
- •Глава 1. Что такое экспертная система?
- •1.1. Смысл экспертного анализа
- •Извлечение информации из первичных данных (таких как сигналы, поступающие от гидролокатора);
- •1.2. Характеристики экспертных систем
- •1.3. Базовые функции экспертных систем
- •1.3.1. Приобретение знаний
- •1.3.2. Представление знаний
- •1.2. Синтаксис и семантика представления семейных отношений
- •1.3.3. Управление процессом поиска решения
- •1.3. Обслуживание автомобиля
- •1.3.4. Разъяснение принятого решения
- •Пользователи, работающие с системой, нуждаются в подтверждении того, что в каждом конкретном случае заключение, к которому пришла программа, в основном корректно.
- •1.4. Загадка одного портрета
- •1.4. Резюме и структура книги
- •1.4.1. Текущее состояние проблемы
- •Способен решить проблему;
- •В процессе решения задачи используются способности органов чувств человека, недоступные на сегодняшний день в мире машин;
- •В решение задачи вовлечены соображения здравого смысла человечества или большой объем знаний, само собой разумеющихся для любого человека (более подробно об этом — в главе 3).
- •1.4.2. Распределение материала книги по главам
- •Рекомендуемая литература
- •Глава 2. Обзор исследований в области искусственного интеллекта
- •Отличие между оценкой, полученной mycin, и оценками качества рекомендаций ведущих специалистов Станфорда, невелико, а по сравнению с рядовыми врачами система оказалась даже на более высоком уровне.
- •10.1. Оболочки CommonKads и kastus
- •Замечания в круглых скобках в столбце "Причины" следует рассматривать как фоновые условия в системе more.
1.3. Базовые функции экспертных систем
Поскольку теория экспертных систем выросла из более общей концепции искусственного интеллекта, то нет ничего удивительного в том, что проблематика этих областей имеет много общего. На некоторых из таких связей акцентируется внимание в последующих разделах при обзоре литературы. Вы также встретите в них ссылки на последующие главы этой книги, в которых та или иная тема будет рассмотрена подробно.
1.3.1. Приобретение знаний
Бучанан следующим образом сформулировал функцию приобретения знаний [Buchanan et al, 1983]:
"[Приобретение знаний это] передача потенциального опыта решения проблемы от некоторого источника знаний и преобразование его в вид, который позволяет использовать эти знания в программе".
Передача знаний выполняется в процессе достаточно длительных и пространных собеседований между специалистом по проектированию экспертной системы (будем в дальнейшем называть его инженером по знаниям) и экспертом в определенной предметной области, способным достаточно четко сформулировать имеющийся у него опыт. По существующим оценкам, таким методом можно сформировать от двух до пяти "элементов знания" (например, правил влияния) в день. Конечно, это очень низкая скорость, а потому многие исследователи рассматривают функцию приобретения знаний в качестве одного из главных "узких мест" технологии экспертных систем [Feigenbaum, 1977].
Причин такой низкой производительности предостаточно. Ниже перечислены только некоторые из них.
Специалисты в узкой области, как правило, пользуются собственным жаргоном, который трудно перевести на обычный "человеческий" язык (см. врезку 1.1). Но смысл жаргонного "словечка" отнюдь не очевиден, а потому требуется достаточно много дополнительных вопросов для уточнения его логического или математического значения. Например, специалисты по военной стратегии говорят об "агрессивной демонстрации" иностранной военной мощи, но при этом не могут объяснить, чем такая "агрессивная" демонстрация отличается от демонстрации, не несущей угрозы.
Факты и принципы, лежащие в основе многих специфических областей знания эксперта, не могут быть четко сформулированы в терминах математической теории или детерминированной модели, свойства которой хорошо понятны. Так, эксперту в финансовой области может быть известно, что определенные события могут стать причиной роста или снижения котировок на фондовой бирже, но он ничего вам не скажет точно о механизмах, которые приводят к такому эффекту, или о количественной оценке влияния этих факторов. Статистические модели могут помочь сделать общий долговременный прогноз, но, как правило, такие методы не работают в отношении курсов конкретных акций на коротких временных интервалах.
Для того чтобы решить проблему в определенной области, эксперту недостаточно просто обладать суммой знаний о фактах и принципах в этой области. Например, опытный специалист знает, какого рода информацией нужно располагать для формулировки того или иного суждения, насколько надежны различные источники информации и как можно расчленить сложную проблему на более простые, которые можно решать более или менее независимо. Выявить в процессе собеседования такого рода знания, основанные на личном опыте и плохо поддающиеся формализации, значительно сложнее, чем получить простой перечень каких-то фактов или общих принципов.
Экспертный анализ даже в очень узкой области, выполняемый человеком, очень часто нужно поместить в довольно обширный контекст, который включает и многие вещи, кажущиеся эксперту само собой разумеющимися, но для постороннего отнюдь таковыми не являющиеся. Возьмем для примера эксперта-юриста, который принимает участие в судебном процессе. Очень трудно очертить количество и природу знаний общего рода, которые оказываются вовлечены в расследование того или иного дела.
1.1. Забытый пароль
Если у вас память ненамного лучше моей, то вы, вероятно, тоже часто забываете свои пароли на разных компьютерах. Как системному администратору, назовем его Сэмом, восстановить ваш пароль? Наш начинающий инженер по знаниям Кен пытается выяснить у администратора, как он это делает.
Сэм: Так вот, если это YP-пароль, я первым делом регистрируюсь как "root" на YP-главном.
Кен: А что такое YP-главный?
Сэм: Это дисковая машина, на которой установлена база данных с информацией обо всей сети.
Кен: А "дисковая машина" означает...
Сэм: Что на ней ОС установлена на локальном диске.
Кен: Ах вот что. (Почесывает в затылке) Итак, ты регистрируешься на...
Сэм: Как "root". Затем я редактирую файл данных паролей, удаляю зашифрованный элемент и создаю новую карту паролей.
Кен: ...карту паролей. (Насмешливо) А что произойдет, если ты забудешь собственный пароль?
Сэм: На дисковой машине я мог бы перегрузиться и запуститься в однопользовательском режиме или можно было бы загрузить MINI ROOT. Тогда можно редактировать /etc/password. Или можно переустановить всю систему, но этого я скорее всего делать не буду. Корневые пароли обычно не включаются в YP. На бездисковой машине клиента я мог бы воспользоваться командой passwd.
Кен: Уф-ф-ф. (Сожалеет, что взялся за onpoc)
Конечно, бедный Кен старался, как мог. Возможно, ему было бы полегче, если бы перед разговором со специалистом он заглянул в Руководство системного администратора и освоился хотя бы с основной терминологией.
Неудовлетворительные результаты подобных собеседований пробудили у некоторых исследователей интерес к автоматизации процесса передачи знаний специалистом машине. Одно из направлений исследований в этой области — автоматизированное извлечение знаний (automated knowledge elicitation) — появилось как побочный продукт в развитии систем человеко-машинного диалога (см. главу 10). Другие исследователи полагают, что "расшить" это узкое место можно, двигаясь по пути машинного обучения (machine learning). Идея состоит в том, чтобы машина училась решать проблемы примерно так, как учится человек (см. главу 20).