Короткі теоретичні відомості

ЗМІСТ

Вступ................................................................................................................... 4

Перелік лабораторних робіт.............................................................................. 5

Лабораторна робота № 1 Створення та настройка експертної системи з

використанням Fuzzy Logic Toolbox математичного пакета MatLab............... 5

Лабораторна робота № 2 Порівняльне дослідження роботи

алгоритмів Мамдані та Сугено в однотипних додатках................................. 15

Лабораторна робота № 3 Створення інтелектуальної нейронної мережі

для задач апроксимації та для передбачення значення функції за

допомогою пакета Neural Networks................................................................. 22

Лабораторна робота № 4 Моделювання багатошарової нейронної мережі. 31

Лабораторна робота № 5 Ознайомлення з принципами роботи

нейронних мереж у складі систем керування.................................................. 43

Лабораторна робота № 6 Генетичні алгоритми.............................................. 51

Критерії оцінювання......................................................................................... 63

Список літератури............................................................................................ 64


ВСТУП

Необхідність вивчення дисципліни «Програмування систем штучного
інтелекту» випливає з кваліфікаційної характеристики напряму 6.050201
«Системна інженерія», що визначає як мету навчання підготовку фахівців,
здатних самостійно і творчо розв’язувати задачі проектування, дослідження, експлуатації систем керування й автоматики та їх програмного забезпечення.

Метою вивчення дисципліни «Програмування систем штучного інтелекту» є підготовка фахівців у сфері автоматизації завдань, що складно формалізуються, які до цих пір уважаються прерогативою людини. Завданням вивчення дисципліни є отримання знань про способи мислення людини, а також про методи їх реалізації на комп'ютері.

Мета проведення лабораторних робіт – закріпити знання, отримані на лекціях, шляхом створення прикладних комп'ютерних програм.

Задачі проведення лабораторних робіт, унаслідок яких студенти повинні вміти:

- використовувати знання мов програмування для конкретних технічних задач, набути навичок розробки програмного середовища;

- освоїти роботу з математичним пакетом MatLab, а саме з пакетом
розширення з нейронних мереж Neural Networks Toolbox, пакетом нечіткої логіки Fuzzy Logic Toolbox та пакетом генетичних алгоритмів Genetic Algorithm and Direct Search Toolbox.

Методичні вказівки щодо виконання лабораторних робіт з навчальної дисципліни “Програмування систем штучного інтелекту” містять короткі теоре-тичні відомості з кожної теми, порядок виконання роботи, зміст звіту, контрольні питання та вказівки для користування літературними джерелами.


Перелік лабораторних робіт

 

Лабораторна робота № 1

Тема. Створення та настройка експертної системи з використанням Fuzzy Logic Toolbox математичного пакета MatLab

Мета: вивчити основи програмування в математичному пакеті MatLab у додатку Fuzzy Logic Toolbox. Навчитися створювати елементарні експертні
системи з набором правил у базі даних системи.

Короткі теоретичні відомості

Fuzzy Logic Toolbox – це пакет прикладних програм, що входять до складу середовища MatLab. Він дозволяє створювати системи нечіткого логічного
виведення і нечіткої класифікації в рамках середовища MatLab з можливістю їх інтеграції в Simulink.

Основні властивості:

- визначення змінних, нечітких правил і функцій належності;

- інтерактивний перегляд нечіткого логічного виведення;

- сучасні методи: адаптивне нечітке виведення з використанням
нейронних мереж, нечітка кластеризація;

- інтерактивне динамічне моделювання в Simulink;

- генерація переносного С коду за допомогою Real-Time Workshop.

Пакет Fuzzy Logic містить п’ять графічних редакторів для представлення необхідної інформації в процесі проектування, створення і тестування нечітких моделей.

Пакет Fuzzy Logic містить сучасні методи нечіткого моделювання,
включаючи:

- адаптивне нечітке виведення з використанням нейронних мереж для автоматичного формування функції належності в процесі навчання їх на вхідних даних;

- нечітку логіку і кластеризацію для задач розпізнавання образів;

- можливість вибору широко відомого метода Мамдані або метода
Сугено для створення гібридних нечітких систем.

Пакет дозволяє роботу:

- у режимі графічного інтерфейсу;

- у режимі командного рядка;

- з використанням блоків та прикладів пакета Simulink.

Базовим поняттям Fuzzy Logic Toolbox є FIS-структура – система нечіткого виведення (Fuzzy Inference System). FIS-структура містить усі необхідні дані для реалізації функціонального відображення “входи-виходи” на основі нечіткого логічного виведення згідно зі схемою, наведеною на рис. 1.1.

