Зміст звіту з лабораторної роботи
1. Вказати номер, тему й мету лабораторної роботи. Вибрати завдання згідно з варіантом з таблиці 8.1.
Таблиця 8.1
№ | Завдання |
Управління процесом нагріву води | |
Управління процесом сповільнення автомобілю на трасі | |
Управління процесом заповнення протічного басейну | |
Управління процесом підвищенням тиску в барокамері | |
Управління процесом підйому повітряної кулі | |
Управління процесом занурення підводної лодки | |
Управління процесом приземлення повітряної кулі | |
Управління процесом кондиціонування повітря в приміщенні |
2. Навести fis – структуру експертної системи.
3. Відобразити початкові та оптимізовані функції належності та базу правил.
4. Зробити порівняльні висновки стосовно роботи системи з різним настройками.
8.6 Контрольні питання
1. Для чого призначений пакет FuzzyLogicToolbox? Назвати основні властивості.
2. Для чого призначений графічний редактор нечіткої системи виведення?
3. Як викликати FIS–редактор?
4. Для чого призначений графічний інтерфейс гібридних мереж?
5. Що дозволяє виконувати програма кластеризації?
6. Дати визначення експертної системи.
7. Що таке функції належності? Як викликати редактор для їх задання?
8. Які види функцій належності ви знаєте?
9. Де можна задати правила для системи?
10. Що таке поверхня відгуку нечіткої системи? Як її переглянути?
11. Які галузі застосування подібних експертних систем?
12. Пояснити принцип дії даної експертної системи.
ЛАБОРАТОРНА РОБОТА № 9 ПОРІВНЯЛЬНЕ ДОСЛІДЖЕННЯ РОБОТИ АЛГОРИТМІВ МАМДАНІ ТА СУГЕНО
Мета роботи:Освоїти принципи роботи алгоритмів Мамдані та Сугено. Навчитися задавати властивості системи залежно від поставленої задачі та алгоритму рішення.
Вступ
Алгоритми нечіткого виведення різняться, головним чином, видом використовуваних правил, логічних операцій і різновидом методу дефазифікації. Розроблені моделі нечіткого виведення Мамдані, Сугено, Ларсена, Цукамото. При розгляді алгоритмів для спрощення припустимо, що базу знань організують два нечітких правила вигляду:
П1: якщо х є А1 та у є В1, то z є С1,
П2: якщо х є А2 та у є В2, то z є С2,
де х і у – імена вхідних змінних, z – ім’я змінної виведення, А1, А2, В1, В2, С1, С2 – деякі задані функції належності, при цьому чітке значення z0 необхідно визначити на основі наведеної інформації та чітких значень x0і y0.
9.2 Алгоритм Мамдані (Mamdani)
Алгоритм Мамдані є одним з перших, який знайшов застосування в системах нечіткого виведення. Він був запропонований 1975 р. англійським математиком Е. Мамдані (Ebrahim Mamdani) як метод для керування паровим двигуном. Формально алгоритм Мамдані може бути визначений таким чином.
1. Процедура фазифікації: визначаються ступені істинності, тобто значення функцій належності для лівих частин кожного правила (передумов): А1(x0), А2(x0), В1(y0), В2(y0).
2. Нечітке виведення: знаходяться рівні відтинання для передумов кожного з правил з використанням операції мінімум:
a1 = А1(х0) Ù В1(у0),
a2 = А2(х0) Ù В2(у0),
де через «Ù» позначена операція логічного мінімуму (min), потім знаходяться «зрізані» функції належності
С1¢(z) = (a1 Ù C1(z)),
С2¢(z) = (a2 Ù C2(z)).
3. Композиція: з використанням операції максимуму (max, позначення: «Ú») виконується об'єднання знайдених зрізаних функцій, що приводить до отримання підсумкової нечіткої підмножини для змінної виходу з функцією належності
mS(z) = C(z) = C1¢(z) Ú C2¢(z) = (a1 Ù C1(z)) Ú (a2 Ù C2(z)).
4. Приведення до чіткості (для знаходження z0) проводиться, наприклад, центроїдним методом (як х – координата центра ваги функції належності підсумкової нечіткої підмножини для змінної виходу):
Алгоритм ілюструється рис. 9.1:
Рисунок 9.1 – Графічна реалізація
Алгоритм Сугено (Sugeno)
Формально алгоритм Сугено, запропонований Сугено і Такагі, може бути визначений таким чином.
1. Перший етап – як в алгоритмі Мамдані.
2. На другому етапі знаходяться a1 = А1(х0) Ù В1(у0), a2 = А2(х0) Ù В2(у0) та індивідуальні виходи правил:
z*1 = a1x0 + b1y0,
z*2 = a2x0 + b2y0,
3. На третьому етапі визначається чітке значення змінної виведення:
Алгоритм ілюструється на рисунку 9.2:
Рисунок 9.2 – Графічна реалізація алгоритму Сугено
Порядок виконання роботи
Постановка завдання. Порівняти алгоритми Мамдані і Сугено на прикладі створення системи нечіткого логічного виведення, що моделює залежність , , . Проектування системи нечіткого логічного виведення необхідно провести на основі графічного зображення вказаної залежності.
1. Для побудови тривимірного зображення функції в межах , необхідно скласти наступну програму, прописавши її в m-файлі:
2.
%Побудова графіка функції y = x1^2*sin(x2-1) в межах x1є[-7, 3] і x2є[-4.4, 1.7].
n = 15; % кількість точок
x1 = -7:10/(n-1):3; % задання параметрів змінної х1
x2 = -4.4:6.1/(n-1):1.7;% задання параметрів змінної х1
y = zeros (n, n); % формування нульового масиву
% розміром n×n для вихідної змінної
for j = 1:n
y (j,:) = x1.^2*sin(x2(j)-1);
end
surf (x1, x2, y) % зображення поверхні функції
xlabel ('x1')
ylabel ('x2')
zlabel ('y')
title ('Target');
У результаті виконання програми отримаємо графічне зображення, наведене на рис. 9.3.
Рисунок 9.3 – Еталонна поверхня
3. Реалізуйте дві нечіткі системи для заданої функції, вибравши для першої тип системи Сугено, для другої – Мамдані.
4. Для створення першої системи завантажте fis-редактор. Виберіть тип системи – Sugeno. Додайте другу вхідну змінну та назвіть усі змінні відповідними іменами, а саме першу вхідну змінну перейменуйте на х1, другу – на х2, а вихідну – на у.
5. Перейдіть у редактор функцій належності. Задайте діапазон змінення змінної x1 та створіть для неї функції належності, вказавши ім’я, тип та числові значення термів:
Рисунок 9.4 – Функції належності змінної x1
6. Аналогічно задайте діапазон змінення змінної x2 та створіть для неї функції належності, вказавши ім’я, тип та числові значення термів:
Рисунок 9.5 – Функції приналежності змінної x2
7. Для алгоритму Сугено для вихідної змінної задаються лінійні залежності між входами і виходом, що мають міститися в базі знань. У базі знань вказано 5 різних залежностей: y=50; y=4x1-x2; y=2x1+2x2+1; y=8x1+2x2+8; y=0. Тому додайте ще дві залежності шляхом вибору команди Add Mfs меню Edit. У діалоговому вікні в полі Number of MFs виберіть 2 і натисніть кнопку OK. Задайте найменування і параметри лінійних залежностей. Для цього виберіть першу залежність mf1. Надрукуйте найменування залежності, наприклад 50, у полі Name і встановіть тип залежності - константа шляхом вибору опції Сonstant в меню Type. Після цього введіть значення параметра 50 у полі Params. Аналогічно для другої залежності mf2 введіть найменування залежності, наприклад 8+8x1+2x2. Потім вкажіть лінійний тип залежності шляхом вибору опції Linear у меню Type і введіть параметри залежності 8 2 8 в полі Params. Для лінійної залежності порядок параметрів такий: перший параметр – коефіцієнт при першій змінній, другий, – при другій і т. д., останній параметр – вільний член залежності. У результаті маєте отримати графічне вікно, зображене на рис. 9.6.
Рисунок 9.6 – Вікно лінійних залежностей “входи-вихід”
8. Аналізуючи еталонну поверхню, можна скласти такі залежності та правила:
якщо x1=середній, то y=0;
якщо x1=високий і x2=високий, то y=2x1+2x2+1;
якщо x1=високий і x2=низький, то y=4x1-x2;
якщо x1=низький і x2=середний, то y=8x1+2x2+8;
якщо x1=низький і x2=низький, то y=50;
якщо x1=низький і x2=високий, то y=50.
9. Перейдіть у редактор бази знань RuleEditor і введіть правила бази знань, що наведені вище.
10. Перегляньте вікно візуалізації нечіткого логічного виведення, а також поверхню “входи–вихід” для синтезованої нечіткої системи.
11. Реалізуйте нечітку логічну систему для заданої функції, використовуючи алгоритм Мамдані. Самостійно складіть правила для відповідних функцій.
12. Порівняйте отримані різними методами поверхні з еталонною поверхнею. Зробіть висновки щодо ефективності кожної з них.