Разработка экспертных систем

А. П. Частиков Т. А. Гаврилова Д. Л.Белов

РАЗРАБОТКА ЭКСПЕРТНЫХ СИСТЕМ.

СРЕДА CLIPS

Санкт-Петербург

«БХВ-Петербург»

2003

УДК 681.3.06

ББК 32.813

Ч-25

Книга является одним из первых российских изданий по практической разработке экспертных систем. Подробно рассмотрены вопросы домашинного этапа разработки – извлечения и структурирования знаний, а также технологические аспекты разработки систем, основанных на знаниях. В качестве среды разработки экспертных систем описана среда CLIPS. Книга содержит достаточное количество справочной информации по CLIPS, что позволяет рекомендовать ее даже опытным программистам, которые в своей практической деятельности занимаются разработкой экспертных систем.

Для студентов вузов, инженеров по знаниям, программистов, проектировщиков эксепртных систем.

Содержание

Введение……………………………………………………………………………….. 8

ЧАСТЬ I. ЭКСПЕРТНЫЕ СИСТЕМЫ…………………………………………… 10

Глава 1. Системы, основанные на знаниях 11

  1. Знания и данные 11

  2. Модели представления знаний 13

  1. Продукционная модель 14

  2. Семантические сети 14

  3. Фреймы 15

  4. Формальные логические модели 17

1.3. Вывод на знаниях 17

  1. Управление выводом 19

  2. Методы поиска в глубину и в ширину 20

1.4. Работа с нечеткостью 21

  1. Основы теории нечетких множеств 21

  2. Операции с нечеткими знаниями 23

  1. Архитектура и особенности экспертных систем 24

  2. Классификация экспертных систем 28

  1. Классификация по решаемой задаче 28

  2. Классификация по связи с реальным временем 30

  3. Классификация по типу ЭВМ 30

  4. Классификация по степени интеграции с другими программами 30

1.7. Разработка экспертных систем 30

  1. Выбор подходящей проблемы 31

  2. Разработка прототипа 32

Идентификация проблемы 33

Извлечение знаний 33

Структурирование или концептуализация знаний 34

Формализация знаний 34

Программная реализация 34

Тестирование 35

  1. Развитие прототипа до промышленной ЭС 35

  2. Оценка системы 36

  3. Стыковка системы 36

  4. Поддержка системы 37

1.8. Человеческий фактор при разработке ЭС 37

  1. Пользователь 38

  2. Эксперт 38

  3. Программист 39

  4. Инженер по знаниям 39

Глава 2. Введение в инженерию знаний 41

2.1. Определение и структура инженерии знаний 41

  1. Поле знаний 41

  2. "Пирамида" знаний 44

  1. Стратегии получения знаний 44

  2. Теоретико-методические аспекты извлечения и структурирования знаний 47

2.3.1. Психологический аспект 47

Контактный слой 49

Процедурный слой 49

Когнитивный слой 51

2.3.2. Лингвистический аспект 52

"Общий код" 53

Понятийная структура 55

Словарь пользователя 56

2.3.3. Гносеологический аспект 56

Внутренняя согласованность 57

Системность 57

Объективность 57

Историзм 57

Методология процесса получения нового знания 58

  1. Методы практического извлечения знаний 60

  2. Практикум по инженерии знаний 62

2.5.1. Текстологические методы 62

Понимание текста 63

Смысловая структура текста 64

Алгоритм извлечения знаний из текста 65

2.5.2. Коммуникативные методы 65

Пассивные методы 65

Активные индивидуальные методы 68

Активные групповые методы 71

Экспертные игры 73

2.6. Методы структурирования и формализации 76

  1. Теоретические предпосылки 76

  2. Объектно-структурный подход (ОСП) 78

Стратификация знаний 79

Алгоритм ОСА (объектно-структурного анализа) 80

2.6.3. Практические методы структурирования 81

Алгоритм для "чайников" 81

Методы выявления объектов, понятий и их атрибутов 82

Методы выявления связей между понятиями 84

Методы выделения метапонятий и детализация понятий

(пирамида знаний) 84

Методы определения отношений 85

Визуальное структурирование 85

