Формирование моделей и разработка элементов экспертных систем в условиях иерархичности, многокритериальности и нечеткости характеристик областей экспертизы
Разработка многоуровневой базы знаний на основе фактов. Разработка моделей и реализация многокритериальных задач сравнительного анализа сложных альтернатив на основе метода аналитических иерархий. Разработка модели нечеткого управления в среде MATLAB.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.02.2016 |
Размер файла | 415,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Міністерство науки і освіти України
Днепропетровский національний университет залізничного транспорту ім. В. Лазаряна
Курсовий проект
З дисциплини: «Експертнi системи»
Виконав: ст. гр.3ПЗПС
Подольний М.В.
Шифр: 13003ПЗ
Перевірив: ст. викладач
Самойлов С. П.
Дніпропетровск 2016
Міністерство Освіти і Науки України
Дніпропетровський національний університет залізничного транспорту
імені академіка В. Лазаряна
Факультет: Технічна кібернетика Кафедра: Комп'ютерні інформаційні технології
Спеціальність: 7.080403 (8.080403 ) Програмне забезпечення систем
ЗАТВЕРДЖУЮ
Зав. кафедрою "КІТ"
проф. Скалозуб В.В.
"____"________20 р.
ЗАВДАННЯ
до курсового проекту по дисципліні «Розробка експертних систем і їх програмне забезпечення»
студента______________________________________________________
І. Тема проекту: «Формування моделей і розробка елементів експертних систем за умов ієрархічності, багатокритеріальності та нечіткості характеристик областей експертизи»
ІІ. Дата видачі завдання . 20 р.
Ш. Перелік питань до розробки:
1. Вибір предметної області застосування ЕС з ієрархічною моделлю бази знань, розробка багаторівневої бази знань на основі фактів
1.1 Постановка завдання, вибір предметної області, специфікація вимог до управління даними, визначення основних типів запитів
1.2 Розробка ієрархічної 3 рівневої моделі БЗн області експертизи
1.3 Формування системи фактів для представлення БЗн, урахування можливостей взаємозв'язків даних різних рівнів
1.4 Розробка та адаптація механізмів управління багаторівневою моделлю засобами логічног7о програмування
1.5 Опис структури і модулів БЗн, а також системи основних запитів
2. Розробка моделей та реалізація багатокритеріальних завдань порівняльного аналізу складних альтернатив на основі методу аналітичних ієрархій Т. Сааті
2.1 Формування області багатокритеріального вибору варіантів
2.2 Побудова ієрархічної моделі цілі вибору
2.3 Реалізація процедури МАІ багатокритеріального аналізу на основі попарних порівнянь
2.4 Оцінка узгодженості експертної інформації
2.5 Формування звіту за результатами розрахунків
3. Розробка моделі нечіткого управління у середовищі MATLAB
3.1 Постановка завдання нечіткого управління
3.2 Формування моделі нечіткої управління на основі методів Мамдані або Такагі-Сугено
3.3 Розробка та реалізація моделі засобами MATLAB
3.4 Формування звіту за результатами нечіткого управління
4. Дослідження властивостей результатів експертизи від ступеня нечіткості вихідних даних
V. Висновок по проекту - особливості методів моделювання областей експертизи та методів реалізації ЕС у залежності від категорії вихідної експертної інформації.
Термін виконання курсового проекту 20 р.
Керівник курсового проектування __________ / /
Завдання прийняв до виконання __________ / /
1. Разработка многоуровневой базы знаний на основе фактов
1.1 Постановка задачи, выбор предметной области
Предметная область: «Автомобиль». Создание автомобиля будет состоять из трех этапов: выбор кузова, выбор двигателя, выбор шасси. Дерево решений состоит из 3х уровней:
1) Выбор кузова;
2) Выбор двигателя;
3) Выбор шасси.
В процессе принятия решений можно пройти все три этапа, либо пропустить любой из них. Решения, принятые на предыдущих уровнях, учитываются на следующих.
1.2 Разработка иерархической модели БЗн
Переход между уровнями представляет собой прямой переход и осуществляется с помощью дерева решений (рис 1.1).
Размещено на http://www.allbest.ru/
Рис. 1.1 - 3х уровневое дерево решений
Выбор кузова, двигателя и шасси осуществляется с помощью обратной цепочки вывода. для этого используются деревья и/или.
Уровень 1: Выбор кузова. (рис 1.2.).
Размещено на http://www.allbest.ru/
Рис 1.2. - Дерево И/ИЛИ для выбора кузова.
Уровень 2: Выбор двигателя. (рис 1.3.).
Размещено на http://www.allbest.ru/
Рис. 1.3. - Дерево И/ИЛИ для выбора двигателя
Уровень 3: Выбор шасси. (рис 1.4.).
Размещено на http://www.allbest.ru/
Рис. 1.4. - Дерево И/ИЛИ для выбора шасси
1.3 Текст программы
:-dynamic memory/2.
:-dynamic m1/1. %память для помежуточных результатов
:-dynamic mp/1. %память для предположений
:-dynamic fact/3.
a :- assert(fact(0,'Sprinter',[101,103,115])).
a :- assert(fact(0,'Fiat Diablo',[101,103,116])).
a :- assert(fact(0,'Ford Connect',[101,103,117])).
a :- assert(fact(0,'Mersedes Voulcan',[101,104,118,119])).
a :- assert(fact(0,'Fiat Fireworks',[101,104,119])).
a :- assert(fact(0,'Honda Jazz',[102,105,120])).
a :- assert(fact(0,'Mersedes-Benz A-class',[102,105,121])).
a :- assert(fact(0,'Toyota Tundra',[102,106,122])).
a :- assert(fact(0,'UAZ Patriot',[102,106,123])).
a :- assert(fact(0,'Ford Ranger',[102,107,124])).
a :- assert(fact(0,'Ford F650',[102,107,125])).
a :- assert(fact(1,'SkyActive',[201,203,212])).
a :- assert(fact(1,'Prince',[201,203,213])).
a :- assert(fact(1,'GoldenFish',[201,203,214])).
a :- assert(fact(1,'Endura D',[201,222,215])).
a :- assert(fact(1,'Quad-4',[201,222,216])).
a :- assert(fact(1,'CoBra',[202,204,217])).
a :- assert(fact(1,'QNG10 4WD',[202,204,218,219])).
a :- assert(fact(1,'5A-F',[202,205,220])).
a :- assert(fact(1,'2JZ-GT',[202,205,221])).
a :- assert(fact(2,'VBFullQuattro',[301,303,310])).
a :- assert(fact(2,'VBFullGuyidro 4',[301,303,311])).
a :- assert(fact(2,'VBNivoAir',[301,304,312])).
a :- assert(fact(2,'VBFullAir 2C',[301,304,313])).
a :- assert(fact(2,'Рессоры',[302,315])).
a :- assert(fact(2,'Торсионны',[302,314])).
a :- assert(fact(100,'Кузов',[126])).
a :- assert(fact(101,'Грузовой',[100,108])).
a :- assert(fact(102,'Легковой',[100,109])).
a :- assert(fact(103,'Фургон',[101,110])).
a :- assert(fact(104,'Спец. кузов',[101,111])).
a :- assert(fact(105,'Хетчбек',[102,112])).
a :- assert(fact(106,'Внедорожник',[102,113])).
a :- assert(fact(107,'Пикап',[102,114])).
a :- assert(fact(108,'Нужен грузоподъемный',[])).
a :- assert(fact(109,'Нужен для людей',[])).
a :- assert(fact(110,'Перевозим общие грузы',[])).
a :- assert(fact(111,'Перевозим особенные грузы',[])).
a :- assert(fact(112,'Мало габаритный',[])).
a :- assert(fact(113,'Средне габаритный',[])).
a :- assert(fact(114,'Больше габаритный',[])).
a :- assert(fact(115,'Грузы до 5 тонн',[])).
a :- assert(fact(116,'Грузы до 3 тонн',[])).
a :- assert(fact(117,'Грузы до 8 тонн',[])).
a :- assert(fact(118,'С химической защитой',[])).
a :- assert(fact(119,'Изотермический кузов',[])).
a :- assert(fact(120,'Хотите 5 дверей',[])).
a :- assert(fact(121,'Хотите 3 двери',[])).
a :- assert(fact(122,'8 пас. мест',[])).
a :- assert(fact(123,'5 пас. мест',[])).
a :- assert(fact(124,'V багажника 1500 л.',[])).
a :- assert(fact(125,'V багажника 2700 л.',[])).
a :- assert(fact(126,'Давайте подберем кузов',[])).
a :- assert(fact(200,'Двигатель',[206])).
a :- assert(fact(201,'Дизель',[200,207])).
a :- assert(fact(202,'Бензиновый',[200,208])).
a :- assert(fact(203,'V-образный',[201,209])).
a :- assert(fact(222,'Однорядный',[201,210])).
a :- assert(fact(204,'Инжекторный',[202,210])).
a :- assert(fact(205,'Канрбюраторный',[202,211])).
a :- assert(fact(206,'Давайте подберем двигатель',[])).
a :- assert(fact(207,'Нужен мощный',[])).
a :- assert(fact(208,'Нужен скоростной',[])).
a :- assert(fact(209,'С сильной тягой',[])).
a :- assert(fact(210,'Экономичный',[])).
a :- assert(fact(211,'Дешевый',[])).
a :- assert(fact(212,'6ти цилиндровый',[])).
a :- assert(fact(213,'8ми цилиндровый',[])).
a :- assert(fact(214,'12ти цилиндровый',[])).
a :- assert(fact(215,'Максимальный ресурс',[])).
a :- assert(fact(216,'Ресурс до 500 тыс. км',[])).
a :- assert(fact(217,'Распределенный впрыск',[])).
a :- assert(fact(218,'Центральный впрыск',[])).
a :- assert(fact(219,'1.8L',[])).
a :- assert(fact(220,'3.0L',[])).
a :- assert(fact(221,'5.6L',[])).
a :- assert(fact(300,'Шасси',[305])).
a :- assert(fact(301,'Мягкая',[300,306])).
a :- assert(fact(302,'Жесткая',[300,307,108])).
a :- assert(fact(303,'Гидро пневматическая',[301,308])).
a :- assert(fact(304,'Пневматическая',[301,309])).
a :- assert(fact(305,'Давайте определимся с шасси',[])).
a :- assert(fact(306,'Для города',[])).
a :- assert(fact(307,'Для бездорожья',[])).
a :- assert(fact(308,'Дорогое',[])).
a :- assert(fact(309,'Дешевое',[])).
a :- assert(fact(310,'Клиренс до 15 см.',[])).
a :- assert(fact(311,'Клиренс до 25 см.',[])).
a :- assert(fact(312,'Изменяемый клиренс',[])).
a :- assert(fact(313,'Постоянный клиренс',[])).
a :- assert(fact(314,'Надежное',[])).
a :- assert(fact(315,'Дешевое',[])).
a :- assert(fact(500,'грузовик',[])).
as :- a,fail.
as.
readchar(Ch):- get_char(Ch),get_char(_).
cond(Ch, Answer) :- (Ch = 'Д'; Ch = 'д'),asserta(memory(Answer, да)),Answer='Нужен грузоподъемный', asserta(memory('грузовик',нет)),!.
cond(Ch, Answer) :- (Ch = 'Д'; Ch = 'д'),asserta(memory(Answer, да)),!.
cond(Ch, Answer) :- (Ch = 'Н'; Ch = 'н'),asserta(memory(Answer, нет)),Answer='Нужен грузоподъемный',asserta(memory('грузовик', да)),!,fail.
cond(Ch, Answer) :- (Ch = 'Н'; Ch = 'н'),asserta(memory(Answer, нет)),!,fail.
cond(Ch, Answer) :- (Ch = '?'),writef('Я предполагаю что это '),mp(Y),writef(Y),nl, pr([],Answer).
%работа эксперта
pr([],Answer):-memory(Answer, нет),!,fail.
pr([],Answer):-memory(Answer, да),!.
pr([],Answer):-write(Answer), write('? => '), readchar(Ch), cond(Ch, Answer).
pr([Beg|End],Answer):- End=[],asserta(mp(Answer)),prel(Beg),vstavka(Answer),mp(Y),retract(mp(Y)),!.
pr([Beg|End],Answer):-asserta(mp(Answer)),prel(Beg),pr(End,Answer).
%проверка элемента БЗн
prel(Num):-fact(Num,Answer,List),pr(List,Answer),!.
%вставка неповторяющихся элементов
vstavka(El):-m1(El).
vstavka(El):-asserta(m1(El)).
%обратная цепочка вывода
tree1 :- fact(0,Answer,List),pr(List,Answer),write('Вам нужен '), write(Answer),nl,asserta(memory(Answer, да)).
tree1:-m1(X),write('Вам нужен '), write(X) .
tree1:-write('Не могу определить кузов').
tree2 :- fact(1,Answer,List),pr(List,Answer),write('Вам необходим '), write(Answer),nl,asserta(memory(Answer, да)).
tree2:-m1(X),write('Вым необходим '), write(X).
tree2:-write('Не могу определить двигатель').
tree3 :- fact(2,Answer,List),pr(List,Answer),write('Вам подойдет '), write(Answer),nl,nl.
tree3:-m1(X),write('Вам подойдет '), write(X).
tree3:-write('Не могу определить шасси').
%прямая цепочка вывода
level1 :- write('Определили конкретный кузов? '), readchar(Ch), nl, (Ch = 'Д'; Ch = 'д'), level2.
level1 :- retractall(m1(_)),tree1, nl,retractall(m1(_)),tree2,retractall(m1(_)), nl,tree3.
level2 :- nl,write('Определили двигатель? '), readchar(Ch), nl, (Ch = 'Д'; Ch = 'д'), level3.
level2 :- tree2, nl,tree3.
level3 :- nl,write('Шасси подобрали? '), readchar(Ch), nl, (Ch = 'Д'; Ch = 'д'), result.
level3 :- tree3.
result :- write('Вы все знаете :)').
%функция меню
меню :- nl,write('Меню'), nl,
write('1. Эсперт '), nl,
write('2. Выход'), nl,
write(' => '),
readchar(Choice),choose(Choice),!.
%функция выбора пункта меню
choose('1'):-retractall(fact(_,_,_)),as,retractall(memory(_,_)),retractall(m1(_)),retractall(mp(_)),level1, меню.
choose('2'):- !.
:- меню.
1.4 Описание фактов
f ( 0,”заключение : об1”, [ 3, -1 ] ).
“промежуточное заключение”, ...
“вопрос о свойствах”, ...
список подкрепляющих фактов
f ( 0, “об2”, [ 1,2 ] ).
f ( 1, “промежуточный вывод Поб1”, [ 4, 5 ] ).
f ( 4, “какой-то вопрос”, [ ] ).
1.5 Пример работы программы
Меню
1. Эсперт
2. Выход многокритериальный аналитический иерархия управление
=> 1
Определили конкретный кузов? н
Давайте подберем кузов? => д
Нужен грузоподъемный? => д
Перевозим общие грузы? => н
Перевозим особенные грузы? => д
С химической защитой? => н
Изотермический кузов? => д
Вам нужен Fiat Fireworks
Давайте подберем двигатель? => д
Нужен мощный? => д
С сильной тягой? => д
6ти цилиндровый? => н
8ми цилиндровый? => н
12ти цилиндровый? => д
Вам необходим GoldenFish
Давайте определимся с шасси? => д
Для города? => н
Для бездорожья? => д
Дешевое? => н
Надежное? => д
Вам подойдет Торсионны
Меню
1. Эсперт
2. Выход
=> 1
Определили конкретный кузов? д
Определили двигатель? д
Шасси подобрали? н
Давайте определимся с шасси? => д
Для города? => д
Дорогое? => д
Клиренс до 15 см.? => д
Вам подойдет VBFullQuattro
Меню
1. Эсперт
2. Выход
=> 2
2. Разработка моделей и реализация многокритериальных задач сравнительного анализа сложных альтернатив на основе метода аналитических иерархий
2.1 Формирование области многокритериального выбора вариантов
Стоит задача о выборе марки автомобиля с их известными особенностями и характеристиками. Выбранная марка должна удовлетворять требованиям эксперта.
2.2 Построение многокритериальной модели задачи выбора
Выделены основные параметры: назначение автомобиля (пассажирский, грузовой), двигатель (экономичность, ускорение, ресурс), подвеска (проходимость, диаметр колес, смягчение неровностей дорог), цена.
Многокритериальная модель представлена на рис. 2.1.
Размещено на http://www.allbest.ru/
Рис. 2.1. - Многокритериальная иерархическая модель задания выбора.
2.3 Реализация процедуры МАИ многокритериального анализа на основе попарных сранений
Относительные оценки показателей показаны на таблицах (1-13):
Таблица 1. Автомобиль.
Автомобиль |
Назначение |
Тип двиг. |
Подвеска |
Цена |
W1 |
|
Назначение |
1,00 |
1,80 |
9,00 |
1,29 |
0,41 |
|
Тип двиг. |
0,56 |
1,00 |
5,00 |
0,71 |
0,23 |
|
Подвеска |
0,11 |
0,20 |
1,00 |
0,14 |
0,05 |
|
Цена |
0,78 |
1,40 |
7,00 |
1,00 |
0,32 |
Таблица 2. Назначение
Назначение |
Пассаж |
Грузов |
W2 |
|
Пассаж |
1,00 |
1,80 |
0,64 |
|
Грузов |
0,56 |
1,00 |
0,36 |
Таблица 3. Двигатель.
Двигатель |
Эконом |
Ускорение |
Ресурс |
W3 |
|
Эконом |
1,00 |
3,00 |
1,80 |
0,53 |
|
Ускорение |
0,33 |
1,00 |
0,60 |
0,18 |
|
Ресурс |
0,56 |
1,67 |
1,00 |
0,29 |
Таблица 4. Подвеска.
Подвеска |
Проход |
Диаметр |
Смягч |
W4 |
|
Проход |
1,00 |
2,33 |
0,78 |
0,37 |
|
Диаметр |
0,43 |
1,00 |
0,33 |
0,16 |
|
Смягч |
1,29 |
3,00 |
1,00 |
0,47 |
Таблица 5. Цена.
Цена |
Ford |
Fiat |
Hummer |
BMW |
W4 |
|
Ford |
1,00 |
1,29 |
3,00 |
1,80 |
0,39 |
|
Fiat |
0,78 |
1,00 |
2,33 |
1,40 |
0,30 |
|
Hummer |
0,33 |
0,43 |
1,00 |
0,60 |
0,13 |
|
BMW |
0,56 |
0,71 |
1,67 |
1 |
0,18 |
Таблица 6. Пассажироперевозка.
Пассаж |
Ford |
Fiat |
Hummer |
BMW |
W4 |
|
Ford |
1,00 |
1,40 |
0,78 |
1,00 |
0,27 |
|
Fiat |
0,71 |
1,00 |
0,56 |
0,71 |
0,19 |
|
Hummer |
1,29 |
1,80 |
1,00 |
1,29 |
0,34 |
|
BMW |
1,00 |
1,40 |
0,78 |
1 |
0,20 |
Таблица 7. Грузоперевозка.
Грузов |
Ford |
Fiat |
Hummer |
BMW |
W4 |
|
Ford |
1,00 |
0,78 |
7,00 |
2,33 |
0,35 |
|
Fiat |
1,29 |
1,00 |
9,00 |
3,00 |
0,46 |
|
Hummer |
0,14 |
0,11 |
1,00 |
0,33 |
0,05 |
|
BMW |
0,43 |
0,33 |
3,00 |
1 |
0,14 |
Таблица 8. Экономичность.
Экономичность |
Ford |
Fiat |
Hummer |
BMW |
W4 |
|
Ford |
1,00 |
1,80 |
9,00 |
3,00 |
0,51 |
|
Fiat |
0,56 |
1,00 |
5,00 |
1,67 |
0,28 |
|
Hummer |
0,11 |
0,20 |
1,00 |
0,33 |
0,06 |
|
BMW |
0,33 |
0,60 |
3,00 |
1 |
0,16 |
Таблица 9. Ускорение
Ускорение |
Ford |
Fiat |
Hummer |
BMW |
W4 |
|
Ford |
1,00 |
1,40 |
0,88 |
0,78 |
0,26 |
|
Fiat |
0,71 |
1,00 |
0,63 |
0,56 |
0,19 |
|
Hummer |
1,14 |
1,60 |
1,00 |
0,89 |
0,30 |
|
BMW |
1,29 |
1,80 |
1,13 |
1 |
0,25 |
Таблица 10. Ресурс двигателя
Ресурс |
Ford |
Fiat |
Hummer |
BMW |
W4 |
|
Ford |
1,00 |
0,89 |
1,60 |
1,14 |
0,29 |
|
Fiat |
1,13 |
1,00 |
1,80 |
1,29 |
0,33 |
|
Hummer |
0,63 |
0,56 |
1,00 |
0,71 |
0,18 |
|
BMW |
0,88 |
0,78 |
1,40 |
1 |
0,20 |
Таблица 11. Проходимость
Проходимость |
Ford |
Fiat |
Hummer |
BMW |
W4 |
|
Ford |
1,00 |
1,67 |
0,56 |
0,63 |
0,22 |
|
Fiat |
0,60 |
1,00 |
0,33 |
0,38 |
0,13 |
|
Hummer |
1,80 |
3,00 |
1,00 |
1,13 |
0,39 |
|
BMW |
1,60 |
2,67 |
0,89 |
1 |
0,26 |
Таблица 12. Диаметр колес
Диаметр колес |
Ford |
Fiat |
Hummer |
BMW |
W4 |
|
Ford |
1,00 |
1,17 |
0,78 |
0,88 |
0,25 |
|
Fiat |
0,86 |
1,00 |
0,67 |
0,75 |
0,22 |
|
Hummer |
1,29 |
1,50 |
1,00 |
1,13 |
0,32 |
|
BMW |
1,14 |
1,33 |
0,89 |
1 |
0,21 |
Таблица 13. Смягчение неровностей дорог
Смягч |
Ford |
Fiat |
Hummer |
BMW |
W4 |
|
Ford |
1,00 |
1,13 |
1,80 |
1,50 |
0,33 |
|
Fiat |
0,89 |
1,00 |
1,60 |
1,33 |
0,30 |
|
Hummer |
0,56 |
0,63 |
1,00 |
0,83 |
0,19 |
|
BMW |
0,67 |
0,75 |
1,20 |
1 |
0,18 |
2.4 Расчет сравнительной эффективности вариантов. Выбор решения
Собственные числа матрицы
n- размерность матрицы;
i- номер строки;
j- номер столбца.
Оценки собственных чисел матрицы
Таблица 14. Оценки приоритетов критериев
Автомобиль |
Beta |
Оценки |
Приор |
|
Назначение |
20,829 |
2,136 |
0,409 |
|
Тип двиг. |
1,984 |
1,187 |
0,227 |
|
Подвеска |
0,003 |
0,237 |
0,045 |
|
Цена |
7,622 |
1,662 |
0,318 |
|
Пассаж |
1,800 |
1,158 |
0,573 |
|
Грузов |
0,556 |
0,863 |
0,427 |
|
Эконом |
5,400 |
1,524 |
0,480 |
|
Ускорение |
0,200 |
0,669 |
0,211 |
|
Ресурс |
0,926 |
0,981 |
0,309 |
|
Проход |
1,815 |
1,161 |
0,365 |
|
Диаметр |
0,143 |
0,615 |
0,194 |
|
Смягч |
3,857 |
1,401 |
0,441 |
Таблица 15. Оценки приоритетов автомобиля Ford
FORD |
Beta |
Оценки |
Приор |
|
Цена |
6,9429 |
1,6232 |
0,1306 |
|
Пассажирский |
1,0889 |
1,0215 |
0,0822 |
|
Грузовой |
12,7037 |
1,8879 |
0,1519 |
|
Экономичность |
48,6000 |
2,6403 |
0,2125 |
|
Ускорение |
0,9528 |
0,9880 |
0,0795 |
|
Ресурс |
1,6254 |
1,1291 |
0,0909 |
|
Проходимость |
0,5787 |
0,8722 |
0,0702 |
|
Диаметр колес |
0,7940 |
0,9440 |
0,0760 |
|
Смягчение дорог |
3,0375 |
1,3202 |
0,1062 |
Таблица 15. Оценки приоритетов автомобиля Fiat
FIAT |
Beta |
Оценки |
Приор |
|
Цена |
2,5407 |
1,2625 |
0,1218 |
|
Пассажирский |
0,2834 |
0,7297 |
0,0704 |
|
Грузовой |
34,7143 |
2,4273 |
0,2341 |
|
Экономичность |
4,6296 |
1,4669 |
0,1415 |
|
Ускорение |
0,2480 |
0,7057 |
0,0681 |
|
Ресурс |
2,6036 |
1,2703 |
0,1225 |
|
Проходимость |
0,0750 |
0,5233 |
0,0505 |
|
Диаметр колес |
0,4286 |
0,8091 |
0,0780 |
|
Смягчение дорог |
1,8963 |
1,1735 |
0,1132 |
Таблица 16. Оценки приоритетов автомобиля Hummer
HUMMER |
Beta |
Оценки |
Приор |
|
Цена |
0,0857 |
0,5411 |
0,0696 |
|
Пассажирский |
2,9755 |
1,3134 |
0,1690 |
|
Грузовой |
0,0053 |
0,2697 |
0,0347 |
|
Экономичность |
0,0074 |
0,2934 |
0,0378 |
|
Ускорение |
1,6254 |
1,1291 |
0,1453 |
|
Ресурс |
0,2480 |
0,7057 |
0,0908 |
|
Проходимость |
6,0750 |
1,5700 |
0,2021 |
|
Диаметр колес |
2,1696 |
1,2137 |
0,1562 |
|
Смягчение дорог |
0,2894 |
0,7334 |
0,0944 |
Таблица 17. Оценки приоритетов автомобиля BMW
BMW |
Beta |
Оценки |
Приор |
|
Цена |
0,6614 |
0,9018 |
0,0978 |
|
Пассажирский |
1,0889 |
1,0215 |
0,1107 |
|
Грузовой |
0,4286 |
0,8091 |
0,0877 |
|
Экономичность |
0,6000 |
0,8801 |
0,0954 |
|
Ускорение |
2,6036 |
1,2703 |
0,1377 |
|
Ресурс |
0,9528 |
0,9880 |
0,1071 |
|
Проходимость |
3,7926 |
1,3955 |
0,1513 |
|
Диаметр колес |
1,3545 |
1,0788 |
0,1169 |
|
Смягчение дорог |
0,6000 |
0,8801 |
0,0954 |
Таблица 18. Автомобиль, удовлетворяющий всем критериям
FORD |
0,3876 |
|
FIAT |
0,3827 |
|
HAMMER |
0,3564 |
|
BMW |
0,3599 |
В результате расчетов, наибольшее значение функция приобрела для марки автомобилей Ford. С точки зрения эксперта данная марка автомобилей является лучшей по соотношению показателей.
3. Разработка модели нечеткого управления в среде MATLAB
3.1 Постановка задачи нечеткого управления
Была рассмотрена задача по прогнозированию износа (в микрометрах) тормозных дисков автомобилей. Входные данные: вес автомобиля (weight), плотность потока автомобилей, расстояние.
Рис. 3.1. Общая структура системы нечеткого вывода для задачи прогнозирования износа тормозных дисков.
3.2 Формування моделі нечіткої управління
Вес автомобиля - отрезок от 300 до 8 000 кг. Нечеткие переменные: легковой, спортивный, внедорожник, грузовой. Функции принадлежности для нечетких переменных показаны на рис. 3.2.
Плотность потока автомобилей - отрезок от 2 - 10 машин/площадь дороги. Нечеткие переменные: малая, средняя, большая. Функции принадлежности для нечетких переменных показаны на рис. 3.3.
Длина движения - отрезок от 0 до 100 000 км. Нечеткие переменные: малая, средняя, большая. Функции принадлежности для нечетких переменных показаны на рис. 3.4.
Износ - отрезок от 0 до 10 000 (нм) . Нечеткие переменные: малый, средний, большой, критический. Функции принадлежности для нечетких переменных показаны на рис. 3.5.
3.3 Разработка и реализация модели инструментами MATLAB
Рис. 3.2. Функции принадлежности для нечетких переменных веса.
Рис. 3.3. Функции принадлежности для нечетких переменных плотности потока.
Рис. 3.4. Функции принадлежности для нечетких переменных длины движения.
Рис. 3.5. Функции принадлежности для нечетких переменных износа.
После были заданы такие правила:
Рис. 3.6. Задание системы нечетких правил инструментами редактора.
3.4 Формирование отчета по результатам нечеткого управления
Совокупность правил и реализация нечеткого вывода были получены в графическом виде с изменением входных данных:
Рис. 3.7. Cовокупность правил и реализация нечеткого вывода
Рис. 3.7. Cовокупность правил и реализация нечеткого вывода
Рис.. 3.8. Cовокупность правил и реализация нечеткого вывода
Рис.. 3.9. Поверхность нечеткого вывода (вес, плотность потока)
Рис.. 3.10. Поверхность нечеткого вывода (вес, дистанция)
Список использованной литературы
1. Википедия [Электронный ресурс], URL http://wikipedia.org
2. Matlab [Электронный ресурс], URL http://matlab.com
Размещено на Allbest.ru
Подобные документы
- Разработка алгоритмов и программ для определения сходства семантических сетей на основе их сложности
Семантические сети как модели представления знаний. Основные методы определения сходства графовых моделей систем. Метод решения задач определения сходства семантических сетей на основе их сложности. Разработка алгоритмов и их программная реализация.
дипломная работа [1,3 M], добавлен 17.12.2011 Основные модели представления знаний. Системы поддержки принятия решений. Диаграмма UseCase. Разработка базы данных на основе трех моделей: продукционные правила, семантическая сеть, фреймовая модель. Программная реализация системы принятия решений.
курсовая работа [715,1 K], добавлен 14.05.2014AnyLogic как инструмент компьютерного моделирования нового поколения. Процесс разработки моделей и реализация имитационных моделей для распространения эпидемического заболевания. Разработка систем обратной связи (диаграммы потоков и накопителей).
контрольная работа [1,8 M], добавлен 21.07.2014Проектирование и реализация модели, которая будет имитировать автозаправочную станцию с постоплатой. Подбор оптимальных параметров модели с учетом требований к сети массового обслуживания. Разработка модели в среде имитационного моделирования GPSS World.
контрольная работа [279,5 K], добавлен 16.03.2014Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.
курсовая работа [1,5 M], добавлен 07.07.2013Разработка имитационной модели "Перекресток" для анализа бизнес-процессов предприятия и принятия решения в сложных условиях. Алгоритм построения имитационной модели на основе CASE-средств. Обзор программного обеспечения для имитационного моделирования.
дипломная работа [2,6 M], добавлен 22.11.2015Построение графа связей фактов и определение структуры базы знаний. Описание функций инициализации и констатации фактов, входных и выходных данных. Операции, направленные на занесение фактов и действий в базу знаний. Итоговое представление базы знаний.
курсовая работа [176,9 K], добавлен 13.11.2012Разработка методов дихотомической оценки нечетких моделей знаний операторов информационной системы о государственных и муниципальных платежах. Механизмы и принципы управления базами нечетких моделей знаний операторов, методика и этапы их идентификации.
диссертация [2,0 M], добавлен 30.01.2014Понятия, классификация и структура экспертных систем. Базы знаний и модели представления знаний. Механизмы логического вывода. Инструментальные средства проектирования и разработки экспертных систем. Предметная область ЭС "Выбор мобильного телефона".
курсовая работа [2,2 M], добавлен 05.11.2014Теория агрегативных моделей. Очередь как основной элемент моделей обслуживания; параметры приходящих заявок. Элементы обслуживающего узла, совокупность приборов обслуживания. Разработка библиотеки элементов, моделирующей работу Агрегата в среде MatLab.
курсовая работа [188,4 K], добавлен 28.10.2013