Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

10545

.pdf
Скачиваний:
2
Добавлен:
25.11.2023
Размер:
6.75 Mб
Скачать

Структура ЭС

Рис. 2

4

Структура ЭС

1.База знаний Знания — это правила, законы, закономерности получены в результате профессиональной деятельности в пределах предметной области. База знаний — база данных содержащая правила вывода и информацию о человеческом опыте и знаниях в некоторой предметной области. Другими словами, это набор таких закономерностей, которые устанавливают связи между вводимой и выводимой информацией.

2.Данные — это совокупность фактов и идей представленных в формализованном виде. Собственно на данных основываются закономерности для предсказания, прогнозирования. Продвинутые интеллектуальные системы способные учиться на основе этих данных, добавляя новые знания в базу знаний

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

5

CLIPS 6.31

CLIPS, (от англ. C Language Integrated Production System ) — программная среда для разработки экспертных систем. Синтаксис и название предложены Чарльзом Форги (Charles Forgy) в OPS ( Official Production System ). Первые версии CLIPS разрабатывались с 1984 года в Космическом центре Джонсона NASA, как альтернатива существовавшей тогда системе ART*Inference, пока в начале 1990-х не было приостановлено финансирование, и NASA вынудили купить коммерческие продукты. CLIPS является продукционной системой. Реализация вывода использует алгоритм Rete.

Основная идея состоит в представлении знаний в виде такой формы:

Рис.3

6

Факты

Как и другие экспертные системы, CLIPS имеет дело с правилами и фактами.

Факты.

Информация, на основании которой экспертная система делает логический вывод, называется фактами. В CLIPS есть 2 вида фактов: упорядоченные и шаблонные. Шаблонные факты имеют

шаблон, задаваемый конструкцией deftemplate. Упорядоченные не имеют явной конструкции deftemplate, однако она подразумевается. Шаблонный факт напоминает структуру в языке C или

запись в языке Pascal, поля называются слотами и объявляются конструкцией slot. Например, следующий шаблон объявляет шаблон с именем cars и полями: model, color и number.

Рис.4

7

Факты

Факты размещаются в рабочей памяти. Новые факты помещаются в рабочую память командой assert. Например, следующая команда

Рис.5

добавит в рабочую память упорядоченный факт cars.

Следующая команда поместит шаблонный факт с тремя атрибутами

Рис.6

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

8

Правила

Знания предметной области представляются в CLIPS в виде правил, которые имеют следующую

структуру:

Рис.7

Левая часть правила — это условие его срабатывания, а правая часть — это те действия, которые должны выполниться в случае выполнения условий. Знак => специальный символ, разделяющий

LHS и RHS.

Правила объявляются с помощью команды defrule. Пример правила:

Рис.8

9

Правила

Правила объявляются с помощью команды defrule. Пример правила:

Рис.9

Данное правило активируется тогда, когда в рабочей памяти появится факт с атрибутами (model «Audi») и (color Black).

Активация правила не означает его выполнение. Активация правила — это помещение правила в

рабочий список правил или agenda в CLIPS.

Чтобы активированные правила выполнились нужно выполнить команду (run).

10

Версии CLIPS

Потомками CLIPS являются следующие языки и среды:

Jess — коммерческий последователь CLIPS, доступен бесплатно для академического использования, переписан на Java, позже развился в других направлениях. Поддерживает обратный вывод.

HaleyRules Eclipse — язык правил системы HaleyRules компании Haley Systems. Поддерживает обратный вывод. Проект закрыт после поглощения Haley Systems корпорацией Oracle в декабре 2009 в

пользу Oracle Policy Automation.

FuzzyCLIPS — CLIPS с добавлением концепции значимости (relevancy) в язык. Не поддерживает

обратного вывода.

EHSIS — испанский CLIPS, разработан в группе Erabaki Факультета Информатики Университета Страны Басков. Поддерживает нечеткую логику как FuzzyCLIPS.

CLIPS/R2 — новая версия от компании Production Systems Technologies, обратно совместимая со стандартным CLIPS версий 6.x, но с добавлением алгоритма Rete II, поддержкой обратного вывода и прозрачной поддержкой структур языка Си и классов C++.

Последняя версия — CLIPS 6.3, выпущена 17 марта 2015.

11

Машина логического вывода

Процессом помещения правил в рабочий список и их выполнением управляет машина логического вывода(МЛВ). МЛВ реагирует на определенные события:

Рис.10

12

Язык программирования CLIPS

Язык программирования CLIPS•CLIPS –среда (система) разработки ЭС.

Определяет язык программирования, описанный в Clips Basic Programming Guide.

Поддерживает программирование на правилах (с использованием встроенного алгоритма вывода –RETE), процедурное, ООП.

Преемник OPS, начало разработки –1984.

Актуальная версия CLIPS 6.3, выпущена 17 марта 2015.•Не поддерживает обратный вывод (в оригинале).

13

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]