🗊Презентация Продукционная модель знаний в языке CLIPS. Факты и правила

Нажмите для полного просмотра!
Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №1Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №2Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №3Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №4Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №5Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №6Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №7Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №8Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №9Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №10Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №11Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №12Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №13Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №14Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №15Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №16Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №17Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №18Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №19Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №20Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №21Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №22Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №23Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №24Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №25Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №26Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №27Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №28Продукционная модель знаний в языке CLIPS. Факты и правила, слайд №29

Содержание

Вы можете ознакомиться и скачать презентацию на тему Продукционная модель знаний в языке CLIPS. Факты и правила. Доклад-сообщение содержит 29 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Продукционная модель знаний в среде CLIPS
Факты и правила
Описание слайда:
Продукционная модель знаний в среде CLIPS Факты и правила

Слайд 2





Состав продукционной модели  системы CLIPS
CLIPS использует продукционную модель представления знаний и поэтому содержит три основных элемента:
1.  базу фактов (fact base),
2. базу знаний (rule base),
3. Механизм логического вывода.
База фактов представляет исходное описание задачи. База правил содержит операторы, которые преобразуют состояния проблемы, приводя его к решению – целевому состоянию.
Описание слайда:
Состав продукционной модели системы CLIPS CLIPS использует продукционную модель представления знаний и поэтому содержит три основных элемента: 1. базу фактов (fact base), 2. базу знаний (rule base), 3. Механизм логического вывода. База фактов представляет исходное описание задачи. База правил содержит операторы, которые преобразуют состояния проблемы, приводя его к решению – целевому состоянию.

Слайд 3





Механизм логического вывода
Механизм логического вывода CLIPS сопоставляет факты из базы фактов и правила из базы правил и выясняет, какие из правил можно активизировать. Это выполняется циклически, причем каждый цикл (так называемый продукционный цикл или цикл распознавания действия) состоит из трех основных фаз:
сопоставление фактов и правил;
выбор правила, подлежащего активизации;
выполнение действий, предписанных активным («зажженным») правилом.
Описание слайда:
Механизм логического вывода Механизм логического вывода CLIPS сопоставляет факты из базы фактов и правила из базы правил и выясняет, какие из правил можно активизировать. Это выполняется циклически, причем каждый цикл (так называемый продукционный цикл или цикл распознавания действия) состоит из трех основных фаз: сопоставление фактов и правил; выбор правила, подлежащего активизации; выполнение действий, предписанных активным («зажженным») правилом.

Слайд 4





Что такое факты?
Факты – это одна из основных форм представления информации в системе CLIPS. 
Каждый факт представляет фрагмент информации, который был помещен в текущий список фактов, называемый fact-list. 
Факт представляет собой основную единицу данных, используемую правилами.
Описание слайда:
Что такое факты? Факты – это одна из основных форм представления информации в системе CLIPS. Каждый факт представляет фрагмент информации, который был помещен в текущий список фактов, называемый fact-list. Факт представляет собой основную единицу данных, используемую правилами.

Слайд 5





Размещение фактов в списке фактов
Количество фактов в списке и объем информации, который может быть сохранен в факте, ограничивается только размером памяти компьютера.
 Если при добавлении нового факта к списку обнаруживается, что он полностью совпадает с одним из уже включенных в список фактов, то эта операция игнорируется (хотя такое поведение можно изменить).
Описание слайда:
Размещение фактов в списке фактов Количество фактов в списке и объем информации, который может быть сохранен в факте, ограничивается только размером памяти компьютера. Если при добавлении нового факта к списку обнаруживается, что он полностью совпадает с одним из уже включенных в список фактов, то эта операция игнорируется (хотя такое поведение можно изменить).

Слайд 6





Индекс (адрес) факта
Факт может описываться индексом или адресом. Всякий раз, когда факт добавляется (изменяется), ему присваивается уникальный целочисленный индекс.
 Индексы фактов начинаются с нуля и для каждого нового или измененного факта увеличиваются на единицу. 
Каждый раз после выполнения команд reset и clear выделение индексов начинается с нуля. Факт также может задаваться при помощи адреса. 
Адрес факта может быть получен путем сохранения возвращаемого значения команд, которые возвращают в качестве результата адрес факта (таких как assert, modify и duplicate), или путем связывания переменной с адресом факта в левой части правила.
Описание слайда:
Индекс (адрес) факта Факт может описываться индексом или адресом. Всякий раз, когда факт добавляется (изменяется), ему присваивается уникальный целочисленный индекс. Индексы фактов начинаются с нуля и для каждого нового или измененного факта увеличиваются на единицу. Каждый раз после выполнения команд reset и clear выделение индексов начинается с нуля. Факт также может задаваться при помощи адреса. Адрес факта может быть получен путем сохранения возвращаемого значения команд, которые возвращают в качестве результата адрес факта (таких как assert, modify и duplicate), или путем связывания переменной с адресом факта в левой части правила.

