Структура разработанной экспертной системы
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Проект « Expert »

Проект «Expert» служит для создания базы знаний и для редактирования уже существующей. Модуль «Unit1» проекта служит показательной формой при загрузке экспертной системы в режиме приобретения знаний. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. В этом модуле эксперт непосредственно создает саму базу знаний, формирует правила. При этом имеется возможность редактирования правил, удаления правил, сохранения базы знаний, загрузки ранее сохраненной базы знаний. Модуль «Unit1» и модуль «Unit 2» необходимы для введения экспертом вопросов к переменным условия и рекомендаций к переменным вывода соответственно.

Модуль «Unit4» предназначен для вывода справки об авторе.

В программе используются процедуры и функции, которые написаны для удобства работы и понимания программы.

procedure dobav_uslClick(Sender: TObject) - Добавление условия в правило;

procedure FormCreate(Sender: TObject) – Начальные установки при открытии формы;

procedure udal_uslClick(Sender: TObject) - Удаление условия в правиле;

procedure newClick(Sender: TObject) - Формирование новой базы зныний;

procedure Button4Click(Sender: TObject) - Добавление нового правила;

procedure Button3Click(Sender: TObject) - Перемещение по правилам назад;

procedure Button2Click(Sender: TObject) - Перемещение по правилам вперед;

procedure Button6Click(Sender: TObject) - Удаление правила;

procedure SpiskiShow(Sender: TObject) - Просмотр списков переменных условия и вывода;

procedure tpv1Show(Sender: TObject) - Просмотр таблицы переменных условия;

procedure tpu1Show(Sender: TObject) - Просмотр таблицы переменных вывода;

procedure pravShow(Sender: TObject) - Переход к просмотру правил;

procedure pvEnter(Sender: TObject) - Редактирование переменных вывода;

procedure zn_pvEnter(Sender: TObject) - Редактирование значений переменных вывода;

procedure saveClick(Sender: TObject) - Сохранение базы знаний;

procedure SaveToFile(Name:string) - Сохранения базы знаний в файл;

procedure exit1Click(Sender: TObject) - Выход из программы;

procedure openClick(Sender: TObject) - Открытие базы знаний;

procedure sg1GetEditText(Sender: TObject; ACol, ARow: Integer;

var Value: String) - Проверка на наличие изменений в правиле;

procedure sg1SetEditText(Sender: TObject; ACol, ARow: Integer;

const Value: String) - Проверка на наличие изменений в правиле;

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean) - Закрытие формы;

procedure N13Click(Sender: TObject) - Вывод информации об авторе;

procedure N14Click(Sender: TObject) - Вывод справки;

procedure sg1KeyPress(Sender: TObject; var Key: Char) - Проверка на наличие изменений в правиле.

Ниже приведены глобальные переменные, используемые в программе.

strok: string; // строка для отслеживания введенных изменений

path:string; // строка для имени файла базы знаний

tF: TextFile; // текстовый файл для загрузки базы знаний

tek_pr:integer;//Номер текущего правила

Kol_pr:integer;//Кол-во правил

mp:array of prav;//Массив правил

tpu: array of uslov; // таблица переменных условия

tpv: array of vyvod; // таблица переменных вывода

pr1,pravilo:prav; // текущее правило

dob_pr1,save_pr,izm,otkryt,saved,obn_pr,dob_pr:boolean;

SPU:array of spu1; SPV:array of spu1; // списки переменных условия и вывода

nomer_pu,nomer_pv, nomer_zn_pv:integer; // индексы переменных условия и вывода.

 

Проект « Klient »

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

При этом есть возможность посмотреть, почему был получен данный вывод. В программе используются процедуры и функции, которые написаны для удобства работы и понимания программы.

procedure N2Click(Sender: TObject) - Загрузить существующую базу знаний;

procedure Button1Click(Sender: TObject) - Начало работы системы;

procedure Button2Click(Sender: TObject) - Принятие ответа пользователя;

procedure FormCreate(Sender: TObject);

