Студопедия — Установка параметров алгоритма кластеризации
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Установка параметров алгоритма кластеризации






Пользователь может с помощью меню выбрать количество кластеров (от 2 до 9), а также установить значения следующих параметров нечеткого c-means алгоритма:

  • в поле Expo - значение экспоненциального веса;
  • в поле Iterat - максимальное количество итераций алгоритма;
  • в поле Improv - минимально допустимое значение улучшения целевой функции за одну итерацию алгоритма.

В оглавление \ К следующему разделу \ К предыдущему разделу

FUZDEMOS

Демонстрационная программа fuzdemos выводит на экран меню (рис. 9.48), позволяющее запустить основные демо-программы пакета Fuzzy Logic Toolbox:

  • ANFIS: Noise cancellation – адаптивное нелинейное подавление шумов с помощью ANFIS;
  • ANFIS: Time-series prediction – предсказание временного ряда Маккея-Глэсса (Mackey-Glass) с помощью ANFIS;
  • ANFIS: Gas mileliage prediction - применение ANFIS для идентификации зависимости топливной эффективности (расход топлива на одну милю) от шести параметров автомобиля;
  • Fuzzy c-means clustering – применения алгоритма нечеткой c-means кластеризации;
  • Subtractive clustering – применение субтрактивной кластеризации для идентификации демографической зависимости;
  • Ball juggler – жонглирование шариком с помощью теннисной ракетки;
  • I nverse kinematics – инверсная кинематика робота-манипулятора;
  • Defuzzification – дефаззификация различными методами;
  • Membership function gallery – галерея функций принадлежности;
  • Water Tank (sim) – управление уровнем воды (необходим пакет Simulink);
  • Water Tank with Rule View (sim) – управление уровнем воды с демонстрацией нечеткой базы знаний (необходим пакет Simulink);
  • Cart and pole (sim) – управление тележкой с перевернутым маятником (необходим пакет Simulink);
  • Cart and two poles (sim) – управление тележкой с двумя перевернутыми маятниками (необходим пакет Simulink);
  • Ball and beam (sim) – удержание шарика на коромысле;
  • Backing truck (sim) - парковка грузовика (необходим пакет Simulink).

Для запуска демо-программы необходимо установить курсор мыши на соответствующий пункт меню, нажать левую кнопку мыши, а затем нажать кнопку Run this demo. Нажатие кнопки Close завершает работу программы fuzdemos.

В оглавление \ К следующему разделу \ К предыдущему разделу

GASDEMO
Иллюстрация применения технологии ANFIS для предсказания топливной эффективности автомобиля

В этом разделе описывается демонстрационная программа gasdemo, иллюстрирующая применение технологии ANFIS для предсказания топливной эффективности автомобиля. Топливная эффективность (MPG - miles per gallon) оценивается как количество миль, проеханных автомобилем на одном галлоне топлива. При выполнении демонстрационной программы gasdemo на экран выводится 10 слайдов. Для управления демонстрацией каждый слайд имеет такие кнопки (см. рис.9.6):

  • Next>>; - показ следующего слайда (на первом слайде вместо этой кнопки расположена кнопка Start>>; – начало демонстрации слайдов);
  • Prev<<; - показ предыдущего слайда;
  • Reset - возврат на первый слайд;
  • AutoPlay - демонстрация слайдов в автоматическом режиме;
  • Info - вывод справочной информации о программе;
  • Close – завершение работы программы.

На первом слайде (рис. 9.6) выводится аннотация программы gasdemo. Для запуска демонстрации необходимо нажать кнопку Start>>;.

Рисунок 9.6 – Первый слайд демо-программы gasdemo

