нечітка_логіка-лаб
.pdf
Рис. 26 - Графік залежності помилок навчання від кількості циклів навчання
Подальша настройка параметрів побудованої і навченої гібридної мережі може бути виконана за допомогою стандартних графічних засобів пакету Fuzzy Logic Toolbox. Для цього рекомендується зберегти створену систему нечіткого виводу в зовнішньому файлі з розширенням * .fis, після чого слід завантажити цей файл в редактор систем нечіткого виводу FIS (ріс.27-30).
Рис. 27 - Графічний інтерфейс редактора FIS для згенерованої системи нечіткого виводу
Рис. 28 - Графічний інтерфейс редактора функцій належності побудованої системи нечіткого виводу
Рис. 29 - Графічний інтерфейс перегляду правил згенерованої системи нечіткого виводу
Рис. 30 - Фрагмент бази нечітких правил
6. Виконаємо перевірку адекватності побудованої нечіткої моделі гібридної мережі. Для цього можна спрогнозувати курс долара на певний день. Для вирішення цього завдання необхідно скористатися функцією evalfis.
6. Порядок виконання роботи
1.Підготувати файл з навчальними даними з розширенням * .dat (згідно таблиці 4).
2.Завантажити файл з навчальними даними в редактор ANFIS.
3.Згенерувати структуру системи нечіткого виводу FIS типу Сугено
4.Провести навчання нейро-нечіткої мережі, попередньо задавши параметри навчання
5.Перевірити адекватність побудованої нечіткої моделі гібридної мережі.
6.Оформити звіт про виконану роботу.
7.Відповісти на контрольні питання.
7. Вихідні дані
Таблиця 4 Набір даних для навчання нейро-нечіткої мережі
Перша вхідна |
Друга вхідна |
Третя входная |
Вихідна змінна |
змінна |
змінна |
переменная |
|
688.72 |
686.21 |
667.27 |
669.26 |
686.21 |
667.27 |
669.26 |
673.25 |
667.27 |
669.26 |
673.25 |
688.68 |
669.26 |
673.25 |
688.68 |
680.86 |
673.25 |
688.68 |
680.86 |
671.33 |
688.68 |
680.86 |
671.33 |
669.55 |
680.86 |
671.33 |
669.55 |
676.20 |
671.33 |
669.55 |
676.20 |
680.57 |
669.55 |
676.20 |
680.57 |
698.70 |
676.20 |
680.57 |
698.70 |
708.59 |
|
|
|
|
680.57 |
698.70 |
708.59 |
721.81 |
698.70 |
708.59 |
721.81 |
7188 |
708.59 |
721.81 |
7188 |
713.14 |
721.81 |
7188 |
713.14 |
705.16 |
7188 |
713.14 |
705.16 |
706.71 |
713.14 |
705.16 |
706.71 |
716.55 |
705.16 |
706.71 |
716.55 |
721.35 |
706.71 |
716.55 |
721.35 |
736.28 |
688.72 |
686.21 |
667.27 |
669.26 |
686.21 |
667.27 |
669.26 |
673.25 |
667.27 |
669.26 |
673.25 |
688.68 |
669.26 |
673.25 |
688.68 |
680.86 |
673.25 |
688.68 |
680.86 |
671.33 |
688.68 |
680.86 |
671.33 |
669.55 |
680.86 |
671.33 |
669.55 |
676.20 |
671.33 |
669.55 |
676.20 |
680.57 |
|
|
|
|
8. Контрольні питання
1.Дайте визначення нейро-нечіткої мережі.
2.Яке призначення мереж нейро-нечіткого виводу?
3.У чому переваги використання нейро-нечітких мереж?
4.Охарактеризуйте структуру нейро-нечіткої мережі.
5.Опишіть процес розробки нейро-нечіткої мережі в середовищі MATLAB.
6.Як перевірити адекватність побудованої нейро-нечіткої мережі?
7.Які можливості по візуалізації результатів моделювання надає система
MATLAB?
ЛАБОРАТОРНА РОБОТА №6 РЕАЛІЗАЦІЯ НЕЧІТКИХ МОДЕЛЕЙ В БЛОКОВОМУ ВИГЛЯДІ З
ВИКОРИСТАННЯМ SIMULINK
Мета роботи: набуття навичок розробки нечітких моделей в середовищі
Simulink.
1. Представлення об'єкта управління
Система нечіткого виводу, створені тим чи іншим чином за допомогою пакету Fuzzy Logic Toolbox, допускають інтеграцію з інструментами пакета Simulink, що дозволяє виконувати моделювання систем в рамках останнього, розглянемо це на прикладі контролю рівня води в баку.
Контроль рівня води в баку. На рис. 31 зображений об'єкт управління у вигляді бака з водою, до якого підведені дві труби: через одну трубу, забезпечену краном, вода втікає, а через іншу - витікає.
Подачу води в бак можна регулювати, шляхом відкривання крана. Витрата води є неконтрольованим і залежить від діаметра вихідної труби (він фіксований) і від поточного рівня води в баку. Якщо розуміти під вихідний (регульованої) змінної рівень води, а під регулюючим елементом - кран, то можна відзначити, що подібний об'єкт регулювання, з точки зору його математичного опису, є динамічним і суттєво нелінійним.
Визначимо мету управління як встановлення рівня води в баку на необхідному (змінюваному) рівні і спробуємо вирішити завдання управління коштами нечіткої логіки.
Очевидно, в регулятор, що забезпечує досягнення мети управління, повинна надходити інформація про невідповідність (різниці) необхідного і фактичного рівнів води, при цьому даний регулятор повинен виробляти керуючий сигнал на регулюючий елемент (кран).
Рис. 31 - Схематичне представлення об'єкта управління
Упершому наближенні функціонування регулятора можна описати набором
знаступних правил:
Якщо (рівень відповідає заданому), то (кран без зміни) (1)
Якщо (рівень низький), то (кран швидко відкрити) (1)
Якщо (рівень високий), то (кран швидко закрити) (1)
Якщо (рівень відповідає заданому) і (його приріст - позитивний), то (кран треба повільно закривати) (1)
Якщо (рівень відповідає заданому) і (його приріст - негативний), то (кран треба повільно відкривати) (1)
Модель системи управління рівнем води в баку з нечітким регулятором, заснованим на наведених правилах, є однією з демонстраційних моделей пакетів
Fuzzy Logic і Simulink.
Рис. 32 - Блок-діаграма моделі системи управління рівнем води в баку нечітким регулятором
Модель можна викликати з командного рядка командою sltank, що призведе до відкриття вікна Simulink з блок-діаграмою зазначеної моделі (рис. 2). Одночасно блок Fuzzy Logic Controller буде зіставлений з системою нечіткого виведення, записаної у файлі tank.fis.
Для вивчення процесу функціонування системи необхідно натиснути кнопку Start панелі інструментів блок-діаграми моделі і двічі клацнути лівою кнопкою миші по блоку Comparison (Порівняння). У вікні цього блоку будуть показані сигнали, що змінюються у часі, заданого (послідовність імпульсів прямокутної форми) і фактичного рівнів води (рис. 31). Як видно, перехідний процес в системі має аперіодіческую форму і закінчується досить швидко, тобто якість регулювання слід визнати як добру.
2. Побудова нечіткої моделі з використанням блоків Simulink
Для побудови якоїсь власної моделюючої системи з застосуванням засобів нечіткої логіки і блоків Simulink рекомендується просто скопіювати блок Fuzzy Logic Controller з розглянутої системи sltank (або якого-небудь іншого демонстраційного прикладу MATLAB) і помістити його в блок-діаграму розроблюваної системи. З командного рядка командою fuzblock можна також відкрити бібліотеку нечітких блоків пакета Simulink, які можуть бути використані точно так же, за необхідністю - з додатковим редагуванням.
Відзначимо, що функціонування зазначених блоків здійснюється з використанням системної S-функції sffis.mex. Запис цієї функції така: output = sffis (t, x, u, nag, nsmat).
Рис. 33 - Результати моделювання системи управління з нечітким регулятором
Output - вихід нечіткого регулятора, t, х і flag - стандартні аргументи системної функції Simulink, fismat - ідентифікатор (ім'я) нечіткої системи виведення, і вхідний сигнал (вектор вхідних сигналів) регулятора.
За змістом дана функція аналогічна розглянутої вище функції evalfis, але вона оптимізована для роботи в середовищі Simulink.
3. Демонстраційні приклади роботи з пакетом Fuzzy Logic Toolbox
Для ознайомлення з пакетом Fuzzy Logic Toolbox можна використовувати такі функції (команди) в режимі командного рядка: defuzzdm - огляд методів приведення до чіткості (дефазифікації), fcmdemo - демонстрація алгоритму кластеризації Fuzzy c-means (2-D графіка), fuzdemos - демонстрація графічного інтерфейсу пакета Fuzzy Logic, gasdemo - демонстрація використання апарату гібридних мереж для вирішення завдання про вибір автомобіля, найбільш економічного по витраті топлива, juggler - демонстрація системи жонглювання м'ячем з використанням нечіткого регулятора, invkine - демонстрація нечіткого
керування рухом роботаманіпулятора, irisfcm - демонстрація алгоритму кластеризації Fuzzy c-means, noisedm - демонстрація вирішення завдання фільтрації на основі методів нечіткої логіки , slbb - демонстрація завдання «кулю на гойдалці», slcp - демонстрація нечіткої системи управління перевернутим маятником, sltank - демонстрація системи управління рівнем води в баку з нечітким регулятором, sltankrule - те ж, що в попередньому випадку, але з додатковим переглядом нечітких правил, sltbu - демонстрація функціонування нечіткої системи управління вантажівкою.
З кожним з цих прикладів пов'язаний М-файл, fis-файл або / і блокдіаграма Simulink, запуск яких проводиться за допомогою однієї з вказаних команд. Текст пояснень у прикладах - англійською мовою. Дані приклади доступні і через головне меню MATLAB (пункт Help / Examples and Demos, розділ Toolboxes / Fuzzy Logic). Додаткову інформацію можна отримати, використовуючи команду help fuzzy.
3. Вихідні варіанти завдання
|
Таблиця 5 |
Варіант |
Демонстраційний приклад |
1 |
juggler |
2 |
invkine |
3 |
slbb |
4 |
slcp |
5 |
sltbu |
|
|
4. Порядок виконання роботи
1.Опишіть набором з правил функціонування регулятора, навеленого у відповідному демонстраційному прикладі (Табл. 5).
2.Коротко опишіть процес виконаних операцій
3.Навести результати моделювання у вигляді графіків
4.Оформити звіт про виконану роботу.
5.Відповісти на контрольні питання.
5.Контрольні питання
1.Поняття динамічного нелінійного об'єкта регулювання
2.Принципи побудови моделей систем управління в Fuzzy Logic і Simulink
3.Порядок дій при побудові нечіткої моделі з використанням блоків
Simulink.
4.Назвіть відомі вам функції, використовувані при ознайомленні з пакетом
Fuzzy Logic Toolbox.
5.Коротко опишіть розглянутий вами демонстраційний приклад
ПЕРЕЛІК ПОСИЛАНЬ
1.Системы искусственного интеллекта. : практ. курс: учеб. пособие / В. А. Чулюков [и др.); под ред. И. Ф. Астаховой. — М.: БИНОМ. Лаборатория знаний, 2008. — 292 с. : ил. — (Адаптивные и интеллектуальные системы). — 2000 экз. —
ISBN 978-5-94774-731-7: 172,10.*
2.Леоненков А.В.Нечеткое моделирование в среде MATLAB и fiizzyTECH СПб.: БХ В-Петербург,2005. - 736 с: ил.
3.Пегат.А. Нечеткое моделирование и управление М.: Бином. Лаборатория знаний. 2009. - 798с.: ил.
4.Введение в математическое моделирование : учеб.пособие для вузов / под ред П.В.Трусова. — М. : Логос. 2005. — 438с. — ISBN 5-98704-037-Х
5.Основы математического и инфологического моделирования в примерах
/В.М.Казиев.К.В.Казнев // Информатика и образование. — 2004.-№1.-С.39-46;
№2.-0.15-22.
6.Батыршин И.П Основные операции нечеткой логики и их обобщения /..
2001
7.Заде Л.А., - Понятие лингвистической неременной и его применение к принятию приближенных решений. 1976
8.Рыжов А.П., - Элементы теории нечетких множеств и ее приложений.
1998
9.Рыжов А.П., - Модели поиска в нечеткой среде 2004
10.Хаптахаева И.Б.. Дамбаева С.В.. Аюшешва II.П.. - Введение в теорию нечетких множеств.2004
11.Яхъева Г.Э.. - Нечеткие множества и нейронные сети.2006 12.Самарский А.А. Математическое моделирование :
Идеи.Методы.Примеры / А.А.Самарскнй.А.П.Михайлов. — 2-е изд..испр. — М. : ФИЗМАТЛИТ. 2005. — 320с. — ISBN 5-9221-0120-Х : 193.23. *
13.Самарский А.А. Математическое моделирование в информационную эпоху/ А.А.Самарский,А.П.Михайлов // Вестник РАН. — 2004.-Т.74,№9. — С.781-784.
14.Трусов П. В. Введение в математическое моделирование. Учебное пособие - М.: Логос, 2004. - 439 с.
15.Дьяконов В. П. VisSim+Mathcad+MATLAB. Визуальное математическое моделирование - М.: СОЛОН - ПРЕСС. 2008. - 384 с.
16.Гусева Е. И. Экономико-математическое моделирование. Учебное пособие 2-е изд., стереотип. - М.: Флинта, 2011. - 216 с.