procedure Button3Click(Sender: TObject) - Вывод пояснения к выводу системы;

procedure N5Click(Sender: TObject) - Начала опроса сначала;

procedure N3Click(Sender: TObject) - Выход из системы.

Ниже приведены глобальные переменные, используемые в программе.

path:string; // имя файла для открытия базы

tF: TextFile; // текстовый файл для открытия базы

mp:array of prav;//массив правил

tpu: array of uslov; // таблица переменных условий

tpv: array of vyvod; // таблица переменных вывода

SPU:array of spu1; // список переменных условий

SPV:array of spv1; // список переменных вывода

nomer_pu,nomer_pv, nomer_zn_pv:integer; //индексы переменных условия и вывода

n_a_p, // номер анализируемого правила

n_p_u, // номер переменной условия в СПУ

n_u, //номер рассматриваемого условия в анализируемом правиле;

n_p_v, // номер переменной вывода в СПВ

p_u, // индекс первого условия текущего правила

kpu, // число условий в анализируемом правиле;

kpv:integer; // число полученных выводов

z_u:array of string; // массив значений условий из правила

z_p:boolean; // значение проверки текущего условия в правиле z_u_p:array of string; //массив значений условий введенных пользователем;

Opv:array of string; // очередь переменных вывода

 

Методическое обеспечение

 

Данная программа имеет два модуля «Expert» и «Klient», которые используют в работе одну и ту же базу знаний.

Интерфейс модуля «Expert» предназначен для эксперта в определенной области знаний. С помощью данного модуля эксперт может создавать базы знаний, вносить изменения, добавлять правила.

Интерфейс модуля «Klient» предназначен для конечного пользователя. Пользователь отвечает на вопросы, предлагаемые ему экспертной системой. После получения ответов на все вопросы, экспертная система выдает соответствующий результат и рекомендацию, т.е. экспертная система будет работать в режиме консультации.



Руководство для эксперта

Для запуска программы необходимо открыть исполняемый файл «Expert.exe». При этом появится окно для создания новой базы знаний (Рисунок 3.1).

 

Рисунок 3.1 – Окно для создания новой базы знаний

 

Если необходимо отредактировать уже существующую базу знаний необходимо выбрать команду меню «Файл - Открыть базу» и выбрать в окне выбора файла (рисунок 3.2) нужную базу - файл с расширением *.bzn. При открытии существующей базы можно приступать к редактированию правил (рисунок 3.3).

 

Рисунок 3.2 – Открытие существующей базы знаний


Рисунок 3.3 – Окно для ввода и редактирования правил

 

Чтобы добавить новое правило необходимо нажать кнопку «Добавить правило» или выбрать команду меню «Правка - Добавить правило». Для удаления правила можно нажать кнопку «Удалить правило» или выбрать команду меню «Правка - Удалить правило».

Для добавления переменных условия в правило необходимо нажать кнопку «Добавить условие» или выбрать команду меню «Правка - Добавить условие». Для удаления переменной условия можно нажать кнопку «Удалить условие» или выбрать команду меню «Правка - Удалить условие».

Если какие-то переменные условия не сохранены, эксперту сразу будет предложено ввести вопрос для данной переменной условия (рисунок 3.4).

 

Рисунок 3.4 – Окно для ввода вопроса к переменной условия


Если переменной вывода нет в ТПВ, то эксперту будет предложено ввести рекомендацию для определенного значения переменной вывода (рисунок 3.5).

 

Рисунок 3.5 – Окно для ввода рекомендации к переменной вывода

 

Окно данной программы представлено из нескольких вкладок: «Правила», «ТПУ», «ТПВ», «Списки» (рисунок 3.1).

Первая вкладка предназначена непосредственно для ввода и редактирования правил.

Вкладка «ТПУ» предназначена для просмотра таблицы переменных условия (рисунок 3.6). Если к какой-то переменной условия еще не было введено вопроса, то в таблице переменных условия эта переменная не отмечается «галочкой». Чтобы ввести вопрос, необходимо ввести его в поле «Вопрос к ПУ».

 