Слайд 7





Идентификатор факта
Идентификатор факта - это короткая запись для отображения факта на экране. Она состоит из символа f и записанного через тире индекса факта. Например, запись f-10 служит для обозначения факта с индексом 10. Существует два формата представления фактов: позиционный и непозиционный.
Описание слайда:
Идентификатор факта Идентификатор факта - это короткая запись для отображения факта на экране. Она состоит из символа f и записанного через тире индекса факта. Например, запись f-10 служит для обозначения факта с индексом 10. Существует два формата представления фактов: позиционный и непозиционный.

Слайд 8





Позиционные факты
Позиционные факты состоят из выражения символьного типа, за которым следует последовательность (возможно, пустая) из полей, разделенных пробелами. Вся запись заключается в скобки. Обычно первое поле определяет "отношение", которое применяется к оставшимся полям.
Описание слайда:
Позиционные факты Позиционные факты состоят из выражения символьного типа, за которым следует последовательность (возможно, пустая) из полей, разделенных пробелами. Вся запись заключается в скобки. Обычно первое поле определяет "отношение", которое применяется к оставшимся полям.

Слайд 9





Примеры позиционных фактов
(Ivanova is student)
(Jonh has the son)
(Sidorov Ivan is an ingeneer)
(Weather is warm)
Описание слайда:
Примеры позиционных фактов (Ivanova is student) (Jonh has the son) (Sidorov Ivan is an ingeneer) (Weather is warm)

Слайд 10





Требования к использованию позиционных фактов
Поля в позиционных фактах могут быть любого простого типа (за исключением первого поля, которое всегда должно быть типа symbol), на порядок полей также не накладывается никаких ограничений.
 Следующие символьные выражения зарезервированы и не должны использоваться как первое поле любого факта (позиционного или нет).
Описание слайда:
Требования к использованию позиционных фактов Поля в позиционных фактах могут быть любого простого типа (за исключением первого поля, которое всегда должно быть типа symbol), на порядок полей также не накладывается никаких ограничений. Следующие символьные выражения зарезервированы и не должны использоваться как первое поле любого факта (позиционного или нет).

Слайд 11





Непозиционные факты
Для того чтобы обратиться к информации, содержащейся в позиционном факте, пользователь должен знать не только какие данные содержатся в факте, но и то, в каком поле они хранятся. 
Непозиционные (шаблонные) факты дают возможность пользователю абстрагироваться от структуры факта, задавая имена каждому из полей факта.
Описание слайда:
Непозиционные факты Для того чтобы обратиться к информации, содержащейся в позиционном факте, пользователь должен знать не только какие данные содержатся в факте, но и то, в каком поле они хранятся. Непозиционные (шаблонные) факты дают возможность пользователю абстрагироваться от структуры факта, задавая имена каждому из полей факта.

Слайд 12





Задание шаблонов
Для задания шаблона, который затем может использоваться при доступе к полям по именам, используется конструкция deftemplate. Эта конструкция подобна структуре или записи в языках программирования С и Паскаль. 
Конструкция deftemplate позволяет наряду с определением именованных полей, или слотов, вводить имя шаблона. В отличие от позиционных фактов слоты шаблонного факта могут быть ограничены по типу, значению, числовому диапазону. Кроме того, для любого слота можно определить значения по умолчанию.
Описание слайда:
Задание шаблонов Для задания шаблона, который затем может использоваться при доступе к полям по именам, используется конструкция deftemplate. Эта конструкция подобна структуре или записи в языках программирования С и Паскаль. Конструкция deftemplate позволяет наряду с определением именованных полей, или слотов, вводить имя шаблона. В отличие от позиционных фактов слоты шаблонного факта могут быть ограничены по типу, значению, числовому диапазону. Кроме того, для любого слота можно определить значения по умолчанию.

Слайд 13





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

Слайд 14





Конструкция deftemplate
Общая структура конструкции def template такова:
(deftemplate  <name>)
(slot-1) 
(slot-2)
...
(slot-N)
)
Описание слайда:
Конструкция deftemplate Общая структура конструкции def template такова: (deftemplate <name>) (slot-1) (slot-2) ... (slot-N) )

Слайд 15





 Создание шаблонов

Создание шаблонов фактов и правил осуществляется с помощью конструктора deftemplate:
(deftemplate  <имя объекта>
(slot <имя слота 1>)
(slot <имя слота 2>)
……………………
(slot <имя слота n>)
)
Как и все конструкторы в языке CLIPS, конструктор шаблонов  не возвращает никакого значения.
Создадим два шаблона для фактов person и parent.
Описание слайда:
Создание шаблонов Создание шаблонов фактов и правил осуществляется с помощью конструктора deftemplate: (deftemplate <имя объекта> (slot <имя слота 1>) (slot <имя слота 2>) …………………… (slot <имя слота n>) ) Как и все конструкторы в языке CLIPS, конструктор шаблонов не возвращает никакого значения. Создадим два шаблона для фактов person и parent.