Рисунок 1.1 – Нечітке логічне виведення

Позначення: – вхідний чіткий вектор; – вектор нечітких множин, що відповідає вхідному вектору ; – результат логічного виведення у вигляді вектора нечітких множин; – вихідний чіткий вектор.

Склад графічного інтерфейсу

Fuzzy Logic Toolbox містить наступні редактори:

- редактор нечіткої системи виведення Fuzzy Inference System Editor (FISEditor або FIS-редактор) разом з додатковими програмами – редактором функцій належності (Memberhip Function Editor), редактором правил (Rule Editor), вікно перегляду правил (Rule Viewer) і вікном перегляду поверхні відгуку (SurfaceViewer);

- редактор гібридних систем (ANFIS Editor, ANFIS-редактор);

- програма знаходження кластерів (програма Clustering – кластеризація).

Редактор нечіткої системи виведення

Командою (функцією) fuzzy з режиму командного рядка запускається
основна інтерфейсна програма пакета Fuzzy Logic – редактор нечіткої системи виведення. Головне вікно наведено на рисунку 1.2.

Рисунок 1.2 – Вигляд вікна FIS Editor

Графічний інтерфейс гібридних мереж

Головне вікно редактора ANFIS Editor викликається командою anfisedit з командного рядка, вигляд якого наведено на рисунку 1.3.

За допомогою даного редактора виконується створення або завантаження гібридної системи, перегляд структури, настроювання її параметрів, перевірка якості функціонування такої системи.

Рисунок 1.3 – Вікно редактора гібридних систем

Графічний інтерфейс програми кластеризації

Програма Clustering (кластеризація) дозволяє виявляти центри кластерів, тобто точки в багатовимірному просторі даних, біля яких групуються (скупчуються) експериментальні дані.

Запуск програми Clustering виконується командою findcluster. На рисунку 1.4 наведено приклад використання програми.

Рисунок 1.4 – Результат роботи програми Clustering

Робота в редакторі нечіткої системи виведення
Fuzzy Inference System Editor

Для завантаження основного fis-редактора надрукуємо слово fuzzy в командному рядку. Після цього відкриється нове графічне вікно, зображене на рисунку 1.2. Для того щоб додати нову вхідну змінну, необхідно в меню Edit вибрати команду Add Variable…\Input. Для зміни імені змінної необхідно ввести нове ім’я в полі Name і натиснути клавішу Enter. Для того щоб задати ім’я системі, необхідно в меню File вибрати в підменю Export команду ToFile і ввести ім'я файла.

Щоб перейти в редактор функцій приналежності, необхідно двічі натиснути на будь-якій з функцій, де можна вибирати властивості конкретної, вікно відображено на рисунку 1.5:

Рисунок 1.5 – Редактор функцій належності

Внизу вікна вказуються наступні властивості функції:

Current Variable:

- Name – ім’я функції;

- Type – тип (вхідна чи вихідна);

- Range – діапазон змінної;

- Display Range – відображуваний діапазон.

Current Membership Function:

- Name – ім’я поточної функції належності;

- Type – тип терму функції належності – вибирається з переліку (трикутна, трапецеїдальна, ґауссові 1 та 2-го порядку та інші);

- Params – числові значення терму функції належності.

Для задання нових функцій належності для змінної необхідно в меню Edit вибрати команду AddMFs... У результаті з'явитися діалогове вікно (рисунок 1.6) вибору типу і кількості функцій належності.

Рисунок 1.6 – Задання функцій належності

Вибравши необхідну кількість термів та їх тип, натиснути OK.

Ім’я та числове значення термів можна змінити, виділивши необхідний, і задати у відповідних полях області Current Membership Function нові значення.

Редактор бази знань RuleEditor

Для виклику редактора необхідно вибрати в меню Edit команду Rules ..., відобразиться головне вікно, зображене на рисунку 1.7.

Рисунок 1.7 – Редактор правил

Для створення нових правил необхідно вибрати відповідну комбінацію термів і залежностей, вибрати тип зв’язку: or або and, вагу правила Weight, значення вихідної змінної та натиснути кнопку Addrule.

Для перегляду вікна візуалізації нечіткого логічного виведення викликаємо його командою Viewrules... меню View.

Рисунок 1.8 – Візуалізація нечіткого логічного виведення в RuleViewer

Можна переглянути поверхню “входи-виход”, відповідну синтезованій нечіткій системі. Для виведення цього вікна необхідно використовувати команду Viewsurface ... меню View.

Рисунок 1.9 – Поверхня відгуку нечіткої системи


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: