Sidebar






Old

courses:knowledge_base_and_expert_system:lab5

Лабораторная работа №5: Разработка простой экспертной системы на языке Visual Prolog

Цель работы

Реализация и отладка простой экспертной системы на языке Visual Prolog.

Основные теоретические положения

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

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

База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.

База знаний в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую предметную область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.

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

Рассматриваемая в данной работе экспертная система функционирует следующим образом. Например, при работе с предметной областью «Бытовая техника», определяется предикат technique_is(string), позволяющий идентифицировать бытовую технику, которая более всего удовлетворяет указанным пользователем признакам. При этом БЗ экспертной системы задается перечислением свойств объектов, которые у них имеются или же отсутствуют:

technique_is("CD-плейер") :- 
      it_is("аудио"),
      positive("работает с", "CD-дисками"),
      negative("имеет", "динамик").

Предикаты positive и negative необходимы для того, чтобы запросить у пользователя ответ о наличии у объекта какого-то свойства и сохранить этот ответ в рабочей памяти:

positive(X,Y) :-
      xpositive(X,Y),!.
positive(X,Y) :-
      not(xnegative(X,Y)),
      ask(X,Y,Answer),
      remember(X,Y,Answer),
      Answer = yes.
negative(X,Y) :-
      xnegative(X,Y),!.
negative(X,Y) :-
      not(xpositive(X,Y)),
      ask(X,Y,Answer),
      remember(X,Y,Answer),
      Answer = no.
ask(X,Y,yes) :-
      write(X," ",Y,"?"),
      readln(Reply),
      frontchar(Reply,'y',_),!.
ask(_,_,no).
remember(X,Y,yes) :-
      assertz(xpositive(X,Y)).
remember(X,Y,no) :-
      assertz(xnegative(X,Y)).

Два встроенных предиката asserta и assertz позволяют добавлять новые утверждения в базу данных. Оба предиката действуют в точности одинаковым образом, за тем исключением, что asserta добавляет утверждение в начало базы данных, в то время как assertz (или assert) добавляет утверждение в ее конец.

Постановка задачи

Разработать в среде Visual Prolog простую ЭС в соответствии с вариантом задания либо предложив свою предметную область, предварительно согласовав её с преподавателем.

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

  1. Разработать простую ЭС в соответствии с вариантом задания либо согласовав предметную область с преподавателем.
  2. Произвести отладку ЭС в среде Visual Prolog для различных наборов ответов пользователя на задаваемые экспертной системой вопросы.

Варианты заданий

№ варианта Описание
1 Экспертная система с обратной цепочкой рассуждений для определения заболевания пациента.
Количество возможных видов заболеваний – 3.
Количество признаков заболеваний – 15.
Максимальная глубина дерева определения заболевания по соответствующим признакам – 4.
2 Экспертная система с прямой цепочкой рассуждений для определения заболевания пациента.
Количество возможных видов заболеваний – 15.
Количество признаков заболеваний – 7.
Максимальная глубина дерева определения заболевания по соответствующим признакам – 4.
3 Экспертная система с обратной цепочкой рассуждений для определения причины неработоспособности компьютера.
Количество возможных причин неработоспособности – 4.
Количество признаков неработоспособности – 15.
Максимальная глубина дерева определения причины неработоспособности по соответствующим признакам – 3.
4 Экспертная система с прямой цепочкой рассуждений для определения причины неработоспособности компьютера.
Количество возможных причин неработоспособности – 12.
Количество признаков неработоспособности – 6.
Максимальная глубина дерева определения причины неработоспособности по соответствующим признакам – 4.
5 Экспертная система с обратной цепочкой рассуждений для определения причины, по которой не заводится автомобиль.
Количество возможных причин – 4.
Количество признаков, позволяющих определить причину – 11.
Максимальная глубина дерева определения причины по соответствующим признакам – 3.
6 Экспертная система с прямой цепочкой рассуждений для определения причины, по которой не заводится автомобиль.
Количество возможных причин – 6.
Количество признаков, позволяющих определить причину – 7.
Максимальная глубина дерева определения причины по соответствующим признакам – 5.
7 Экспертная система с обратной цепочкой рассуждений для выработки рекомендаций студенту по планированию его времени для успешной сдачи экзаменов.
Количество возможных рекомендаций – 4.
Количество факторов, влияющих на выработку рекомендации – 11.
Максимальная глубина дерева определения причины по соответствующим факторам – 4.
8 Экспертная система с прямой цепочкой рассуждений для выработки рекомендаций студенту по планированию его времени для успешной сдачи экзаменов.
Количество возможных рекомендаций – 10.
Количество факторов, влияющих на выработку рекомендации – 4.
Максимальная глубина дерева определения причины по соответствующим факторам – 5.

Содержание отчёта

  • Цель работы.
  • Краткое изложение основных теоретических понятий.
  • Постановка задачи с кратким описанием порядка выполнения работы.
  • Результаты работы программы для различных исходных ситуаций (скриншоты экрана с результатами работы программы). Объяснения результатов программы
  • Общий вывод по проделанной работе.
  • Код программы.
courses/knowledge_base_and_expert_system/lab5.txt · Last modified: 2020/08/27 09:51 (external edit)