Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

СРЕДА CLIPS





 

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

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

 

 


УДК 681.3.06

ББК 32.813

Ч-25

 

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

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


Содержание

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

 

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

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

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

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

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

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

1.2.3. Фреймы........................................................................................................................... 15

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.8.2. Эксперт........................................................................................................................... 38

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

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

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

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

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

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

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

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

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

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

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

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

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

"Общий код"................................................................................................................... 53

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

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

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

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

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

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

Историзм........................................................................................................................ 57

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.2. Работа с CLIPS...................................................................................................................... 91

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

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

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

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

4.1.2. Функции......................................................................................................................... 97

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

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

4.2.1. Факты............................................................................................................................. 98

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

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

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

4.2.2. Объекты......................................................................................................................... 100

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

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

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

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

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

Функции......................................................................................................................... 102

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

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

Модули.......................................................................................................................... 103

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

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

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

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

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

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

5.1. Факты в CLIPS....................................................................................................................... 106

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

5.2.1. Конструктор deftemplate........................................................................................... 108

5.2.2. Конструктор deffacts.................................................................................................. 113

5.2.3. Функция assert.............................................................................................................. 115

5.2.4. Функция retract............................................................................................................ 117

5.2.5. Функция modify............................................................................................................ 118

5.2.6. Функция duplicate....................................................................................................... 120

5.2.7. Функция assert-string.................................................................................................. 121

5.2.8. Функция fact-existp...................................................................................................... 121

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

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

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

6.1. Создание правил. Конструктор defrule................................................................. 126

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

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

6.3.1. Свойство salience....................................................................................................... 130

6.3.2. Свойство auto-focus................................................................................................... 130

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6.5.2. Условный элемент test.............................................................................................. 144

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

6.5.4. Условный элемент and.............................................................................................. 145

6.5.5. Условный элемент not............................................................................................... 146

6.5.6. Условный элемент exists........................................................................................... 148

6.5.7. Условный элемент forall.......................................................................................... 149

6.5.8. Условный элемент logical........................................................................................ 150

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

9.2. Сущности................................................................................................................................ 174

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

11.2. Конструктор defclass......................................................................................................... 204

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

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

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

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

Тип слота................................................................................................................. 209

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Конструктор definstances.................................................................................... 232

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Глава 13. Ограничения........................................................................................................... 255

13.1. Атрибут типа....................................................................................................................... 255

13.2. Константный атрибут....................................................................................................... 256

13.3. Атрибут диапазона............................................................................................................ 256

13.4. Атрибут мощности............................................................................................................. 257

13.5. Получение значений по умолчанию с помощью атрибутов ограничений........ 257

13.6. Примеры нарушения ограничений................................................................................ 258

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

14.1. Постановка задачи............................................................................................................ 261

14.2. Алгоритм решения задачи............................................................................................... 264

14.3. Представление логических элементов......................................................................... 264

14.4. Связь логических элементов........................................................................................... 269

14.5. Дополнительные функции и переменные.................................................................... 270

14.6. Реализация правил экспертной системы..................................................................... 271

14.7. Листинг программы........................................................................................................... 273

14.8. Тестирование системы...................................................................................................... 280

14.9. Запуск программы............................................................................................................. 283

ЧАСТЬ V. ФУНКЦИИ И КОМАНДЫ CLIPS................................................................... 287

Глава 15. Основные функции CLIPS................................................................................. 288

15.1. Логические функции.......................................................................................................... 288

15.2. Математические функции................................................................................................ 291

15.3. Функции работы со строками......................................................................................... 295

15.4. Функции работы с составными величинами.............................................................. 301

15.5. Функции ввода/вывода..................................................................................................... 307

15.6. Процедурные функции...................................................................................................... 311

15.7. Работа с родовыми функциями...................................................................................... 318

15.8. Объектно-ориентированные функции.......................................................................... 322

15.9. Вспомогательные функции.............................................................................................. 334

Глава 16. Основные команды CLIPS................................................................................. 336

16.1. Управление интерактивной средой.............................................................................. 336

16.2. Работа с конструкторами deftemplate.......................................................................... 340

16.3. Работа с фактами............................................................................................................... 342

16.4. Работа с конструкторами deffacts................................................................................. 343

16.5. Работа с правилами.......................................................................................................... 344

16.6. Работа с планом решения задачи.................................................................................. 346

16.7. Работа с глобальными переменными........................................................................... 349

16.8. Работа с конструкторами deffunction.......................................................................... 350

16.9. Работа с родовыми функциями...................................................................................... 351

16.10. Работа с классами и объектами................................................................................... 353

16.11. Работа с конструкторами defmodule.......................................................................... 360

16.12. Профилирование и отладка.......................................................................................... 361

16.13. Управление памятью...................................................................................................... 365

ЧАСТЬ VI. ПРИЛОЖЕНИЯ.................................................................................................. 367

Приложение 1. Основные БНФ-определения................................................................. 368

Приложение 2. Список основных сообщений об ошибках системы CLIPS....... 376

Приложение 3. Список основных предупреждений системы CLIPS..................... 384

Приложение 4. Зарезервированные имена CLIPS........................................................ 385

Приложение 5. Глоссарий...................................................................................................... 389

 








Дата добавления: 2015-08-31; просмотров: 625. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия