Учебный курс "Интеллектуальные системы" > Практика > Лабораторные работы
it-claim.ru

ES-2: Разработка модуля вывода ЭС

Краткое описание
Разработка компьютерной программы для поддержки принятия решения, логика работы которой определяется вне тела программы (в базе знаний) и может быть изменена инженером по знаниям без обновления ее кода.
1. Цель работы
Ознакомиться с подходом к разработке экспертных систем (ЭС) и баз знаний для гибкой автоматизации процессов принятия решения.

2.

Порядок выполнения работы

3. Задания лабораторной работы Требования
3.1.

В рамках выбранной предметной области ЭС, где уже определены объекты принятия решения (O), их свойства (A), а также параметры других объектов, событий, процессов и т.д (P), спроектировать множество продукционных правил (R).

  • Количество продукционных правил, определяющих значения свойств объектов принятия решения (A) на основе значений параметров других объектов (P), должно быть не менее 20.
  • Количество правил, имеющих две (или более) посылки и реализующих их конъюнкцию (или другую форму агрегирования), должно быть не менее 40%.
R = {P => A} |R| = 20+ |Pi & Pj =>An | = 8+
3.2.

Доработать базу знаний (БЗ) и компьютерную программу из л/р ES-1, реализовав в ней возможность вывода правил (P->A):

  • Создание в БЗ информационных структур для хранения продукционных правил различного типа (с одной или несколькими посылками).
  • Разработка программы (программного модуля), которая осуществляет обработку (вывод) правил для определения свойств объекта принятия решения (A).
  • Разработка компоненты, которая на основе полученных свойств осуществляет выбор конкретного объекта или совета.
  • Интеграция с программными модулями л/р ES-1.
  • Правила должны храниться в отдельной структуре (таблице) БЗ. Описание правил в БЗ должно быть реализовано таким образом, что от пользователя не требуется указание номера вопроса, номера ответа и т.д.
  • Применение одного, нескольких или всех правил может осуществляться:
    • после ответа на каждый вопрос или только на некоторые вопросы
    • после завершения диалога.
  • Для избежания повторного использования правила можно ввести соответствующий атрибут (например, Used).
  • Если условие применения одного правила зависит от результатов использования других правил, то необходимо задать соответствующий порядок (очередность). Альтернативой этому является повторная проверка выполнимости всех правил после срабатывания хотя бы одного из них.
  • В общем случае необходимость и очередность задавания вопросов может определяться на основе применения группы правил. Для реализации этого механизма имеет смысл объединить правила для вопросов и правила определения новых параметров.
4.
  • Ниже приведены два варианта реализации таблицы правил
    • В таблице RulesSimple всегда имеется только одна посылка и одно следствие. Для реализации множества следствий необходимо написать несколько правил с одинаковой левой частью.
    • В таблице RulesComplex может иметься одна или две посылки, которые могут объединяться логической, арифметической или другой операцией. Для реализации более сложного правила, содержащего три или более посылки, его нужно разбивать на несколько простых.
    • При вероятностном или нечетком выводе можно использовать операцию приращения/уменьшения значения параметра.
RulesSimple
Поле Тип данных Описание

ID

Integer

Идентификатор правила

IF_Atr

String

Атрибут (свойство) объекта посылки.

IF_Value

String

Значение атрибута (свойства) объекта посылки.

Then_Atr

String

Атрибут (свойство) объекта следствия.

Then_Value

String

Значение атрибута (свойства) объекта следствия.

Used

Boolean

Использовано/не использовано правило

RulesComplex
Поле Тип данных Описание

ID

Integer

Идентификатор правила

IF1_Atr

String

Атрибут (свойство) объекта посылки.

IF1_Value

String

Значение атрибута (свойства) объекта посылки.

Operation

Integer

Логическая операция ( 0 – нет операции, 1 – AND, 2 – OR, 3 – NOT …)

IF2_Atr

String

Атрибут (свойство) объекта посылки.

IF2_Value

String

Значение атрибута (свойства) объекта посылки.

Then_Atr

String

Атрибут (свойство) объекта следствия.

Then_Value

String

Значение атрибута (свойства) объекта следствия. Значение ='Null', если осуществляется прирост/уменьшение вероятности гипотезы.

ChangeValue

Integer (Number)

Прирост/уменьшение вероятности (уверенности, достоверности) гипотезы (факта).

Used

Boolean

Использовано/не использовано правило

Консультация в форуме  
Лабораторные работы
(старая версия)
Практические упражнения
Требования к оформлению электронных отчетов  
Учебный проект в области ИИ
Статьи и кейсы студентов
   
Дополнительная функциональность
Cоздание подсистемы редактирования БЗ 1+
Визуализация работы машины вывода (отображение дерева вывода) 1+
Синтаксический разбор логических и математических выражений в правилах 1+
Проверка правил на противоречивость и избыточность 1+
Вывод новых (производных) правил 1+
Обратный, смешанный и немонотонный вывод 1+
Пример сложного правила
  • Если (стиль_одежды = "деловой")
    И (пол="мужской" )
    То (вид_одежды="костюм")
Содержание отчета
  • Название и цель работы
  • Задание, краткое описание предметной области и выбранной задачи
  • Перечень параметров, атрибутов и их допустимых значений
  • Правила получения атрибутов A из множества исходных параметров P
  • Структура БЗ (логическая и физическая модель данных)
  • Блок-схема алгоритма работы программы
  • Подробное описание алгоритма работы программы с БЗ
  • Подробная инструкция по работе с БЗ и ЭС
  • Выводы и рекомендации
  • Допускается оформить один отчет на л/р ES-1 и ES-2
Дополнительные лабораторные работы
ES-1: Разработка вопросно-ответной компоненты ЭС
ES-3: Разработка ЭС с поддержкой вероятностного вывода
ES-4: Разработка ЭС с поддержкой нечеткого вывода
ES-5: Компонента объяснения ЭС
ES-6: Компонента обучения ЭС
ES-7: Программный интерфейс взаимодействия с ЭС (DLL, DCOM, CORBA, ACTIVEX и др.)
ES-8: Модуль генерации исходных данных ЭС(подсистема моделирования)

 

 

 

© НОК CLAIM. Замечания, вопросы и сведения об ошибках просим сообщать в форуме или присылать администратору сайта.
OZON.ru Rambler's Top100 Раздел создан при поддержке гранта Благотворительного фонда В.Потанина