Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_практ.doc
Скачиваний:
7
Добавлен:
19.02.2016
Размер:
7.08 Mб
Скачать

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

Використовуючи стандартні засоби Fuzzy Logic Toolbox MatLab, скласти программу для обчислення алгебраїчного виразу, який складається з нечітких змінних: ;

варіанту

Значення змінних і тип ФН

Метод дефадзифікації результaту

1

Приблизно 10- gaussmf

Приблизно 7- trapmf

Приблизно 4- trimf

centroid

2

Приблизно 11- trimf

Приблизно 10- gaussmf

Приблизно 7- trapmf

bisector

3

Приблизно 10- трик

Приблизно 10- gaussmf

Приблизно 10- trapmf

centroid

4

Приблизно 10- gaussmf

Приблизно 10- gaussmf

Приблизно 10- gaussmf

bisector

5

Приблизно 10- trapmf

Приблизно 10- trapmf

Приблизно 10- trapmf

centroid

6

Приблизно 10- грикут

Приблизно 15- gaussmf

Приблизно 11- trimf

bisector

7

Приблизно 10- trapmf

Приблизно 10- trimf

Приблизно 10- trimf

centroid

8

Приблизно 10- трик

Приблизно 10- gaussmf

Приблизно 10- trapmf

centroid

9

Приблизно 10- gaussmf

Приблизно 10- gaussmf

Приблизно 10- gaussmf

bisector

Нечіткі висновки

Проектування систем типу Мамдані

Мета роботи

1. Опанувати техніку виконання операцій нечітких висновків в середовищі Матлаб.

2. Визначити місце і роль нечіткої логіки в загальному контексті штучного інтелекту та інтелектуальних систем.

Порядок виконання роботи

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]