1. Порівняти алгоритми Мамдані і Сугено на прикладі створення системи нечіткого логічного виведення, що моделює залежність , , . Проектування системи нечіткого логічного виведення необхідно провести на основі графічного зображення вказаної залежності.
2. Для побудови тривимірного зображення функції в межах , необхідно скласти наступну програму, прописавши її в m-файлі:
%Побудова графіка функції 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');
У результаті виконання програми отримаємо графічне зображення, наведене на рис. 2.3.
Рисунок 2.3 – Еталонна поверхня
3. Реалізуйте дві нечіткі системи для заданої функції, вибравши для першої тип системи Сугено, для другої – Мамдані.
4. Для створення першої системи завантажте fis-редактор. Виберіть тип системи – Sugeno. Додайте другу вхідну змінну та назвіть усі змінні відповідними іменами, а саме першу вхідну змінну перейменуйте на х1, другу – на х2, а вихідну – на у.
|
|
5. Перейдіть у редактор функцій належності. Задайте діапазон змінення змінної x1 та створіть для неї функції належності, вказавши ім’я, тип та числові значення термів:
Рисунок 2.4 – Функції належності змінної x1
6. Аналогічно задайте діапазон змінення змінної x2 та створіть для неї функції належності, вказавши ім’я, тип та числові значення термів:
Рисунок 2.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. Для лінійної залежності порядок параметрів наступний: перший параметр – коефіцієнт при першій змінній, другий, – при другій і т. д., останній параметр – вільний член залежності. У результаті маєте отримати графічне вікно, зображене на рис. 2.6.
|
|
Рисунок 2.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. Порівняйте отримані різними методами поверхні з еталонною поверхнею. Зробіть висновки щодо ефективності кожної з них.
Зміст звіту
1. Указати номер, тему й мету лабораторної роботи.
2. Зобразити FIS-структури для розроблених систем за різними
алгоритмами.
3. Навести перелік правил.
4. Відобразити отримані результати – перехідні процеси, поверхні
відгуку.
5. Зробити порівняльні висновки стосовно роботи системи з різним
настройками.
Контрольні питання
1. Наведіть алгоритми нечіткого виведення, які ви знаєте.
2. Перелічіть методи дефазифікації.
3. Який метод дефазифікації використовується в алгоритмі Мамдані?
4. Як створити нечітку систему за алгоритмом Сугено?
5. Що таке функції належності? Які типи функцій належності ви знаєте?
6. Як задаються функції належності для різних систем?
Література: [6–9].