ОВИ_ЛР_2012
.pdfМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ
НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ "ХАРЬКОВСКИЙ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ"
А. Ю. Заковоротный
ОСНОВЫ ВЫЧИСЛИТЕЛЬНОГО ИНТЕЛЛЕКТА
Лабораторный практикум для студентов дневной и заочной форм обучения по направлению
"Компьютерная инженерия" и "Компьютерные науки"
Утверждено редакционно-издательским советом университета НТУ "ХПИ", протокол № __ от _______ 2012
Харьков HTMT 2012
УДК 004.383.8.032.26 ББК 32.973-02
З 53
Рецензенты: О. Г. Руденко, д-р. техн. наук, професор, Харківський національний університет радіоелектроніки;
О. А. Серков, д-р. техн. наук, професор, заслужений винахідник України, академік Академії наук прикладної радіоелектроніки, НТУ "ХПІ".
Заковоротный А. Ю. Основы вычислительного интеллекта /
З53 А. Ю. Заковоротний : лабораторный практикум. – Х. : HTMT, 2012.
–320 с.
ISBN 978-617-578-095-0
В лабораторном практикуме приведены теоретические сведения о пакете MATLAB и способах построения в нем нечетких множеств, алгоритмов нечеткого вывода и нечеткой кластеризации, нечеткого контроллера, генетических алгоритмов и нейро-нечетких гибридных сетей. Теоретический материал подкреплен большим количеством примеров по использованию описанных нечетких систем.
Предназначено для студентов дневной и заочной форм обучения по направлению "Компьютерная инженерия" и "Компьютерные науки".
Ил. 82. Табл. 20. Библиогрф. 35 названий.
УДК 004.383.8.032.26 ББК 32.973-02
ISBN 978-617-578-095-0 |
А. Ю. Заковоротный, 2012 |
СОДЕРЖАНИЕ
ВСТУПЛЕНИЕ ......................................................................................................
ЛАБОРАТОРНАЯ РАБОТА 1 Простейшие вычисления в пакете
MATLAB ................................................................................................................
1.1.Цель лабораторной работы ...........................................................................
1.2.Краткие сведения из теории..........................................................................
1.2.1.Рабочая среда пакета MATLAB.................................................................
1.2.2.Арифметические вычисления ....................................................................
1.2.3.Форматы вывода результата вычислений .......................................................
1.2.4.Использование элементарных функций......................................................................
1.2.5.Работа с комплексными числами ...........................................................
1.3. Индивидуальные задания ..............................................................................
ЛАБОРАТОРНАЯ РАБОТА 2 Простейшие вычисления в пакете MATLAB
с использованием переменных и векторов.........................................................
2.1.Цель лабораторной работы ...........................................................................
2.2.Краткие сведения из теории..........................................................................
2.2.1.Использование переменных в пакете MATLAB
2.2.2.Сохранение рабочей среды ........................................................................
2.2.3.Просмотр переменных................................................................................
2.2.4.Работа с массивами ...........................................................................................................................
2.2.4.1.Ввод, сложение и вычитание векторов ..................................................
2.2.4.2.Работа с элементами векторов ................................................................
2.2.4.3.Применение функций обработки данных к векторам ..........................
2.3. Индивидуальные задания ..............................................................................
ЛАБОРАТОРНАЯ РАБОТА 3 Простейшие вычисления в пакете MATLAB
с использованием матриц .....................................................................................
3.1.Цель лабораторной работы ...........................................................................
3.2.Краткие сведения из теории..........................................................................
3.2.1. Различные способы ввода матриц в пакете MATLAB............................
3
3.2.2.Обращение к элементам матриц в пакете MATLAB...............................
3.2.3.Операции над матрицами в пакете MATLAB: сложение, вычитание,
умножение, транспонирование и возведение в степень ...................................
3.2.4.Умножение матриц и векторов ..................................................................
3.2.5.Решение систем линейных уравнений ......................................................
3.2.6.Блочные матрицы ........................................................................................
3.2.7.Удаление строк и столбцов ........................................................................
3.2.8.Заполнение матриц при помощи индексации ..........................................
3.2.9.Создание матриц специального вида ........................................................
3.2.10.Поэлементные операции с матрицами....................................................
3.2.11.Визуализация матриц................................................................................
3.3. Индивидуальные задания ..............................................................................
ЛАБОРАТОРНАЯ РАБОТА 4 Построение таблиц значений и графиков
функций в пакете MATLAB.................................................................................
4.1.Цель лабораторной работы ...........................................................................
4.2.Краткие сведения из теории..........................................................................
4.2.1. Построение таблиц значений функции одной переменной в пакете
MATLAB ................................................................................................................
4.2.2. Построение графиков функции одной переменной ................................
4.2.2.1.Графики функций в линейном масштабе ..............................................
4.2.2.2.Графики функций в логарифмических масштабах...............................
4.2.2.3.Задание свойств линий на графиках функций .....................................
4.2.2.4.Оформление графиков функций ............................................................
4.2.3.Построение графиков функций двух переменных ..................................
4.2.4.Построение контурных графиков функций двух переменных...............
4.2.5.Оформление графиков функций................................................................
4.2.6.Вывод нескольких графиков на одни оси.................................................
4.3. Индивидуальные задания ..............................................................................
ЛАБОРАТОРНАЯ РАБОТА 5 Исследование способов формирования
нечетких множеств и операций над ними ..........................................................
4
5.1.Цель лабораторной работы ...........................................................................
5.2.Краткие сведения из теории..........................................................................
5.2.1. Функций принадлежности..........................................................................
5.2.1.1.Треугольная функций принадлежности ................................................
5.2.1.2.Трапециевидная функций принадлежности ..........................................
5.2.1.3.Простая и двухсторонняя функция принадлежности Гаусса ..............
5.2.1.4.Функция принадлежности "обобщенный колокол" .............................
5.2.1.5.Сигмоидные функция принадлежности ................................................
5.2.1.6.Функции принадлежности на основе полиномиальных кривых ........
5.2.2. Операции с нечеткими множествами........................................................
5.3. Индивидуальные задания ..............................................................................
ЛАБОРАТОРНАЯ РАБОТА 6 М-файлы и основы программирования в
MATLAB ................................................................................................................
6.1.Цель лабораторной работы ...........................................................................
6.2.Краткие сведения из теории..........................................................................
6.2.1. Работа в редакторе М-файлов ....................................................................
6.2.2. Типы М-файлов ...........................................................................................
6.2.3. Установка путей ..........................................................................................
6.2.4. Файл-функции .............................................................................................
6.2.4.1. Файл-функции с одним входным аргументом ......................................
6.2.4.2. Файл-функции с несколькими входными аргументами.......................
6.2.4.3. Файл-функции с несколькими выходными аргументами....................
6.2.5. Основы программирования в MATLAB ...................................................
6.2.5.1. Оператор цикла for...................................................................................
6.2.5.2.Оператор цикла while ..............................................................................
6.2.5.3.Условный оператор if ..............................................................................
6.2.5.4.Оператор ветвления if-elseif-else ............................................................
6.2.5.5.Оператор ветвления switch......................................................................
6.2.5.6.Оператор прерывания цикла break .........................................................
6.3. Индивидуальные задания ..............................................................................
5
ЛАБОРАТОРНАЯ РАБОТА 7 Исследование алгоритма нечеткой
кластеризации ........................................................................................................
7.1.Цель лабораторной работы ...........................................................................
7.2.Краткие сведения из теории..........................................................................
7.2.1.FCM-алгоритм кластеризации
7.2.2.Решение задач кластеризации.......................................................................................................................................
7.3. Индивидуальные задания ..............................................................................
ЛАБОРАТОРНАЯ РАБОТА 8 Моделирование нечеткой системы
средствами инструментария нечеткой логики ...................................................
8.1.Цель лабораторной работы ...........................................................................
8.2.Краткие сведения из теории..........................................................................
8.3.Индивидуальные задания ..............................................................................
ЛАБОРАТОРНАЯ РАБОТА 9 Нечеткое управление динамическими
процессами ......................................................................................................................
9.1.Цель лабораторной работы ...........................................................................
9.2.Краткие сведения из теории..........................................................................
9.2.1.Введение в задачу нечеткого управления
9.2.2.Правила и импликация ..................................................................................................................................
9.2.2.1.Правила .....................................................................................................
9.2.2.2.Импликация ..............................................................................................
9.2.2.3.Сопоставление состояния процесса и правил нечеткого контроллера ....................................................................................................
9.2.2.4.Выбор четкого значения управляющей переменной ........................
9.2.3.Комбинирование условий...........................................................................
9.2.4.Накопление результатов и дефазификация ..............................................
9.2.4.1.Агрегация результатов нескольких правил
9.2.4.2.Дефазификация....................................................................................................................................
9.3. Нечеткие системы управления динамическими процессами ....................
9.3.1.Моделирование качания шара по качели .................................................
9.3.2.Моделирование отскоков шара от качелей ..............................................
6
9.3.3.Система управления смесителем воды .....................................................
9.3.4.Система управления перевернутым маятником ......................................
9.3.5.Система управления двумя перевернутыми маятниками .......................
9.4. Индивидуальные задания ..............................................................................
ЛАБОРАТОРНАЯ РАБОТА 10 Регулирование с использованием нечеткого
контролера..............................................................................................................
10.1. Цель лабораторной работы .........................................................................
10.2. Краткие сведения из теории........................................................................
10.2.1. Формирование функции принадлежности .............................................
10.2.2. Создание пользовательских функций принадлежности .......................
10.2.3. Модель системы управления уровнем воды в баке...............................
10.3. Индивидуальные задания ............................................................................
ЛАБОРАТОРНАЯ РАБОТА 11 Символические вычисления в пакете
MATLAB ................................................................................................................
11.1.Цель лабораторной работы .........................................................................
11.2.Краткие сведения из теории........................................................................
11.2.1.Символические переменные и функции .................................................
11.2.2.Упрощение и преобразование выражений .............................................
11.2.3.Разложение в ряд Тейлора и определение символических выражений для сумм.............................................................................................
11.2.4.Определение пределов, дифференцирование и интегрирование.........
11.3. Индивидуальные задания ............................................................................
ЛАБОРАТОРНАЯ РАБОТА 12 Применение генетических алгоритмов при
исследовании экстремумов функций ..................................................................
12.1.Цель лабораторной работы .........................................................................
12.2.Краткие сведения из теории........................................................................
12.3.Реализация генетических алгоритмов с помощью консоли
MATLAB ................................................................................................................
12.3.1.Функция ga.................................................................................................
12.3.2.Функция gaoptimset ...................................................................................
7
12.4. Реализация генетических алгоритмов с помощью диалогового окна
MATLAB ................................................................................................................
12.5.Применение генетических алгоритмов для поиска минимума функции
12.6.Применение генетических алгоритмов для поиска максимума функции ..................................................................................................................
12.7.Индивидуальные задания ............................................................................
ЛАБОРАТОРНАЯ РАБОТА 13 Применение генетических алгоритмов в
задачах оптимизации ............................................................................................
13.1.Цель лабораторной работы .........................................................................
13.2.Краткие сведения из теории........................................................................
13.2.1.Применение генетических алгоритмов к задаче оптимизации вычислительной сети ............................................................................................
13.2.2.Применение генетических алгоритмов к задаче размещения радиоэлементов в корпусе устройства................................................................
13.2.3.Исследование эффективности генетических алгоритмов для задачи размещения радиоэлементов в корпусе устройства ..........................................
13.3. Индивидуальные задания ............................................................................
ЛАБОРАТОРНАЯ РАБОТА 14 Нейро-нечеткое моделирование в среде
MATLAB ................................................................................................................
14.1.Цель лабораторной работы .........................................................................
14.2.Краткие сведения из теории........................................................................
14.3.Моделирование и реализация нейро-нечеткой сети в среде MATLAB .
14.3.1.Описание ANFIS-редактора .....................................................................
14.3.2.Синтез нейро-нечеткой сети в среде MATLAB .....................................
14.4. Индивидуальные задания ............................................................................
ЛАБОРАТОРНАЯ РАБОТА 15 Решение задачи прогнозирования с
помощью нечетких нейронных сетей .................................................................
15.1.Цель лабораторной работы .........................................................................
15.2.Краткие сведения из теории........................................................................
8
15.3. Построение нейронных сетей и гибридных нейронных сетей для
прогнозирования в пакете MATLAB ..................................................................
15.3.1.Построение нейронной сети.....................................................................
15.3.2.Построение гибридной нейронной сети .................................................
15.4. Индивидуальное задание.............................................................................
ЛАБОРАТОРНАЯ РАБОТА 16 Применение MATLAB для моделирования
нейронной сети Хебба ..........................................................................................
16.1.Цель лабораторной работы .........................................................................
16.2.Краткие сведения из теории........................................................................
16.2.1.Формальные нейроны искусственных нейронных сетей......................
16.2.2.Решение задач распознавания на основе отдельных нейронов.
Правило Хебба.......................................................................................................
16.2.3. Нейронная сеть Хебба ..............................................................................
16.3. Индивидуальные задания ............................................................................
СОДЕРЖАНИЕ ОТЧЕТОВ..................................................................................
СПИСОК ЛИТЕРАТУРЫ.....................................................................................
9
ВСТУПЛЕНИЕ
Теория нечетких множеств (fuzzy sets theory) ведет свое начало с
1965г., когда профессор Лотфи Заде (Lotfi Zadeh) из университета Беркли опубликовал основополагающую работу "Fuzzy Sets" в журнале
"Information and Control". Прилагательное "fuzzy", которое можно перевести на русский как нечеткий, размытый, введено в название новой теории с целью дистанцирования от традиционной четкой математики и аристотелевой логики, оперирующих с четкими понятиями: "принадлежит
– не принадлежит", "истина – ложь". Концепция нечеткого множества зародилась у Заде "как неудовлетворенность математическими методами классической теории систем, которая вынуждала добиваться искусственной точности, неуместной во многих системах реального мира,
особенно в так называемых гуманистических системах, включающих людей".
Началом практического применения теории нечетких множеств можно считать 1975г., когда Мамдани и Ассилиан (Mamdani and Assilian)
построили первый нечеткий контролер для управления простым паровым двигателем. В 1982 Холмблад и Остергад (Holmblad and Osregaad)
разработали первый промышленный нечеткий контроллер, который был
10