ЛАБОРАТОРНАЯ РАБОТА №9.
Тема:Разработка экспертной системы. Цель:создать прототип экспертной системы. Теоретические сведения: Экспертная система (ЭС) — это программа (на современном уровне развития человечества), которая заменяет эксперта в той или иной области. ЭС предназначены, главным образом, для решения практических задач, возникающих в слабо структурированной и трудно формализуемой предметной области. Пример выполнения работы: Для разработки ЭС использовалась среда программирования – Delphi 7. Предметная область данной ЭС, является нахождение характерных неисправностей и метода их решения, прибора Диск-250 ДД. Прибор показывающий и регистрирующий Диск-250 ДД предназначен для измерения и регистрации силы тока, а также неэлектрических величин, преобразованных в силу тока. Данная ЭС предназначена для использования слесарями КИП, для быстрого обнаружения неисправности и ее устранения. Саму ЭС можно представить в виде таблицы 1. Таблица 1 – ЭС неисправностей
Код программы : unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, Menus; type TForm1 = class(TForm) RadioGroup1: TRadioGroup; GroupBox1: TGroupBox; PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; TabSheet4: TTabSheet; TabSheet5: TTabSheet; TabSheet6: TTabSheet; TabSheet7: TTabSheet; TabSheet8: TTabSheet; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; GroupBox2: TGroupBox; Memo1: TMemo; RadioButton5: TRadioButton; RadioButton6: TRadioButton; RadioButton7: TRadioButton; RadioButton9: TRadioButton; RadioButton10: TRadioButton; RadioButton11: TRadioButton; RadioButton13: TRadioButton; RadioButton15: TRadioButton; RadioButton16: TRadioButton; RadioButton19: TRadioButton; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; procedure RadioGroup1Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure RadioButton3Click(Sender: TObject); procedure RadioButton5Click(Sender: TObject); procedure RadioButton6Click(Sender: TObject); procedure RadioButton10Click(Sender: TObject); procedure RadioButton9Click(Sender: TObject); procedure RadioButton11Click(Sender: TObject); procedure RadioButton13Click(Sender: TObject); procedure RadioButton16Click(Sender: TObject); procedure RadioButton15Click(Sender: TObject); procedure RadioButton7Click(Sender: TObject); procedure RadioButton19Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure PageControl1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Form1.RadioGroup1.ItemIndex := 0; Form1.PageControl1.ActivePageIndex := 0; end; procedure TForm1.RadioGroup1Click(Sender: TObject); begin Form1.PageControl1.ActivePageIndex := Form1.RadioGroup1.ItemIndex end; procedure TForm1.PageControl1Change(Sender: TObject); begin Form1.RadioGroup1.ItemIndex := Form1.PageControl1.ActivePageIndex; Form1.Memo1.Clear; Form1.RadioButton1.Checked := False; Form1.RadioButton2.Checked := False; Form1.RadioButton3.Checked := False; Form1.RadioButton5.Checked := False; Form1.RadioButton6.Checked := False; Form1.RadioButton9.Checked := False; Form1.RadioButton10.Checked := False; Form1.RadioButton11.Checked := False; Form1.RadioButton13.Checked := False; Form1.RadioButton15.Checked := False; Form1.RadioButton16.Checked := False; Form1.RadioButton7.Checked := False; Form1.RadioButton19.Checked := False; end; procedure TForm1.RadioButton1Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\A1.txt'); end; procedure TForm1.RadioButton2Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\A2.txt'); end; procedure TForm1.RadioButton3Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\A3.txt'); end; procedure TForm1.RadioButton5Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\B1.txt'); end; procedure TForm1.RadioButton6Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\C1.txt'); end; procedure TForm1.RadioButton10Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\D1.txt'); end; procedure TForm1.RadioButton9Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\D2.txt'); end; procedure TForm1.RadioButton11Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\D3.txt'); end; procedure TForm1.RadioButton13Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\E1.txt'); end; procedure TForm1.RadioButton16Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\G1.txt'); end; procedure TForm1.RadioButton15Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\G2.txt'); end; procedure TForm1.RadioButton7Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\K1.txt'); end; procedure TForm1.RadioButton19Click(Sender: TObject); begin Form1.Memo1.Lines.LoadFromFile('Bases\L1.txt'); end; procedure TForm1.N3Click(Sender: TObject); begin Application.MessageBox('Данная ЭС предназначена для облегчения поиска неисправностей'+#13+ 'и обслуживания прибора Диск-250 ДД.'+#13+ 'Программа разделена на три части:'+#13+ 'Неисправности, Возможная причина и Способ обнаружения и устранения.'+#13+ 'В первой части выберите интересующую неисправность,'+#13+ 'программа предложит ряд возможных её причин,'+#13+ 'выберите нужную, ниже будет выводится способ устранения.', 'Справка по использованию', MB_OK+MB_ICONQUESTION); end; procedure TForm1.N4Click(Sender: TObject); begin Application.MessageBox('Лабораторная работа по дисциплине:'+#13+ 'Cистемы искусственного интеллекта.'+#13+ 'Выполнил студент группы ______'+#13+ 'Иванов И.И.', 'О программе...', MB_OK+MB_ICONINFORMATION); end; procedure TForm1.N2Click(Sender: TObject); begin Form1.Close; end; end.
Вид программы: На рисунке 1 представлено окно программы. Программа состоит из трех частей: «Неисправности», «Причина» и «Способ обнаружения и устранения». Для начала работы нужно выбрать интересующую неисправность прибора, далее программа выберет из второй части, список возможных причин, из этого списка выбираем нужную причину, в результате в третей части появится текст описания обнаружения и устранения данной неисправности.
Рисунок 1 – Окно программы
Вывод: В ходе поделанной работы разработал экспертную систему поиска неисправностей и их устранений прибора Диск-250 ДД. Данная программа может служить хорошим дополнением к АРМ для слесарей КИП или может быть использована для изучения неисправностей данного прибора. Задания к лабораторной работе: 1. Подготовить краткое описание предметной области изучаемого объекта, с использованием паспорта или краткого руководства пользователя любого бытового прибора или промышленного объекта. 2. На примере таблицы 1 составить ЭС неисправностей. 3. Реализовать на ЯП (С/С++) средствами любой среды программирования прототип ЭС (с применением семантической или фреймовой модели знаний). Решение выбора модели представления знаний обосновать. 4. Сделать вывод к лабораторной работе.
Лабораторная работа 10
Тема: применение анализа иерархий для решения задач выбора оптимальной альтернативы Цель работы:изучить этапы реализации метода анализа иерархий (МАИ), правила построения простых иерархических структур, применить метод анализа иерархий для решения задач выбора оптимальной альтернативы.
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (312)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |