Порядок виконання роботи. 1. Ознайомитись з теоретичним матеріалом з відповідного розділу конспекта лек-цій та методичними вказівками до виконання лабораторної роботи

1. Ознайомитись з теоретичним матеріалом з відповідного розділу конспекта лек-цій та методичними вказівками до виконання лабораторної роботи.

2. Підготувати задачу відповідно до варіанта до рівня, доступного для розв¢язання в обраному середовищі (визначити всі потрібні функції, скласти програму).

3. Виконати тестові приклади та визначити особливості власної задачі, зокрема, вплив функції належності та методу дефадзифікації на отриманий результат.

4. Виконати складену в п.20 задачу, дати інтерпретацію отриманим результатам.

Склад звіту

1. Постановка задачі.

2.Програмна документація, підготовлена відповідно до вимог держстандартів України або ЄСПД.

 

Тестові приклади та методичні вказівки до виконання лаборпторної роботи

Розглянемо роботу системи нечіткого логічного висновку пакета Fuzzy Logic Toolbox на прикладі проектування систем типу Мамдани, виконавши моделювання (представлення, аппркосимація) залежності , . Проектування системи нечіткого логічного висновку, а саме створення бази знань – системи правил, доцільно проводити на основі графічного зображення зазначеної залежності. Для побудови тривимірного зображення функції в області створимо наступну програму:

 

%Побудова графіка функції y= х1 ^2*sin(x2-1)

%

%в області x1є[-7,3] і x2є[-4.4,1.7].
n=15;
х1 =-7:10/(n-1):3;
x2=-4.4:6.1/(n-1):1.7;
y=zeros(n,n);
for j=1:n
y(j,:)= х1. ^2*sin(x2(j)-1);
end
surf(х1,x2,y)
xlabel(' х1 ')
ylabel('x2')
zlabel('у')
title('Target');

 

У результаті виконання програми одержимо графічне зображення, приведене на рис. 3.1. Інтерактивний процес проектування системи нечіткого логічного висновку, що відповідає приведеному графіку, складається у виконанні наступної послідовності кроків.

Рис.3.1. Еталонна поверхня

10. З авантажити основний fis-редактор - використовують команду fuzzy у команд-ному рядку. Після цього відкриється нове графічне вікно, показане на рис. 3.2.

 

 

Рис.3.2. Вікно редактора FIS-Editor

20. Робота з вхідними змінними: починаємо з введення другої вхідної змінної, для цього в меню Edit вибираємо команду Add input.

30. Першу вхідну змінну перейменуємо. Для цього зробимо один щиглик лівою кнопкою миші на блоці input1, введемо нове позначення х1 у поле редагування імені поточної змінної і натиснемо <Enter>.

40. Відповідно перейменуємо другу вхідну змінну. Для цього зробимо один щиглик лівою кнопкою миші на блоці input2, введемо нове позначення x2 у поле редагування імені поточної змінної і натиснемо <Enter>.

50. Робота з вихідною змінною. Перейменуємо вихідну змінну. Для цього зробимо один щиглик лівою кнопкою миші на блоці output1, введемо нове позначення y у поле редагування імені поточної змінної і натиснемо <Enter>.

60. Задамо ім'я системи. Для цього в меню File вибираємо в підменю Export команду To disk і вводимо ім'я файлу, наприклад, first.

70. Перейдемо в редактор функцій належності. Для цього зробимо подвійного щиглика лівою кнопкою миші на блоці х1.

80. Задамо діапазон зміни змінної х1. Для цього введемо значення діапазону і надрукуємо -7 3 у поле Range (див. рис. 3.3) і натиснемо <Enter>.

90. Задамо функції належності змінної х1. Для лінгвістичної оцінки цієї змінної будемо використовувати 3 терма з трикутними функціями належності. Для цього в меню Edit виберемо команду Add MFs... У результаті з'явитися діалогове вікно вибору типу і кількості функцій належностей. За замовчуванням це 3 терма з трикутними функціями належності. Тому просто натискаємо <Enter>.

100. Задамо найменування термов змінної х1. Для цього робимо один щиглик лівою кнопкою миші за графіком першої функції належності (див. рис. 3.3). Потім вводимо найменування терма, наприклад, Низький, у поле Name і натиснемо <Enter>. Потім робимо один щиглик лівою кнопкою миші за графіком другої функції належності і вводимо найменування терма, наприклад, Середній, у поле Name і натиснемо <Enter>. Ще раз робимо один щиглик лівою кнопкою миші за графіком третьої функції належності і вводимо найменування терма, наприклад, Високий, у поле Name і натиснемо <Enter>. У результаті одержимо графічне вікно, зображене на рис. 3.3.

Рис.3.3. Функції належності змінної х1

110. Задамо функції належності змінної x2. Для лінгвістичної оцінки цієї змінної будемо використовувати 5 термів з гаусовськими функціями належності. Для цього активізуємо змінну x2 за допомогою щиглика лівої кнопки миші на блоці x2. Задамо діапазон зміни змінної x2. Для цього надрукуємо -4.4 1.7 у полі Range (див. рис. 3.4) і натиснемо <Enter>. Потім у меню Edit виберемо команду Add MFs.... У діалоговому вікні, що з¢явилось, вибираємо тип функції належності gaussmf у полі MF type і 5 термів у полі Number of MFs. Після цього натискаємо <Enter>.

Рис 3.4. Функції належності змінної x2

120. За аналогією з кроком 10 задамо наступні найменування термов змінної x2: Низький, Нижче середнього, Середній, Вище за середнє, Високий. У результаті одержимо графічне вікно, зображене на рис. 3.4.

130. Задамо функції належності змінної y. Для лінгвістичної оцінки цієї змінної будемо використовувати 5 термів із трикутними функціями належності. Для цього активізуємо змінну y за допомогою щиглика лівої кнопки миші на блоці y. Задамо діапазон зміни змінної y. Для цього надрукуємо -50 50 у полі Range (див. рис. 3.5) і натиснемо <Enter>. Потім у меню Edit виберемо команду Add MFs.... У діалоговому вікні, що з¢яіилось, вибираємо 5 термів у полі Number of MFs. Після цього натискаємо <Enter>.

Рис 3.5. Функції належності змінної y

140. За аналогією з кроком 10 задамо наступні найменування термов змінної y: Низький, Нижче середнього, Середній, Вище за середнє, Високий. У результаті одержимо графічне вікно, зображене на рис. 3.5.

150. Перейдемо в редактор бази знань RuleEditor. Для цього виберемо в меню Edit виберемо команду Edit rules....

160. На основі візуального спостереження за графіком, зображеним на рис. 3.1 сформулюємо наступні дев'ять правил:

1. Якщо х1 =Середній, то y =Середній;

2. Якщо х1 =Низький і х2 =Низький, то у =Високий;

3. Якщо х1 =Низький і х2 =Високий, то у =Високий;

4. Якщо х1 =Високий і х2 =Високий, то у =Вище За середнє;

5. Якщо х1 =Високий і х2 =Низький, то у =Вище За середнє;

6. Якщо х1 =Високий і х2 =Середній, то у =Середній;

7. Якщо х1 =Низький і х2 =Середній, то у =Низький;

8. Якщо х1 =Високий і х2 =Вище За середнє, то у =Середній;

9. Якщо х1 =Високий і х2 =Нижче Середнього, то у =Середній.

Для введення правила необхідно вибрати в меню відповідну комбінацію термов і натиснути кнопку Add rule. На рис. 3.6 зображене вікно редактора бази знань після введення всіх дев'яти правил. Число, приведене в дужках наприкінці кожного правила являє собою ваговий коефіцієнт відповідного правила.

Рис 3.6. База знань у RuleEditor

170. Збережемо створену систему. Для цього в меню File вибираємо в підменю Export команду To disk.

На рис. 3.7 приведене вікно візуалізації нечіткого логічного висновку. Це вікно активізується командою View rules... меню View. У полі Input наводяться значення вхідних змінних, для яких виконується логічний висновок.

Рис 3.7. Візуалізація нечіткого логічного висновку в RuleViewer

На рис. 3.8 приведена поверхня “вхід-вихід”, що відповідає синтезованій нечіткій системі. Для висновку цього вікна необхідно використовувати команду View surface... меню View. Порівнюючи поверхні на рис. 3.1 і на рис. 3.8 можна зробити висновок, що нечіткі правила досить добре описують складну нелінійну залежність.

.

Рис 3.8. Поверхня “вхід-вихід” у вікні SurfaceViwer

 

 

Виконати моделювання (апроксимація) функціональної залежності на підставі систем нечіткого висновку типу Мамдані:

- шляхом використання графічного інтерфейсу;

- шляхом створення окремої програми

 

Варіанти завдань

 

№ варіанту Тип функції Область визначення змінних Примітки
   
  y=F (x 1, x 2) = sin(x 1 + x 2) – x 1 x 1, x 2 [0, 2pi]  
  y= F (x 1, x 2)=exp(– x 1)+ sin(x 2/2) x 1, x 2 [0, 2pi]  
  y=F (x 1, x 2, x 3) = sin(x 1 + x 2 + x 3) x 1, x 2, x 3 [0, 2pi/3]  
  y=F (x 1, x 2, x 3) = cos(x 1 + x 2 + x 3) x 1, x 2, x 3 [0, 2pi/3]  
  y=F (x 1, x 2, x 3) = sin((x 1+ x 2 + x 3)/2) x 1, x 2, x 3 [0, 2pi/3]  
  y=F (x 1, x 2, x 3) = cos((x 1+ x 2 + x 3)/2) x 1, x 2, x 3 [0, 2pi/3]  
  y=F (x 1, x 2, x 3) = exp(– x 1) + exp(– x 2) + exp(x 3/2) x 1, x 2, x 3 [0, 2pi/3]  
  y=F (x 1, x 2, x 3) = sin(x 1 + x 2 + x 3) x 1, x 2, x 3 [0, 2pi/3]  

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: