courses:knowledge_representation_and_artificial_intelligence_systems:lab2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:knowledge_representation_and_artificial_intelligence_systems:lab2 [2019/09/18 09:39]
andrey.suchkov [Таблица 3]
courses:knowledge_representation_and_artificial_intelligence_systems:lab2 [2022/12/10 09:08] (current)
Line 1: Line 1:
-====== Лабораторная работа №2: Построение ​экспертных систем ​с использованием неупорядоченных фактов (шаблонов) и различных типов условных элементов в антецедентах правил ======+====== Лабораторная работа №2: Построение ​ЭС с использованием неупорядоченных фактов (шаблонов) и различных типов условных элементов в антецедентах правил ======
 ===== Цель работы ===== ===== Цель работы =====
 Изучение примеров программирования экспертной системы с использованием неупорядоченных фактов (шаблонов) и различных типов условных элементов в антецедентах правил. Изучение примеров программирования экспертной системы с использованием неупорядоченных фактов (шаблонов) и различных типов условных элементов в антецедентах правил.
Line 23: Line 23:
 (object (name table) (location "​room"​) (weight 15)) (object (name table) (location "​room"​) (weight 15))
 </​code>​ </​code>​
-//​Синтаксис антецедентов правил.//​ Антецедент правила состоит из последовательности условных элементов -- УЭ (conditional elements - CEs), которые должны удовлетворяться,​ чтобы правило было помещено в агенду. В CLIPS используется шесть основных типов условных элементов:​ УЭ на основе образца,​ УЭ-проверка,​ УЭ <<​И>>,​ УЭ <<​ИЛИ>>,​ УЭ <<​НЕ>>,​ УЭ <<​существует>>,​ УЭ <<​для всех>>,​ логические УЭ. Ниже рассмотрены наиболее часто используемые типы условных элементов,​ необходимые для выполнения данной лабораторной работы.+//​Синтаксис антецедентов правил.//​ Антецедент правила состоит из последовательности условных элементов -- УЭ (conditional elements ​-- CEs), которые должны удовлетворяться,​ чтобы правило было помещено в агенду. В CLIPS используется шесть основных типов условных элементов:​ УЭ на основе образца,​ УЭ-проверка,​ УЭ <<​И>>,​ УЭ <<​ИЛИ>>,​ УЭ <<​НЕ>>,​ УЭ <<​существует>>,​ УЭ <<​для всех>>,​ логические УЭ. Ниже рассмотрены наиболее часто используемые типы условных элементов,​ необходимые для выполнения данной лабораторной работы.
  
 **УЭ на основе образца (УЭ-образец)** -- основной и чаще всего используемый тип условного элемента. Он состоит из совокупности ограничений на поля, масок полей (wildcards) и переменных,​ используемых в качестве ограничений для фактов и объектов,​ которые сопоставляются с образцом условного элемента. УЭ-образец удовлетворяется каждой сущностью,​ которая удовлетворяет его ограничениям. Ограничение на поле представляет собой в общем случае совокупность ограничений,​ которые используются для проверки единственного поля или слота факта или объекта. Ограничение может состоять из единственного литерала или из нескольких связанных ограничений. Кроме литеральных ограничений,​ поддерживает три других типа ограничений:​ связанные ограничения (connective constraints),​ предикатные ограничения и ограничения возвращаемым значением. **УЭ на основе образца (УЭ-образец)** -- основной и чаще всего используемый тип условного элемента. Он состоит из совокупности ограничений на поля, масок полей (wildcards) и переменных,​ используемых в качестве ограничений для фактов и объектов,​ которые сопоставляются с образцом условного элемента. УЭ-образец удовлетворяется каждой сущностью,​ которая удовлетворяет его ограничениям. Ограничение на поле представляет собой в общем случае совокупность ограничений,​ которые используются для проверки единственного поля или слота факта или объекта. Ограничение может состоять из единственного литерала или из нескольких связанных ограничений. Кроме литеральных ограничений,​ поддерживает три других типа ограничений:​ связанные ограничения (connective constraints),​ предикатные ограничения и ограничения возвращаемым значением.