ЧАСТЬ II. ОБЩИЕ ПОНЯТИЯ 88

Глава 3. Что такое CLIPS? 89

  1. История создания CLIPS 89

  2. Работа с CLIPS 91

  3. Синтаксис определений 93

Глава 4. Обзор возможностей CLIPS 95

4.1. Основные элементы языка 95

  1. Типы данных 95

  2. Функции 97

  3. Конструкторы 98

4.2. Абстракции данных 98

4.2.1. Факты 98

Упорядоченные факты 99

Неупорядоченные факты 99

Инициализация фактов 100

4.2.2. Объекты 100

Инициализация объектов 101

4.2.3. Глобальные переменные 101

4.3. Представление знаний 101

  1. Эвристические знания 102

  2. Процедурные знания 102

Функции 102

Родовые функции 103

Обработчики сообщений 103

Модули 103

4.4. Объектно-ориентированные возможности CLIPS 103

  1. Отличия COOL от других объектно-ориентированных языков 103

  2. Основные возможности ООП 104

  3. Запросы и наборы объектов 104

ЧАСТЬ III. ОСНОВНЫЕ КОНСТРУКЦИИ CLIPS105

Глава 5. Факты106

  1. Факты в CLIPS 106

  2. Работа с фактами 107

  1. Конструктор deftemplate108

  2. Конструктор deffacts113

  3. Функция assert115

  4. Функция retract117

  5. Функция modify118

  6. Функция duplicate120

  7. Функция assert-string121

  8. Функция fact-existp121

  9. Функции для работы с неупорядоченными фактами 122

5.2.10. Функции сохранения и загрузки списка фактов 124

Глава 6. Правила126

  1. Создание правил. Конструктор defrule126

  2. Основной цикл выполнения правил 129

  3. Свойства правил 130

  1. Свойство salience130

  2. Свойство auto-focus130

6.4. Стратегия разрешения конфликтов 131

  1. Стратегия глубины 131

  2. Стратегия ширины 131

  3. Стратегия упрощения 131

  4. Стратегия усложнения 132

  5. Стратегия LEX 132

  6. Стратегия МЕА 133

  7. Случайная стратегия 133

6.5. Синтаксис LHS правила 133

6.5.1. Образец (pattern СЕ) 134

Символьные ограничения 135

Групповые символы для простых и составных полей 136

Переменные, связанные с простыми и составными полями 138

Связывающие ограничения 140

Предикатные ограничения 141

Ограничения, возвращающие значения 142

Сопоставление образцов с объектами 142

Адрес образца 143

  1. Условный элемент test144

  2. Условный элемент or.145

  3. Условный элемент and145

  4. Условный элемент not146

  5. Условный элемент exists148

  6. Условный элемент forall149

  7. Условный элемент logical150

  8. Автоматическое добавление и перегруппировка условных элементов 152

Безусловные правила 153

Использование элементов test и notперед and153

Использование элемента notперед test154

Использование элемента notперед or154

Замечания об автоматическом добавлении и перегруппировке

условных элементов 155

6.6. Команды и функции для работы с правилами 155

  1. Просмотр и удаление существующих правил 155

  2. Сохранение правил 157

  3. Запуск и остановка программы 158

  4. Просмотр плана решения задачи 160

  5. Просмотр данных, способных активировать правило 132

Глава 7. Глобальные переменные164

7.1. Конструктор defglobalи функции для работы с глобальными переменными 164

Глава 8. Функции169

8.1. Конструктор deffunctionи способы работы с внешними функциями 169

Глава 9. Разработка экспертной системы AutoExpert173

  1. Исходные данные 173

  2. Сущности 174

  3. Сбор информации 175

  4. Диагностические правила 176

  5. Последние штрихи 179

  6. Листинг программы 180

  7. Запуск программы 186

ЧАСТЬ IV. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ CLIPS190

Глава 10. Родовые функции191

  1. Замечание относительно термина "метод" 191

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

  3. Создание родовой функции 192

  1. Заголовок родовой функции 193

  2. Индексы методов 193

  3. Ограничения параметров метода 193

  4. Групповой параметр 194

