Экспертная система CLIPS Выполнила: Д.Ю.Климова Группа: МПМ-301, ЧелГУ, МФ.

Презентация:



Advertisements
Похожие презентации
Планировщик STRIPS Программа STRIPS [Fikes and Nilsson, 1971] демонстрирует один из подходов к представлению проблем. Наименование программы аббревиатура.
Advertisements

Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Системы управления базами данных СУБД является универсальным программным средством предназначенным для создания и ведения(обслуживания) баз данных на внешних.
Объектно- ориентированное программирование (ООП)
В. Дихтяр ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ (для бакалавров) Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 1.Разработка.
Лекция 5 Способы конструирования программ. Основы доказательства правильности.
Основы объектно-ориентированного программирования (ООП)
Основы информатики Классы Заикин Олег Сергеевич zaikin.all24.org
Базы данных и технологии баз данных, использующие объектную модель или ее элементы.
Хочу быть программистом! С чего бы начать? Turbo Pascal.
В. И. Дихтяр ИНФОРМАТИКА Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 3Моделирование объектов и процессов и его.
Методология объектно- ориентированного программирования.
Тема : Фреймовая модель представления знаний
Теория систем и системный анализ Тема1 «Системные исследования. Теория систем»
Экспертные системы (ЭС). Характеристика и назначение. Лекция 1.
ТЕХНОЛОГИИ РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ. Отличия систем искусственного интеллекта от обычных программных систем ХарактеристикаПрограммирование в системах.
От сложного – к простому. От непонятного – к понятному.
OOП Инна Исаева. Подпрограмма – это большая программа, разделённая на меньшие части. В программе одна из подпрограмм является главной. Её задача состоит.
Алгоритмический подход – главное алгоритм решения задачи ( в основном, используется для вычислительных задач ); Структурное программирование – декомпозиция,
Учитель НСШ Кумакшев А.Н, учитель БСШ2 Вахмистров Г.Г. Элективный курс по информатике «Процедуры и функции на языке Pascal».
Транксрипт:

Экспертная система CLIPS Выполнила: Д.Ю.Климова Группа: МПМ-301, ЧелГУ, МФ

CLIPS С Language Integrated Production System программная среда для разработки экспертных систем. Разработана в 1984 г., в космическом центре Джонсона NASA. Основная цель прототипа CLIPS было создание языка, способного решать задачи, опираясь на концепцию знаний.

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

Основные элементы языка Синтаксис языка CLIPS можно разбить на три основных группы элементов: примитивные типы данных(float, integer, symbol, string, external-address, fact-address, instance- name, instance-address) функции, использующиеся для обработки данных; конструкторы, предназначенные для создания таких структур языка, как факты, правила, классы и т. д. (defmodule, defrule, deffacts, deftemplate, defglobal, deffunction, defclass,... )

Для представления данных CLIPS использует три основных абстракции данных: факты; объекты; глобальные переменные.

Факты одна из основных форм представления информации в CLIPS. Факты являются фундаментальным понятием теории экспертных систем и предназначены для использования в правилах системы. Пример упорядоченного факта: ;; список бакалеи - хлеб молоко масло (grocery-list bread milk butter) ;; Робот находится в комнате (at room robot) Пример неупорядоченного факта (шаблона) : (patient (name "Ivanov Ivan") (age 46)) (class (teacher "Alexey Alexeev") (N_pupils 28) (Room "37A"))

При описании объектов выделяют 2 основные части: свойства и их поведение. Класс это шаблон общих свойств и поведения объектов данного класса. пример создания простого класса и его экземпляра: ;; описание класса car (машина) (defclass car (is-a user) ;; пользовательский класс (name) ;; наименование модели (made-by) ;; производитель ) ;; описание экземпляра класса car (make-instance corvette of car (name lacetti) (made-by chevrolet) )

Система представления знаний CLIPS поддерживает как эвристическую, так и процедурную парадигму пред­ставления знаний. Так же объектно-ориентированное программирование, комбинирующее обе эти парадигмы.

Эвристические знания Правила используются для представления эвристик или эмпирических правил, определяющих действия, которые необходимо выполнить в случае возникновения некоторой ситуации. Правила состоят из антецедента (предпосылок) и консеквента (следствия). Структура: (условия) {синонимы: антецеденты в логике, левая часть - LHS в терминах CLIPS} => (действия) {синонимы: консеквенты в логике, правая часть - RHS в терминах CLIPS}

Процессом помещения правил в рабочий список и их выполнением управляет машина логического вывода

Для создания правила используется конструкция defrule (defrule имя_правила [необязательный комментарий] [необязательное объявление] (условие_1) (условие_2) (условие_M) => (действие_1) (действие_2) (действие_N))

Процедурные знания Функции, заданные конструкцией deffunction и родовые функции позволяют пользователю создавать новые исполнимые элементы, выполняющие второстепенные действия или возвращают некоторое значение. Синтаксис конструктора deffunction: (deffunction имя_функции [необязательный комментарий] (список формальных параметров) (действие_1) (действие_2) (действие_N))

Объектно-ориентированный подход В CLIPS предусмотрен собственный объектно- ориентированный язык COOL CLIPS Object Oriented Language. Иерархия классов:

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

CLIPS поддерживает семь стратегий разрешения конфликтов 1. Стратегия глубины (depth strategy) 2. Стратегия ширины (breadth strategy) 3. LEX стратегия 4. MEA стратегия 5. Стратегия упрощения (simplicity strategy) 6. Стратегия усложнения (complexity strategy) 7. Случайная стратегия (random strategy)