Line 145: Line 145:
 |  age  |  integer ​ |  17 -- 22  | |  age  |  integer ​ |  17 -- 22  |
 |  year  |  integer ​ |  2 -- 5  | |  year  |  integer ​ |  2 -- 5  |
-|  ​<​nowiki>​spec</​nowiki> ​ ​| ​ string ​ |  <<​hard>>,​ <<​soft>>,​ <<​ai>> ​ |+|  ​%%spec%%  ​| ​ string ​ |  <<​hard>>,​ <<​soft>>,​ <<​ai>> ​ |
 |  aver_mark ​ |  float  |  в интервале [3; 5]  | |  aver_mark ​ |  float  |  в интервале [3; 5]  |
 ===== Порядок выполнения работы ===== ===== Порядок выполнения работы =====
Line 161: Line 161:
     - Изменить сформированные в п. //b.// правила путем добавления в антецеденты предикатных условных элементов для проверки типов значений слотов в соответствии с табл. 3.     - Изменить сформированные в п. //b.// правила путем добавления в антецеденты предикатных условных элементов для проверки типов значений слотов в соответствии с табл. 3.
     - Изменить сформированные в п. //c.// правила путем добавления в антецеденты условных элементов с ограничением по возвращаемому значению. Условия ограничения для различных вариантов приведены в табл. 4.     - Изменить сформированные в п. //c.// правила путем добавления в антецеденты условных элементов с ограничением по возвращаемому значению. Условия ограничения для различных вариантов приведены в табл. 4.
-<note tip>​Возраст поступления в университет определяется по формуле:​ $[age] - [year]$. Возраст окончания:​ $[age] + (5 - [year])$.</​note>​ 
 ===== Варианты заданий ===== ===== Варианты заданий =====
  
Line 186: Line 185:
 ==== Таблица 3 ==== ==== Таблица 3 ====
 ^  № варианта ​ ^  Проверяемые значения ​ ^  Сообщение,​ выводимое в консеквенте правила ​ ^ ^  № варианта ​ ^  Проверяемые значения ​ ^  Сообщение,​ выводимое в консеквенте правила ​ ^