Рисунок 3.6 – Вкладка «ТПУ»


Вкладка «ТПВ» предназначена для просмотра таблицы переменных вывода (рисунок 3.7). Если к какой-то переменной вывода еще не введена рекомендация, то необходимо ввести ее в поле «Рекомендация».

 

Рисунок 3.7 – Вкладка «ТПВ»

 

Вкладка «Списки» предназначена для просмотра списков переменных условия и вывода (рисунок 3.8).

 

Рисунок 3.8 – Вкладка «Списки»

 

Если эксперт создаст правило, которое уже было, то будет выведено соответствующее сообщение об ошибке. Также сообщения об ошибке выводятся при недозаполнении правил.

Чтобы сохранить базу необходимо выбрать команду меню «Файл - сохранить» или «Сохранить как…». Для создания ново базы необходимо выбрать команду меню «Файл - Новая база».

В меню также имеется вкладка «Справка», где можно посмотреть информацию об авторе (рисунок 3.9) и руководство эксперта (рисунок 3.10).

 

Рисунок 3.9 – Информация об авторе

 

Рисунок 3.10 – Руководство эксперта

 




Руководство пользователя

Для запуска программы необходимо открыть исполняемый файл «Klient.exe». При этом появится окно, приведенное на рисунке 3.11. Для начала работы экспертной системы в режиме консультации необходимо загрузить необходимую вам базу знаний. Для этого нужно выбрать команду меню «Файл - Загрузить базу».

 

Рисунок 3.11 – Окно программы «Клиент»

 

Для начала работы необходимо нажать кнопку «Начать работу» (рисунок 3.12).

 

Рисунок 3.12 – Начало работы экспертной системы

 

Пользователю будет представлен вопрос и несколько вариантов ответа на него. Необходимо выбрать нужный вариант ответа на вопрос и нажать кнопку «Принять» либо выбрать команду меню «Действия - Следующий вопрос». Если необходимо начать опрос заново, необходимо нажать кнопку «Начать работу» либо выбрать команду меню «Действия - Начать заново».

После ответа на все представленные вопросы, экспертная система выдает конечный результат в виде рекомендации (рисунок 3.13).

 

Рисунок 3.13 – Рекомендация экспертной системы

 

Если пользователю необходимы разъяснения данного результата, необходимо нажать кнопку «Почему». При этом появятся все сработанные рекомендации и выводы (рисунок 3.14).

 

Рисунок 3.14 – Пояснение рекомендаций

 



Заключение

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

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

- добавление новых правил;

- удаление правил;

- редактирование существующих правил;

- сохранение базы знаний;

- открытие ранее сохраненных баз знаний;

- просмотр руководства по использованию данной экспертной системы.

В интерфейсе программы для пользователя были предусмотрены следующие возможности:

- открытие существующей базы знаний;

- выбор одного из предложенных ответов на вопрос;

- вывод рекомендаций;

- вывод пояснений к рекомендациям.

Таким образом, разработанная оболочка экспертной системы выполняет все задачи, поставленные в начале работы.



Список используемой литературы

 

1. А.Я. Архангельский. Программирование в Delphi 7.

2. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем – СПб.: Питер, 2001. – 384 с.: ил.

3. Попов Э.В. Экспертные системы: Решение неформализованных задач в диалоге с ЭВМ. – М.: Наука. Гл. ред. физ.-мат. лит., 1987. – 288 с. – (Пробл. искусственного интеллекта).

4. Элти Дж., Кумбс М. Экспертные системы: концепции и примеры / Пер. с англ. и предисл. Б.И.Шитикова. – М.: Финансы и статистика, 1987. – 191 с.: ил.

5. Хейес-Рот Ф., Уотерман Д., Ленат Д. Построение экспертных систем. Пер. с англ. – М.: Мир, 1987.-447с.

6. Зартенова Л.Г. Методические указания по курсу «Экспертные системы и искусственный интеллект» – КарГТУ, кафедра САПР.

Дата: 2019-05-29, просмотров: 183.