Марселлус Д. 28 Программирование экспертных систем на Турбо Прологе: Пер. с англ. / Предисл. С.В.Трубицына. -М.: Финансы и статистика, 1994. - 256 с.: ил. ISBN 5-279-00613-0. Книга продолжает ряд публикаций издательства, рассчитанных на практическое освоение программистами и пользователями технологии экспертных систем ОС). На конкретных примерах объяснены идеи проектирования и архитектура всех основных блоков ЭС, а также способы их реализации на Турбо Прологе. Для программистов, желающих создавать интеллектуальные программы и экспертные системы.
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ
Экспертные системы - это яркое и быстро прогрессирующее направление в области искусственного интеллекта. Причиной повышенного интереса, который экспертные системы (ЭС) вызывают к себе на протяжении всего своего существования, т.е. уже более пятнадцати лет, является возможность их применения к решению задач из самых различных областей человеческой деятельности. Пожалуй, не найдется такой проблемной области, в которой не было бы создано ни одной ЭС или по крайней мере, такие попытки не предпринимались бы.
Отличительной чертой компьютерных программ, называемых ЭС, является их способность накапливать знания и опыт наиболее квалифицированных специалистов (экспертов) в какой-либо узкой предметной области. Затем с помощью этих знаний пользователи ЭС, имеющие обычную квалификацию, могут решать свои текущие задачи столь же успешно, как это сделали бы сами эксперты. Такой эффект достигается благодаря тому, что экспертная система в своей работе воспроизводит примерно ту же схему рассуждений, которую обычно применяет человек-эксперт при анализе проблемы. Тем самым ЭС позволяют копировать и распространять знания, делая уникальный опыт нескольких высококлассных профессионалов доступным широким кругам рядовых специалистов.
Уровень пользователей экспертных систем может варьироваться в очень широком диапазоне - от бухгалтера до президента компании или консультанта правительства. От вида деятельности пользователей зависят и функции, которыми наделяются создаваемые для них ЭС. На экспертные системы, которые используют лица, занятые анализом сложных ситуаций и принятием ответственных решений, возлагается выполнение рутинных однотипных операций по обработке больших массивов информации (например, таких, как поиск в них "необычных" сведений, свидетельствующих о нарушении привычного положения дел и требующих принятия соответствующего решения). Другой класс ЭС ориентирован на специалистов, не обладающих высокой квалификацией и нуждающихся в привлечении знаний экспертов для правильного
ОГЛАВЛЕНИЕ
Предисловие к русскому изданию...............................5
Предисловие............................................... 15
1. ВВЕДЕНИЕ................................................. 19
1.1. Что такое экспертная система?.............................. 19
.2. Общие сведения о структуре экспертных систем.............. 20
.2.1. Экспертные системы как один из видов программ
искусственного интеллекта................................... 20
.2.2. Программы поиска........................'............. 25
.2.3. Управление с помощью эвристики........................ 30
.2.4. Ориентированный на человека диалог..................... 32
.2.5. Архитектура для автоматического рассуждения,
основанная на правилах...................................... 33
1.2.5.1. Что такое правило?................................... 33
1.2.5.2. Совокупность правил, управляемых механизмом вывода----- 34
1.2.5.3. Преимущества систем, основанных на правилах........... 39
1.2.6. Отделение знаний от структур управления................. 40
1.3. Автоматическое рассуждение.............................. 40
1.3.1. Основные механизмы дедукции (логического вывода)....... 40
1.3.2. Прямая цепочка рассуждений........................... 41
1.3.3. Обратная цепочка рассуждений.......................... 43
1.4. Классификация экспертных систем......................... 44
1.4.1. Некоторые категории ЭС............................... 44
1.4.2. Программы-прототипы в каждой категории................ 44
Упражнения................................................. 48
2. СИСТЕМЫ, ИСПОЛЬЗУЮЩИЕ ПРОСТОЙ
ПОИСК И РАСПОЗНАВАНИЕ ОБРАЗОВ...................... 51
2.1. Несложные, но весьма полезные программы................ 51
2.2. Программа психологической помощи...................... 52
2.2.1 .Миниатюрная версия, демонстрирующая метод
сопоставления с образцом.................................... 52
2.2.2. Машина в роли психолога............................... 53
2.2.3. Детальное рассмотрение структуры программы.............. 54
2.3. Поисковые возможности языка Пролог..................... 55
2.3.1. Поисковые программы для графов........................ 55
2.3.2. Некоторые особенности программирования................ 57
2.4. Простая программа химического синтеза.................... 60
2.4.1. Миниатюрная версия, иллюстрирующая процесс поиска..... 60
2.4.2. Программируемые стратегии поиска...................... 63
2.4.2.1. Химический синтез: нахождение дерева реакций.......... 63
2.4.2.2. Достаточно хороший синтез............................ 66
2.4.2.3. Наилучший синтез................................... 68
2.4.3. Реальная система химического синтеза.................... 70
2.4.4. Развитие по принципу "снизу-вверх"..................... 71
Упражнения.................................................. 72
3. ВЫБОР НАПРАВЛЕНИЙ ПОИСКА
С ПОМОЩЬЮ ЭВРИСТИК................................... 74
3.1. Введение в технологию программирования с эвристиками.... 74
3.2. Поиск с применением эвристической оценочной функции----- 75
33. Поиск с эвристическими правилами: помощник студента...... 80
3.3.1. Конструирование расписаний с большим поисковым пространством.............................................. 80
3.3.2. Эвристики, определяющие задачу........................ 81
3.3.3. Данные для программы - специфика курсов............... 82
3.3.4. Программируемая стратегия для создания хороших расписаний 83
3.3.5. Программирование баз знаний........................... 87
Упражнения................................................. 87
4. УПРАВЛЕНИЕ СТРАТЕГИЕЙ ВЫВОДА.................... 89
4.1. Прямая и обратная цепочки рассуждений................... 89
4.2. Программа классификации с обратной цепочкой рассуждений 91
4.2.1. "Птица, зверь или рыба": версия 1........................ 91
4.2.2. Как работает программа?................................ 94
4.3. Программа классификации с прямой цепочкой рассуждения.. 97
4.3.1. "Птица, зверь или рыба": версия 2........................ 97
4.3.2. Как работает программа?................................ 98
4.4. Сравнение двух главных стратегий вывода.................. 101
Упражнения................................................ 103
5. ЭКСПЕРТНЫЕ СИСТЕМЫ И ВЫВОД В УСЛОВИЯХ НЕОПРЕДЕЛЕННОСТИ..................................... 104
5.1. Более сложные системы вывода........................... 104
5.1.1. Оценка вероятности при использовании нескольких посылок. 104
5.1.2. Условная вероятность................................. 105
5.2. Точное вероятностное рассуждение........................ 108
5.2.1. Как может быть точным то, что является неопределенным? ... 108
5.2.2. Простая импликация с позиций вероятности...............109
5.2.3. Импликация, в которой две посылки объединены
с помощью правила И....................................... Ш
5.2.4 Импликация, в которых посылки объединены с помощью
правила ИЛИ.............................................. ИЗ
5.2.5. Непригодность вероятностного вывода для реальных задач ... 114.
5.3. Приближенные рассуждения............................. 115
5.3.1. Менее строгая, но более полезная схема.................. 115
5.3.2. Импликации с одной посылкой......................... 115
5.3.3. Логические комбинации посылок • одном правиле......... 116
5.3.4. Поддержка одного заключения множеством правил........ 118
5.3.5. Дополнение: несколько правил, используемых последовательно........................................... 120
5.3.6. Биполярные схемы для коэффициентов определенности----- 121
5.4. Цепочки рассуждений: многоступенчатые рассуждения......125
5.4.1. Возможности сетей вывода............................. 125
5.4.2. Процесс распространения в сети вывода.................. 129
5.5. Программа приближенных рассуждений в стиле EMYCIN..... 133
5.5.1. FUZZYNET выбирает между конкурирующими гипотезами.. 133
5.5.2. Структура FUZZYNET................................ 133
Упражнения................................................. 142
6. СИСТЕМЫ, ОБЪЯСНЯЮЩИЕ СВОЕ ПОВЕДЕНИЕ......... 146
6.1. Механизм объяснения.................................... 146
6.2. Ответы на вопросы " почему".............................. 148
6.3. Ответы на вопросы "как".................................. 151
6.4. Сеть вывода с возможностями объяснения.................. 153
Упражнения .,........••.,...•••••••••••••••••••••••••••••••• 159
7. НАПИСАНИЕ И ИСПОЛЬЗОВАНИЕ ОБОЛОЧЕК
НА ПРОЛОГЕ...............................................160
7.1. Ускорение процесса разработки экспертных систем
с помощью оболочек......................................... 160
7.2. Оболочка imp: архитектура и проектирование...............162
7.2.1. Сборка.............................................. 162
7.2.2. Добавление формул в правила.......................... 166
7.2.3. Среда разработчика.................................. 172
7.3. Создание "Консультанта по инвестициям"................. 177
7.4. Использование оболочки в больших Пролог-программах .... 181 Упражнения................................................ И^
8. ИНТЕРФЕЙСЫ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ: НЕФОРМАЛЬНЫЕ МЕТОДЫ............................... 183
8.1. Введение в неформальные методы общения................ 183
8.2. Извлечение значения из ключевых слов................... '^
8.2.1. Операция просмотра ключевых слов..................... 185
8.2.2. Информационная система документации................. 185
8.2.3. Детальное описание системы DOCSYS................... 186
8.2.3.1. Структуры данных для системы....................... 186
8.2.3.2. Стратегии программирования......................... 188
8.3. Извлечение значений из отношений сущностей............ 191
8.3.1. От ключевых слов к шаблонам: программа GEOBASE....... 191
8.3.2. Возможности GEOBASE............................... 192
8.3.3. Основная организация базы данных..................... 193
8.3.4. Функции высокого уровня............................. 194
8.3.5. Синтаксический анализ............................... 197
8.3.6. Низкоуровневые функции доступа к базе данных.......... 199
8.3.7. Механизм ответов на вопросы.......................... 201
8.3.8. Более подробно о синтаксическом анализе................ 204
Упражнения................................................ 206
9. ИНТЕРФЕЙСЫ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ: ФОРМАЛЬНЫЕ МЕТОДЫ.................................. 208
9.1. Формальные методы общения............................ 208
9.2. Анализ синтаксической структуры предложения........... 210
9.3. Анализ семантической структуры предложения............. 220
9.3.1. Тематический анализ................................. 220
9.3.2. Автоматический перевод: пример проведения тематического анализа......................................223
9.3.3. Анализатор падежей.................................. 225
9.4. Заключение............................................. 227
Упражнения................................................ 228
Приложение А. ОБОЛОЧКА IMP: СРЕДА РАЗРАБОТЧИКА ЭКСПЕРТНЫХ СИСТЕМ.....................................230
Приложение Б. ИНТЕРПРЕТАТОР ДЛЯ ОЦЕНИВАНИЯ АЛГЕБРАИЧЕСКИХ И РЕЛЯЦИОННЫХ ВЫРАЖЕНИЙ.......243


Hosted by uCoz