Слайд 16





 Шаблон person

(deftemplate person
 (slot name)  
(slot gender)
(slot age) 
)
где  name – имя,
gender – пол,
age – возраст.
Описание слайда:
Шаблон person (deftemplate person (slot name) (slot gender) (slot age) ) где name – имя, gender – пол, age – возраст.

Слайд 17





 Шаблон parent
(deftemplate tparent
(slot parentname)  
(slot childname)
)
где  parentname – имя родителя,
childname – имя ребенка.
Описание слайда:
Шаблон parent (deftemplate tparent (slot parentname) (slot childname) ) где parentname – имя родителя, childname – имя ребенка.

Слайд 18





 Конструктор deffacts
На основе шаблона факта можно создать список фактов с помощью конструктора фактов deffacts:
(deffacts  <имя списка фактов>
(<имя_шаблона_факта 1 > (<имя_слота 1> <значение_слота 1>)
(<имя_слота 2> <значение_слота 2>)
……….
(<имя_слота n> <значение_слота n>))
……..
(<имя_шаблона_факта  m> (<имя_слота 1> <значение_слота 1>)
(<имя_слота 2> <значение_слота 2>)
……….
(<имя_слота n> <значение_слота n>))
)
Описание слайда:
Конструктор deffacts На основе шаблона факта можно создать список фактов с помощью конструктора фактов deffacts: (deffacts <имя списка фактов> (<имя_шаблона_факта 1 > (<имя_слота 1> <значение_слота 1>) (<имя_слота 2> <значение_слота 2>) ………. (<имя_слота n> <значение_слота n>)) …….. (<имя_шаблона_факта m> (<имя_слота 1> <значение_слота 1>) (<имя_слота 2> <значение_слота 2>) ………. (<имя_слота n> <значение_слота n>)) )

Слайд 19





С помощью ранее созданных шаблонов создадим списки фактов для базы данных «Родственники»
Описание слайда:
С помощью ранее созданных шаблонов создадим списки фактов для базы данных «Родственники»

Слайд 20





Список фактов fperson
(deffacts fperson
(person (name Vasilii) (gender male)   (age 65))   
(person (name Liza) (gender female)   (age 62))   
(person (name Vladimir) (gender male)   (age 42))   
(person (name Victor) (gender male)   (age 40))   
(person (name Natasha) (gender female)   (age 37))   
(person (name Oleg) (gender male)   (age 18))   
(person (name Olga) (gender female)   (age 14))   
(person (name Mihail) (gender male)   (age 41))   
(person (name Kostia) (gender male)   (age 10))   
(person (name Masha) (gender male)   (age 12))   
)
Описание слайда:
Список фактов fperson (deffacts fperson (person (name Vasilii) (gender male) (age 65)) (person (name Liza) (gender female) (age 62)) (person (name Vladimir) (gender male) (age 42)) (person (name Victor) (gender male) (age 40)) (person (name Natasha) (gender female) (age 37)) (person (name Oleg) (gender male) (age 18)) (person (name Olga) (gender female) (age 14)) (person (name Mihail) (gender male) (age 41)) (person (name Kostia) (gender male) (age 10)) (person (name Masha) (gender male) (age 12)) )

Слайд 21





Список фактов fparent
(deffacts fparent
(tparent (parentname Vasilii) (childname Vladimir))
(tparent (parentname Vasilii) (childname Victor))
(tparent (parentname Vasilii) (childname Natasha))
(tparent (parentname Liza) (childname Vladimir))
(tparent (parentname Liza) (childname Victor))
(tparent (parentname Liza) (childname Natasha))
(tparent (parentname Vladimir) (childname Oleg))
(tparent (parentname Victor) (childname Olga))
(tparent (parentname Natasha) (childname Kostia))
(tparent (parentname Natasha) (childname Masha))
(tparent (parentname Mihail) (childname Kostia))
(tparent (parentname Mihail) (childname Masha))
)
Описание слайда:
Список фактов fparent (deffacts fparent (tparent (parentname Vasilii) (childname Vladimir)) (tparent (parentname Vasilii) (childname Victor)) (tparent (parentname Vasilii) (childname Natasha)) (tparent (parentname Liza) (childname Vladimir)) (tparent (parentname Liza) (childname Victor)) (tparent (parentname Liza) (childname Natasha)) (tparent (parentname Vladimir) (childname Oleg)) (tparent (parentname Victor) (childname Olga)) (tparent (parentname Natasha) (childname Kostia)) (tparent (parentname Natasha) (childname Masha)) (tparent (parentname Mihail) (childname Kostia)) (tparent (parentname Mihail) (childname Masha)) )

