Среда clips




НазваниеСреда clips
страница1/44
Дата конвертации19.10.2012
Размер6.08 Mb.
ТипКнига
  1   2   3   4   5   6   7   8   9   ...   44




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

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

СРЕДА 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. ОСНОВНЫЕ КОНСТРУКЦИИ CLIPS 105

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

  1. Факты в CLIPS 106

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

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

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

  3. Функция assert 115

  4. Функция retract 117

  5. Функция modify 118

  6. Функция duplicate 120

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

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

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

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

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

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

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

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

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

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

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. Условный элемент test 144

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

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

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

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

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

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

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

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

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

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

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

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

условных элементов 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. Разработка экспертной системы AutoExpert 173

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

  2. Сущности 174

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

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

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

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

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

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

Глава 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. Объектно-ориентированный язык CLIPS 203

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

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

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

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

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

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

Тип слота 209

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Введение


Как-то в середине 90-х годов прошедшего столетия состоялась встреча Роберта Меткалфа, изобретателя Ethernet, и знаменитого профессора по искусственному интеллекту Эдварда Фейгенбаума. В состоявшейся дискуссии двух ученых были затронуты вопросы, связанные с состоянием дел в облас­ти искусственного интеллекта. Скептически настроенный Меткалф говорил: "Несмотря на все средства, израсходованные с 1969 года (года повального увлечения проблемами искусственного интеллекта) на работы по искусст­венному интеллекту, компьютер до сих пор не может разобрать примитив­ной устной речи и прочесть даже крупные буквы моей рукописи". Профес­сор Фейгенбаум признал, что "в течение долгого времени от искусственного интеллекта ожидалась большая отдача, чем он мог дать, и компании поте­ряли массу денег, безуспешно пытаясь использовать его в бизнесе". Однако, продолжал он, "в последнее время, как он убежден, искусственный интел­лект прекрасно окупает вложенные средства, в основном в виде так назы­ваемых экспертных систем и баз знаний, способных принимать и аргументировать логические решения".

Да, в "классическом" или "традиционном" искусственном интеллекте, как сейчас называют его символьное направление, успешно создаются и развиваются экспертные системы или системы, основанные на знаниях, для ши­рокого круга предметных областей.

Эдварда Фейгенбаума называют "отцом экспертных систем", как это значится на обложке одной из его книг "Становление экспертной компании". Он действительно стоял у истоков экспертной индустрии и создал первую экс­пертную систему DENDRAL в области идентификации органических со­единений с помощью анализа масс-спектрограмм. Далее Фейгенбаум вместе с Шортлифом и Букхененом спроектировали первую медицинскую экс­пертную систему MYCIN, при этом они сделали открытие, которому было суждено существенно расширить сферу создания и использования эксперт­ных систем. Когда они удалили из системы MYCIN базу знаний (конкретную медицинскую информацию), то осталась часть, называемая "машиной логического вывода". Было показано, что базу знаний можно изменять и за­менять полностью, не нарушая целостности системы. Так возникла EMYCIN (Empty MYCIN — пустой MYCIN) или первая экспертная оболочка — инструментальная среда для построения экспертных систем различного назначе­ния. С тех пор (с середины 70-х годов XX столетия) появилось большое чис­ло подобных инструментальных систем MicroExpert, GURU, G2, JESS и др.

В предлагаемой читателю книге освещаются вопросы теории и практики разработки экспертных систем. В качестве инструментальной среды разра­ботки используется экспертная оболочка CLIPS. Суть технологии CLIPS заключается в том, что язык и среда CLIPS предоставляют пользователям возможность быстро создавать эффективные, компактные и легко управ­ляемые экспертные системы. При этом пользователь применяет множество уже готовых инструментов (встроенный механизм управления базой знаний, механизм логического вывода, менеджеры различных объектов CLIPS и т. д.) и конструкций (упорядоченные факты, шаблоны, правила, функции, родовые функции, классы, модули, ограничения, встроенный язык COOL и т. д.).


Книга состоит из шести частей (часть VI — приложения, среди которых глоссарий) и списка литературы.