На втором и третьем слайде приводится следующее описание задачи. Прогнозирование топливной эффективности автомобиля является типовой задачей нелинейного регрессионного анализа, которое осуществляется на основе значений следующих параметров автомобиля: количество цилиндров, литраж, мощность, масса, ускорение и год выпуска. Экспериментальные данные записаны в файле auto-gas.dat, фрагмент которых показан на третьем слайде. Эти данные также доступны через веб-репозитарий задач автоматического обучения Калифорнийского университета в Ирвине (http://www.ics.edu/~mlearn/MLRepository.html). Выборка содержит данные об автомобилях различных фирм, логотипы которых показаны на втором слайде. На третьем слайде также указано, что для построения модели топливной эффективности выборка экспериментальных данных разделена на обучающую (нечетные строки файла) и тестирующую (четные строки).

Слайды с четвертого по шестой описывают выбор наилучшего набора входных атрибутов с помощью функции exhsrch. На четвертом слайде приведено описание процедуры оценки информативности входных атрибутов на основе грубых моделей “вход-выход”. Слайд сопровождается дополнительным графическим окном (рис. 9.7), в котором приводятся результаты тестирования шести синтезированных моделей “вход-выход”. В этом окне используются следующие обозначения: Weight – масса автомобиля; Disp – литраж; Power – мощность; Cylinder – количество цилиндров; Year – год выпуска; Acceler – ускорение; маркер в виде окружности (звездочки) – значения корня квадратного из средней квадратической невязки на обучающей (тестирующей) выборке. Как видно из графика, наиболее информативным является атрибут масса автомобиля, а вторым по рангу – литраж. Дополнительное графического окно появляется как результат выполнения команды exhsrch(1, trn_data, chk_data, input_name);. Численные значения невязок выводятся в рабочую область MatLab. Невязки на обучающей и тестирующей выборках одного порядка, что позволяет предположить об отсутствии эффекта переобучения. Следовательно, можно попытаться добавить еще одну входную переменную. Интуитивно, мы могли бы просто выбрать массу и литраж автомобиля, так как для этих атрибутов значения ошибок обучения минимальны. Однако такой директивный подход не гарантирует того, что построенная двухвходовая ANFIS-модель обеспечит максимальную точность прогнозирования.

Рисунок 9.7 – Ранжирование важности входных атрибутов

На пятом слайде приведено описание процедуры оценки информативности пар входных атрибутов. Слайд сопровождается дополнительным графическим окном, в котором приводятся результаты тестирования 15-ти синтезированных моделей “два входа – один выход”. Дополнительное графического окно появляется как результат выполнения команды input_index = exhsrch(2, trn_data, chk_data, input_name);. Как видно из графика, наиболее информативной является пара атрибутов масса автомобиля и год выпуска, что не противоречит здравому смыслу. Разница невязок на обучающей и тестирующей выборках увеличивается, что сигнализирует о приближении эффекта переобучения.

На шестом слайде приведено описание процедуры оценки информативности троек входных атрибутов. Слайд сопровождается дополнительным графическим окном, в котором приводятся результаты тестирования 20-ти синтезированных моделей “три входа – один выход”. Как видно из графика, наиболее информативной является тройка атрибутов: масса автомобиля, ускорение и год выпуска. Заметим, что минимальная невязка как на обучающей, так и на тестирующей выборке существенно не уменьшилась по сравнению с наилучшей моделью “два входа – один выход”. Следовательно, добавление нового атрибута к паре входных переменных масса автомобиля и год выпуска не слишком повышает точность прогнозирования топливной эффективности автомобиля. Для обеспечения лучших генерализирующих свойств предпочтительно использование более простых моделей, поэтому для дальнейших исследований выбирается модель “два входа – один выход”.

На седьмом слайде изображена поверхность “входы - выход” (рис. 9.8) для лучшей двухвходовой ANFIS-модели, т.е. для модели, которая обеспечивает прогнозирование топливной эффективности автомобиля на основе информации об его массе и годе выпуска. На этом слайде хорошо видно, что поверхность “входы-выход” является нелинейной и монотонной, причем прогнозируемый уровень топливной эффективности уменьшается с увеличением массы автомобиля, и возрастает с увеличением года выпуска. Для рассматриваемой ANFIS-модели значения RMSE (Root Mean Squared Error – квадратный корень из средней квадратической невязки) на обучающей и тестирующей выборках равны 2.766 и 2.995, соответственно. Для сравнения, обычная линейная регрессионная модель, которая использует в качестве входных переменных все атрибуты, обеспечивает значения RMSE 3.452 и 3.444 на обучающей и тестирующей выборках, соответственно.

Рисунок 9.8 – Поверхность “входы – выход” для наилучшей нечеткой модели после одной итерации обучения

На восьмом слайде приведены результаты обучения выбранной двухвходовой модели. На предыдущих этапах модели-кандидаты обучались с помощью функции exhsrch только на протяжении одной итерации ANFIS-алгоритма. Это было сделано для того, чтобы быстро выбрать подходящее множество входных переменных модели. Сейчас, когда входные переменные выбраны, можно потратить больше времени на обучение нечеткой модели прогнозирования топливной эффективности. На восьмом слайде приведены кривые обучения ANFIS-модели в виде зависимостей ошибок обучения (зеленая кривая) и тестирования (красная кривая) от количества итераций алгоритма. Минимум ошибки тестирования достигается в районе 45-й итерации алгоритма (см. рис. 9.9). Точка минимума отмечена на графике окружностью. Заметим, что после 50-й итерации ошибка тестирования начинает возрастать, что указывает на эффект переобучения, т.е. на потерю моделью свойств обобщения.

Рисунок 9.9 – Кривые обучения нечеткой модели

На девятом слайде показана поверхность “входы-выход” (рис.9.10) нечеткой модели с минимальной ошибкой тестирования. Для этой модели ошибки на обучающей и тестирующей выборках меньше, чем для первоначальной. Однако при рассмотрении дальнего угла поверхности обнаруживается парадоксальный эффект - для новых моделей топливная эффективность возрастает с увеличением массы автомобиля. Такое противоречие объясняется отсутствием необходимого количества данных из этой области в обучающей выборке.

Рисунок 9.10 – Поверхность “входы – выход” для нечеткой модели с минимальной ошибкой тестирования

На десятом слайде (см. рис. 9.10) приведено распределение данных из обучающей (зеленные окружности) и тестирующей (красные крестики) выборок. Как видно из рисунка, в правом верхнем углу факторного пространства отсутствуют экспериментальные данные. Это и является причиной описанного выше парадоксального вида поверхности ANFIS-модели. Поэтому, используя модели, синтезированные с помощью ANFIS (как, впрочем, и с помощи любой другой технологии автоматического обучения) необходимо помнить, что они могут адекватно описывать лишь закономерности, представленные репрезентативными выборками данных.

Рисунок 9.11 – Распеределения данных из обучающей и тестирующей выборок

INVKINE

В этом разделе описывается демонстрационная программа invkine, иллюстрирующая применение нечетких контроллеров для управления рукой робота-манипулятора. Робот-манипулятор представляет собой двухзвенный шарнирно-соединенный механизм. Один конец первого звена шарнирно соединен со столом, а второй конец - соединен со вторым звеном. Рука робота может перемещаться в одной плоскости. Траектория перемещения рабочего элемента робота зависит от углов поворотов в шарнирных соединениях. Задача управления рукой робота состоит в выборе таких углов поворотов в шарнирных соединениях, которые обеспечивали бы попадание рабочего элемента робота в заданную точку.

После запуска программы invkine на экране появляется диалоговое графическое окно, изображенное на рис. 9.49. Первое звено руки робота показано красным прямоугольником, второе голубым прямоугольником. Требуемая траектория движения рабочего элемента робота изображена желтым овалом. Точка, в которой должен находиться рабочий элемент робота, показана зеленым кругом. Пользователь может задавать место движения руки робота, путем перемещения мышкой желтого овала - требуемой траектории. Рука робота будет двигаться по этому овалу только внутри области, отмеченной желтыми крестиками. Каждый крестик соответствует одной точке из обучающей выборки, которая использовалась при настройке нечетких контроллеров.

Запуск анимация осуществляется по нажатию кнопки Start Animation…, которая расположена внизу графического окна. Для вывода траекторий движения руки робота необходимо установить флажок в окне Show Trails. Очистка графического окна от траекторий происходит по нажатию кнопки Clear Trails. После начала анимации в нижней части графического окна появляются две кнопки:

Stop - прекращение анимации;

Pause… пауза в анимации.

По нажатию кнопки Pause… появляются две новые кнопки:

Continue - продолжение анимации;

Step - выполнение анимации в пошаговом режиме.

Рисунок 9.49 - Демонстрационная программа invkine

Управлением роботом осуществляют два нечетких контроллера, реализованных в виде систем нечеткого логического вывода типа Сугэно. Первый контроллер рассчитывает угол поворота первого звена робота (красного прямоугольника), а второй контроллер - второго (голубого прямоугольника). Входными переменными для нечетких контроллеров являются координаты точки, в которой должен находится рабочий элемент робота. Для лингвистической оценки входных переменных используется по три терма с обобщенными колокообразными функциями принадлежности. Нечеткое управление в каждом контроллере происходит по девяти правилам. Поверхности "входы-выход" для нечетких контроллеров робота-манипулятора показаны на рис. 9.50. Видно, что при попарно малых и попарно больших значениях координат цели нечеткие контроллеры выдают неадекватные управляющие воздействия. Это объясняется отсутствием в обучающих выборках данных с такими координатами. Для настройки каждого контроллера использовались обучающие выборки из 229 пар "входы-выход", показанные на рис. 9.49 маркерами в виде желтых крестиков. При установке желтого овала за пределы зоны обучения, нечеткие контроллеры не смогут обеспечить движения руки робота по требуемой траектории. В пределах зоны обучения траектория руки робота, управляемого нечеткими контроллерами, практически не отличается от требуемой.

Рисунок 9.50 - Поверхности "входы-выход" для нечетких контроллеров робота-манипулятора

В оглавление \ К следующему разделу \ К предыдущему разделу

IRISFCM
Иллюстрация возможности применения нечеткого c-means алгоритма для задачи кластеризации ирисов

Описание:

В этом разделе описывается демонстрационная программа irisfcm, предназначенная для иллюстрации возможности применения нечеткого c-means алгоритма для задачи кластеризации ирисов.

Задача классификации ирисов была предложена Р. Фишером в 1936 году. С тем пор она часто используется в качестве полигона для тестирования различных методов распознавания образов, машинного обучения, экстракции знаний, статистического и интеллектуального анализов данных и т.п. Задача класификации ирисов ставится следующим образом. По известным значениям четырех признаков цветка необходимо отнести ирис к одному из трех классов: 1 - Iris Setosa, 2 - Iris Versicolor; 3 - Iris Virginica. Признаками ирисов, которые используются для принятия решения являются: x1 - длина чашелистика; x2 - ширина чашелистика; x3 - длина лепестка; x4 - ширина лепестка. Исходные данные для классификации ирисов записаны в файле iris.dat. Файл содержит 150 строк, каждая из которых соответствует одному ирису. Информация об ирисе представлена пятеркой чисел - первые четыре числа соответствуют значениям признаков, а пятое число – классу ириса.

На рис. 1 приведены 2D-диаграммы распределения ирисов по классам. Ирисы класса Iris Setosa изображены синими точками, ирисы класса Iris Versicolor - зелеными точками и ирисы класса Iris Virginica – красными точками. Как видно из рисунка ирисы Iris Setosa линейно отделимы от остальных классов ирисов по признаку длина лепестка или ширина лепестка, а также по любому набору из двух признаков. В тоже время ирисы оставшихся классов Iris Versicolor и Iris Virginica неотделимы линейно один от другого ни по одному из шести возможных наборов из двух признаков.

Задача кластеризации ирисов состоит в нахождении центров кластеров, т.е. в определении значений признаков типовых ирисов каждого класса. Для этого демо-программа irisfcm использует нечеткий c-means алгоритм, реализованный функцией fcm. При кластерном анализе используются следующие параметры нечеткого c-means алгоритма:

  • экспоненциальный вес – 2.0;
  • количество кластеров –3;
  • максимальное количество итераций алгоритма – 100;
  • минимально допустимое значение улучшения целевой функции за одну итерацию – 0.000001.

Во время работы демо-программа irisfcm на экран выводится следующая информация:

  1. центры кластеров на каждой итерации алгоритма. Центры кластеров выводятся в виде цифр ‘1’, ‘2’ и ‘3’ на 2D- диаграммы распределения ирисов по классам. На рис. 1 изображены центры кластеров, найденные в результате выполнения нечеткого с-means алгоритма. Обратим внимание на то, что ‘1’ соответствует типовому ирису класса Iris Virginica, ‘2’ - Iris Setosa, ‘3’ - Iris Versicolor;
  2. график значений целевой функции на итерациях алгоритма (рис. 2);
  3. значения целевой функции на каждой итерации алгоритма.

Рисунок 1. Кластерный анализ ирисов

Рисунок 2. Зависимость качества кластеризации от количества итераций алгоритма

JUGGLER
 

В этом разделе описывается демонстрационная программа juggler, иллюстрирующая применение нечеткого контроллера для управления теннисной ракеткой при жонглировании шариком. Задача жонглирования состоит в выборе такого угла наклона теннисной ракетки, который обеспечивал бы только вертикальное перемещение шарика возле заданной точки. Угол наклона ракетки можно изменять при каждом соударении с шариком. Ракетка автоматически перемещается в горизонтальном направлении таким образом, чтобы центр ракетки находился в точке пересечения траектории шарика с горизонталью.

После запуска программы juggler на экране появляется диалоговое графическое окно, изображенное на рис. 9.19. Шарик изображен в виде зеленой окружности, теннисная ракетка – в виде желтого прямоугольника. Точка, в окрестности которой необходимо обеспечить вертикальное перемещение шарика указана красным треугольником. Шарик упруго отражается от ракетки, а также от границ графического окна и синей горизонтальной линии.

Запуск анимация осуществляется по нажатию кнопки Start Animation…, которая расположена внизу графического окна. Для вывода траекторий движения шарика и ракетки необходимо установить флажок в окне Show Trails. Очистка графического окна от траекторий происходит по нажатию кнопки Clear Trails. Пользователь имеет возможность управлять углом наклона ракетки вручную либо с помощью нечеткого контроллера. Выбор способа управления осуществляется через меню Controller:, которое содержит следующие альтернативы: Fuzzy – нечеткий контроллер и Human – управление человеком-оператором.

Рисунок 9.19 – Демонстрационная программа Juggler

Нечеткий контроллер представляет собой систему нечеткого логического вывода типа Сугэно. Система имеет одну выходную переменную – theta - угол наклона ракетки и две входных: xHit – расстояние от точки пересечения траектории шарика с горизонталью до заданной точки жонглирования и projectAngle – угол наклона траектории шарика. Для лингвистической оценки входных переменных используется по три терма с колокообразными функциями принадлежности. Нечеткое управление происходит по девяти правилам. Эти правила показаны на рис. 9.20 в окне модуля RuleViewer, которое выводится при работе программы juggler.

Рисунок 9.20 – База правил нечеткого контроллера теннисной ракеткой в окне модуля RuleViewer

При ручном управлении ракеткой в верхнем правом угле графического окна (см. рис. 9.21) появляется “рулевое колесо”. Изменение угла наклона ракетки происходит по перемещению мышкой красной линии “рулевого колеса”.

Рисунок 9.21 – Управление теннисной ракеткой человеком-оператором

После начала анимации в нижней части графического окна появляются две кнопки:

Stop – прекращение анимации;
Pause… - пауза в анимации.

По нажатию кнопки Pause… появяляются две новые кнопки:

Continue – продолжение анимации;
Step – выполнение анимации в пошаговом режиме.

При нечетком управлении перемещение точки жонглирования (красного треугольника) происходит случайно через каждые 200 шагов анимации. Количество пройденных шагов анимации выводится в нижнем левом углу графического окна.

NOISEDM
Адаптивное подавление шумов

В этом разделе описывается демонстрационная программа noisedm, иллюстрирующая применение технологии ANFIS для нелинейного шумоподавления. При выполнении демонстрационной программы noisedm на экран выводится 10 слайдов.

На первом слайде выводится аннотация программы noisedm. Для запуска демонстрации необходимо нажать кнопку Start>>;.

На втором слайде показан гипотетический информационный сигнал x длительностью 6 секунд (рис. 9.12). Сигнал задан следующим фрагментом программы:

time = (0:0.01:6);
x = sin(40./(time+0.01))
;

Рисунок 9.12 – Информационный сигнал без шума

На третьем слайде указано, что информационный сигнал x не может быть измерен без наложения сигнала n2. Сигнал n2 представляет собой нелинейно-искаженный шум n1 (рис. 9.13), который определен как: n1 = randn(size(time));.

Рисунок 9.13 – Неискаженный шум

На четвертом слайде показана нелинейная характеристика канала связи (рис. 9.14), в результате прохождения по которому шум n1 искажается в сигнал n2. Показанной на рисунке поверхности соответствует такое нелинейное уравнение: n2(k) = 4*sin(n1(k))*n1(k-1)/(1+n1(k-1)^2).

Рисунок 9.14 – Характеристика канала связи

На пятом слайде показаны исходный и искаженный шумы (рис. 9.15). Заметим, что сигналы n1 и n2 связаны посредством сильно нелинейной зависимости, показанной на рис. 9.15. Визуально трудно определить, что сигналы n1 и n2 являются коррелированными.

Рисунок 9.15 – Шум до и после прохождения через канал связи

На шестом слайде показан измеренный сигнал m (рис. 9.16), полученный сложением исходного информационного сигнала x и искаженного шума n2. Наша задача выделить из зашумленного сигнала m исходный информационный сигнал x. Обратим внимание на то, что нам неизвестен сигнал n2. Доступной информацией является лишь измеренный сигнал m и неискаженный шум n1.

Рисунок 9.16 – Измеренный сигнал

На седьмом слайде указано, что для идентификации нелинейной взаимосвязи между сигналами n1 и n2 будет использоваться функция ANFIS. Хотя сигнал n2 неизвестен, для обучения можно использовать сигнал m как зашумленную версию сигнала n2. Таким образом, при решении указанной задачи идентификации информационный сигнал x будет трактоваться как шум. Будем предполагать, что порядок нелинейности канала связи известен (в нашем случае он равен 2), поэтому необходимо использовать ANFIS-модель с двумя входами.

На восьмом слайде приведена программа обучения ANFIS-модели. В нечеткой модели используется по два терма для каждого входа. Следовательно, база знаний состоит из четырех правил. Общее количество настраиваемых параметров равно 24 – 12 линейных и 12 нелинейных. Длина шага при обучении установлена равной 0.2. Нечеткая модель обучается на протяжении 10 итераций. Информация о процессе обучения модели выводиться в командное окно MatLab.

На девятом слайде приведены искомый и обнаруженный шумы. На рис. 9.17 искомый шум показан вверху, а обнаруженный – внизу. Шум обнаруживается функцией evalfis с помощью обученной нечеткой модели. Заметим, что сигнал n2 на момент моделирования является неизвестным.

Рисунок 9.17 – Искомый и обнаруженный шумы

На десятом слайде показан измеренный сигнал после удаления шума. Отфильтрованный сигнал (estimated_x) получен вычитанием из измеренного сигнала x обнаруженного нечеткой моделью шума (estimated_n2). Для сравнения на десятом слайде показаны искомый информационный сигнал x и отфильтрованный сигнал estimated_x (рис. 9.18). Как видно из рисунка, даже без длительного обучения нечеткая модель достаточно хорошо удаляет шумы из измеренного сигнала m (см. рис. 9.15).

Рисунок 9.18 – Искомый и отфильтрованный сигналы

SLBB
 

В этом разделе описывается демонстрационная программа slbb, иллюстрирующая применение нечеткого контроллера для удержания в заданой точке шарика на коромысле. Задача состоит в выборе такого значений силы, прилагаемой к концам коромысла, которые бы обеспечили нахождения шарика в состоянии неустойчивого равновесия в заданной точке. В переходном процессе значение силы может изменяться неоднократно. Для работы программа slbb необходим пакет Simulink.

После запуска программы slbb на экране появляется графическое окно пакета Simulink. Это окно содержит симулинк-модель (рис. 9. 22), используемую демонстрационной программой slbb.

Рисунок 9.22 – Симулинк-модель системы “шарик на коромысле”

Для запуска анимации необходимо выбрать команду Start меню Simulation. После этого появиться диалоговое графическое окно (рис. 9.23), в котором будет происходить анимация. Шарик изображен в виде сиреневого круга, коромысло – в виде желтого прямоугольника, опора коромысла – в виде желтого треугольника. Точка, в окрестности которой необходимо удерживать шарик указана красным треугольником. Управляющая сила показана голубой стрелкой, длина которой пропорциональна ее значению. Запуск анимации осуществляется автоматически по открытию окна. Для вывода траекторий движения шарика и коромысла необходимо установить флажок в окне Show Trails. Очистка графического окна от траекторий происходит по нажатию кнопки Clear Trails. После начала анимации в нижней части графического окна появляются две кнопки: Stop – прекращение анимации и Pause… - пауза в анимации. По нажатию кнопки Pause… появляются две новые кнопки: Continue – продолжение анимации и Step – выполнение анимации в пошаговом режиме. Меню Target Position: позволяет установить следующие законы перемещение точки, в окрестности которой необходимо удерживать шарик:

Sinosoid Wave – синусоидальная волна;
Square Wave – прямоугольная волна (меандр);
Saw Wave – пилообразная волна;
Mouse-Driven – определяемый пользователь с помощью мышки.

В последнем случае для перемещения точки, в окрестности которой необходимо удерживать шарик, достаточно установить курсор мышки в середине красного треугольника, нажать на левую кнопку и не отпуская ее переместить курсор в необходимое место.

Рисунок 9.23 – Анимационное окно программы slbb

Управление системой “шарик на коромысле” осуществляет нечеткий контроллер. Он реализован в виде системы нечеткого логического вывода типа Сугэно с четырьма входами. Для лингвистической оценки входных переменных используется по два терма с колокообразными функциями принадлежности. База знаний содержит 16 правил. Для просмотра нечеткого контроллера в симулинк-формате необходимо щелкнуть правой кнопкой мыши по блоку Fuzzy Logic Controller (см. рис. 9.22) и в появившемся меню выбрать команду Look under mask. Затем в появившемся графическом окне Link: slbb/Fuzzy Logic Controller щелкнуть правой кнопкой мыши по блоку FIS Wizard и снова в появившемся меню выбрать команду Look under mask.

Демонстрационная программа slbb также выводит графическое окно Scope, которое показывает изменение во времени положения шарика на коромысле и координаты цели, то есть точки, в окрестности которой необходимо удерживать шарик. Эти траектории при разных законах перемещения цели показаны на рис. 9.24. Траектория шарика показана сиреневой линией, а траектория точки, в окрестности которой необходимо удерживать шарик - желтой линией.

Рисунок 9.24 – Графики движений шарика на коромысле при разных законах перемещений цели

а) синусоидальная волна;
б) меандр;
в) пилообразная волна;
г) заданный пользователем