10.4. Родовое связывание 195

  1. Применимость методов 195

  2. Приоритет методов 196

  3. Скрытые методы 198

  4. Ошибки выполнения метода 198

  5. Значение, возвращаемое родовой функцией 198

10.5. Визуальные инструменты для работы с родовыми функциями 199

Глава 11. Объектно-ориентированный язык CLIPS203

  1. Предопределенные системные классы 203

  2. Конструктор defclass204

  1. Множественное наследование 205

  2. Абстрактные и конкретные классы 207

  3. Активные и неактивные классы 208

  4. Слоты класса 209

Тип слота 209

Грани значений по умолчанию 209

Грань хранения 211

Грани доступа 212

Грань распространения при наследовании 213

Грань источника 214

Грань активности при сопоставлении образцов 215

Грань видимости 216

Грань акцессоров 216

Грань переопределения сообщений 218

Грань ограничений 219

Объявление обработчиков сообщений 219

11.3. Конструктор defmessage-handler220

  1. Параметры обработчиков сообщений 222

  2. Действия обработчиков сообщений 223

  3. Системные обработчики сообщений 225

Инициализация объекта 226

Удаление объекта 227

Отображение объекта 227

Изменение объекта 228

Копирование объекта 228

  1. Диспетчеризация сообщений 229

  2. Работа с объектами 230

11.5.1. Создание объекта 231

Конструктор definstances232

  1. Переинициализация существующих объектов 234

  2. Чтение значений слотов 235

  3. Установка значений слотов 236

  4. Удаление объектов 237

  5. Задержка сопоставления образцов при работе с объектами 238

  6. Изменение объектов 238

  7. Дублирование объектов 239

11.6. Наборы объектов 240

  1. Определение набора объектов 241

  2. Создание набора объектов 242

  3. Определение запроса 243

  4. Определение действий 243

  5. Функции-запросы 244

Глава 12. Модули248

  1. Создание модулей 248

  2. Определения модулей в конструкторах 249

  3. Использование модулей в командах и функциях 250

  4. Импорт и экспорт конструкций 251

  5. Импорт и экспорт фактов и объектов 253

  6. Модули и выполнение правил 254

  1. Программа дисциплины «Разработка предметно-ориентированных экспертных систем» (1)

    Программа дисциплины
    Введение. История развития направления экспертных систем. Понятие искусственного интеллекта. Области искусственного интеллекта. Эволюция искусственного интеллекта.
  2. Программа дисциплины «Разработка предметно-ориентированных экспертных систем» (2)

    Программа дисциплины
  3. Рабочая программа учебной дисциплины (модуля) Программная реализация экспертных систем и генетических алгоритмов

    Рабочая программа
    Целью освоения дисциплины «Программная реализация экспертных систем и генетических алгоритмов» является подготовка квалифицированных специалистов, обладающих знаниями и навыками в области проектирования и программной реализации систем
  4. «Экспертные системы» (2)

    Реферат
    Компьютеризация общества - одно из основных направлений научно-тех­нического прогресса - вызвала существенные изменения в технологии разра­ботки и использования программных средств.
  5. «экспертных»

    Лекция
    Одним из наиболее значительных достижений искусственного интеллекта стала разработка мощных компьютерных систем, получивших название «экспертных» или основанных на «знаниях» систем.
  6. Экспертные системы и базы знаний

    Документ
    Целью изучения дисциплины является изучение основных моделей данных при проектировании баз знаний; изучение механизмов извлечения знаний из баз знаний; изучение математического аппарата представления и формализации знаний; изучение
  7. Разработка мультимедийных курсов дистанционного обучения врачей по гистологической и цитологической диагностике с применением экспертных систем

    Документ
  8. Разработка требований к созданию и развитию ис и ее компонентов; технико-экономическое обоснование проектных решений

    Основная образовательная программа
    Объектами профессиональной деятельности бакалавров являются данные, информация, знания; прикладные и информационные процессы; прикладные информационные системы.
  9. Принципы разработки компьютеризированного учебно-методического

    Документ
    В монографии с позиций антропологической семиотики, дидактики, системной онтологической лингвистики и эргономической семиотики раскрываются принципы разработки учебно-методического комплекса, представленного на бумажном и электронном

Другие похожие документы..