В части I описываются основные проблемы, связанные с разработкой экс­пертных систем: представление знаний, извлечение знаний, структурирова­ние и концептуализация знаний, вывод на знаниях. Фактически это введе­ние в инженерию знаний.

Часть II посвящена истории создания и развития инструментальной среды CLIPS, а также рассмотрению основных возможностей CLIPS.

Часть III содержит описание синтаксиса базовых конструкций языка CLIPS, необходимых для разработки экспертных систем — фактов, правил, глобальных переменных и функций. В конце данной части приводится пример разработки экспертной системы AutoExpert.

Часть IV раскрывает дополнительные возможности CLIPS, такие как ис­пользование классов и объектов, родовых функций, модулей и ограничений. Эти возможности значительно упрощают процесс создания экспертных сис­тем. В последней главе данной части приведен пример построения эксперт­ной системы C1OS для оптимизации бинарных таблиц соответствий логиче­ских схем, использующий описанные возможности.

Часть V содержит справочную информацию об основных функциях и командах CLIPS, необходимых разработчику, а также примеры их исполь­зования.

Часть VI объединяет приложения. В приложении I сосредоточены БНФ-определения всех основных конструкций языка CLIPS. Приложение 2 со­держит список основных сообщений об ошибках среды CLIPS. В приложе­нии 3 приводится перечень основных предупреждений среды CLIPS. Приложение 4 содержит все зарезервированные имена среды CLIPS. Приложение 5 представляет собой глоссарий используемых терминов.

В настоящий момент CLIPS является свободно распространяемым про­граммным продуктом, который продолжает успешно развиваться и совер­шенствоваться. Совсем недавно, 29 марта 2002 г., появилась очередная вер­сия CLIPS — 6.20. Несмотря на достаточно большое число зарубежных пуб­ликаций о языке и среде CLIPS, в русскоязычной литературе эта система до сих пор не освещалась. Данная книга призвана восполнить этот пробел.

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

Авторы выражают свою признательность и благодарность Г. Г. Ворошило­вой за помощь в работе при подготовке глав 15 и 16 книги к изданию и Дехкановой Марии за помощь в оформлении рисунков к части I книги.

Авторы благодарят рецензентов за ценные замечания, которые способство­вали улучшению книги.

Особенную признательность авторы выражают к. т. н. А. И. Адаменко за доброжелательную помощь и поддержку при подготовке рукописи к из­данию.

ЧАСТЬ I.Экспертные системы.


  1   2   3   4   5   6   7   8   9   ...   44


Похожие:

Среда clips iconБизнес-план организации: сущность, назначение и структура 1 Виды и методы контроля. Контроль как функция управления. 3 Внешняя и внутренняя среда организации (предприятия): понятия, факторы, компоненты. 5
Внешняя и внутренняя среда организации (предприятия): понятия, факторы, компоненты. 5
Среда clips icon24 февраля (среда), кабинет №310а

Среда clips icon«БН» | b- | №30 | 25 июля 2012 | Среда
Мария молостова, жительница «Северного», мама полуторагодовалой дочки, комментируя но
Среда clips iconНовости 5
Среда 17 августа 2011 №151 (4692 с момента возобновления издания) kommersant ru | Коммерсантъfm 93,6
Среда clips iconСреда 2 Т
Осторожно: грипп! в 1755 году 12 января по старому стилю императрица Елизавета Петровна подписала
Среда clips iconКафедра «ЭСитсм» 10 семестр
Внешняя и внутренняя среда предприятия. Оценка факторов внутренней и внешней среды
Среда clips iconХакасский филиал
Содержание предпринимательской деятельности: объекты, субъекты и цели предпринимательства, внутренняя и внешняя среда
Среда clips iconБизнес-среда «Большой скачок» под вопросом руп «Редакция журнала «Дело (Восток + Запад)» 19

Среда clips iconДеловая среда подмосковье
Фонд ровье или другие обстоятельства когда не поредеют. Их можно спортом, да и не только им
Среда clips iconСоциальная образовательная сеть/среда
«Булки не растут на деревьях» проект по созданию детской образовательной среды, интегри
Разместите кнопку на своём сайте:
Бизнес-планы


База данных защищена авторским правом ©bus.znate.ru 2012
обратиться к администрации
Бизнес-планы
Главная страница