Добавил:
liisakochik@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мага. 1 семестр / SerpBook_CLIPS_main.pdf
Скачиваний:
0
Добавлен:
04.01.2026
Размер:
1.23 Mб
Скачать

ХАБАРОВ С. П.

CLIPS – ЯЗЫК ПОСТРОЕНИЯ ЭКСПЕРТНЫХ СИСТЕМ

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

2013

УДК

ББК

Хабаров С. П. CLIPS – язык построения экспертных систем // С. П. Хабаров. ― СПб.: ………………, 2013. ― 80 с.

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

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

Рецензенты :

УТКИН Л. В., д. т. н., профессор, проректор по научной работе, заведующий кафедрой управления, автоматизации и системного анализа Санкт-Петербургского государственного лесотехнического университета

. . . . . . . . . . . . . . . . . . . .

© С. П. Хабаров

2

ОГЛАВЛЕНИЕ

Оглавление ……………………..…………………………………….….………

3

Предисловие ………………………………………………………..…………...

4

1. Общие сведения о языке и среде разработки CLIPS ………….…...............

5

1.1. Системы продукций и CLIPS …………………………………...........

5

1.2. Основы работы в консоли CLIPSJNI ……...…......….……………….

7

1.3. Основы работы в среде CLIPSWin ..………..…………..…………….

13

1.4. Механизмы представления знаний в CLIPS ...........…...…………….

15

1.5. Пример разработки БЗ и работы с ней в среде CLIPS ………..…….

19

1.6.Пример использования эвристического механизма представления знаний совместно с процедурным...………………………...……….. 23

2.Основные конструкции языка CLIPS ….………………………….…….….. 27

2.1. Примитивные типы данных языка CLIPS …………………………...

27

2.2. Особенности вызова функций в языке CLIPS …...………………….

27

2.3. Факты в языке CLIPS …………………...………………..…...............

28

2.3.1. Позиционные факты …………...………………………………

29

2.3.2.Непозиционные факты ……………....………………………... 30

2.4.Операции над фактами ……..……………...……………..…............... 32

2.5. Правила в языке CLIPS ….……………...………………..…...............

35

2.5.1. Объявление и добавление новых правил ………….…………

35

2.5.2. Один из подходов к разрешению конфликтов ……….……...

38

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

39

2.7.Переменные в CLIPS ……………………..………..……...………….. 40

2.8.Глобальные переменные ….………………………………………….. 41

2.9. Пользовательские функции ……………………………..……………

43

3. Примеры построения простых интеллектуальных систем ……...…….…..

46

3.1. Разработка простейшей экспертной системы …………..…...............

46

3.2. Пример решения задач на планирование ……...………..…...............

50

3.2.1. Программа ”Робот и ящик” ……………..………….…………

50

3.2.2. Запуск и трассировка программы ”Робот и ящик” …...……...

53

3.3. Пример использования ООП в CLIPS ………....………..…...............

55

3.4. Вызов CLIPS программ из командной строки и из VBScript ..…......

64

Приложение ………………………………………………………….….………

69

Приложение 1. Основные конструкторы и функции языка CLIPS ….………

70

Приложение 2. Использование образцов в правилах ….…..…………………

73

Приложение 3. Стратегии разрешения конфликтов …...…..…………………

75

Приложение 4. Работа с модулями в CLIPS …………....…..…………………

78

Литература и Интернет-ресурсы ………………………..……………………..

80

3

ПРЕДИСЛОВИЕ

Термин интеллект (лат. intellectus) означает ум, рассудок, способность мышления и рационального познания. Эти способности реализуются путем приобретения, запоминания и целенаправленного применения знаний для решения различного рода задач. Благодаря этим качествам интеллекта мозг может решать разнообразные задачи и легко перестраиваться с решения одной задачи на другую.

Термин искусственный интеллект (англ. artificial intelligence) был предложен в 1956г. на семинаре с аналогичным названием в Дартмутском колледже (США). Существует много определений этого понятия. Одно из них определяет искусственный интеллект как область компьютерной науки, которая занимается автоматизацией разумного поведения. Такой подход ярче всего проявляется в задачах, решение которых связано с тонкими и сложными рассуждениями, требующими изобретательности и высокой квалификации. К этим задачам относят и экспертные системы, которые явились первым шагом в разработке интеллектуальных систем.

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

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

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

4