SLCP
 

В этом разделе описывается демонстрационная программа slcp, иллюстрирующая применение нечеткого контроллера перемещением неустойчивой системы “перевернутый маятник на тележке” в заданную точку. Объект управления представляет собой стержень, нижний конец которого шарнирно закреплен на тележке. Тележка может перемещаться вдоль плоскости вращения стержня. Задача состоит в выборе такого значений силы, прилагаемой к тележке, обеспечивающей удержание маятника в вертикальном положении. Удержание в равновесии системы “перевернутый маятник на тележке” является классической задачей теории автоматического управления. К ней сводятся задачи управления разнообразными реальными объектами: ракетой, буксиром, толкающим впереди себя баржи, ядерной реакцией на АЭС. Программа slcp демонстрирует применение нечеткого управления не только для удержания маятника в вертикальном положении, а и для перемещения системы “перевернутый маятник на тележке” в заданную точку. Для работы программа slcp необходим пакет Simulink.

После запуска программы slcp на экране появляется графическое окно пакета Simulink. Это окно содержит симулинк-модель (рис. 9. 25), используемую демонстрационной программой slcp.

Рисунок 9.25 – Симулинк-модель системы “перевернутый маятник на тележке”

Для запуска анимации необходимо выбрать команду Start меню Simulation. После этого появиться диалоговое графическое окно (рис. 9.26), в котором будет происходить анимация. Маятник изображен желтым прямоугольником, тележка – сиреневым прямоугольником Точка, в окрестности которой необходимо удерживать маятник указана зеленым треугольником. Управляющая сила показана голубой стрелкой, длина которой пропорциональна ее значению. Запуск анимации осуществляется автоматически по открытию окна. Для вывода траекторий движения маятника и тележки необходимо установить флажок в окне Show Trails. Очистка графического окна от траекторий происходит по нажатию кнопки Clear Trails. После начала анимации в нижней части графического окна появляются две кнопки: Stop – прекращение анимации и Pause… - пауза в анимации. По нажатию кнопки Pause… появляются две новые кнопки: Continue – продолжение анимации и Step – выполнение анимации в пошаговом режиме. Меню Target Position: позволяет установить следующие законы движения точки, в которую необходимо переместить центр тележки:

Sinosoid Wave – синусоидальная волна;
Square Wave – прямоугольная волна (меандр);
Saw Wave – пилообразная волна;
Randow Wave – случайный;
Mouse-Driven – определяемый пользователь с помощью мышки.

В последнем случае для перемещения координаты цели, то есть точки, в которой должен находиться центр тележки, необходимо установить курсор мышки в середине зеленого треугольника, нажать на левую кнопку и не отпуская ее переместить курсор в необходимое место.

Рисунок 9.26 – Анимационное окно программы slcp

Управление системой системы “перевернутый маятник на тележке” осуществляет нечеткий контроллер. Он реализован в виде системы нечеткого логического вывода типа Сугэно с четырьма входами: угол наклона маятника, скорость изменения угла наклона маятника, расстояния от центра тележки до цели и скорость тележки. Для лингвистической оценки входных переменных используется по два терма с колокообразными функциями принадлежности. База знаний содержит 16 правил. Для просмотра нечеткого контроллера в симулинк-формате необходимо щелкнуть правой кнопкой мыши по блоку Fuzzy Logic Controller (см. рис. 9.25) и в появившемся меню выбрать команду Look under mask. Затем в появившемся графическом окне Link: slcp/Fuzzy Logic Controller щелкнуть правой кнопкой мыши по блоку FIS Wizard и снова в появившемся меню выбрать команду Look under mask.