Слайд 22





Правила
Правила определяют набор действий, которые будут выполнены для данной ситуации. Разработчик ЭС определяет набор правил, которые в совокупности используются для решения проблемы. Правило состоит из предусловия и следствия. 
Предусловие правила – это левая сторона (LHS) правила. Предусловие правила – набор условий (состояний или условных элементов), которые должны выполниться для того, чтобы правило можно было активизировать. 
Следствие правила – это правая сторона (RHS) правила. Следствие правила – это набор действий, которые будут выполнены в случае,  если правило активировано. Если активировано более чем одно правило, механизм логического вывода использует стратегию разрешения противоречий.
Описание слайда:
Правила Правила определяют набор действий, которые будут выполнены для данной ситуации. Разработчик ЭС определяет набор правил, которые в совокупности используются для решения проблемы. Правило состоит из предусловия и следствия. Предусловие правила – это левая сторона (LHS) правила. Предусловие правила – набор условий (состояний или условных элементов), которые должны выполниться для того, чтобы правило можно было активизировать. Следствие правила – это правая сторона (RHS) правила. Следствие правила – это набор действий, которые будут выполнены в случае, если правило активировано. Если активировано более чем одно правило, механизм логического вывода использует стратегию разрешения противоречий.

Слайд 23





Определение правила
Для определения правил используется конструкция defrule: 
(defrule <имя правила> «необязательный комментарий" 
(предпосылка_l) 
(предпосылка_2)
.
.
.
(предпосылка _N) 
=>
(действие_l)
     (действие_2)
.
.
.
(действие_M)
    )
Описание слайда:
Определение правила Для определения правил используется конструкция defrule: (defrule <имя правила> «необязательный комментарий" (предпосылка_l) (предпосылка_2) . . . (предпосылка _N) => (действие_l) (действие_2) . . . (действие_M) )

Слайд 24





Пример определения правила
1. Создадим шаблон нового факта, описывающего отношение “X  является отцом Y“:
(deftemplate Father
(slot name1)
(slot name2)
)
2. Определим правило, которое создает и добавляет факты по шаблону Father:
(defrule father
(person (name ?x) (gender male))
(person (name ?y))
(tparent (parentname ?x) (childname ?y))
=>
(printout t ?x " is father of " ?y crlf)
(assert (Father (name1 ?x) (name2 ?y))) 
)
Описание слайда:
Пример определения правила 1. Создадим шаблон нового факта, описывающего отношение “X является отцом Y“: (deftemplate Father (slot name1) (slot name2) ) 2. Определим правило, которое создает и добавляет факты по шаблону Father: (defrule father (person (name ?x) (gender male)) (person (name ?y)) (tparent (parentname ?x) (childname ?y)) => (printout t ?x " is father of " ?y crlf) (assert (Father (name1 ?x) (name2 ?y))) )

Слайд 25





Создание новых фактов с помощью правил
Для того, чтобы проверить работу правила, необходимо загрузить созданные шаблоны фактов и правила, загрузить списки фактов, затем в главном меню выбрать пункт Execution (Выполнение)  и последовательно выполнить команды reset и run. Результаты будут выданы на экран.
Описание слайда:
Создание новых фактов с помощью правил Для того, чтобы проверить работу правила, необходимо загрузить созданные шаблоны фактов и правила, загрузить списки фактов, затем в главном меню выбрать пункт Execution (Выполнение) и последовательно выполнить команды reset и run. Результаты будут выданы на экран.

Слайд 26





Создание новых фактов с помощью правил
Описание слайда:
Создание новых фактов с помощью правил

Слайд 27





Просмотр новых фактов в окне фактов
Факты, созданные во время данного сеанса работы с системой CLIPS, можно просмотреть в окне фактов, вызвав в пункте Windows главного меню команду Facts Window. Кроме того созданные факты можно сохранить в текстовом файле с помощью команды 
(save-facts "имя файла").
Описание слайда:
Просмотр новых фактов в окне фактов Факты, созданные во время данного сеанса работы с системой CLIPS, можно просмотреть в окне фактов, вызвав в пункте Windows главного меню команду Facts Window. Кроме того созданные факты можно сохранить в текстовом файле с помощью команды (save-facts "имя файла").

Слайд 28





Окно фактов
Описание слайда:
Окно фактов

Слайд 29





Лабораторная работа № 5.
Задание.
Создайте шаблон и правило для отношений:
X является мамой Y,
X является братом Y,
X является сыном Y,
X является тётей Y.
Описание слайда:
Лабораторная работа № 5. Задание. Создайте шаблон и правило для отношений: X является мамой Y, X является братом Y, X является сыном Y, X является тётей Y.



Похожие презентации
Mypresentation.ru
Загрузить презентацию