-|  1  |  ''<​year>'',​ ''<​aver_mark>'' ​ |  Студент ''<​name>'':​ тип значения в слоте ​''​<​year>​'' ​-- integer, а в слоте ​''​<​aver_mark>​'' ​-- float. ​ | +|  1  |  ''<​year>'',​ ''<​aver_mark>'' ​ |  Студент ''<​name>'':​ тип значения в слоте <​year>​ -- integer, а в слоте <​aver_mark>​ -- float. ​ | 
-|  2  |  ''<​age>'',​ ''<​year>'' ​ |  Студент ''<​name>'':​ типы значений в слотах ​''​<age>'' ​и ''​<​year>​'' ​-- integer. ​ | +|  2  |  ''<​age>'',​ ''<​year>'' ​ |  Студент ''<​name>'':​ типы значений в слотах <age> и <​year>​ -- integer. ​ | 
-|  3  |  ''<​nowiki><​spec></​nowiki>'',​ ''<​aver_mark>'' ​ |  Студент ''<​name>'':​ тип значения в слоте ​''​<​nowiki><​spec></​nowiki>​'' ​-- string, а в слоте ​''​<​aver_mark>​'' ​-- float. ​ | +|  3  |  ''<​nowiki><​spec></​nowiki>'',​ ''<​aver_mark>'' ​ |  Студент ''<​name>'':​ тип значения в слоте <​nowiki><​spec></​nowiki>​ -- string, а в слоте <​aver_mark>​ -- float. ​ | 
-|  4  |  ''<​age>'',​ ''<​aver_mark>'' ​ |  Студент ''<​name>'':​ тип значения в слоте ​''​<age>'' ​-- integer, а в слоте ​''​<​aver_mark>​'' ​-- float. ​ | +|  4  |  ''<​age>'',​ ''<​aver_mark>'' ​ |  Студент ''<​name>'':​ тип значения в слоте <age> -- integer, а в слоте <​aver_mark>​ -- float. ​ | 
-|  5  |  ''<​year>'',​ ''<​nowiki><​spec></​nowiki>'' ​ |  Студент ''<​name>'':​ тип значения в слоте ​''​<​year>​'' ​-- integer, а в слоте ​''​<​nowiki><​spec></​nowiki>​'' ​-- string. ​ | +|  5  |  ''<​year>'',​ ''<​nowiki><​spec></​nowiki>'' ​ |  Студент ''<​name>'':​ тип значения в слоте <​year>​ -- integer, а в слоте <​nowiki><​spec></​nowiki>​ -- string. ​ | 
-|  6  |  ''<​age>'',​ ''<​nowiki><​spec></​nowiki>'' ​ |  Студент ''<​name>'':​ тип значения в слоте ​''​<age>'' ​-- integer, а в слоте ​''​<​nowiki><​spec></​nowiki>​'' ​-- string. ​ | +|  6  |  ''<​age>'',​ ''<​nowiki><​spec></​nowiki>'' ​ |  Студент ''<​name>'':​ тип значения в слоте <age> -- integer, а в слоте <​nowiki><​spec></​nowiki>​ -- string. ​ | 
-|  7  |  ''<​name>'',​ ''<​aver_mark>'' ​ |  Студент ''<​name>'':​ тип значения в слоте ​''​<​name>​'' ​-- symbol, а в слоте ​''​<​aver_mark>​'' ​-- float. ​ | +|  7  |  ''<​name>'',​ ''<​aver_mark>'' ​ |  Студент ''<​name>'':​ тип значения в слоте <​name>​ -- symbol, а в слоте <​aver_mark>​ -- float. ​ | 
-|  8  |  ''<​nowiki><​spec></​nowiki>'',​ ''<​name>'' ​ |  Студент ''<​name>'':​ тип значения в слоте ​''​<​nowiki><​spec></​nowiki>​'' ​-- string, а в слоте ​''​<​name>​'' ​-- symbol. ​ |+|  8  |  ''<​nowiki><​spec></​nowiki>'',​ ''<​name>'' ​ |  Студент ''<​name>'':​ тип значения в слоте <​nowiki><​spec></​nowiki>​ -- string, а в слоте <​name>​ -- symbol. ​ |
 ==== Таблица 4 ==== ==== Таблица 4 ====
 ^  № варианта ​ ^  Условный элемент с ограничением по возвращаемому значению ​ ^  Сообщение,​ выводимое в консеквенте правила ​ ^ ^  № варианта ​ ^  Условный элемент с ограничением по возвращаемому значению ​ ^  Сообщение,​ выводимое в консеквенте правила ​ ^
Line 204: Line 203:
 |  7  |  Оканчивает университет в возрасте старше 22 лет ​ |  Студент ''<​name>''​ оканчивает университет в возрасте старше 22 лет. ​ | |  7  |  Оканчивает университет в возрасте старше 22 лет ​ |  Студент ''<​name>''​ оканчивает университет в возрасте старше 22 лет. ​ |
 |  8  |  Поступил в университет в возрасте 18 лет ​ |  Студент ''<​name>''​ поступил в университет в возрасте 18 лет. ​ | |  8  |  Поступил в университет в возрасте 18 лет ​ |  Студент ''<​name>''​ поступил в университет в возрасте 18 лет. ​ |
 +<note tip>​Возраст поступления в университет определяется по формуле:​ $[age] - [year]$. Возраст окончания:​ $[age] + (5 - [year])$.</​note>​
 ===== Содержание отчёта ===== ===== Содержание отчёта =====
   * Цель работы.   * Цель работы.
courses/knowledge_representation_and_artificial_intelligence_systems/lab2.1568799572.txt.gz · Last modified: 2022/12/10 09:08 (external edit)