Демонстрационная программа slcp позволяет также вывести графическое окно Scope, которое показывает изменения во времени координат центра тележки и цели. Эти траектории при разных законах перемещения цели показаны на рис. 9.27. Траектория тележки показана сиреневой линией, а траектория цели - желтой линией. Для вывода этого окна необходимо щелкнуть левой кнопкой мыши по пиктограмме Scope в симулинк-модель системы “перевернутый маятник на тележке” (на рис. 9.25 крайняя справа фигура).

Рисунок 9.27 – Графики движений тележки при разных законах перемещений цели

а) синусоидальная волна;
б) меандр;
в) пилообразная волна;
г) заданный пользователем

В оглавление \ К следующему разделу \ К предыдущему разделу

SLTANK
 

В этом разделе описывается демонстрационные программа sltank и sltankrule, иллюстрирующие применение нечеткого контроллера для регулирования уровня воды в баке. Программа sltank отличается от sltankrule только тем, что в ней отсутствует окно с правилами нечеткого управления в формате модуля ViewRuler.

Объект управления представляет собой бак, в который одновременно втекает и вытекает вода. Задача регулирования состоит в выбор таких положений вентиля, которые бы обеспечивали поддержания заданного уровня воды в баке. Объект является нелинейным, так как расход воды пропорционален квадрату высоты столба воды в баке. Для работы программ sltank и sltankrule необходим пакет Simulink.

После запуска программы sltankrule на экране появляется графическое окно пакета Simulink. Это окно содержит симулинк-модель (рис. 9. 28), используемую демонстрационной программой sltankrule.

Рисунок 9.28 – Симулинк-модель системы “Водяной бак с нечетким контроллером”

Для запуска анимации необходимо выбрать команду Start меню Simulation. После этого появиться графическое окно (окно Tank Demo нарис. 9.29), в котором будет происходить анимация. Текущий уровень воды показан синим цветом. Необходимый уровень воды отмечен красной линией. Запуск анимации осуществляет







Дата добавления: 2015-09-04; просмотров: 1637. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Studopedia.info - Студопедия - 2014-2024 год . (0.016 сек.) русская версия | украинская версия