Постановка завдання. Реалізувати нечітку систему, що керує кутом повороту крана гарячої води, для підтримання температури води в змішувачі на заданому рівні (близько 35 оС).
1. Відкрити редактор нечіткої системи виведення, прописавши в режимі командного рядка fuzzy.
У FuzzyLogic – редакторі створити нечітку експертну систему, що має дві вхідні змінні, а саме: температура (назва змінної в редакторі temp) та напір води (назва змінної – head). Вихідна змінна – це вихід, що генерує система на базі експертних правил. Для даної системи вихідна змінна – це кут повороту крана гарячої води (назва – valve). Створити всі змінні та дати їм відповідні імена.
Зберегти створену систему з ім’ям Control_temp, вибравши в меню File -> Export -> ToFile ….
2. Перейти в редактор функцій належності, натиснувши двічі на будь-якій з функцій. Для вхідних та вихідної змінної необхідно визначити терми, а саме їх кількість, вид (трикутні, трапецеїдальні, ґауссові та ін.), діапазон зміни.
3. Візьмемо для вхідної змінної temp три терми: холодна (cold), середня (mid), гаряча (hot). Діапазон для температури [10; 80]. Задамо в редакторі відповідні значення для термів вхідної змінної temp, вибравши тип термів трикутний: cold [10 20 35], mid [30 35 40], hot [40 50 80].
4. Вхідна змінна head характеризує напір води, візьмемо наступні терми:малий (small), нормальний (norm) та великий (big). Діапазон зміни параметра [0;1] у відносних одиницях. Можна задати наступні числові значення термів: small [0 0.1 0.3], norm [0.25 0.5 0.75], big [0.6 0.8 1].
5. Вихідна змінна valve характеризує, наскільки необхідно повернути кран гарячої води і в який бік – на закриття чи відкриття. Для більш точного регулювання визначимо п’ять термів: відкрити швидко (open_q), відкрити повільно (open_s), не змінювати (norm), закрити повільно (close_s), закрити швидко (close_q). Значення для термів узяти у відносних одиницях у діапазоні
[-10;10]. Числові значення для термів: open_q [-10 -7 -5], open_s [-6 -3 -1], norm [-2 0 2], close_s [1 3 6], close_q [5 7 10].
6. Після визначення всіх змінних необхідно створити базу знань, що може складатися з будь-яких правил, але чим точніше сформулювати правила, тим краще буде працювати система. Відкрити редактор правил RuleEditor та задати в ньому наступні правила для експертної системи:
Рисунок 8.6 – Вікно редактора правил
7. Перевірити роботу системи, задаючи у вікні RuleViewer значення для вхідних змінних (рис. 8.7). А також переглянути поверхню відгуку системи, вибравши з меню View -> Surface (рис.8.8)).
Рисунок 8.7 – Вікно перегляду роботи правил
Рисунок 8.8 – Поверхня відгуку нечіткої системи
8. Для розробленої системи змінити параметри функцій належності для досягнення кращих результатів роботи. Наприклад, можна змінити числові значення термів, тип функцій належності (трапецеїдальні, ґауссові 1 та 2-го порядку), додати правила в базу знань та ін.
9. Порівняти отримані результати, зробити висновки з роботи.