close

Вход

Забыли?

вход по аккаунту

?

burakov2

код для вставкиСкачать
МИНИСТЕРСТВО ОбРАзОВАНИя И НАУКИ РОССИЙСКОЙ ФЕДЕРАцИИ
Государственное образовательное учреждение
высшего профессионального образования
САНКТ-ПЕТЕРбУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АэРОКОСМИЧЕСКОГО ПРИбОРОСТРОЕНИя
М. В. Бураков
Нечеткие регуляторы
Учебное пособие
Санкт-Петербург
2010
УДК 510.6
ББК 22.12
Б91
Рецензенты:
кафедра «Инжиниринг и менеджмент качества» БГТУ «ВОЕНМЕХ»
им. Д.Ф. Устинова; канд. техн. наук В. А. Долженков;
кафедра «Интегрированные системы управления» Санкт-Петербургского
государственного Политехнического университета,
канд. физ.-мат. наук В. Г. Курбанов
Утверждено
редакционно-издательским советом университета
в качестве учебного пособия
Бураков, М. В.
Б91 Нечеткие регуляторы: учеб. пособие / М. В. Бураков. – СПб.:
ГУАП, 2010. – 236 с.
ISBN 978-5-8088-0532-3
В учебном пособии рассматриваются основы теории нечетких множеств и нечеткой логики, необходимые для понимания принципов
конструирования нечетких логических регуляторов – мощного средства построения систем автоматизации, которое в последние годы активно используется в инженерной практике.
Приводится описание основных структур нечетких регуляторов,
рассмотрены примеры решения конкретных задач. Описываются возможности пакета математического моделирования MatLab для анализа и синтеза нечетких регуляторов.
Учебное пособие предназначено для подготовки бакалавров и магистров по направлению 220200 «Автоматизация и управление».
УДК 510.6
ББК 22.12
Учебное издание
Бураков Михаил Владимирович
Нечеткие регуляторы
Учебное пособие
Редактор А. В. Подчепаева
Верстальщик А. Н. Колешко
Сдано в набор 11.01.10. Подписано к печати 17.05.10. Формат 60×84 1/16.
Бумага офсетная. Усл.-печ. л. 13,84. Уч.-изд. л. 14,10.
Тираж 100 экз. Заказ № 224.
Редакционно-издательский центр ГУАП
190000, Санкт-Петербург, Б. Морская ул., 67
ISBN 978-5-8088-0532-3
© Санкт-Петербургский государственный
университет аэрокосмического
приборостроения (ГУАП), 2010
© М. В. Бураков, 2010
Введение
Нечеткие логические регуляторы (НЛР) получили в последние
годы большое распространение во всем мире. Они оказались эффективным и, главное, достаточно простым инструментом для автоматизации многих практических задач. НЛР базируются на теории
нечетких множеств и нечеткой логике, которые являются расширением классической теории множеств и классической логики.
Можно рассматривать НЛР как разновидность экспертных систем, в которых знания имеют явное представление в виде правил.
Свойство нечеткости позволяет использовать в правилах качественные понятия, присущие человеческому языку и мышлению. Человек в своей повседневной деятельности редко прибегает к математическим расчетам, он не может точно оценивать характеристики объектов реального мира, но это не мешает ему эффективно управлять
различными процессами и собственным поведением.
Теория нечетких множеств (fuzzy sets) была предложена американским ученым L. Zadeh (Лотфи Заде) в 1965 году ([1], в русском
переводе – [2]). Л. Заде является одним из наиболее значительных
ученых 20-го века, поэтому его биография заслуживает небольшого
обзора.
Л. Заде родился в 1921 году в Баку. До 12 лет он имел практику
общения на четырех языках – азербайджанском, русском, английском и персидском – и пользовался
тремя различными алфавитами: кириллицей, латинским, арабским. Заде посещал в Баку русскую школу до
того как его семья переехала в Иран,
где он закончил Тегеранский университет, получив степень бакалавра по
специальности «Электротехника».
В 40-е годы Л. Заде уехал в США,
где окончил Массачусетский технологический институт со степенью магистра, затем получил докторскую степень, и работал преподавателем электротехники в Колумбийском университете. Позднее Л. Заде переехал в
Калифорнию, где стал преподавать
Лотфи Заде –
на кафедре электротехники Калифоросновоположник
нийского университета в Беркли.
нечеткой логики
3
Первой значительной научной работой Л. Заде стала его диссертация, посвященная вопросам частотного анализа нестационарных
цепей. В ней он ввел понятие нестационарной передаточной функции, которое впоследствии получило многочисленные приложения
в анализе нестационарных линейных систем.
К середине шестидесятых годов Л. Заде был известным специалистом в области теории систем и теории автоматического управления. В частности, он является соавтором метода z-преобразования
для дискретных систем [3]. Этот метод стал классическим в анализе
систем и широко применяется при создании систем автоматического управления и цифровых фильтров.
Книга Л. Заде (написанная в соавторстве с Ч. Дезоером) «Теория
линейных систем (метод пространства состояний)» [4], содержала качественно новый подход в теории линейных систем. Идеи, представленные на страницах этой книги, стали источником многих современных подходов к анализу систем и автоматическому управлению.
Однако главным трудом Л. Заде стала небольшая по объему статью по нечетким множествам «Fuzzy Sets» [1]. Эта работа дала толчок новому научному направлению, которое вызвало большой резонанс во всем мире. Основная идея Л. Заде состояла в том, что реальные человеческие рассуждения, опирающиеся на естественный
язык, не могут быть описаны в рамках традиционных математических формализмов. Человек оперирует качественными понятиями,
например: «большое количество», «молодой человек», «хорошая машина», «плохая погода», «высокая гора» и т. п. Способность к обобщению явлений реального мира в виде качественных оценок является неотъемлемой особенностью человеческого мышления.
Использование понятия нечеткого множества (НМ), обобщающего понятие обычного множества, обеспечило возможность описания
систем, в которых принципиально присутствует неопределенность.
В ряде своих последующих публикаций (многие из которых были переведены на русский язык [5−10]) Л.Заде определил направления, в которых нечеткая математика и логика могут быть эффективным инструментом для обработки неопределенности.
В широком смысле слова нечеткая логика равнозначна теории
НМ, т. е. классов с неточными, размытыми границами. Любая теория может быть фаззифицирована (от fuzzy) и, следовательно, обобщена путем замены понятия четкого множества понятием нечеткого множества. Таким способом можно прийти к нечеткой арифметике, нечеткой топологии, нечеткой теории вероятностей, нечеткому
управлению, нечеткому анализу решений [6].
4
Л. Заде вводит понятие лингвистической переменной и композиционное правило вывода [9]. Он подчеркивает, что этот новый подход «обеспечивает хоть и приблизительное, но все же эффективное средство описания поведения систем, которые являются слишком сложными и плохо определенными для того, чтобы применять
к ним точные математические методы. К числу их основных сфер
применения относятся экономика, менеджмент, информационный
поиск, искусственный интеллект, психология, лингвистика, медицина, биология и другие области, в которых ведущую роль играет
поведение живых компонентов системы».
Принцип несовместности, сформулированный Л. Заде, гласит,
что высокая точность несовместима с большой сложностью.
Надо отметить, что идеи Л. Заде не сразу были оценены в научных кругах, поскольку в 60-е годы двадцатого века только начинался процесс внедрения компьютеров в системы управления. Быстрый
рост производительности ЭВМ позволил рассматривать в практической плоскости все более сложные задачи управления, в том числе
такие, в которых присутствует необходимость принимать решения
на основе качественной информации.
Э. Мамдани и C. Ассилиан [11, 12] на базе работы Л. Заде [7] в
1975 году разработали первую лабораторную версию НЛР и применили ее в промышленности для управления простым паровым
двигателем. Этот год стал началом эпохи промышленного нечеткого управления. НЛР использовал знания, сформулированные
человеком-экспертом в виде правил «Если…, То …», где посылка
описывают ситуацию, возникающую в процессе управления, а заключение – управляющее воздействие.
В 1982 году Холмблад и Остергад (Holmblad and Osregaad) разработали первый промышленный нёчеткий контроллер, который был
внедрен в управление процессом обжига цемента на заводе в Дании
[13].
Начиная с 80-х годов 20-го века многочисленные разработки нечетких систем стали появляться во многих развитых странах. Одним
из лидеров здесь стала Япония [14]. Так в 1987 году фирма Hitachi
разработала нечеткую систему управления движением электропоезда в метро города Сендай. В начале девяностых началось серийное производство бытовых приборов с нечетким управлением: камеры с автоматической фокусировкой (Canon), кондиционеры воздуха (Mitsubishi), стиральные машины (Panasonic и Matshushita)
(рис. 1). Тогда же фирмы Honda и Nissan разработали автоматическую трансмиссию с нечетким управлением, а фирма Toshiba – не5
Правила нечеткого контроллера
Если ….
Датчики
Стиральная машина
то
Жесткость воды:
средняя
Загрузка белья:
средняя
Время стирки:
большое
Тип белья:
деликатный
Скорость отжима:
низкая
Загрязнение:
высокое
Режим стирки:
деликатный
Тип загрязнения:
нежирный
Рис. 1. Принципы нечеткого управления стиральной машиной
четкий контроллер лифта. Известны эффективные приложения
методов и моделей нечеткой математики в распознавании образов,
анализе изображений, экспертных системах, системах поддержки
принятия решений и многих других сферах.
Разнообразным аспектам проектирования, исследования и эксплуатации нечетких систем посвящены многочисленные зарубежные периодические издания, такие как «Fuzzy Sets and Systems»,
«Fuzzy Mathematics», «Cybernetics and Systems», «Journal of
Fuzzy Systems and Artificial Intelligence», «International Journal
of Computational Intelligence», «Soft Computing», «Intelligent
Automation and Soft Computing».
В СССР интерес к нечетким системам был отражен в издании ряда переводов [15, 16], а также нескольких монографий [17–22], обобщающих опыт практического использования нечетких систем. По
известным причинам в 90-е годы в России темпы научных исследований замедлились, хотя публикации по нечетким системам регулярно появлялись в таких изданиях, как журналы «Автоматика
и телемеханика», «Известия РАН. Теория и системы управления»
([23–30] и другие).
В последние годы в России нечеткие системы рассматриваются
как один из важнейших компонентов технического искусственного
интеллекта. Об этом свидетельствует появление соответствующих
учебных курсов во всех ведущих технических вузах и издание учебных пособий [31–36].
6
Практический опыт разработки нечетких систем показал, что
сроки и стоимость их проектирования значительно ниже, чем при
использовании традиционного математического аппарата, при этом
обеспечивается требуемый уровень качества. Однако для эффективного решения практических задач нужно сочетать различные подходы. Это касается как совместного использования нечетких систем
и «классических» алгоритмов проектирования, так и сочетания
различных направлений «искусственного интеллекта».
Еще в начале 90-х годов прошлого века Л. Заде сформулировал
концепцию мягких вычислений (soft computing), в рамках которой
объединяются три аспекта интеллекта: управление неопределенностью, обучение и адаптация в процессе эволюции. В рамках этой
концепции нечеткие продукционные модели реализуются на базе
обучаемой нейронной сети, оптимизация которой происходит с помощью генетических алгоритмов [37].
Нейронная сеть (НС) моделирует внутренние механизмы работы мозга, связанные с формированием устойчивых межнейронных
связей в процессе обучения. Существует множество архитектур искусственных НС, но для представления нечеткой системы обычно
используются статические НС прямого распространения. Такая
нейронечеткая (neurofuzzy) сеть должна содержать несколько слоев
для описания посылок и заключений правил. При обучении сети на
множестве примеров (обучение с учителем) можно получить полное
описание задачи, т. е. получать верное решение для данных, не входивших в обучающую выборку.
Генетический алгоритм (или другой метод глобальной оптимизации) необходим в тех случаях, когда обучающая выборка описывает
сложную нелинейную зависимость [38]. В более простых случаях
может быть использован метод обратного распространения ошибки
(разновидность поиска по градиенту целевой функции).
Популярный пакет математического моделирования MatLab,
ставший фактически стандартом для инженерных разработок и
обучения, содержит библиотеки (toolbox) для всех компонент мягких вычислений: Fuzzy Logic toolbox, Neural Net toolbox и Genetic
Algorithm and Direct Search toolbox (GADS). В настоящем учебном
пособии упор сделан на использование возможностей Fuzzy Logic
toolbox [39, 40]. Описание GADS и его использование для синтеза
НЛР можно найти в литературе [38].
В первой части учебного пособия показана связь теории НМ с
классической теорией множеств, рассмотрены основные операции
над НМ, способы аналитического описания НМ. Приводится опи7
сание библиотечных функций пакета Fuzzy Logic Toolbox MatLab,
которые могут быть использованы при работе с НМ.
Во второй части учебного пособия рассматриваются отличия нечеткой логики от обычной двоичной логики, показаны преимущества нечетких продукционных правил при реализации ситуативных или причинно-следственных зависимостей. Анализируются
основные варианты нечеткого логического вывода в базе правил,
способы представления и требования, которым должна удовлетворять база нечетких правил. Рассмотрено понятие нечеткой динамической системы, а также вариант проверки устойчивости подобной
системы. Приведены примеры использования команд и интерфейсов MatLab для работы с нечеткой логической системой.
Третья часть учебного пособия содержит основной материал о
принципах конструирования НЛР. Здесь описываются различные
типы НЛР, изложен материал по синтезу и анализу НЛР, приведены примеры моделирования работы НЛР в MatLab. Показаны варианты организации нечетких супервизоров, реализующих простые
алгоритмы адаптации. Излагаются принципы описания дискретных НЛР, позволяющие легко программировать законы нечеткого
логического управления на ЭВМ.
В четвертой части учебного пособия излагаются алгоритмы синтеза НЛР по данным эксперимента, основанные на кластеризации
вход-выходных зависимостей. Здесь же излагаются основы построения нейронечетких систем. Приведено описание интерфейсов
MatLab, ориентированных на решение задач кластеризации.
Каждый раздел учебного пособия содержит вопросы для самопроверки.
Приложение 1 содержит полный список функций пакета Fuzzy
Logic Toolbox MatLab, которые могут понадобится для моделирования работы нечетких логических систем.
В Приложении 2 приводится описание структуры системы нечеткого логического вывода MatLab, использование которой необходимо при программировании нечеткой базы знаний.
Приложение 3 посвящено экспериментальному сравнению нечеткого регулятора и классического линейного регулятора с целью
обоснования преимуществ использования НЛР.
8
1. Нечеткие множества
1.1. Основные положения теории множеств
Классическую теорию множеств можно рассматривать как предельный случай теории нечетких множеств. Поэтому рассмотрим
сначала основные постулаты теории множеств.
Множество – фундаментальное неопределимое понятие. Интуитивно множество X − это некоторый набор объектов x, которые называются элементами множества:
x ∈ X.
Важным является понятие равенства множеств, для которого
справедливы свойства:
− рефлексивность X = X;
− симметричность: если X = Y, то Y = X;
− транзитивность: если X = Y и Y = Z, то X = Z.
Множество X является подмножеством множества Y, если все
его элементы являются одновременно элементами Y:
X ⊂ Y.
Понятие подмножества имеет следующие свойства:
− X ⊂ X (рефлексивность);
− если X ⊂ Y и Y ⊂ Z, то X ⊂ Z (транзитивность);
− ∅ ⊂ X (где X – любое множество, а ∅ – пустое множество).
Если в некотором рассмотрении участвуют только подмножества
фиксированного множества U, то это самое большое множество называют базовым (универсальным) множеством. Базовое множество
может быть непрерывным или дискретным. Например, в качестве
базового множества может выступать эвклидово пространство Rn,
а подмножествами являются отдельные группы векторов этого пространства.
Существуют два традиционных способа задания множества: перечисление и описание.
Перечисление используется, если множество имеет небольшое
количество элементов или ясно, что понимать под многоточием,
когда множество бесконечно: {2,4,8...}.
Описательный способ задания множества:
A = {x ∈ X / x-свойство},
т. е. множество A состоит из элементов базового множества X, обладающих определенным свойством.
9
Множество может быть также определено с помощью специальной функции – показателя принадлежности.
Показатель принадлежности hA(х) элемента x к некоторому четкому множеству A, определенному на базовом множестве U, является двоичной функцией:
ïì1, x Î A
η A (x) = ïí
, ∀x∈U
ïïî0, x Ï A
ηA(x)
1
0
1,8
x (м)
Рис. 1.1. Пример описания
множества с помощью
характеристической функции
На рис. 1.1 показан пример
описания четкого множества
A = «Высокий человек» с помощью характеристической функции.
Бесконечное множество может быть счетным или несчетным. Множество счетное, если
его можно привести во взаимно
однозначное соответствие с натуральным рядом чисел. Если же
это невозможно, то множество
является несчетным.
Свойством бесконечного множества является возможность привести его во взаимно однозначное соответствие с его бесконечным
же подмножеством.
Для конечных множеств задача нахождения наибольшего и наименьшего элемента тривиальна:
X = {9,8,1,4,3}, max{X} = 9, min{X} = 1.
Если же множество задано описательным способом, то здесь вводится понятие верхней и нижней границы.
Пусть S – множество вещественных чисел. Верхней границей S
является число C такое, что для любого x ∈ S имеет место x ≤ C. Чисел, которые могут рассматриваться в качестве верхней границы,
может быть бесконечно много или не быть вообще.
Супремум sup{S} – верхняя граница, которая не превосходит любую другую верхнюю границу.
Инфинум inf{S} – нижняя граница, которая не меньше любой
другой нижней границы.
Основной характеристикой конечного множества X является его
мощность, т. е. число его элементов (обозначается card{X}).
10
Например, пусть X = {5, 6, 7, 20, 99,1}, тогда card{X} = 6.
Два множества имеют одну и ту же мощность (кардинальное число), если существует взаимно однозначное соответствие между этими множествами.
Упорядоченным множеством или кортежем называется совокупность элементов, в которой каждый элемент занимает определенное место.
Сами элементы называются при этом компонентами кортежа
(первый элемент, второй элемент и т. д.). Так если через h обозначить высоту самолета, а через v – его скорость, то кортеж x = (h,v)
будет описывать состояние самолета.
Кортеж вещественных чисел (x,y) может рассматриваться как
точка на плоскости или вектор. Число элементов кортежа называется его длиной. Кортеж вещественных чисел длиной n можно рассматривать как n-мерный вектор или n-мерное пространство (гиперпространство).
Элементами множества могут быть другие множества, например:
X = {9,8,1,4,3}, Y = {1,3,6,11}, Z = {X,Y}.
Основные операции над множествами
1. Объединение (или сумма) множеств X и Y – это множество, состоящее из тех и только тех элементов, которые принадлежат хотя
бы одному из множеств X или Y
X ∪ Y (или X + Y) = { x / x ∈ X или x ∈ Y}.
Например:
X = {9,8,1,4,3}, Y = {1,3,6,11}, X ∪ Y = {1,3,4,6,8,9,11}.
2. Пересечение (или произведение) множеств X и Y – это множество, состоящее из тех и только тех элементов, которые принадлежат как множеству X, так и множеству Y:
X ∩ Y (или X ⋅ Y) = {x / x ∈ X и x ∈ Y}.
Например:
X = {9,8,1,4,3}, Y = {1,3,6,11}, X ∩ Y = {1,3}
3. Разность множеств. Эта операция определяется только для двух
множеств. Разностью множеств X и Y называется множество, состоящее из элементов, которые принадлежат X и не принадлежат Y:
X − Y = {x / x ∈ X и x ∉ Y}.
11
Пример:
X = {9,8,1,4,3}, Y = {1,3,6,11}, X − Y = {4,8,9}.
4. Дополнение. Множество X , определяемое из соотношения
X = U − X,
называют дополнением множества X (до универсального множества U):
X = {x / x ∈ U и x ∉ X}
Например:
U = {0,1,2,3,4,5,6,7,8,9},
X = {9,8,1,4,3}, X = {0,2,5,6,7}
Очевидно, выполняются следующие свойства:
U = Æ,
Æ = U,
где Æ – пустое множество.
Для рассмотренных выше операций имеют место тождества,
приведенные в табл. 1.1.
Таблица 1.1
Основные законы теории множеств
№
пп
Закон
Формула
1
коммутативный
2
ассоциативный
3
дистрибутивный
4
идемпотентный
a ∪ b = b ∪ a; a ∩ b = b ∩ a
a ∪ (b ∪ c) = (a ∪ b) ∪ c
a ∩ (b ∩ c) = (a ∩ b) ∩ c
a ∩ (b ∪ c) = (a ∩ b) ∪ (a ∩ c)
A ∪ (b ∩ c) = (a ∪ b) ∩ (a ∪ c)
a ∪ a= a; a ∩ a =a;
5
двойного отрицания
X=X
6
де Моргана
X È Y = X Ç Y; X Ç Y = X È Y
7
противоречия
X È Æ = X; X Ç Æ = Æ; X Ç X = Æ
8
исключенного третьего
X È U = U; X Ç U = X; X È X = U
Рассмотрим доказательство закона де Моргана:
X È Y = X Ç Y;
x Î X È Y Þ x Ï ( X È Y ) Þ x Ï X è x Ï Y Þ x Î X Ç Y;
12
y Î X Ç Y Þ y Î X è y Î Y Þ y Ï X è y Ï Y Þ y Î X È Y.
Aналогично можно доказать тождество
X Ç Y = X È Y,
а также другие законы из табл. 1.1.
5. Декартовым (прямым) произведением множеств X и Y называют множество, состоящее из всех тех и только тех упорядоченных
пар (кортежей), первая компонента которых принадлежит множеству X, а вторая − множеству Y. Таким образом, элементами декартова произведения являются двухэлементные кортежи вида (x,y).
Формально это записывается так:
X × Y = {(x,y) / x ∈ X, y ∈ Y}.
Например:
X = {1,2,3 }, Y = {a,b,c},
X × Y = {(1,a),(2,a),(3,a),(1,b),(2,b),(3,b),(1,c),(2,c),(3,c)}.
Очевидно:
card{X × Y} = card{X}⋅ card{Y}.
Операцию декартова произведения множеств можно иллюстрировать графически (рис. 1.2).
Операция прямого произведения справедлива и для большего
числа множеств, например для трех множеств:
X × Y × Z = {(x,y,z) / x ∈ X, y ∈ Y, z ∈ Z }.
Степень множества n – это произведение n одинаковых множеств:
n
X ´ X...´ X = Õ Xn .
i=1
1
X
2
3
a
(1,a)
(1,b)
(1,c)
(2, a)
(2, b)
(2, c)
(3, a)
(3, b)
(3, c)
b
c
Y
Рис. 1.2. Графическая иллюстрация
декартова произведения
13
6. Отношением между n множествами X1, X2 ... Xn называется
подмножество прямого произведения X1 × X2 × ... × Xn, для которого
выполняется заданное свойство. Функция − это частный случай отношения.
Наиболее часто рассматриваются бинарные отношения. Например:
R ⊂ X × Y = {(x,y) ; x ∈ X, y ∈ Y, x = y }.
Заметим, что отношение является множеством, поэтому его можно задать путем указания принадлежности hR (х,y) каждого кортежа декартова произведения к этому отношению:
R = {µ R (x, y) / (x, y); x Î X, y Î Y }.
Пример отношения для дискретной области определения:
X = {1,2,3,4}, Y = {2,3,8},
R X=Y = {0/(1,2),0/(1,3),0/(1,8),1/(2,2),0/(2,3),0/(2,8),0/(3,2),1/(3,3),
0/(3,8),0/(4,2),0/(4,3),0/(4,8)}.
Пример отношения для непрерывной области определения:
x, y ∈ R1; c = const;
ìï1, x2 + y2 £ c2 ;
R = ïí
ïï0, èíà÷å.
î
Это описание круга радиусом c, с центром в начале координат.
Отношения играют важную роль при описании знаний.
Например, пусть имеется множество стран и множество городов:
X = {Aнглия, Россия, Франция},
Y = {Лондон, Перт, Москва, Псков, Париж, Лион}.
С помощью указания принадлежности (значение в кружке на рис.
1.3) можно описать на X × Y отношение «Столица государства».
X
Англия
1
0
0
0
0
0
Россия
0
0
1
0
0
0
Франция
0
0
0
0
1
0
Лондон
Москва
Перт
Париж
Псков
Лион
Y
Рис. 1.3. Пример описания отношения «Столица государства»
14
Относительное расстояние Хемминга d между двумя конечными
множествами определяется как отношение количества элементов,
входящих только в одно или другое множество, к общему количеству элементов базового множества.
Например, пусть U – универсальное множество, на котором определены множества A и В:
U={a, b, c, d, e}, A={a, d, e}, B={b, d}.
d(A,B) = 3/5.
Рассмотрим понятие разбиения множества.
Пусть X – множество, A – его подмножества:
Ai ⊂ X, i ∈ [1, n]
Подмножества Ai образуют разбиение множества X, если выполняются два условия:
1) Ai ∩ Aj = ∅, i ≠ j.
2)
n
 Ai = X.
i=1
Например: X = {a, d, v, 2, 5, f}, A1 = {2, f}, A2= {d, v, 5}, A3 = {a}
A1 ∩ A2 = ∅, A1 ∩ A3 = ∅, A2 ∩ A3 = ∅,
X = A1 ∪ A2 ∪ A3.
Понятие функции является одним из основополагающих в математике.
Пусть f – отношение из A в B такое, что
∀ a, (a,b) ∈ f & (a, c) ∈ f => b = c
т. е. элементу из множества A может быть только одна пара в отношении f.
Такое свойство называется однозначностью, а само отношение –
функцией из A в B и обозначается следующим образом:
b=f(a),
где a – аргумент функции; b – значение функции.
Область определения функции
fA = {a ∈ A: ∃ b∈ B, b = f(a)}.
Область значений функции
fB = {b ∈ B: ∃ a∈ A, b = f(a)}.
Функция f называется:
− инъективной, если b = f(a1) & b = f(a2) → a1 = a2;
− сюръективной, если ∀b∈ B, ∃a ∈ A, b = f(a);
− биективной, если она инъективная и сюръективная.
15
1.2. Понятие нечеткого множества
Понятие нечеткого множества (НМ) является обобщением понятия обычного множества.
Понятие нечеткого множества возникает тогда, когда делаются
два предположения:
− степень принадлежности элемента множеству изменяется в
пределах от 0 до 1;
− элемент может одновременно принадлежать нескольким множествам, но с разными показателями принадлежности.
Нечетким множеством A на универсальном (базовом) множестве
X называют совокупность пар элементов вида
A = {µA(х) / x }, x ∈ X,
µA(х) : X → [0, 1],
где µA(х) – функция принадлежности; знак “/” является разделителем.
Само универсальное множество можно описать так:
µX(х) = 1, ∀ x ∈ X.
Значение функции принадлежности для конкретного x называют степенью принадлежности.
Степень принадлежности µA(х) – это субъективная мера того, насколько элемент x соответствует понятию, смысл которого формализуется с помощью НМ A.
Значение µA(х) = 1 означает, что элемент x полностью соответствует понятию A, значение µA(х) = 0 означает, что элемент x совсем
не соответствует понятию A.
Значение µA(х) = 0,5 означает полную неопределенность. В качестве классического примера здесь можно привести наполовину наполненный стакан – он является в равной степени «полным» и «пустым».
Нечеткое множество можно рассматривать как совокупность составляющих его синглетонов – одноточечных НМ. В зависимости
от того, непрерывное или дискретное множество X рассматривается, применяется одна из форм записи:
N
A = ò µ A (x)dx или A = å µ A (xi ) / xi .
X
i=1
Знак интеграла или суммы здесь означает объединение (конъюнкцию) синглетонов.
16
ηA(x)
µ A(x)
1
1
0
1
0
V(x)
1
V(x)
Рис. 1.4. Описание множества «Большая куча песка» в четком и
нечетком случае
При непрерывном базовом множестве функцию принадлежности удобно анализировать графически.
Рассмотрим пример. Пусть требуется описать множество
A = «Большая куча песка». Считать отдельные песчинки невозможно, поэтому здесь надо рассматривать непрерывную область определения, рассматривая, например, V(x) – объем песка в кубометрах
(рис. 1.4).
Рассмотрим пример для дискретной области определения, представляющей собой количество яблок в штуках N. Пусть требуется
описать множество A = «Много яблок» (рис. 1.5).
Как показывают рис. 1.4 и 1.5, принадлежность элемента множеству принимает любые значения внутри диапазона [0, 1].
Следующий пример показывает, что один и тот же элемент базового множества может принадлежать различным нечетким подмножествам. На рис. 1.6 показаны два НМ: A1 – «Невысокий человек»,
A2 – «Высокий человек». Здесь любой элемент x ∈ [1.5, 2] входит одновременно и в A1, и в A2.
Функция принадлежности может быть охарактеризована несколькими параметрами, к которым относятся: носитель, ядро, высота.
ηA(x)
µ A(x)
1
1
0.7
0.3
0.1
0
2
4
6
8
10 N
0
2
4
6
8
10 N
Рис. 1.5. Четкое и нечеткое описание множества «Много яблок»
17
µA(x)
1
0.9
µ A(x)
А2
А1
1
А
0.5
А
0.25
0
1.5
1.8
2.1 x(м)
Рис. 1.6. Описание двух НМ
на одной базовой шкале
0
x
Рис. 1.7. Пример обычного множества,
ближайшего к нечеткому
В ряде случаев требуется рассматривать понятие обычного множества A, ближайшего к нечеткому множеству A. Оно определяется по формуле:
ìï1, µ A (x) > 0.5
η A (x) = ïí
, ∀ x ∈ U.
ïïî0, µ A (x) £ 0.5
Пример показан на рис. 1.7.
Носителем (support) НМ A с функцией принадлежности µA(х) называется обычное множество вида:
supp(A) = {x / x ∈ X, µA(х) > 0}.
Если носитель НМ – конечное множество, то такое НМ называется локальным, иначе, когда носитель – бесконечное множество,
НМ – глобальное.
Ядром (core, kernel или nucleus) НМ A с функцией принадлежности µA(х) называется обычное множество вида:
core(A) = {x / x ∈ X, µA(х) = 1}.
Высота НМ (heigth):
hgt(A)=sup µA(х), x ∈ X.
Эти понятия поясняет рис. 1.8.
Можно также рассмотреть понятие центра НМ, которым является середина его ядра.
µ A(x)
1
Высота
Ядро
Носитель
x
Рис. 1.8. Параметры функции принадлежности
18
μ A( x3)
A
B
μ A( x2)
μ A( x1)
x1
x2
x3
Рис. 1.9. Выпуклое и невыпуклое НМ
Два НМ называются соседними, если между их центрами не располагается центр какого-либо третьего НМ.
Нечеткое множество называется выпуклым, если выполняется
условие
"x1, x2 , x3 Î X, x1 £ x2 £ x3 Þ µ A (x2 ) ³ min(µ A (x1 ),µ A (x3 )).
Пример показан на рис. 1.9, где A – выпуклое, а В – невыпуклое
НМ.
Пересечение двух выпуклых НМ является выпуклым НМ.
Нечеткое множество называется пустым, если:
µA(х) = 0, ∀ x∈ X.
Вид функции принадлежности характеризуется количеством точек перегиба и ее максимальным значением.
Если sup{µA(х)} = 1, x ∈ X, то НМ A называется нормальным, а
иначе – субнормальным.
Если функция принадлежности имеет один максимум, то НМ
называется унимодальным, иначе – мультимодальным. Очевидно,
мультимодальное НМ невыпукло.
На рис. 1.10 функция принадлежности µA(х) определяет субнормальное унимодальное НМ, µB(х) – нормальное унимодальное и
µC(х) – нормальное мультимодальное.
1
µB(x)
µ A(x)
0
µC(x)
x
Рис. 1.10. Классификация функций принадлежности
19
Для нечеткого множества A, определенного на базовом множестве X, можно рассматривать понятие мощности. Оно вводится следующим образом:
N
card( A) = å µ A (xi ), xi Î X,
i=1
где сумма рассматривается не как объединение, а как арифметическая сумма.
Как правило, используются нормальные и унимодальные НМ.
Любое непустое НМ можно нормализовать по формуле
µ À (õ)
µ íÀ (õ) =
, x Î X.
sup(µ A (x))
Множеством уровня a (a-срезом) НМ A называется обычное подмножество универсального множества Х, определяемое в виде:
Aa = {x ∈ X / µA(x) ≥ a}, где a ≤ 1.
Справедливо свойство (рис. 1.11):
Если a1 ≥ a2, то Aa1 ≤ Aa2.
Пример для дискретной области определения:
A = 0.2/x1 + 0.6/x2 + 1/x3 + 0.8/x4;
A0.6 ={ x2, x3, x4}.
Теорема о декомпозиции
Всякое НМ A можно разложить на произведение обычных подмножеств по коэффициентам ai :
A = max{α1 Aα1 , α2 Aα2 ... αn Aαn };
αi
0 < ai ≤ 1, i = 1, 2…n.
µ A(x)
1
0.7
0.4
0
А0.7
А0.4
Рис. 1.11. Множества a-уровня
20
x
µ A(x)
1
0
x
Рис. 1.12. Пример нечеткого разбиения базового множества
Пример. Исходное множество:
A = 0.2/x1 + 0/x2 + 0.5/x3 + 1/x4.
Разложение по трем уровням:
A = max((0.2(1 / x1 + 1 / x3 + 1 / x4 ),0.5(1 / x3 + 1 / x4 ),1(1 / x4 )).
αi
Использование теоремы о декомпозиции в некоторых случаях
оказывается удобным, т.к. позволяет оперировать не функциями
принадлежности, а их множествами уровня, что может экономить
вычислительные ресурсы.
Совокупность N выпуклых НМ образует нечеткое разбиение базового множества U, если выполняется условие (пример показан на
рис. 1.12):
N
å µ A (x) = 1; "x Î U.
i=1
i
Как будет показано в следующих разделах, это свойство особенно удобно использовать для реализации стратегии дефаззификации
дискретным методом центра тяжести.
Одной из разновидностей НМ являются нечеткие числа.
Нечетким числом называется определенное на вещественной
числовой НМ, обладающее следующими свойствами:
− выпуклость;
− нормальность;
− ядро НМ состоит только из одной точки.
Нечетким интервалом называется НМ, для которого выполняются все требования, кроме последнего.
1.3. Принцип расширения
В соответствии с принципом расширения, введенным Л. Заде,
обычные математические операции могут быть распространены на
нечеткие множества.
21
Пусть имеется отображение (четкое):
f : X → Y,
и дано НМ A, определенное на X:
A = µA(x1)/x1 + µA(x2)/x2 + … + µA(xn)/xn.
Принцип расширения гласит, что НМ B в области Y, являющееся
отображением A, определяется по формуле
B = f(A) = f(µA(x1)/x1 + µA(x2)/x2 + … + µA(xn)/xn) = =µA(x1)/f(x1) + µA(x2)/ f(x2) + … + µA(xn)/ f(xn).
Примеры:
Пусть дано A = «около 3» = 0.5/2 + 1/3 + 0.5/4
1) B = A2 = («около 3»)2 = 0.5/4 + 1/9 + 0.5/16
2) y = f(x) = 2x + 1, тогда:
B = f(A) = 0.5/5 + 1/7 + 0.5/9.
Функция f может отображать различные элементы множества
X в один и тот же элемент множества Y. В результате одному и тому же элементу могут соответствовать различные функции принадлежности, операция sup позволяет выбрать наибольшее из этих значений.
B = f ( A) = {(y, µ B (y))}, y = f (x), x Î X,
где
ìï sup µ (x), åñëè f -1 (y) ¹ 0,
ïï -1
A
µ B (y) = ïíxÎf (y)
ïï
0, åñëè f -1 (y) = 0.
ïïî
–2
–1
A
0
Например:
A = 0.3/–2 + 0.4/–1 +
+ 0.8/0 + 1/1 + 0.7/2.
1
0.4
1
0.8
0
A2
0.3
1
0.7
4
2
Рис. 1.13. Выполнение операции
возведения нечеткого числа в
квадрат
22
(A)2 = 0.3/4 + 0.4/1 + 0.8/0 +
+ 1/1 + 0.7/4 = 0.8/0 + 1/1 + 0.7/4.
Поясняет этот результат рис.
1.13.
Пусть A1, A2,…An – нечеткие
множества, определенные на базовых множествах X1, X2,…Xn и задано
f : X1 × X2 ×…× Xn → Y,
так что y = f(x1,x2,…xn).
Тогда принцип расширения позволяет определить нечеткое множество B, определенное на Y:
B = f ( A1, A2 ... An ) = {(y, µ B (y))},
y = f (x1, x2 ...xn ), x1 Î X1, x2 Î X2 ...xn Î Xn ,
где
ìï
sup
(µ A1 (x1 ), µ A2 (x2 ),...µ An (xn )) åñëè f -1 (y) ¹ 0,
ïï
-1
ï
,
,...
(
)
x
x
x
Î
f
y
µ B (y) = í 1 2
n
ïï
ïïî
0, åñëè f -1 (y) = 0.
При выполнении бинарных операций формула может быть записана в виде:
µ B (y) = sup min{µ A1 (x1 ), µ A2 (x2 },
y=x1 +x2
или
µ B (y) =

X1´X2
(µ A1 (x1 ) Ù µ A2 (x2 )).
Пример:
A = 0.5/2+0.9/3+0.6/4;
B = 0.5/5+1/6+0.6/7;
A+B = 0.5/7 + 0.5/8 + 0.5/9 + 0.5/8 + 0.9/9 + 0.6/10 +
+0.5/9 + 0.6/10 + 0.6/11 = 0.5/7+0.5/8+0.9/9+0.6/10+0.6/11.
1.4. Способы построения функций принадлежности
По определению степень принадлежности µA(x) есть субъективная мера соответствия элемента x понятию, смысл которого формализуется НМ A, поэтому для построения функции принадлежности
достаточно мнения одного эксперта.
Однако если есть множество экспертов, успешно действующих в
предметной области, в процедуре назначения функций принадлежности можно учесть несколько мнений. Каждый эксперт получает
коэффициент ai ∈ [0, 1], который отражает уровень его компетентности, так что для группы из m экспертов:
µ A (x) =
1 m
å pi ai ,
m i=1
23
где pi = 1, если i-й эксперт отнес х к A, или pi = 0 – в противном случае.
Пример. Пусть имеется 6 экспертов одинаково высокой квалификации (аi=1), имеется множество Х={1,2,3,4,5} и необходимо построить нечеткое множество A, формализующее понятие «намного
меньше 5».
Результаты опроса экспертов показаны в табл. 1.2.
Таблица 1.2
Расчет значений принадлежности
х
1
2
3
4
5
å pi ai
6
5
1
0
0
µA(xi)
6/6
5/6
1/6
0/6
0/6
6
i=1
Если нужно получить согласованное описание функции принадлежности для некоторого количества объектов универсального множества, то применяется метод количественного парного сравнения
степеней принадлежности. В этом методе результатом экспертного
опроса является матрица
М = [mij], i, j = 1,2,…n,
где n – число точек, в которых сравниваются функции принадлежности.
Каждый элемент матрицы mij показывает, во сколько раз µA(xi)
больше µA(xj). Количество вопросов к эксперту составляет здесь не
n2, а лишь величину (n2 − n)/2, так как mij = mji и mij = 1/ mji. Затем
из каждого столбца матрицы получается одно значение по формуле
mij
µ A (xi ) =
,
å mij
i=1,n
где i – строка матрицы, а j – столбец (он может выбираться достаточно произвольно – это мало влияет на результат).
При сравнении необходимо использовать количественные оценки. Для этого можно, например, оперировать табл. 1.3.
Рассмотрим пример.
24
Таблица 1.3
Сравнение значений принадлежности
Качественная оценка
Количественная оценка
µA(xi) равна µA(xj)
1
µA(xi) немного больше µA(xj)
3
µA(xi) больше µA(xj)
5
µA(xi) заметно больше µA(xj)
7
µA(xi) намного больше µA(xj)
9
Промежуточные значения
2, 4, 6, 8
Пусть задано базовое множество X = {40,55,70,100} и необходимо определить на этом множестве НМ «Маленький вес». Пусть в результате опроса экспертов имеется матрица сравнений:
1
5
7
1/ 5
1
4
М=
1/7 1/ 4
1
1/ 9 1/7 1/ 4
9
7
.
4
1
Например, если зафиксировать первый столбец, то получается:
1
1
0.2
0.2
µ A (40) = 4
=
= 0.69;
µ A (55) = 4
=
= 0.14;
1.45
1.45
å µi1
å µi1
i=1
µ A (70) =
0.14
4
å µi1
i=1
1
=
= 0.1;
1.45
i=1
µ A (100) =
1
4
å µi1
=
1
= 0.08.
1.45
i=1
Если зафиксировать второй столбец, то
µ A (40) = 0.81; µ A (55) = 0.15; µ A (70) = 0.04; µ A (100) = 0.02.
Таким образом, можно использовать описание
A = 0.69/40 + 0.14/55 + 0.1/70 + 0.08/100,
либо близкое описание
A = 0.81/40 + 0.15/55 + 0.04/70 + 0.02/100.
Метод попарных сравнений выгодно использовать, когда рассматриваются неизмеримые, т.е. качественные понятия.
25
1.5. Нечеткость и другие виды неопределенности
Человек сталкивается с двумя видами неопределенности – физической и лингвистической (рис. 1.14).
Физическая неточность изучается в теории измерений. Неопределенность смысла фраз изучается теорией формальных грамматик.
Омонимия, как и полисемия, – тип семантических отношений,
которые устанавливаются между словами, значения которых абсолютно не связаны друг с другом, но формально эти значения выражаются сходными звуковыми оболочками.
Остановимся подробнее на соотношении физической неопределенности в виде случайности и неопределенности в виде нечеткости.
Нечеткость понимается (в классической трактовке) как лингвистическая неопределенность значений слов. С другой стороны,
всякая физическая величина, измеряемая прибором или непосредственно воспринимаемая, несет определенную семантическую нагрузку. Сочетание нескольких «точных» измерений порождает часто неопределенность из-за невозможности отнесения этой комбинации к четко определенному классу. Поэтому на рис. 1.14 показано, что нечеткость имеет отношение и к физической неопределенности.
Понятия вероятности и нечеткости имеют общие черты (табл. 1.4).
Однако применение теории вероятности требует выполнение ряда условий, таких как:
− повторяемость событий;
− независимость событий;
− общность наблюдаемых событий для всех явлений подобного
рода.
Неопределенность
Физическая
Неточность
Лингвистическая
Неопределенность
значений слов
Неопределенность
смысла фраз
Случайность
Нечеткость
Омонимия и полисемия
Рис. 1.14. Нечеткость и другие виды неопределенности
26
Таблица 1.4
Общие черты в описании вероятности и нечеткости
№ пп
Вероятность
Степень принадлежности
1
2
0 ≤ P(A) ≤ 1
P(A) = 1 − P(A)
0 ≤ µA(х) ≤ 1
µA (х) = 1 − µA(х)
P(A) = N(A)/N,
µA(х) = n/m,
где N – общее число событий, где m – общее число экспертов, из
N(A) – число исходов, приво- которых n считает, что x принаддящих к A
лежит к A
Вероятность несовместных
Нечеткое разбиение базового
событий
множества
3
N
4
å P( Ai ) = 1
i=1
N
å µ A (x) = 1
i=1
i
Жесткость этих требований позволяет даже высказать крайнюю
точку зрения, в соответствии с которой теория вероятности наиболее адекватна той области деятельности, для описания которой она
и была разработана – игре в кости. Тем не менее функция принадлежности µA(х) может трактоваться как условная вероятность наблюдения события A при наблюдении x, поэтому статистические
данные могут использоваться при построении функции принадлежности.
1.6. Aналитическое описание функций принадлежности
На практике желательно иметь аналитическое описание функции принадлежности (ФП), чтобы вычислять степень принадлежности для произвольного значения из области определения.
Таблица 1.5
Основные варианты описания ФП
№ пп
1
Название ФП
Треугольная
Формула
ìï
ïï
0,
ïï
ïï x - A
ïï
,
ï
µ A (x) = ïí B - A
ïï C - x
ïï
,
ïï C - B
ïï
ïï
0,
ïî
x< A
A£x<B
B£x£C
x>C
27
Продолжение табл. 1.5
№ пп
Название ФП
Формула
2
Трапецевидная
ìï
ïï
0, x < A
ïï
ïï x - A
ïï
, A£x<B
ïï B - A
ïï
µ A (x) = ïí1, B £ x < C
ïï
ïï
ïï D - x , C £ x £ D
ïï D - C
ïï
ïï
0, x > D
ïïî
3
Гауссова
é (x - A )2 ù
ú
µ A (x) = exp êêú
2B2 ú
êë
û
Двухсторонняя
гауссова
ìï
é (x - A1)2 ù
ïï
ê
ú , x < A1
ïï exp êú
2B12 úû
êë
ïï
ïï
µ A (x) = ïí
1, A1 < x < A2
ïï
ïï
é (x - A2)2 ù
ú , x > A2
ïïexp êê
2 ú
ïï
2
B
2
ê
úû
ë
ïï
ïî
4
5
Колоколообразная
6
Сигмоидная
7
Произведение сигмоидных функций
µ A (x) =
µ A (x) =
µ A (x) =
´
1
2B ù
é
ê1 + x - Ñ ú
ê
ú
A
êë
úû
1
[1 + exp(- A (x - B))]
1
´
[1 + exp(- A1(x - B1))]
1
[1 + exp(- A2(x - B2))]
28
Окончание табл. 1.5
№ пп
Название ФП
Формула
µ A (x) =
8
9
10
Разность сигмоидных
функций
-
1
[1 + exp(- A1(x - B1))]
1
[1 + exp(- A2(x - B2))]
Z-образная
ìï
ïï
1, x £ A
ïï
ïï
2
ïï1 - 2 éê x - A ùú , A £ x £ A + B
ï
2
ëê B - A. ûú
µ A (x) = ïí
ïï
é B-x ù A + B
ú,
£x£B
ïïï 2 êê
2
ë B - A úû
ïï
ïï
ïï
0, x ³ B
ïî
S-образная
ìï
0, x £ A
ïïï
ïï
é x- A ù
A+B
ïï
ú, A £ x £
ïï 2 êê
ú
B
A
2
.
ë
û
ï
µ A (x) = í
2
ïï
é
ù
ïï1 - 2 ê B - x ú , A + B £ x £ B
ï
ê
2
ë B - A úû
ïï
ïï
ïï
1, x ³ B
ïî
Для описания ФП используются варианты, приведенные
в табл. 1.5.
1.7. Операции над нечеткими множествами
Над нечеткими множествами выполняются те же операции,
что и над обычными множествами, а также ряд специальных операций. При этом существуют альтернативные варианты описания
операций над НМ.
Пусть A, B и С – нечеткие подмножества базового множества X. В
табл. 1.6 показаны основные операции над НМ.
29
Таблица 1.6
Основные операции над НМ
№
Операция
Основные варианты
реализации
µ C (x) = max(µ A (x), µ B (x))
1
Объединение
С = A ∪ B
2
Пересечение
С = A ∩ B
µ C (x) = µ A (x) + µ B (x) - µ A (x)µ B (x)
µ C (x) = min(µ A (x), µ B (x))
Дополнение
C= A
µ C (x) = µ A (x)µ B (x)
µ C (x) = 1 - µ A (x)
µ C (x) = 1 - (µ A (x))2
3
1 - µ A (x)
;
1 - kµ A (x)
-1 < k < ¥
µ C (x) =
4
5
6
7
Разность
C = A – B
Симметрическая разность
C = A ∆ B
Aлгебраическое произведение
C = A * B
Aлгебраическая сумма
C = A + B
µС(х) = min(µA(х), 1 − µB(х))
µС(х) = max{min(µA(х),
1 − µB(х)), min(1 − µA(х), µB(х))}
µ C (x) = µ A (x)µ B (x)
µ C (x) = µ A (x) + µ B (x) - µ A (x)µ B (x)
8
Сжатие
C = сon(A)
µ Ñ (x) = ò (µ A (x))2 / x
9
Растяжение
C = dil(A)
µ Ñ (x) = ò (µ A (x))0.5 / x
X
X
Для нечетких множеств законы противоречия и исключенного
третьего не выполняются. Пусть X – базовое (четкое) множество, и
A – его нечеткое подмножество, тогда
A È A ¹ X и A Ç A ¹ Æ.
30
Покажем это на примере:
A = 0.81/40 + 0.15/55 + 0.04/70 + 0.02/100;
A= 0.19/40 + 0.85/55 + 0.96/70 + 0.98/100;
A ∩A = 0.19/40 + 0.15/55 + 0.04/70 + 0.02/100 ≠ ∅;
A ∪A = 0.81/40 + 0.85/55 + 0.96/70 + 0.98/100 ≠ U.
При реализации объединения с помощью функции max, а пересечения – с помощью функции min справедливо:
сard(A) + сard(B) = сard(A ∪ B) + сard(A ∩ B);
сard(A) + сard(A) = сard(X).
Операции равенства и включения определяются для НМ следующим образом:
A = B, если µA(х) = µB(х);
A ⊂ B, если µA(х) ≤ µB(х).
Операцию включения A ⊂ B можно рассматривать как отношение доминирования B над A.
Рассмотрим примеры выполнения операций для НМ, заданных
на дискретной области определения.
Пусть дано базовое множество X и определены два НМ A и В:
X = {x1,x2, x3,x4,x5};
A = {0.1/ x1, 0.2/ x2, 0.3/ x3, 0.4/ x4, 0.5/ x5};
В = {1/ x1, 0/ x2, 0.8/ x3, 0.6/ x4, 0.1/ x5}.
При использовании операторов max и min:
C = A ∪ B = {1/ x1, 0.2/ x2, 0.8/ x3, 0.6/ x4, 0.5/ x5};
С = A ∩ B = {0.1/ x1, 0/ x2, 0.3/ x3, 0.4/ x4, 0.1/ x5}.
При использовании операторов ограниченная сумма и произведение:
C = A ∪ B = {1/ x1, 0.2/ x2, 0.86/ x3, 0.76/ x4, 0.55/ x5};
С = A ∩ B = {0.1/ x1, 0/ x2, 0.24/ x3, 0.24/ x4, 0.05/ x5}.
Таким образом, выбор варианта реализации операций объединения и пересечения НМ оказывает заметное влияние на результат
операции.
31
1.8. Треугольная норма и конорма
С целью оптимального выбора варианта реализации операций
над нечеткими множествами в теории НМ рассматриваются обобщенные операции объединения и пересечения, которые называются T-норма (от triangular norm) и T-конорма (S-норма).
T-норма обобщает понятие пересечения НМ и является бинарным отображением
Т: [0,1] × [0,1] → [0,1],
для которого должны выполняться следующие свойства (табл. 1.7):
Таблица 1.7
Свойства T-нормы
Т(a,b) = T(b,a)
коммутативность
T(T(a,b),c) = T(a,T(b,c))
ассоциативность
T(a,b) ≥ T(c,d), если a ≥ c и b ≥ d
монотонность
T(a,1) = a
граничное условие
Варианты различных T-норм представлены в табл. 1.8.
Таблица 1.8
Основные варианты T-норм
№
пп
Название
Описание
1
T-норма Заде
T(a,b) = min(a, b)
2
Произведение
T(a,b) = ab
3
Квазилинейная
T(a,b) = max(0, a + b − 1)
4
T-норма Вебера или
драстическое произведение (drastic product)
ïìmin(a, b), åñëè max(a, b) = 1
TW (a, b) = ïí
ïïî
0, èíà÷å
5
Параметрическое семейство T-норм
Tp(a,b) = 1 – min(1,((1 – a)p + (1 – b)p)1/p
p≥0
Для T-норм справедливо ограничение
TW(a,b) ≤ T(a,b) ≤ min(a,b).
Это ограничение следует из свойств монотонности, коммутативности и граничного условия:
T(a,b) ≤ T(a,1) ≤ a;
T(a,b) = T(b,a) ≤ T(1,b) ≤ b.
32
Откуда следует: T(a,b) ≤ min(a,b), кроме того:
TW(a,b) ≤ T(a,b), если a ≠ 1 или b ≠ 1;
TW(a,b) ≤ T(1,b) и TW(a,b) ≤ T(a,1).
Поэтому приведенное ограничение справедливо.
S-норма (Т-конорма) обобщает понятие объединения НМ.
S-норма также является отображением
S: [0,1] × [0,1] → [0,1].
Для S-нормы также выполняются описанные выше свойства
коммутативности, ассоциативности и монотонности, но граничное
условие записывается иначе: S(a,0) = a.
Для описания S-нормы используются обычно варианты, показанные в табл. 1.9.
Таблица 1.9
Основные варианты S-норм
№
пп
Название
Описание
1
S-норма Заде
S(a,b) = max(a, b)
2
Ограниченная сумма
S(a,b) = a + b – ab
3
Квазилинейная
S-норма Вебера или
драстическая сумма
(drastic sum)
Параметрическое
семейство S-норм
S(a,b) = min(1, a + b)
4
5
ìïmax(a, b), åñëè min(a, b) = 0
SW (a, b) = ïí
ïïî
1, èíà÷å
Sp(a,b) = min(1,(ap + bp)1/p)
p≥0
Для S-норм справедливо ограничение
max(a,b) ≤ S(a,b) ≤ SW(a,b).
T-норма и S-норма дуальны:
T (a, b) = S(a, b).
Каждая из Т-норм и S-норм может быть записана для большего
количества аргументов.
Например, если для двух аргументов
T(a,b) = max(0, a + b − 1),
то для n аргументов
ìï n
üï
T (a1, a2 ,...an ) = max ïí0, å ai - n + 1ïý.
ïï
ïï
î i=1
þ
33
1.9. Меры сходства нечетких множеств
Для двух нечетких множеств A и В, имеющих одинаковые базовые множества из N элементов, может быть вычислено расстояние
Хемминга по формуле
N
ρ( A, B) = å µ A (xi ) - µ B (xi ) .
i=1
Можно также рассматривать Евклидово (квадратичное) расстояние
N
2
å(µ A (xi ) - µ B (xi )) ,
ε( A, B) =
i=1
Например:
A = 0.3/–2 + 0.4/–1 + 0.8/0 + 1/1 + 0.7/2;
B = 0.1/–2 + 0.8/–1 + 1/0 + 0.7/1 + 0.4/2;
r(A,B) = 1.4; e(A,B) = 0.69.
Относительное расстояние Хемминга и относительное Евклидово расстояние получаются по формулам:
ρ¢( A, B) =
ε ¢( A, B) =
1 N
å µ A (xi ) - µ B (xi ) ,
N i=1
1
N
N
2
å(µ A (xi ) - µ B (xi )) .
i=1
Очевидно, e(A,B), r(A,B) ∈ [0, 1].
На основании одной из функций расстояния и введенного понятия обычного множества, ближайшего к нечеткому, можно ввести в
рассмотрение величину, которая называется индексом нечеткости
НМ.
Линейный индекс нечеткости:
2
dρ ( A) = ρ( A, A).
N
Квадратичный индекс нечеткости:
2
dε ( A) =
ε( A, A).
N
34
Например:
A = 0.3/–2 + 0.4/–1 + 0.8/0 + 1/1 + 0.7/2;
A = 0/–2 + 0/–1 + 1/0 + 1/1 + 1/2;
5
2
ρ( A, A) = å µ A (xi ) - µ A (xi ) = 1.2, dρ ( A) = ρ( A, A) = 0.48;
5
i=1
ε( A, B) =
5
2
å(µ A (xi ) - µ A (xi ))
i=1
2
= 0.62, dε ( A) =
5
ε( A, A) = 0.55.
Расстояние Хемминга и квадратичное расстояние не вполне пригодны для оценивания сходства НМ, поскольку они «усредняют»
оценку близости, в то время как при оценивании особенно важно
рассматривать экстремальные значения функций принадлежности.
Поэтому в качестве мер сходства НМ обычно используются другие
методы: мера сходства Заде, мера сходства Лукасевича, а также мера сходства по площади.
Мера сходства Заде между нечеткими множествами A и B описывается формулой
Z ( A, B) = min(max(1 - µ A (xi ), µ B (xi )),max(µ A (xi ),1 - µ B (xi ))),
i = 1, N.
Мера сходства Лукасевича рассчитывается по формуле
L( A, B) = 1 - max µ A (xi ) - µ B (xi ) , i = 1, N.
Мера сходства по площади может быть рассчитана по формуле
N
å µ A (xi ) - µ B (xi )
P( A, B) = 1 -
i=1
N
.
å(µ A (xi ) + µ B (xi ))
i=1
Рассмотрим пример:
A = 0.3/–2 + 0.4/–1 + 0.8/0 + 1/1 + 0.7/2;
B = 0.1/–2 + 0.8/–1 + 1/0 + 0.7/1 + 0.4/2;
Z(A, B) = 0,4.
L(A, B) = 0,6.
P(A, B) = 0,77.
35
1.10. Нечеткие отношения и нечеткая композиция
Выше были рассмотрены основные операции над одномерными
НМ. Могут быть также использованы многомерные НМ. Они получаются при рассмотрении нечетких отношений.
Нечеткое отношение R двух четких множеств X и Y представляет собой нечеткое подмножество декартова произведения X и Y.
R = {µ R (x, y) / (x, y); x Î X, y Î Y }.
Для n множеств нечеткое отношение описывается формулой:
R = {µ R (x1, x2 ,...xn ) / (x1, x2 ,...xn ); x1 Î X1, x2 Î X2 ...xn Î Xn }.
Для непрерывных областей определения часто используется запись:
R=
ò
µ R (x, y) / (x, y).
X´Y
Функция принадлежности здесь представляет собой некоторую
поверхность в трехмерном пространстве. Если в нечетком отношении участвуют более двух множеств, то функция принадлежности
превращается в гиперповерхность.
Рассмотрим пример:
x, y ∈ R1; c = const;
ìï 1, x2 + y2 £ c2 ;
ïï
ï
2ö
æ 2
R (x, y) = í
ïïexpçç- x + y ÷÷÷, èíà÷å.
çç
ïï
0.5 ÷÷ø
è
ïî
Это отношение описывает «нечеткий круг» с размытыми границами.
Для дискретных областей определения:
R = åå µ R (x, y) / (x, y).
X Y
Рассмотрим пример. Пусть имеется два множества: X –
«Aвтомобили», Y – «Цена (у.е.)».
X = {Мерседес, Лада, Бентли},
Y = {6000, 10000, 30000, 100000, 500000, 2000000}.
С помощью указания степени принадлежности (значение в кружке на рис. 1.15) можно описать на X × Y отношение R – «Приемлемая
стоимость».
36
Мерседес
X
Лада
Бентли
1
1
0.8
0.2
0
0
0.9
0.2
0
0
0
0
1
1
1
1
0.8
0
6000
1
30000
800000
10000
100000
2000000
Y
Рис. 1.15. Пример описания нечеткого отношения «Приемлемая цена»
Как показывает рис. 1.15, нечеткое отношение удобно описывать
матрицей
1
1 0.8 0.2 0 0
R = 0.9 0.2 0
0
0 0.
1
1
1
1 0.8 0
Трехмерное нечеткое отношение можно получить, например, если рассматривать три нечеткие множества: : X – «Aвтомобили», Y –
«Цена (у.е.)», Z – «Год выпуска». Соответственно можно более точно
построить нечеткое отношение R – «Приемлемая цена»:
R = 1/(Лада, 3000, 2005) + 0.7/(Бентли,400000,1999) + …
Нечеткое отношение является НМ, поэтому для него справедливы все понятия и операции, описанные для обычных НМ.
Однако есть и специфические операции, вводимые только для нечетких отношений. К ним относятся операция проекции и цилиндрического расширения, а также операция композиции.
Если задано бинарное нечеткое отношение
R: (x,y) → [0,1],
то операция проекции может быть записана в виде
B = proj(R; Y ) = ò sup µ R (x, y) / y.
Y
y
Пример для непрерывной области определения показан на
рис. 1.16.
Очевидно, бинарное нечеткое отношение может иметь две проекции.
37
µB (y)
1
y
µR (x,y)
0
µА(x)
x
Рис. 1.16. Проекция бинарного нечеткого отношения
Первой проекцией бинарного нечеткого отношения (проекцией
на Х) называется НМ, заданное на X с функцией принадлежности:
µ R1 (x) =  µ R (x, y).
y
Aналогично, второй проекцией (проекцией на Y) называется НМ,
заданное на Y с функцией принадлежности:
µ R 2 (y) =  µ R (x, y).
x
Глобальной проекцией бинарного нечеткого отношения R называется величина:
h(R) =  µ R1 (x) =  µ R 2 (y).
x
y
Если h(R)=1, то отношение является нормальным.
Пример для дискретных множеств X и Y показан на рис. 1.17.
R=
R2=
y1
y2
y3
y4
x1
0.2
0.4
0
0.9
0.9
x2
0.6
0.3
1
0.1
1
x3
0.2
0.8
0.7
0
0.8
0.6
0.8
1
0.9
1
=R1
=h(R)
Рис. 1.17. Проекции бинарного нечеткого отношения
38
µR(x,y)
1
1
µ A(x)
0
x
0
x
y
Рис. 1.18. Цилиндрическое расширение нечеткого множества
Цилиндрическое расширение нечеткого отношения R является
обратной операцией по отношению к проекции, и описывается формулой
R = cext( A; X ´ Y ) =
ò
µ A (x) / (x, y).
X´Y
Выполнение цилиндрической проекции иллюстрирует рис. 1.18.
Рассмотрим пример для дискретной области определения.
Пусть даны два базовые множества:
X = {x1, x2, x3}, Y = {y1, y2, y3, y4}
и дано НМ A на X
A = 0.2/x1 + 0.6/x2 + 0.2/x3.
Рис. 1.19 иллюстрирует операцию цилиндрического расширения.
На основании операций проекции и цилиндрического расширения вводится операция нечеткой композиции.
Пусть имеется нечеткое отношение R на X × Y и НМ A на Х, тогда
НМ В на Y получается как композиция A и R в соответствии с выражением:
B = proj(R Ç cext( A; X ´ Y ); Y ).
A=
y1
y2
y3
y4
x1
0.2
x1
0.2
0.2
0.2
0.2
x2
0.6
cext(A,X× Y)= x2
0.6
0.6
0.6
0.6
x3
0.2
x3
0.2
0.2
0.2
0.2
Рис. 1.19. Цилиндрическое расширение
при дискретной области определения
39
R
S
0.4
0.8
0.5
0.5
0.5
1
0.1
0.2
R °S
0.5
0.6
0
1
0.5
0.5
0.4
0.1
Рис. 1.20. Иллюстрация нечеткой композиции с помощью графа
Операция ∩ трактуется обычно как min (Т-норма) и для непрерывных, и для дискретных множеств. Операция proj для непрерывных множеств трактуется как sup, а для дискретных – как max.
Таким образом, для непрерывной области определения композиция описывается формулой
µ B (y) = sup (min(µ A (x), µ R (x, y)),
x
а для дискретных областей определения формулой
µ B (y) = max(min(µ A (x), µ R (x, y))).
x
Сокращенно операция композиции записывается в виде:
B = A  R.
Нечеткие отношения, выполняемые последовательно, допускают композицию. Например:
é0.4 0.6ù
é0.5 0.4ù
ê
ú é0.8 1ù ê
ú
ú = ê0.5 0.5ú .
R  S = êê0.5 0.2úú  ê
ú
ê0.5 0ú ê
û ê0.5 0.1ú
ê 0.1 1 ú ë
ë
û
ë
û
Композицию нечетких отношений удобно иллюстрировать с помощью графа. Для последнего примера получается граф, показанный на рис. 1.20.
1.11. Работа с нечеткими множествами в MatLab
В системе MatLab реализован набор команд для описания функций принадлежности (ФП) (см. табл. 1.10).
Рассмотрим примеры описания функций принадлежности (ФП)
в MatLab.
Для описания треугольной ФП используется команда
>> y = trimf(x, [A B C]);
40
Таблица 1.10
Команды для описания функций принадлежности в MatLab
№
пп
Команда
Реализуемая функция
1
2
3
4
5
6
7
8
9
10
11
12
13
dsigmf
evalmf
evalmmf
gauss2mf
gaussmf
gbellmf
pimf
psigmf
sigmf
smf
trapmf
trimf
zmf
14
fuzarith
ФП в виде разности между двумя сигмоидами
Вычисление значений произвольной ФП
Расчет степеней принадлежностей для нескольких ФП
Двухсторонняя гауссовская ФП
Гауссовская ФП
Обобщенная колокообразная ФП
π-подобная ФП
Произведение двух сигмоидных ФП
Сигмоидная ФП
s-подобная ФП
Трапециевидная ФП
Треугольная ФП
z-подобная ФП
Калькулятор для выполнения арифметических операций сложения, вычитания, умножения и деления над
нечеткими числами
где x – базовая шкала, на которой описывается ФП; A, B и C – координаты вершин треугольника на базовой шкале. Например:
>> x = (0:0.2:10);
>> y = trimf(x, [3 4 5]);
>> plot(x, y);
Полученный график показан на рис. 1. 21.
Для описания трапецевидной
1
ФП используется команда вида
0.8
>> y = trapmf(x, [A B C D]);
0.6
y
где x – базовая шкала; A, B, C и D –
координаты вершин трапеции на
базовой шкале. Например:
>> y = trapmf(x, [3 4 6 8]); plot(x, y)
Полученный график показан на
рис. 1.22.
Для описания гауссовой ФП используется команда вида
>> y = gaussmf(x, [A B]);
0.4
0.2
0
0
2
4
x
6
8
10
Рис. 1. 21. Треугольная функция
принадлежности
41
1
1
0.8
0.6
0.6
y
y
0.8
0.4
0.4
0.2
0.2
0
0
2
4
x
6
8
10
Рис. 1.22. Трапецевидная функция
принадлежности
1
0.8
y
0.6
0.4
0.2
0
0
2
4
x
6
8
10
Рис. 1.24. Двухсторонняя
гауссова функция
принадлежности
1
0.8
y
0.6
0.4
0.2
0
0
2
4
x
6
8
10
Рис. 1.25. Изменение «резкости»
колоколообразной функция
принадлежности
42
0
0
2
4
x
6
8
10
Рис. 1.23. Гауссова функция
принадлежности
Например:
>> y = gaussmf(x, [1 5]); plot(x, y)
Полученный график показан
на рис. 1.23.
В MatLab предусмотрен вариант комбинации двух гауссовых
функций, так что в промежутке
между их центрами значение ФП
равно 1.
>> y = gauss2mf(x,[B1 A1 B2 A2]);
Например:
>> y = gauss2mf(x, [1 5 1.5 6]); plot(x, y);
Полученный график показан
на рис. 1.24.
Колоколообразная ФП описывается командой:
>> y = gbellmf(x, [A B C]);
где A и B – параметры; С – центр
ФП.
Рассмотрим влияние параметра B:
>> y1 = gbellmf(x, [1 1 5]);
>> y2 = gbellmf(x, [1 2 5]);
>> y3 = gbellmf(x, [1 3 5]);
>> plot(x,y1,x,y2,x,y3);
Получившееся семейство графиков показано на рис. 1.25.
y
y
y
1
Рассмотрим влияние параметра A:
>> y1 = gbellmf(x, [1 1 5]);
0.8
>> y2 = gbellmf(x, [2 1 5]);
>> y3 = gbellmf(x, [3 1 5]);
0.6
>> plot(x,y1,x,y2,x,y3);
0.4
Получившееся семейство графиков показано на рис. 1.26.
0.2
Для определения сигмоидной
0
ФП используется команда вида
0
2
4
6
8
10
x
>> y = sigmf(x, [A B]);
Рис. 1.26. Изменение «ширины»
Для выяснения влияния параколоколообразной функция
метров A и B построим семейство
принадлежности
графиков:
1
>> y1 = sigmf(x, [3 5]);
>> y3 = sigmf(x, [1 5]);
0.8
>> y2 = sigmf(x, [2 5]);
>> plot(x,y1,x,y2,x,y3)
0.6
Как показывает рис. 1.27, пара- 0.4
метр В определяет координату x, в
которой функция принадлежности 0.2
пересекает значение 0,5. Параметр
0
A определяет «размытость» сигмо0
2
4
6
8
10
x
идной функции.
Выбирая отрицательное значе- Рис. 1.27. Влияние параметров на
описание сигмоидной функции
ние A, можно получить «правостороннюю» сигмоидную функцию
(рис. 1.28):
1
>> y1 = sigmf(x, [-3 5]);
0.8
>> y2 = sigmf(x, [-4 5]);
0.6
>> y3 = sigmf(x, [-1 5]);
>> plot(x,y1,x,y2,x,y3)
0.4
С помощью функции psigmf может быть использовано произведе- 0.2
ние «левосторонней» и «правосто0
ронней» сигмоидных функций, на0
2
4
6
8
10
x
пример:
Рис. 1.28. Правосторонняя
>> params1 = [2 3];
сигмоидная функция
>> params2 = [-5 8];
>> y = psigmf(x, [params1 params2]);
43
y
y
y
Получившийся график показан
на рис. 1.29.
1
Разность сигмоидных функ0.8
ций задается командой вида:
>> dsigmf(x,[A1 B1 A2 B2])
0.6
Например:
0.4
>> y=dsigmf(x,[5 2 5 7]);
0.2
Эта команда соответствует следующей
группе команд:
0
0
2
4
6
8
10
>>
y1 = sigmf(x,
[5 2]);
x
>> y2 = sigmf(x, [5 7]);
Рис. 1.29. Произведение сигмоидных
>> y3 = y1-y2;
функций
График ФП показан на рис.
1
1.30.
На основе сплайн-аппрокси0.8
мации построена Z-образная ФП,
которая позволяет описать плав0.6
ное уменьшение принадлежности
0.4
от A к B:
>> zmf(x,[a b])
0.2
Например:
0
0
2
4
6
8
10
>> plot(x, zmf(x, [2 8]));
x
График этой функции показан
Рис. 1.30. Разность сигмоидных
на рис. 1.31.
функций принадлежности
S-образная ФП является «парной»
к Z-образной функции:
1
>> smf(x,[a b])
0.8
Например:
>> y=smf(x,[1 8]); plot(x,y);
0.6
График этой функции показан
0.4
на рис.1.32.
Для описания p-образной ФП
0.2
используются четыре параметра:
0
>> x = (0:0.2:10);
0
2
4
6
8
10
x
>> y = pimf(x, [2 5 8 9]);
>> plot(x, y)
Рис. 1.31. График Z-образной
Получившийся график покафункции принадлежности
зан на рис. 1.33.
44
1
0.8
0.8
0.6
0.6
y
y
1
0.4
0.4
0.2
0.2
0
0
2
4
x
6
8
Рис. 1.32. График S-образной
функции принадлежности
10
0
0
2
4
x
6
8
10
Рис. 1.33. График p-образной
функции принадлежности
С помощью функции evalmf можно оценить степень принадлежности элементов заданного входного вектора к нечеткому множеству. Функция имеет формат:
y = evalmf (x, params, type),
где x – вектор, для координат которого необходимо рассчитать степени принадлежности; params – вектор параметров функции принадлежности, порядок задания которых определяется ее типом;
type – тип функции принадлежности, который может быть задан
именем функции или ее кодом: 1 – ‘trimf’; 2 – ‘trapmf’; 3 – ‘gaussmf’;
4 – ‘gauss2mf’; 5 – ‘sigmf’; 6 – ‘dsigmf’; 7 – ‘psigmf’; 8 – ‘gbellmf’; 9 –
‘smf’; 10 – ‘zmf’; 11 – ‘pimf’.
При задании другого типа функции принадлежности предполагается, что она определена пользователем и задана соответствующим m-файлом.
Рассмотрим пример
>> x = [3 4 5];
>> y = evalmf (x, [2 5 8 9], ‘pimf’)
y=
0.2222 0.7778 1.0000
Вычислить значения нескольких функции принадлежности НМ,
заданных на одном и том же универсальном множестве, можно с помощью функции
y = evalmmf(x, params, types),
где x – вектор, для координат которого необходимо рассчитать степени принадлежности; params – матрица параметров функции принадлежности. Первая строка матрицы определяет параметры пер45
y
вой функции принадлежности, вторая строка – параметры второй
функции принадлежности и т. д.; types – матрица типов функции
принадлежности. Первая строка матрицы задает тип первой функции принадлежности, вторая строка – тип второй функции принадлежности (см. описание команды evalmf).
Рассмотрим пример.
>> para = [-1 2 3 6; 2 7 8];
>> type = str2mat(‘pimf’, ‘trapmf’);
>> evalmmf(x, para, type)
ans =
0.7778 0 0
0.4000 0.8000 0
Первая строка матрицы содержит значения первой функции
принадлежности, вторая строка – значения второй функции принадлежности.
Рассмотрим примеры вы1
полнения операций над НМ в
0.8
MatLab. Пусть дано базовое множество X = [0,10]:
0.6
>> x = (0:0.2:10);
0.4
и заданы два НМ с помощью
функций принадлежности (рис.
0.2
1.34):
0
>> A = gaussmf(x, [1 5]);
0
2
4
6
8
10
x
>> B = gaussmf(x, [1 7]);
Рис. 1.34. Исходные нечеткие
На рис. 1.35 и 1.36 показано
множества
выполнение операций объединения и пересечения при использовании соответственно операторов
max и min.
На рис. 1.37 и 1.38 показано выполнение операций объединения
и пересечения при использовании соответственно операторов ограниченной суммы и произведения (см. табл. 1.6).
Для выполнения арифметических операций сложения, вычитания, умножения и деления над нечеткими числами НМ в составе
MatLab имеется калькулятор fuzarith. Для его использования необходимо задать строку вида
c = fuzarith(x, a, b, operator),
где x – универсальное множество, на котором заданны нечеткие
числа; a –вектор степеней принадлежности элементов универсаль46
1
0.7
0.8
0.6
0.5
0.6
y
y
0.4
0.3
0.4
0.2
0.2
0
0.1
0
2
4
6
x
8
0
10
Рис. 1.35. Объединение нечетких
множеств (операция max)
0
2
4
x
6
8
10
Рис. 1.36. Пересечение нечетких
множеств (операция min)
0.4
1
0.35
0.3
0.6
0.25
y
y
0.8
0.4
0.1
0.2
0
0.2
0.15
0.05
0
2
4
x
6
8
10
Рис. 1.37. Объединение нечетких
множеств (ограниченная сумма)
0
0
2
4
x
6
8
10
Рис. 1.38. Пересечение нечетких
множеств (операция произведение)
ного множества первому НМ; b – вектор степеней принадлежности
элементов универсального множества второму НМ; operator – одна
из допустимых арифметических операций: ‘sum’ – сложение; ‘sub’ –
вычитание; ‘prod’ – умножение; ‘div’ – деление.
Выходной переменной функции fuzarith является вектор степеней принадлежности элементов универсального множества x результату выполнения нечеткой арифметической операции. Размерности векторов x, a, b и с должны быть одинаковыми.
Нечеткие арифметические операции выполняются по следующему алгоритму:
– преобразование нечетких чисел-операндов в a-уровневые нечеткие множества;
– выполнения арифметической операции для каждого a-уровня
в соответствии с принципом расширения;
47
1
0.8
y
0.6
0.4
0.2
0
20 15 10 5
0
x
5
10 15 20
Рис. 1.39. Результат арифметического сложения НМ
– преобразование результирующего нечеткого числа из a-уровнего представления к традиционному виду.
Количество a-уровней может выбираться пользователем.
Рассмотрим пример использования калькулятор fuzarith.
>> point_n = 51; % количество a-уровней
>> min_x = –20; max_x = 20; % границы области определения
>> x = linspace(min_x, max_x, point_n)’; % область опеределения
>> A = trapmf(x, [–10 –2 1 8]); % описание первого слагаемого
>> B = gaussmf(x, [2 5]); % описание второго слагаемого
>> C = fuzarith(x, A, B, ‘sum’); % нечеткая сумма
>> plot(x,A,x,B,x,C)
На рис. 1.39 показан результат арифметического сложения НМ.
Вопросы для самопроверки
1. Что такое множество?
2. Перечислите свойства множества и подмножества.
3. Что такое базовое (универсальное) множество?
4. Какими способами можно задать множество?
5. Какие значения может принимать показатель принадлежности обычного множества?
6. Что такое верхняя и нижняя границы множества?
7. Что такое мощность множества?
8. Что такое кортеж?
9. Опишите операции объединения, пересечения, дополнения и
разности множеств.
10. Опишите коммутативный, ассоциативный и дистрибутивный законы теории множеств.
48
11. Опишите закон двойного отрицания и законы де Моргана теории множеств.
12. Сформулируйте доказательство закона де Моргана.
13. Опишите закон противоречия и закон исключенного третьего, справедливые для обычных множеств.
14. Что такое декартово (прямое) произведение множеств?
15. Дайте определение понятию отношения между множествами.
16. Какое отношение называется бинарным?
17. Как определяется расстояние Хемминга d между двумя конечными множествами?
18. При каких условиях подмножества образуют разбиение базового множества?
19. Дайте определение понятию функции, как особому виду отношения.
20. Что такое нечеткое множество (НМ)?
21. Что такое степень принадлежности µA(х)?
22. Какие значения может принимать степень принадлежности
µA(х)?
23. Может ли один и тот же элемент принадлежать различным
НМ?
24. Какое значение степени принадлежности µA(х) означает полную неопределенность?
25. Как называется одноточечное НМ?
26. Какими способами можно описать НМ?
27. Приведите примеры НМ для непрерывной базовой шкалы.
28. Приведите примеры НМ для дискретной базовой шкалы.
29. Дайте определение понятия обычного множества, ближайшего к нечеткому.
30. Что такое носитель, ядро и высота НМ?
31. Что такое центр НМ, какие два НМ называются соседними?
32. Дайте определение пустого и выпуклого НМ.
33. Что такое нормальное и субнормальное, унимодальное и
мультимодальное НМ?
34. Что такое мощность НМ?
35. Дайте определение множества a-уровня НМ.
36. Сформулируйте теорему о декомпозиции НМ.
37. Что такое нечеткое разбиение базового множества?
38. Дайте определение нечеткого числа и нечеткого интервала.
39. Сформулируйте принцип расширения, распространяющий
обычные математические операции на НМ.
49
40. Достаточно ли мнения одного эксперта для назначения функции принадлежности?
41. Как учесть мнения множества экспертов при описании функции принадлежности?
42. Опишите метод попарных сравнений степеней принадлежности.
43. С какими видами неопределенности сталкивается человек?
44. Назовите виды физической неопределенности.
45. Назовите виды лингвистической неопределенности.
46. В чем заключаются проблемы практического использования
теории вероятностей?
47. В чем заключается сходство понятий вероятности и нечеткости?
48. Какие функции можно использовать для аналитического
описания функции принадлежности НМ?
49. Опишите основные варианты операции объединения НМ.
50. Опишите основные варианты операции пересечения НМ.
51. Опишите основные варианты операции дополнения НМ.
52. Опишите операции разности и симметрической разности
НМ.
53. Опишите операции алгебраического произведения и алгебраической суммы НМ.
54. Опишите операции растяжения и сжатия НМ.
55. Справедливы ли для НМ законы противоречия и исключенного третьего?
56. Как можно определить операции равенства и включения для
НМ?
57. Как называется обобщенная операция объединения НМ?
58. Как называется обобщенная операция пересечения НМ?
59. Перечислите основные варианты T-норм.
60. Какие свойства должны выполняться для T-нормы?
61. Перечислите основные варианты S-норм.
62. Какие свойства должны выполняться для S-нормы?
63. В чем заключается дуальность T-нормы и S-нормы?
64. Как вычисляется расстояние Хемминга между НМ?
65. Как вычисляется эвклидово расстояние между НМ?
66. Как вводится понятие индекса нечеткости НМ?
67. Опишите меру сходства НМ, предложенную Заде.
68. Опишите меру сходства НМ по Лукасевичу.
69. Опишите меру сходства НМ по площади.
70. Чем отличаются одномерное и многомерное НМ?
50
71. Как описывается нечеткое отношение двух НМ?
72. Как описывается нечеткое отношение нескольких НМ?
73. Опишите операцию проекции нечеткого отношения.
74. Опишите операцию цилиндрического расширения нечеткого
отношения.
75. Опишите операцию композиции нечеткого отношения и НМ.
76. Опишите композицию нечетких отношений.
77. Как можно описать композицию нечетких отношений с помощью графа?
78. Какие варианты описания функций принадлежности реализованы в системе MatLab?
51
2. Нечеткая логика
2.1. Двоичная логика, высказывания и предикаты
Логика исследует методы рассуждений, применяемые для убедительного обоснования утверждений. Предметом изучения в логике
являются понятия истины, лжи и противоречия, а также причины
истинности или ложности заключений, полученных из истинных
посылок.
Логика высказываний рассматривает предложения языка не с
точки зрения их смысла, содержания, а только с точки зрения их
истинности или ложности. Дж. Буль в середине 19 века предложил
алгебру логики (булеву алгебру) что позволило превратить логику в
математическую науку.
Булева алгебра называется также двоичной или переключательной алгеброй, поскольку можно кодировать значение «ложь» логическим нулем, а значение «истина» – логической единицей. Это позволяет использовать булеву алгебру в качестве основного инструмента для описания поведения цифровых электронных схем.
Высказывание – это утверждение, которое может быть истинно
или ложно (TRUE или FALSE). Логические формулы получаются
с помощью основных логических связок И и ИЛИ, объединяющих
отдельные (атомарные) высказывания, а также отрицания НЕ.
Связка «И» носит название конъюнкции (ее обозначают также
символами & или ∧ или *), связка ИЛИ – дизъюнкции (символы ∨
или +), отрицание «НЕ» обозначается с помощью символов или .
Законы булевой алгебры позволяют преобразовывать и вычислять значения логических формул.
Коммутативный закон:
A Ù B = B Ù A,
A Ú B = B Ú A.
Ассоциативный закон:
A Ù (B Ù Ñ) = ( A Ù B ) Ù C,
A Ú (B Ú Ñ) = ( A Ú B ) Ú C.
Дистрибутивный закон:
A Ù (B Ú Ñ) = ( A Ù B ) Ú (A Ù C),
A Ú (B Ù Ñ) = ( A Ú B ) Ù (A Ú C).
52
Логические связки имеют следующие свойства:
A Ù 1 = 1, A Ù 0 = 0,
A Ú 1 = 1, A Ú 0 = A.
Свойства отрицания:
A Ù A = 0, A Ú A = 1.
Закон двойного отрицания:
A = A.
Закон идемпотентности:
A Ù A = A, A Ú A = A.
Закон поглощения:
A Ù (A Ú B) = A.
Законы де Моргана:
A Ú B = A Ù B,
A Ù B = A Ú B.
Легко заметить, что законы булевой логики имеют тот же вид,
что и законы математической теории множеств, если заменить ∧ на
∩, а ∨ на ∪.
Логический вывод в исчислении высказываний реализуется использованием утверждения
Если А, то В,
т. е. если А истинно, то В тоже истинно. Если же А ложно, то значение В произвольно. Если же В ложно, а А истинно, то ложным оказывается утверждение “Если А, то В”. Это совпадает с формулой:
A Ú B.
Ввиду важности формулы “Если А, то В” для нее введено специальное обозначение → (импликация) и запись А → В читается “А
влечет В”. Стрелка показывает направление рассуждений − из А
следует В, но не наоборот. Таким образом:
А → В = A Ú B.
53
В логике нужно выводить истинные предложения из других истинных предложений. Если некоторые посылки истинны, то нельзя доказать одновременно истинность некоторого предложения и
истинность его отрицания.
Известно классическое правило логического вывода, которое называется правилом сокращения посылки (modus ponens):
A ∧ (A → B) = B.
Под исчислением (или дедуктивной системой) понимается система, в которой существует некоторое число исходных объектов (аксиом) и правила вывода новых объектов из исходных.
Существенно, что при этом порядок правил вывода может быть
произвольным (в отличие от алгоритмов).
Решаемая задача представляется в виде совокупности утверждений (аксиом), цель задачи также записывается в виде утверждения.
Тогда решение задачи представляет собой выяснение логического
следования из аксиом
(А1 ∧ А2 ∧ А3 ∧... Аn) → В.
Логическая формула от одного или нескольких аргументов называется предикатом. Введение предикатов в логические формулы
значительно расширяет возможности и удобство логического описания, позволяя формализовать довольно сложные описания предметной области.
Элементарные компоненты языка предикатов это:
− предикатные символы;
− символы переменных и констант;
− функциональные символы.
Каждому предикатному символу приписывается отношение в
предметной области, каждому символу константы элемент области,
каждому функциональному символу – функцию в этой области.
Предикат F(x), определенный на предметной области M, является истинным, если у объекта x есть свойство F, и ложным – если этого свойства нет. Например, пусть имеется предикат «Высокая скорость», определенный на шкале скоростей в км/ч:
Высокая скорость(5) = 0, Высокая скорость(500) = 1.
Предикат F(x1, x2, x3,...xN) задает отношение между элементами x1, x2,... xN и интерпретируется как обозначение высказывания
«Элементы x1, x2,... xN находятся между собой в отношении F». Например:
Столица(Россия, Москва) = 1, Столица(Россия, Киев) = 0.
54
Предикаты, которые нельзя разбить на отдельные компоненты,
называют атомарными. Сложные формулы строятся путем комбинирования атомарных предикатов логическими связками И, ИЛИ
и НЕ.
Допустимые выражения в языке предикатов называются правильно построенными формулами (ППФ).
В логике предикатов широко используются кванторы существования ∃ и общности ∀.
Запись (∃ x)F(x) означает, что существует хотя бы один объект x,
для которого F(x) истинно.
Запись (∀ x)F(x) означает, что высказывание истинно при всех x
∈ М и ложно – в противоположном случае.
Символ ∀ может быть определен в терминах ∃ и наоборот:
($ x) F (x) = (" x) F (x);
($ x) F (x) = (" x) F (x).
Если переменная связана с каким-либо квантором, то ее называют связанной, в противном случае она свободная.
Для того, чтобы высказывание об истинности утверждения имело смысл, все переменные, входящие в него, должны быть связанными.
Например, следующее выражение является ППФ:
( ∀ x)F(x) → (∃ y)(F(x,y) ∧ F(x)).
Таким образом, формула в языке предикатов может быть построена из других формул, которые связаны друг с другом операциями
конъюнкции, дизъюнкции, эквивалентности или импликации, с
возможным использованием операции отрицания. Формулам должен предшествовать один или несколько кванторов. Обычно используются предикаты первого порядка, т. е. такие, для которых в
ППФ запрещено использование кванторов по отношению к предикатным или функциональным символам.
Для того чтобы записать на языке исчисления предикатов знания о некоторой предметной области, нужно отыскать атомарные
высказывания и существующие между ними логические взаимосвязи. Затем формулируются обобщающие и частные сведения, используя слова “всякий” и “некоторый” или их эквиваленты.
Рассмотрим простой пример. Пусть надо описать на языке предикатов предложение «Всякий охотник желает знать, где сидит фазан». Это можно сделать при помощи формулы:
55
(∀ X, Y, Z) Охотник(X), Фазан(Y), Место(Z) →
→ Сидит(Y,Z) ∧ Желает_знать(X,Z).
Таким образом, использование предикатов позволяет рассматривать семантику (смысл) некоторой предметной области. На использовании предикатов основана работа языка искусственного интеллекта PROLOG.
Заметим, что геометрия, например, относится к дедуктивным
системам. Ее постулаты можно описать на языке предикатов. Доказательство нового утверждения (теоремы) сводится к поиску противоречия с существующими аксиомами и утверждениями. Если такого противоречия нет, то теорема доказана.
Однако логика предикатов имеет очевидные ограничения – и посылки, и заключения правил должны быть либо ложными, либо
истинными. В реальной жизни достоверность отдельных фактов, а
также правил является величиной, принимающей промежуточные
значения между полной истинностью и полной ложностью.
2.2. Продукционные системы
Логика предикатов является лишь одной из возможных форм
представления знаний. Отличие логики предикатов состоит в том,
что отдельное правило не является полностью автономным, а рассматривается как часть единого знания о предметной области.
Продукционные системы являются альтернативным способом
описания знаний, который часто используется в экспертных системах.
Продукционными называют правила “условие–действие”. В
простейшем случает продукционное правило имеет вид
Если А, то В,
где А – посылка правила (антецедент), а В – заключение правила
(консеквент). Антецедент представляет собой образец, предназначенный для распознавания ситуации, при которой правило срабатывает. Консеквент состоит из действия, которое должно в этом случае выполняться.
Нетрудно видеть, что набор продукционных правил реализует табличный способ задания функции, который применяется в
тех случаях, когда неизвестна аналитическая зависимость y=f(x)
(рис. 2.1).
Для продукционных правил, как модели представления знаний,
характерны следующие достоинства:
56
x
f(x)
x1
x2
…
xN
y1
y2
…
yN
<=>
Если x=x1, то y=y1
Если x=x2, то y=y2
……….
Если x=xN, то y=yN
Рис. 2.1. Система продукционных правил
− модульность системы продукционных правил. Это свойство позволяет удалять отдельные продукции или добавлять новые без изменения остальных;
− единообразие правил и их естественность.
К основным недостаткам системы обычных продукционных правил следует отнести:
− состязательность продукционных правил;
− дискретность функционирования системы продукционных
правил.
Состязательность системы продукционных правил означает, что
для активации какой-либо одной продукции нужно сопоставить текущую ситуацию и эталонные ситуации всех правил.
Свойство состязательности предполагает, что возможны ситуации, когда сопоставление оказывается успешным для нескольких
правил. Но поскольку по определению функции одному аргументу
не может соответствовать более одного значения функции, в этом
случае образуется конфликтное множество, из которого по тому
или иному принципу выбирает только одно правило. При большом
количестве правил существует возможность утраты работоспособности системы, когда отдельные правила вступают в непримиримые противоречия.
Дискретность продукционных правил означает, что значение
функции может меняться резко, скачками при переходе от ситуации к ситуации.
Например, пусть рассматриваются правила управления автомобилем при приближении к опущенному шлагбауму:
«Если расстояние до шлагбаума = большое, то скорость = большая»;
«Если расстояние до шлагбаума = среднее, то скорость = средняя»;
«Если расстояние до шлагбаума = малое, то скорость = малая».
Проверка посылки каждого правила означает проверку принадлежности текущего расстояния к заданному диапазону. Заключение представляет собой некоторую константу (рис. 2.2).
57
Скорость
Большая
Средняя
Малая
Расстояние
Малое
Среднее
Большое
Рис. 2.2. Дискретность функционирования продукционной системы
Использование нечетких продукционных правил (как это будет
показано ниже) позволяет выполнять интерполяцию между правилами, так что действие плавно меняется при переходе от ситуации
к ситуации.
Еще одна проблема использования обычных продукционных систем связана с тем, что для активизации правила требуется строгое
совпадения его посылок и входной информации.
В реальной жизни истинность посылок почти всегда отличается
от 100%, т. е. в одном факте мы уверены на 50%, в другом на 90%
и т. д.
Например, в области медицинской диагностики какие-то симптомы заболевания могут проявиться лишь частично, а если ждать
полного проявления симптомов, то можно потерять больного.
Таким образом, характерной является ситуация, когда нужно
иметь количественную оценку достоверности посылок правила и
нужно вычислять степень достоверности заключения по достоверности посылок, которых может быть несколько.
Для решения этих проблем возможно использование аппарата
теории вероятностей. В этом случае с посылками правил связываются некоторые вероятности, а затем вычисляется вероятность заключения.
Рассмотрим базовые формулы теории вероятностей, которые для
этого можно использовать.
Пусть имеются два события А и В. Они могут происходить по отдельности, происходить совместно или вообще не происходить. Например, если вынимать из мешка шарики, помеченные или буквой
А или буквой В или обоими буквами А и В, мы получим такую модель событий.
Если N – общее число событий (наблюдений), то N(A &`B ) – число наблюдений только события А, N(`A & B) – число наблюдений
только события В, N(A & B) – число совместных появлений А и В,
58
N(`A &`B) – число наблюдений, когда события не происходили. Очевидно:
P( A ) =
N ( A Ù B) + N ( A Ù B)
N (B Ù A) + N ( A Ù B)
, P(B) =
.
N
N
Вероятность одновременного появления А и В
N ( A Ù B)
P( A Ù B) =
.
N
Если рассмотреть общее количество наблюдений В и выделить в
нем наблюдения, где также было и А, то получим условную вероятность
N ( A Ù B) P( A Ù B)
=
P( A / B) =
.
N (B)
P(B)
Аналогично, для общего числа наблюдений А можно выделить
события, когда происходило также В:
N ( A Ù B) P( A Ù B)
=
P( B / A ) =
.
N ( A)
P( A )
Из последних двух формул следует правило Байеса:
P( A) P(B / A) = P(B) P( A / B).
Для вычисления вероятности события справедлива еще одна
формула, которая получается с использованием формулы Байеса.
Так как:
P(B) =
N ( B Ù A) + N ( B Ù A)
= P(B Ù A) + P(B Ù A),
N
то можно записать выражение:
P(B) = P(B / A) P( A) + P(B / A) P( A),
которое называется правилом композиции. Если событие В происходит только при условии А, то правило композиции упрощается:
P(B) = P(B / A) P( A).
Эту формулу можно использовать для вычисления вероятности
(истинности) заключения продукционного правила. Например, если истинность правила «Если сегодня будет дождь, то и завтра будет дождь» = 0.5, а вероятность, что «сегодня будет дождь» = 0.1,
то вероятность, что «завтра будет дождь» = 0.05.
59
Если правило имеет множество посылок Ai, то формула композиции естественным образом обобщается:
N
P(B) = å P(B / Ai ) P( Ai ),
i=1
т. е. вероятность события B зависит от набора ситуаций Ai, когда
B может появиться, умноженной на вероятность каждой ситуации
Ai.
Необходимо подчеркнуть, что достоверность построений теории
вероятностей базируется на законе больших чисел – значение вероятности события может считаться достоверным только при известном исходе большого количества опытов. На практике такая информация обычно не может быть получена, поэтому в технологии
экспертных систем, использующих правила для описания знаний,
применяются «квазивероятностные» эвристические вычисления.
Например, в экспертной системе MYCIN [41] продукционные
правила образуют цепочки, так что заключение одного правила может быть посылкой следующего правила. Логические связки посылок интерпретируются подобно операциям нечеткой логики. Коэффициенты достоверности, базирующиеся на экспертных оценках,
вводятся как для посылок правил, так и для собственно правил.
Однако и в этом случае можно описать лишь достоверность вывода в продукционной системе, но нельзя описать качественные понятия. Так, например, достоверность простого правила «Если сегодня
хорошая погода, то и завтра будет хорошая погода» не может быть
оценена с помощью вероятностей, поскольку «хорошая погода» –
качественное понятие.
2.3. Нечеткая логика и лингвистические переменные
Термин “нечеткая логика” используется обычно в двух различных смыслах. В узком смысле, нечеткая логика это логическое исчисление, являющееся расширением многозначной логики. В ее
широком смысле, который сегодня является преобладающим в использовании, нечеткая логика равнозначна теории нечетких множеств. С этой точки зрения нечеткая логика в ее узком смысле является разделом нечеткой логики в ее широком смысле [42].
Значение истинности нечеткого логического высказывания f находится в диапазоне от 0 до 1.
f : [0,1]n → [0, 1],
60
т. е. n − арное нечеткое отношение, определенное на n нечетких множествах, отображается в отрезок [0, 1].
Базовые нечеткие логические операции должны быть определены таким образом, чтобы конъюнкции, дизъюнкции и отрицания
нечетких высказываний также были нечеткими высказываниями.
В нечеткой логике, как и в классической логике, рассматриваются свойства объектов реального мира. С каждым свойством связывается нечеткое множество, которое можно назвать нечетким предикатом.
Полная истинность логического высказывания кодируется числом 1, полная ложность − числом 0, но существует бесконечно много
градаций истинности в диапазоне [0, 1]. Это позволяет выполнять
логический вывод на знаниях, при котором достоверность заключения меняется в зависимости от достоверности посылок и используемых правил.
Истинность нечеткого предиката на его базовом множестве задается выбранной функцией принадлежности. Например:
Высокая скорость(50) = 0.5, Высокая скорость(80) = 0.8;
Мегаполис(Москва) = 1, Мегаполис(Псков) = 0.1.
Таким образом, в нечеткой логике терминологическое отличие
между операциями над значениями принадлежности и операциями над нечеткими множествами в определенной мере стирается.
Операции над нечеткими множествами определяются поэлементно
с помощью операций над степенями принадлежности, а лингвистические связки могут интерпретироваться и как операции над значениями принадлежности, и как операции над нечеткими множествами [27].
Например, рассмотрим высказывание:
Высокая скорость(50) = 0.5
Здесь величина 0.5 может интерпретироваться как истинность
предиката «Высокая скорость» для значения 50. Одновременно это
принадлежность значения 50 к нечеткому множеству «Высокая
скорость».
Если же рассмотреть высказывание
(Высокая скорость(x)) И (Малая высота(y)),
то здесь логическая связка И может интерпретироваться как конъюнкция значений истинности нечетких предикатов «Высокая
скорость(x)» и «Малая высота(y)» при определенных значениях x и
y. Эта связка может также интерпретироваться и как операция пе61
ресечения нечетких (цилиндрических) расширений, определяемых
нечеткими множествами «Высокая скорость» и «Малая высота» в
декартовом произведении множеств значений скоростей и высот.
В настоящее время в нечеткой логике в качестве операций
конъюнкции и дизъюнкции широко используются t-нормы и
t-конормы.
Человеку удобнее формулировать, а также воспринимать знания, используя качественные характеристики, т. е. словесную форму описания. Для облегчения процесса обработки знаний в нечеткой логике смысл рассматриваемой задачи описывается с помощью
лингвистических переменных.
Лингвистической переменной (ЛП) называется переменная, заданная на некоторой базовой шкале и принимающая значения, являющиеся словами естественного языка, которые описываются нечеткими множествами.
Лингвистическую переменную можно описать с помощью набора
{x, T(x), X, G, M},
где x – наименование ЛП; T(x) – множество значений ЛП (терммножество); X – базовая шкала; G – синтаксическое правило генерации имен термов; M – семантическое правило связывания имени
терма и его значения.
Человек эффективно воспринимает и запоминает максимум 7±2
градации свойств какого-либо объекта. Это же относится и к наборам фактов и связей между ними. Поэтому при описании ЛП обычно используют от 3 до 7 термов.
Во многих приложениях количество термов ЛП полагается фиксированным, и каждому терму заранее присваивается значение. В
этом случае ЛП описывается тройкой:
{x, T(x), X }.
Например, скорость движения объекта можно описать с помощью тройки:
x = «Скорость», T(x)={«низкая», «средняя», «высокая»}, X = [0,150].
Обычно описание термов ЛП
µТ (x) Низкая Средняя Высокая
вводится
таким образом, чтобы
1
обеспечить
нечеткое разбиение
0.6
базового
множества
X (рис. 2.3).
0.4
Таким образом, ЛП прини0
40
60
100
мает значения на множестве
x
предикатов, но каждое значеРис. 2.3. Описание ЛП «Скорость»
62
y
ние имеет определенную истинность. Например, для значения x=40
км/ч (см. рис. 2.3) получаются следующие значения истинности:
«Скорость» есть «Низкая» с истинностью 0.4;
«Скорость» есть «Средняя» с истинностью 0.6.
Возможны следующие виды нечетких лингвистических высказываний:
− высказывание «А есть В», где А – наименование ЛП, В – ее значение, которому соответствует терм из базового терм-множества;
− высказывание «А есть mВ», где m – модификатор значения ЛП,
который может быть получен с использованием заданных процедур
G и M;
− составные высказывания, образованные из высказываний видов 1 и 2 и нечетких логических операций в форме связок И, ИЛИ,
ЕСЛИ-ТО, НЕ.
Модификаторам соответствуют такие слова естественного языка, как «очень», «не очень», «более-менее» и т. п. Их можно описать,
1
например, с помощью операции
0.9
растяжения и сжатия НМ.
0.8
Например, если описана функ0.7
0.6
ция принадлежности терма «Ре0.5
бенок» для ЛП «Возраст», то мо0.4
дификацию терма «Маленький
0.3
0.2
ребенок» можно получить, вы0.1
полняя сжатие исходного терма
0
(рис. 2.4):
0
5
10 15 20 25 30
x
>> x = (0:1:30);
>> y = sigmf(x, [-0.5 15]);
Рис. 2.4. Пример лингвистической
>> y1=y.*y;
модификации терма
>> plot(x,y,x,y1)
2.4. Нечеткая импликация и нечеткие правила
В нечетком продукционном правиле “Если А, то В” и посылка, и
заключение являются нечеткими логическими переменными. Обозначим простейшее нечеткое правило R следующим образом:
R = I (A,B),
где I – нечеткая импликация.
Нечеткую импликацию можно реализовывать с помощью нечеткого отношения, которое позволяет описать требуемое отображение
из А в В.
63
Существуют два основных способа описания нечеткой импликации. При первом импликация описывается как обобщенная конъюнкция:
I(A,B) = T(A,B).
При втором импликация реализуется подобно классической импликации:
I(A,B) = S( A ,B).
Известно большое количество вариантов нечеткой импликации,
некоторые варианты показаны в табл. 2.1.
Таблица 2.1
Варианты описания нечеткой импликации
№ пп
Название импликации
Формула
1
Mamdani
I ( A, B) = min( A, B)
2
Larsen
I ( A, B) = A × B
3
Yager
I ( A, B) = B A
4
Kleene-Dienes
I ( A, B) = max(1 - A, B)
5
Gaines
ïì1, A £ B
I ( A, B) = ïí
ïïî0, A > B
Goguen
1, A = 0
ïìï
I ( A, B) = ïí
ïïmin( B ,1) A ¹ B
ïî
A
6
Рассмотрим пример. Пусть имеется базовое множество X и два
его нечетких подмножества A и B:
X = {1, 2, 3};
A = 1/1 + 0.8/2 + 0/3;
B = 0.6/1 + 0.9/2 + 1/3.
При использовании нечеткой импликации Mamdani нечеткое
правило «Если А, то В» описывается следующим образом:
R AB =I (A,B) = 0.6/(1,1) + 0.9/(1,2) + 1/(1,3) + 0.6/(2,1) + 0.8/(2,2) +
+0.8/(2,3) + 0/(3,1) + 0/(3,2) +0/(3,3)
64
В матричной форме:
é0.6 0.9 1 ù
ê
ú
R AB = êê0.6 0.8 0.8úú .
ê 0
0
0 úû
ë
Если А и В определены с помощью непрерывных функций принадлежности, то нечеткое правило описывается некоторой поверхностью.
Рассмотрим пример с использованием функций MatLab. Пусть заданы два нечетких множества с помощью функций принадлежности:
>> x1 = (0:0.1:10);
>> x2 = (0:0.1:10);
>> [X, Y] = meshgrid(x1, x2);
>> Z = min(trimf(X, [1 2 3]), gaussmf(Y,[1 3]));
>> plot3(X,Y,Z)
Поверхность, описывающая нечеткое отношение, показана на
рис. 2.5.
В нечеткой логике значения истинности логических переменных
лежат в диапазоне [0, 1], поэтому здесь требуется модернизация правил логического вывода.
Обобщением правила modus ponens для нечетких множеств является композиционное правило вывода:
B′ = A′ ° (A → B),
где A′ – нечеткая посылка; B′ – нечеткое заключение.
На смысловом уровне правило композиции означает, что близкие посылки вызывают близкие следствия.
1
0.8
0.6
0.4
0.2
0
10
5
0 0
2
4
6
8
10
Рис. 2.5. Графическая интерпретация нечеткого отношения
65
Рассмотрим пример для дискретной области определения.
Пусть дано базовое множество
X = {1,2,3,4},
на котором определены два НМ:
А = 1/1 + 0.8/2 + 0.3/3 + 0.1/4,
В = 0/1 + 0.1/2 + 0.6/3 + 1/4.
Рассмотрим нечеткое отношение
R = А → В.
При использовании импликации Mamdani получаем:
R = 0/(1,1) + 0.1/(1,2) + 0.6/(1,3) + 1(1,4) +0/(2,1) + 0.1/(2,2) +
+ 0.6/(2,3) +0.8/(2,4) + 0/(3,1) + 0.1/(3,2) + 0.3/(3,3) + 0.3/(3,4) +
+ 0/(4,1) + 0.1/(4,2) +0.1/(4,3) + 0.1/(4,4).
В матричной форме записи
é0 0.1 0.6 1 ù
ê
ú
ê0 0.1 0.6 0.8ú
ú.
R = êê
ú
ê0 0.1 0.3 0.3ú
ê0 0.1 0.1 0.1ú
ëê
ûú
Допустим, что имеется НМ – посылка вида:
A′ = 0/1 + 0.5/2 + 1/3 + 0.3/4,
тогда нечеткое заключение получается в виде
é0 0.1 0.6 1 ù
ê
ú
ê0 0.1 0.6 0.8ú
ú = [0 0.1 0.5 0.5].
B ¢ = A ¢  R = [0 0.5 1 0.3] êê
ú
ê0 0.1 0.3 0.3ú
ê0 0.1 0.1 0.1ú
êë
úû
Рассмотрим пример нечеткого вывода для непрерывной области
определения. Пусть даны два базовых множества X и Y, на которых
заданы НМ с помощью треугольных функций принадлежности
(рис. 2.6).
Нечеткое отношение R: A → B иллюстрирует рис. 2.7.
>> x2 = (0:0.1:6);
>> x1 = (0:0.1:6);
>> [X, Y] = meshgrid(x1, x2);
>> Z = min(trimf(X,[0 2.5 5]),trimf(Y,[1 2 3]));
>> plot3(X,Y,Z)
66
µ A(x)
µB(y)
1
1
A
0
5
x
B
0
1
y
3
Рис. 2.6. Описание посылки и заключения нечеткого правила
1
0.8
0.6
0.4
0.2
0
6
4
6
4
2
2
0 0
Рис. 2.7. Описание нечеткого правила
µ A(x)
1
µB(y)
A
1
A’
B
α
B’
0
5
x
0
1
3
y
Рис. 2.8. Описание нечеткой посылки
Пусть имеется нечеткая посылка A’. Вариант графической интерпретации нечеткого вывода (при использовании операции min)
показан на рис. 2.8.
Нечеткое заключение описывается формулой
µ B¢ (y) = sup T (µ A ¢ (x), I (µ A (x), µ B (y)))= sup(µ A ¢ (x) Ù (µ A (x) Ù µ B (y)))=
x
x
= sup(µ A ¢ (x) Ù µ A (x)) Ù µ B (y) = α Ù µ B (y).
x



α
67
0.6
0.5
0.4
0.3
0.2
0.1
0
6
4
6
4
2
2
0 0
Рис. 2.9. Пересечение нечеткой посылки и нечеткого отношения
Тот же результат в рассматриваемом примере можно получить,
если описать выражение
T (µ A ¢ (x), I (µ A (x), µ B (y))),
командами:
>> Z1 = min(trimf(X,[3 4 5]),Z);
>> plot3(X,Y,Z1)
Рассматривая проекцию пространственной фигуры (рис. 2.9) на
плоскость YZ можно получить результат, совпадающий с правой частью рис. 2.8.
Нечеткая посылка может быть конъюнкцией, дизъюнкцией или
отрицанием двух или большего количества нечетких множеств.
Рассмотрим нечеткий вывод для продукционного правила с двумя посылками, связанными с помощью конъюнкции. Пусть имеется правило:
Ri: Если (х1 = А1,i ) и (х2 = А2,i ), то y = B
и нечеткие исходные данные:
х1 = А′1 и х2 = А′2.
Нечеткое заключение получается по формуле:
B ¢ = T ( A1¢ , A2¢ )  Ri ,
где функция принадлежности B′ описывается композицией sup−
min:
(
)
µ B¢ (y) = sup (µ A ¢ (x1 ) Ù µ A ¢ (x2 )) Ù µ R (x1, x2 , y) =
x1,x2
(
1
2
)
= sup (µ A ¢ (x1 ) Ù µ A ¢ (x2 )) Ù ((µ A1 (x1 ) Ù µ A2 (x2 )) Ù µ B (y)) =
x1,x2
1
(
2
)
= sup µ A ¢ (x1 ) Ù µ A ¢ (x2 ) Ù µ A1 (x1 ) Ù µ A2 (x2 ) Ù µ B (y) =
68
x1,x2
1
2
= sup(µ A ¢ (x1 ) Ù µ A1 (x1 )) Ù sup(µ A ¢ (x2 ) Ù µ A2 (x2 )) Ù µ B (y).
1
2
x2
1
x

α
= sup {µ A ¢ (x1 ) Ù µ A ¢ (x2 ) Ù µ A1 (x1 ) Ù µ A2 (x2 )} Ù µ B (y) =
x1,x2
1
2
= sup(µ A ¢ (x1 ) Ù µ A1 (x1 )) Ù sup(µ A ¢ (x2 ) Ù µ A2 (x2 )) Ù µ B (y).
1
2
x1
x2

α
Величина a характеризует степень соответствия исходных данных посылкам правила, т. е. описывает уровень запуска правила.
В общем случае нечеткое продукционное правило может иметь N
посылок. Уровень запуска в этом случае описывается формулой:
αi =
N
 sup(T(µ Aj¢ (xj),µ Aj,i (xj)).
j=1 xj
2.5. Нечеткий вывод в базе правил
Нечеткая логическая система может состоять из множества правил. В любой момент возможно срабатывание любого из правил, поэтому можно считать, что они связаны логической связкой ИЛИ:
R = R1 ∨ R2 ∨ R3 … ∨ RN.
Рассмотрим пример для дискретной области определения. Пусть
нечеткая система состоит всего из двух правил:
R1: Если x = А1, то y = B1;
R2: Если x = А2, то y = B2.
Посылки правил описываются с помощью НМ, определенных на
дискретном базовом множестве:
А1 = 0.7/1 + 1/2 + 0.7/3 + 0.2/4; B1 =0/1 + 0.1/2 + 0.7/3 + 1/4;
А2 = 0/1 + 0.1/2 + 0.7/3 + 1/4; B2 = 0.7/1 + 1/2 + 0.7/3 + 0.2/4.
Нечеткие отношения, соответствующие правилам, можно описать с помощью матриц
é0 0.1 0.7 0.7ù
ê
ú
ê0 0.1 0.7 1 ú
ê
ú,
R1 = A1 ® B1 = ê
ú
0
0
.
1
0
.
7
0
.
7
ê
ú
ê0 0.1 0.2 0.2ú
ëê
ûú
é 0
0
0
0 ù
ê
ú
ê 0.1 0.1 0.1 0.1ú
ê
ú,
R 2 = A2 ® B2 = ê
ú
0
.
7
0
.
7
0
.
7
0
.
2
ê
ú
ê0.7 1 0.7 0.2ú
úû
ëê
69
и система нечетких правил описывается матрицей
é 0 0.1 0.7 0.7ù
ê
ú
ê 0.1 0.1 0.7 1 ú
ú.
R = R1 Ú R2 = êê
ú
ê0.7 0.7 0.7 0.7ú
ê0.7 1 0.7 0.2ú
êë
úû
Если базовые множества непрерывные, то каждому нечеткому
отношению соответствует некоторая поверхность, а система правил
также является поверхностью, так что каждая ее точка – верхняя
граница всех соответствующих точек отдельных поверхностей.
При двух и более посылках правила матричное представление
становится затруднительным.
Рассмотрим пример для непрерывной области определения.
Пусть имеется система из двух правил, каждое из которых имеет
по две посылки:
R1: Если (x = А1) и (y = B1), то (z = C1);
R2: Если (x = А2) и (y = B2), то (z = C2).
Здесь Аi, Bi и Ci – нечеткие множества, входящие в i-е правило.
Пусть A′ и B′ − нечеткие посылки, тогда уровень запуска ai каждого правила можно описать выражением
α i = hgt( A ¢ Ç Ai ) Ù hgt(B Ç Bi ),
и выходной сигнал системы правил получается по формуле:
R ( A ¢, B ¢) = R1 Ú R2 = (α1 Ù C1 ) Ú (α2 Ù C2 ).
Во многих случаях входные переменные нечеткой системы представляют собой числа (т. е. четкие значения). Для выполнения нечетких операций нужно выполнить их преобразование в нечеткую
форму (фаззификацию). Проще всего рассматривать входную переменную x0, как одноточечное нечеткое множество (синглетон):
ìï1, x = x0 ;
µ A ¢ (x) = ïí
ïïî 0, x ¹ x0 .
При двух посылках x и y каждое правило можно описать следующим образом:
Ri (x, y, z) = [ Ai (x) Ù Bi (y)] ® Ci (z).
При входных данных x=x0 и y=y0 выход i-го правила получается
по формуле
70
Ci¢ = [ Ai (x0 ) Ù Bi (y0 )] ® Ci (z),



αi
где величина ai определяет силу запуска правила.
Выходной сигнал системы нечетких правил описывается формулой
N
C =  Ci¢.
i=1
Известно несколько классических схем нечеткого вывода – варианты Mamdani, Larsen, Tsukamoto и Sugeno.
Рассмотрим вариант Mamdani. Нечеткая импликация здесь моделируется с помощью оператора min.
Положим для простоты изложения, что база правил содержит
всего два правила R1 и R2. Сила запуска каждого из них:
α1 = A1 (x0 ) Ù B1 (y0 );
α2 = A2 (x0 ) Ù B2 (y0 ).
Индивидуальный выход каждого правила получается по формулам
C1¢ (z) = α1 Ù C1 (z);
C2¢ (z) = α2 Ù C2 (z).
Графической иллюстрацией схемы Mamdani служит рис. 2.10.
Вариант Larsen отличается от варианта Mamdani только тем,
что оператор импликации здесь описывается с помощью алгебраического умножения
A1
B1
C1
min
x
α1
y
z
B2
A2
min
x0
x
y0
α2
y
C2
z
Рис. 2.10. Нечеткий вывод Mamdani
71
B1
A1
´
x
C1
α1
y
z
B2
A2
´
x0
x
y0
α2
C2
y
z
Рис. 2.11. Нечеткий вывод Larsen
α i = Ai (x0 ) Bi (y0 );
Ci¢(z) = α i Ci (z).
Схему Larsen для двух правил иллюстрирует рис. 2.11.
И в схеме Mamdani, и в схеме Larsen связка иначе описывается с
помощью оператора max:
C(z) = C1¢ (z) Ú C2¢ (z).
Нечеткий вывод, рассмотренный Tsukamoto, отличается тем, что
все термы ЛП здесь имеют монотонные функции принадлежности.
Если некоторое правило имеет уровень запуска ai, то его выходной
сигнал может быть рассчитан по формуле:
α i = C(zi ), т. е. zi = C-1 (α).
Рис. 2.12 иллюстрирует схему Tsukamoto для двух правил.
Схема нечеткого вывода, предложенная Sugeno, отличается от
схемы Tsukamoto только тем, что здесь выходные значения каждого
правила являются функциями входных значений:
zi = ai x0 + bi y0 .
Работу схемы Sugeno для двух правил иллюстрирует рис. 2.13.
В схемах Sugeno и Tsukamoto для каждого правило получается
четкое выходное значение, поэтому для получения результирующе72
B1
C1
A1
min
x
α1
y
z1
B2
A2
min
x0
y0
x
C2
α2
z2
y
z
z
Рис. 2.12. Схема нечеткого вывода Tsukamoto
A1
B1
min
α1
y
x
z1=a1x0+b1y0+с1
z
B2
A2
min
x0
x
y0
y
α2
z2=a2x0+b2y0+с2
z
Рис. 2.13. Схема нечеткого вывода Sugeno
го сигнала базы правил здесь используется формула (дискретный
вариант метода центра тяжести):
N
å αi zi
u = i=1
N
.
å αi
i=1
В вариантах Mamdani и Larsen выходом каждого правила является НМ, поэтому здесь требуется выполнить операцию агрегирования – объединения множества модифицированных заключений
правил в одно НМ.
Здесь возможны два варианта:
а) рассматривается логическая сумма функций принадлежности заключений отдельных правил, которой соответствует оператор
max. Это наиболее часто используемый вариант (рис. 2.14, а)
73
а)
б)
µ Σ (z)
µΣ (z)
1
1
α1
α1
α2
0
α2
z
z
0
Рис. 2.14. Варианты агрегирования заключений
µ å (z) = max[µC1 (z),µC2 (z),...µCn (z) ], z Î Z.
При этом могут «поглощаться» заключения правил с низкими a;
б) рассматривается ограниченная арифметическая сумма функций принадлежности (рис. 2.14, б). Этот способ позволяет учесть
вклад заключений правил с низкими значениями a.
µ å (z) = min[1,µC1 (z) + µC2 (z) + .. + .µCn (z) ], z Î Z.
После выполнения агрегирования требуется выполнить операцию дефаззификации – получить точное значение выхода для всей
базы правил.
2.6. Методы дефаззификации
Дефаззификацией (англ. defuzzification) называется процедура
преобразования НМ в четкое число.
Существует большое количество методов дефаззификации [43],
но на практике чаще всего применяются несколько методов, описанных ниже.
Пусть имеется нечеткое множество A, определенное на базовой
шкале X, с функцией принадлежности μ A(x). Тогда для преобразования его в число можно использовать следующие методы.
1. Метод центра тяжести (англ. centroid или center-of-gravity
(COG)). Этот метод, как следует из его названия, заключается в вычислении центра тяжести плоской фигуры, ограниченной функцией принадлежности нечеткого множества и осью координат:
ò (µ A (x)x)dx
COG( A) =
X
ò µ A (x)dx
X
74
.
2. Дискретный метод центра тяжести (или индексный – англ.
discret center-of-gravity (DCOG)). Здесь предполагается, что универсальное множество – дискретное. Соответственно формула для расчета центра тяжести имеет вид
N
å µ A (xi )xi
DCOG( A) = i=1
.
N
å µ A (xi )
i=1
3. Метод медианы (bisector) или центра области (center-of-area
(СOA)). Здесь выбирается точка в области определения выходной
переменной x такая, что оказываются равными интегралы:
COA ( A )
ò
sup x
µ A (x)dx =
inf x
ò
µ A (x)dx.
COA ( A )
Этот метод иллюстрирует рис. 2.15.
4. Дискретный метод медианы использует формулу
a = min( j); "j :
j
N
1
å µ A (xi ) ³ 2 å µ A (xi ).
i=1
i=1
5. Метод центра максимумов (center-of-maximum (COM)). Отличие от метода центра тяжести состоит в том, что рассматривается
только та часть области определения НМ, для которой значение
принадлежности максимально
ò (µ A (x)x)dx
COM( A) = M
ò µ A (x)dx
;
M
M Ì X, x Î M Þ µ A (x) = max(µ A (x)); "x Î X.
µA (x)
1
A
0
COA(A)
x
Рис. 2.15. Метод медианы
75
6. Дискретный метод центра максимумов (DCOM) находит среднее арифметическое элементов универсального множества, имеющих максимальные степени принадлежностей:
å
DCOM( A) =
xi ÎM
xi
M
.
7. Индексный (пороговый) метод центра тяжести (icog). Здесь
метод центра тяжести применяется не ко всему НМ, а только к той
его части, в которой значение принадлежности превышает заданный порог b:
ò
ICOG( A,β) =
(µ A (x)x)dx
xÎM
ò
µ A (x)dx
; M Ì X; x Î M Þ µ A (x) > µ.
xÎM
На рис. 2.16 показан пример icog при b=0.5
8. Метод середины максимума (mean-of-maximum (MOM)). Это
пороговый метод центра тяжести, в котором порог соответствует
максимуму функции принадлежности (рис. 2.17):
MOM(A)=ICOG(A,hgt(A)).
µA(x)
1
A
0.5
0
x
ICOG (A,0.5)
Рис. 2.16. Индексный метод центра тяжести
µA(x)
1
A
0.5
0
MOM(A)
Рис. 2.17. Метод середины максимума
76
x
9. Метод наибольшего из максимумов LOM (Largest
Maximums):
LOM( A) = max(x); "x Î X; µ A (x) = max(µ A (x)).
Of
10. Метод наименьшего из максимумов SOM (Smallest Of
Maximums):
LOM( A) = min(x); "x Î X; µ A (x) = max(µ A (x)).
Очевидно, что для унимодального НМ методы MOM, LOM и SOM
совпадают.
2.7. Табличное представление базы правил
На практике часто используется вариант, при котором нечеткие
правила имеют две посылки.
Например, пусть посылки x1, x2 и заключение y представляют
собой лингвистические переменные, каждая из которых описывается набором из 5 термов
T (x1) = T(x2) = T(y) ={ОБ, ОМ, Н, ПМ, ПБ},
где ОБ – «отрицательное большое», ОМ – «отрицательное малое»,
Н – «нулевое», ПБ – «положительное большое», ПМ – «положительное малое».
Таким образом, правила имеют вид:
Если (x1 = Н) и (x2 = Н), То y = ПМ.
Максимальное количество возможных правил равно произведению мощностей терм-множеств посылок. В рассматриваемом примере
card(Т(x1)) × card(Т(x2))= 25.
Если все правила известны, то содержимое базы правил удобно
отображать в виде так называемой таблицы лингвистических правил (ТЛП) (рис. 2.18).
В зависимости от решаемой задачи ТЛП может описывать, например, динамику объекта управления (x1 – вход объекта, x2 – выход объекта, y – изменение выхода объекта), или поведение регулятора (x1 – ошибка, x2 – изменение ошибки, y – сигнал управления).
Механизм функционирования ТЛП иллюстрирует пример, показанный на рис. 2.19, где для описания терм-множеств посылок используются трапецевидные функции принадлежности.
Заключение различных нечетких правил могут совпадать. Окрашенные участки на рис. 2.19 означают зоны взаимодействия (кон77
x2
x1
ОБ
ОМ
Н
ПМ
ПБ
ОБ
ПБ
ПС
ПС
ПМ
ПБ
ОМ
ПС
ПМ
ПМ
Н
ОМ
Н
ПС
ПМ
ПМ
ОМ
ОС
ПМ
ПМ
ОМ
ОМ
ОМ
ОС
ПБ
Н
ОМ
ОС
ОС
ОБ
y
Рис. 2.18. Пример таблицы лингвистических правил
µTi(x2)
ОБ
ОМ
Н
ПМ
ПБ
µTi(x1)
x2
ОБ
ПБ
ПС
ПС
ПМ
ПБ
ОМ
ПС
ПМ
ПМ
Н
ОМ
Н
ПС
ПМ
ПМ
ОМ
ОС
ПМ
ПМ
ОМ
ОМ
ОМ
ОС
Н
ОМ
ОС
ОС
ОБ
ПБ
x1
y
Рис. 2.19. Графическое представление функционирования ТЛП
куренции) соседних правил. В каждый момент времени здесь могут
срабатывать не более 4 правил. При выборе другого способа описания функций принадлежности термов (треугольные или гауссовы
функции) зона взаимодействия правил расширится, и поведение нечеткой системы изменится.
Однако наибольшее значение для функционирования нечеткой
системы имеет выбор правил.
78
2.8. Требования к базе правил
Хорошая база правил должна удовлетворять требованиям непротиворечивости, полноты и непрерывности.
1. Непротиворечивость (англ. сonsistency) означает, что в базе не
должно быть правил, которые имели бы при сходных посылках существенно различные заключения. Рассмотрим правила с одной посылкой и одним заключением:
Rj: Если Aj, то Bj,
где А и В – нечеткие множества, определенные на универсальных
множествах X и Y.
Степень непротиворечивости двух правил Rj и Rk может быть
оценена по формуле
C(Rj , Rk ) = max(µ Aj (x) Ù µ Ak (x)) - max(µ Bj (y) Ù µ Bk (y)) .
x
y
Противоречивость правила Rj по отношению ко всей базе из N
правил выражается формулой
N
C(Rj ) = å C(Rj , Ri ), i ¹ j.
i=1
Таким образом, можно выявить «плохие» правила, не согласующиеся с остальной частью базы правил.
2. Полнота (англ. completeness) базы правил означает, что не
должно быть «белых пятен» во входном пространстве правил. Для
каждого текущего состояния X должно существовать хотя бы одно
управляющее правило, посылки которого имеют ненулевую принадлежность для X.
Полнота базы правил может быть оценена по формуле
NR NX
CM(X) = å { Õ µ Ai,k (xi )},
k=1 i=1
где Nr – количество правил; Nx – количество посылок каждого правила.
Возможны следующие показатели полноты базы правил:
СМ(Х) = 0 – неполная база правил (есть «белое пятно»);
СМ(Х) = 1 – строго полная;
СМ(Х) < 1 – не совсем полная;
СМ(Х) > 1 – избыточная база правил.
79
3. Непрерывность базы правил. Например, пусть посылки представляют собой НМ, образующие нечеткое разбиение базовой шкалы:
A1 < A2 < ... Ai-1 < Ai < Ai+1 < ... AN .
Пусть в базе правил имеются два правила:
Rn : Åñëè x1 = A1,n è x2 = A2,n , òî y = Bn
Rm : Åñëè x1 = A1,m è x2 = A2,m , òî y = Bm
В непрерывной базе правил выполняются условия:
Если А1,n = A1,m, то А2,n ∩ A2,m ≠ ∅.
Если А2,n = A2,m, то А1,n ∩ A1,m ≠ ∅.
Соответственно, при выполнении этих условий должно выполняться:
Bn ∩ Bm ≠ ∅.
Таким образом, непрерывность базы правил означает, что близким посылкам должны соответствовать близкие заключения.
2.9. Нечеткая система как универсальный аппроксиматор
Нечеткие продукционные системы лишены недостатков обычных продукционных систем. Как было показано в ряде работ [44–
46], система нечетких правил позволяет аппроксимировать любую
функцию Y = F(X), заданную на ограниченном непрерывном множестве значений U, т. е. выполняется
sup F (X) - F (X) £ ε,
XÎU
где X – вектор аргументов функции; F (X) – выход нечеткой системы, e – произвольная малая константа.
Так в работе [46] было показано, что нечеткая система, использующая набор из N правил
Ri: Если (xi есть Ai) и (yi есть Bi ), то (zi есть Ci); i = 1,2,…, N,
является универсальным аппроксиматором при следующих условиях:
1) для описания посылок и заключений используются гауссовы
функции принадлежности
2ö
2ö
æ æ
æ æ
ç 1 x - α i1 ö÷ ÷÷
ç 1 y - α i2 ö÷ ÷÷
÷÷ ÷÷; Bi (y) = expçç- çç
÷÷ ÷÷;
Ai (x) = expççç- ççç
ç ç
÷ ÷
÷ ÷
èç 2 è βi1 ø ÷ø
èç 2 è βi2 ø ÷ø
80
2ö
æ æ
çç 1 ç z - ci ö÷ ÷÷
÷
Ci (z) = expçç- ç
÷ ÷÷;
çè 2 çè βi ÷ø ÷÷ø
2) логическая операция & описывается как произведение:
[Ai(x) & Bi(y)] = Ai(x)Bi(y);
3) импликация применяется в виде произведения
[Ai(x) & Bi(y)] → Ci(z) = Ai(x)Bi(y)Ci(z);
4) для дефаззификации используется дискретный метод центра
тяжести:
N
å ci Ai Bi
z = i=1
N
.
å Ai Bi
i=1
Было показано, что нечеткая логическая система может быть
универсальным аппроксиматором и при других условиях:
1) для описания посылок и заключений используются симметричные треугольные функции:
ìï
ai - x
, åñëè ai - x £ α i ,
ïïï1 Ai (x) = í
αi
ïï
ïïî 0,
èíà÷å;
bi - x
ïìï
, åñëè bi - x £ βi ,
ïï1 Bi (y) = í
βi
ïï
ïïî 0,
èíà÷å;
ìï
ïï1 - ci - z , åñëè c - z £ γ ,
i
i
Ci (z) = ïí
γi
ïï
ïïî 0,
èíà÷å;
2) логическая операция & описывается как min:
[Ai(x) & Bi(y)] = min(Ai(x)Bi(y));
3) используется импликация Mamdani
[Ai(x) & Bi(y)] → Ci(z) = min(min(Ai(x)Bi(y)),Ci(z));
4) для дефаззификации применяется дискретный метод центра
тяжести:
81
N
å min(min( Ai Bi ),Ñi (z))
z = i=1
.
N
å min( Ai Bi )
i=1
На практике абсолютно точная аппроксимация не требуется, достаточно приближения с некоторой допустимой ошибкой.
2.10. Нечеткий вывод в матричной форме
Процедура нечеткого вывода допускает компактную запись в матричной форме при следующих условиях:
1) для описания термов посылок используются треугольные
функции принадлежности, и термы образуют нечеткое разбиение
соответствующих базовых множеств;
2) заключения описываются синглетонами, для дефаззификации используется дискретный метод центра тяжести.
Рассмотрим сначала систему нечетких правил с одной посылкой и одним заключением, которая реализует отображение f: X →
Y (рис. 2.20, где F и DF – обозначение операций фаззификации и дефаззификации).
При сделанных допущениях формула дискретного метода центра тяжести упрощается:
N
N
å αi yi å µTi (x)yi
1
y = i=N
å αi
1
= i=N
å µTi (x)
i=1
N
= å µTi (x)yi = XY.
i=1
i=1
Таким образом, выходной сигнал нечеткой системы получается
как скалярное произведение двух векторов: X − вектора степеней
принадлежности входного значения к различным термам входной
переменной и Y − вектора центров термов выходной переменной.
x∈ X
F
Система
нечетких
y∈ Y
DF
Рис. 2.20. Нечеткая система с одной посылкой
и одним заключением
82
ОБ
ОМ
µTi (x)
Н
ПМ
ПБ
0.7
0.3
0
x'
x
Рис. 2.21. Вычисление степеней принадлежности входной переменной
ОБ
–1
ОМ
–0.5
µTi (y)
Н
0
ПМ
ПБ
1
0.5
y
Рис. 2.22. Описание заключений правил
Рассмотрим пример. Пусть для описания входной и выходной переменных используются по 5 термов (рис. 2.21 и 2.22).
Вектор степеней принадлежности посылки (рис. 2.21) имеет
вид:
X = {µTi (x')} = éëµÎÁ (x ¢) µÎÌ (x ¢) µÍ (x ¢) µÏÌ (x ¢) µÏÁ (x ¢)ùû =
= [0 0 0.3 0.7 0 ].
Нечеткая система вывода использует 5 правил:
Если x = ОБ, то y = ОБ, иначе
Если x = ОМ, то y = ОМ, иначе
Если x = Н, то y = Н, иначе
Если x = ПМ, то y = ПМ, иначе
Если x = ПБ, то y = ПБ.
Нечетким заключениям соответствует вектор
T
Y = [-1 -0.5 0 0.5 1] ,
так что результат нечеткого вывода получается по формуле:
é -1 ù
ê
ú
ê-0.5ú
ê
ú
y = XY = [0 0 0.3 0.7 0 ]êê 0 úú = 0.35.
ê 0.5 ú
ê
ú
ê 1 ú
êë
úû
83
x1 ∈ X1
F
x2 ∈ X2
F
Система
y∈ Y
нечетких
правил
DF
Рис. 2.23. Нечеткая система с двумя посылками и одним заключением
Рассмотрим далее систему нечетµTi(x2)
О
ких правил с двумя посылками и одН
П
ним заключением, которая реализует
0.8
отображение f: X1×X2 → Y (рис. 2.23).
Пусть первая посылка и заключе0.2
ние описываются в соответствии с рис.
0
x'2
x2
2.21 и рис. 2.22, а вторая посылка в соответствии с рис. 2.24.
Рис. 2.24. Описание
Пусть база правил имеет вид, покапосылки с помощью трех
занный на рис. 2.25.
термов
Поскольку заключения представлены синглетонами (см. рис. 2.22),
правые части правил можно описать с помощью матрицы
é 1
1
0.5 ù
ê
ú
ê 0.5
0.5
0 ú
ê
ú
0
-0.5úú .
R = êê 0.5
ê 0
-0.5 -0.5úú
ê
ê-0.5 -1
-1 úûú
ëê
x2
x1
О
Н
П
ОБ
ПБ
ПБ
ПМ
ОМ
ПМ
ПМ
Н
Н
ПМ
Н
ОМ
ПМ
Н
ОМ
ОМ
ПБ
ОМ
ОБ
ОБ
y
Рис. 2.25. Система из 15 нечетких правил
84
Допустим, что в некоторый момент времени входная переменная
x1 имеет следующий вектор степеней принадлежности
X1 = {µTi (x1 )} = [µÎÁ (x1 ) µÎÌ (x1 ) µÍ (x1 ) µÏÌ (x1 ) µÏÁ (x1 ) ]=
= [0 0 0.3 0.7 0 ].
Это означает, что в матрице правил R будут запускаться только
правила, входящие в третью и четвертую строку.
Пусть для второй входной переменной вектор степеней принадлежности в соответствии с рис. 2.24 имеет вид
X2 = {µTi (x2 )} = [µÎ (x2 ) µÍ (x2 ) µÏ (x2 ) ]= [0 0.2 0.8 ].
Это означает, что в R будут запускаться только правила, входящие во второй и третий столбец. Таким образом:
5
3
åå (µT (x1 )µT (x2 ))yij
y=
i=1 j=1
5 3
j
åå (µT (x1 )µT (x2 ))
i=1 j=1
=
i
i
=
j
(0.3 × 0.2)× 0 + (0.3 × 0.8)(-0.5)+ (0.7 × 0.2)(-0.5)+ (0.7 × 0.8)(-0.5)
0.3 × 0.2 + 0.3 × 0.8 + 0.7 × 0.2 + 0.7 × 0.8
-0.47
=
= -0.47.
1
=
Такой же результат можно получить, используя матричную запись:
>> x1=[0 0 0.3 0.7 0];
>> x2=[0 0.2 0.8]’;
>> R=[1 1 0.5; 0.5 0.5 0; 0.5 0 -0.5; 0 -0.5 -0.5; -0.5 -1 -1];
>> x1*R*x2
ans =
-0.47
Таким образом, при двух входных переменных результат нечеткого логического вывода описывается формулой:
y = X1RX2
85
2.11. Нечеткая динамическая система
Алгоритм нечеткого вывода оперирует правилами нечетких продукций, в которых условия и заключения записаны в форме нечетких лингвистических переменных.
В зависимости от смысла решаемой задачи, входные и выходные
переменные нечеткой системы вывода могут интерпретироваться
по-разному. Если считать, что на входе нечеткой системы подается
текущее состояние X, а на выходе получается производная этого состояния dX/dt, то можно говорить о нечеткой динамической системе, один из вариантов представления которой показан на рис. 2.26.
R
U(t)
B
+
dX(t)
dt
Y(t)
X(t)
C
∫
Рис. 2.26. Динамическая система
На рис. 2.26 операторы B, R и C обозначают операции преобразования входного сигнала U(t), состояния X(t) и выходного сигнала
Y(t). Эти операторы могут быть заданы с помощью системы нечетких правил.
Допустим, что все переменные системы определены на конечных
дискретных множествах, тогда нечеткая динамическая система
становится дискретной.
Рассмотрим свободное движение динамической системы – при
U(t) = 0. Пусть также выполняется условие Y(t) = X(t). В этом случае нечеткую динамическую систему можно описать с помощью
дискретных уравнений:
Xt+1 = Xt  R,
где t и t + 1 – текущий и следующий моменты времени; R – нечеткое
отношение, которое описывает действие системы правил и может
быть задано с помощью матрицы.
Если рассмотреть начальное состояние системы X0, то любое
другое состояние может быть описано выражением:
Xt+1 = X0  R
 R...  R = X0  R t .

t
86
Анализ нечеткой динамической системы предполагает, прежде
всего, исследование ее устойчивости. Для этой цели может быть
введено в рассмотрение понятие энергии нечеткого множества и
энергии нечеткого отношения [47].
Энергия нечеткого множества X с дискретной областью определения описывается формулой
P( X ) =
1 n
å Xiµ X (Xi ).
n i=1
Энергии нечеткого отношения R соответствует формула
P(R ) =
1 n m
åå Xi Yj µR (Xi ,Yj ).
nm i=1 j=1
(2.1)
Условия устойчивости нечеткой динамической системы определяются свойствами характеристической функции:
∆P = P(Xi ) - P(Xi-1 ) = P(X0  R t ) - P(X0  R t-1 ).
Поскольку P(X0) – константа, характеристическую функцию
можно описать в виде
∆Rc (R,t) = P(R t ) - P(R t-1 ).
Соответственно, система является устойчивой если:
∆Pc (R,t) £ 0, t ® ¥,
и система неустойчива, если
∆Pc (R,t) > 0, t ® ¥.
Система также может быть колебательной при условии:
∆Pc (R,t)
= ∆Pc (R,t + τ) ,
t ® ¥,
где τ – период колебаний.
Рассмотрим простой пример. Пусть дано базовое множество
X={1,2} требуется оценить устойчивость нечеткой системы с нечетким отношением:
é 0.1 0.5ù
ú.
R=ê
ê0.3 0.2ú
ë
û
Для решения задачи нужно рассмотреть Rt при различных t:
87
é 0.1 0.5ù é 0.1 0.5ù é0.3 0.2ù
úê
ú=ê
ú,
R2 = R  R = ê
ê0.3 0.2ú ê0.3 0.2ú ê0.2 0.3ú
ë
û ë
û ë
û
é0.3 0.2ù é 0.1 0.5ù é0.2 0.3ù
úê
ú=ê
ú,
R 3 = R2  R = ê
ê0.2 0.3ú ê0.3 0.2ú ê0.3 0.2ú
ë
û ë
û ë
û
é0.2 0.3ù é 0.1 0.5ù é0.3 0.2ù
úê
ú=ê
ú,
R4 = R3  R = ê
ê0.3 0.2ú ê0.3 0.2ú ê0.2 0.3ú
ë
û ë
û ë
û
é0.3 0.2ù é 0.1 0.5ù é0.2 0.3ù
úê
ú=ê
ú.
R5 = R 4  R = ê
ê0.2 0.3ú ê0.3 0.2ú ê0.3 0.2ú
ë
û ë
û ë
û
Далее нужно рассмотреть энергию этих степеней нечеткого отношения. В соответствии с (2.1), получаем:
P(R ) =
1
(1×1× 0.1 + 1× 2 × 0.5 + 2 ×1× 0.3 + 2 × 2 × 0.2) = 0.625;
2× 2
P(R 2 ) =
1
(1×1× 0.3 + 1× 2 × 0.2 + 2 ×1× 0.2 + 2 × 2 × 0.3) = 0.575;
2× 2
P(R 3 ) =
P(R 4 ) =
1
(1×1× 0.2 + 1× 2 × 0.3 + 2 ×1× 0.3 + 2 × 2 × 0.2) = 0.55;
2× 2
1
(1×1× 0.3 + 1× 2 × 0.2 + 2 ×1× 0.2 + 2 × 2 × 0.3) = 0.575;
2× 2
P(R 5 ) =
1
(1×1× 0.2 + 1× 2 × 0.3 + 2 ×1× 0.3 + 2 × 2 × 0.2) = 0.55.
2× 2
Далее рассматриваются характеристические функции:
∆Rc (R,2) = P(R 2 ) - P(R) = 0.575 - 0.625 = -0.05;
∆Rc (R,3) = P(R 3 ) - P(R 2 ) = 0.55 - 0.575 = -0.025;
∆Rc (R,4) = P(R 4 ) - P(R 3 ) = 0.575 - 0.55 = 0.025;
∆Rc (R,5) = P(R 5 ) - P(R 4 ) = 0.55 - 0.575 = -0.025.
Таким образом, система входит в режим колебаний с периодом
τ=2.
88
Энергетический подход к оценке устойчивости нечеткой динамической системы может быть использован и тогда, когда рассматривается вынужденное движение системы, которое можно описать
формулой
Xt+1 = Xt  Ut  R.
В этом случае нечеткое отношение R должно быть трехмерным.
Однако, если входной сигнал постоянный, то можно рассматривать
выражение
Xt+1 = Xt  (Ut  R ) = Xt  P,
где P – двумерное нечеткое отношение.
Описанный подход может быть полезен при анализе поведения
нечетких регуляторов.
2.12. Использование MatLab
Основной редактор системы нечеткого вывода (fuzzy inference
system – FIS) вызывается в MatLab командой
>> fuzzy
На рис. 2.27 показано главное окно редактора нечеткой логической системы.
Рис. 2.27. Интерфейс FIS editor
89
FIS editor позволяет описать систему нечеткого логического вывода Mamdani или Sugeno. Для создаваемой системы можно выбрать
вид логических связок (And method) и (Or method), вид импликации
(Implication), способ агрегирования заключений правил (Aggregation) и метод дефаззификации (Defuzzification). Создаваемая в FIS
editor система может быть записана в постоянную или оперативную
память (Save to disk или Save to workspace). Запоминаемый объект
имеет расширение *.fis.
В меню Edit можно добавить или удалить входные или выходные
переменные, участвующие в нечетких правилах.
Для описания вход-выходных ЛП, ввода правил и исследования
поведения нечеткой логической системы FIS editor вызывает отдельные интерфейсы, доступ к которым возможен и специальными
командами.
Для описания ЛП предусмотрен редактор функций принадлежности, запускаемый командой
>> mfedit
Главное окно редактора mfedit показано на рис. 2.28.
Меню File содержит обычные команды работы с файлами.
Рис. 2.28. Интерфейс mfedit
90
Меню Edit позволяет добавить или удалить ЛП на входе или выходе системы.
Левая нижняя часть экрана содержит описание редактируемой
ЛП: ее имя (Name), тип (Type, входная – input, или выходная – output), размер базовой шкалы (Range) и размер отображаемого участка базовой шкалы (Display Range).
Правая нижняя часть экрана содержит описание редактируемого терма ЛП: его имя (Name – значение может вводиться пользователем), тип (Type – тип функции принадлежности, значение выбирается из выпадающего списка), параметры (Params – соответствуют выбранному типу функции принадлежности, вводятся вручную
или с помощью мыши).
Если пользователь описал входные и выходные ЛП, то он может
приступить к описанию правил (рис. 2.29).
Для вызова интерфейса редактирования правил можно использовать команду
>> ruleedit
Или строку Rules… в меню Edit интерфейса mfedit.
Рис. 2.29. Интерфейс ruleedit
91
Редактирование правил заключается в связывании терма ЛП –
посылки и терма ЛП – заключения.
В верхней части экрана помещено окно, в котором отображаются
введенные правила. Ниже слева и справа показаны названия имеющихся термов посылки (If часть) и заключения (Then часть). Посылка может входить в правило с отрицанием (not). Посылки могут
быть связаны (connection) с помощью операции or или and. Заключение также может входить в правило с отрицанием.
Для удаления, добавления или изменения правила используются соответственно кнопки Delete rule, Add rule, Change rule.
Введенное правило может быть снабжено весовым коэффициентом (Weight), с помощью которого можно описать истинность (важность) правила в текущей базе правил.
Меню View интерфейса ruleedit позволяет решить две задачи:
− с помощью пункта Rules просмотреть работу системы нечеткого логического вывода при различных входных данных (рис. 2.30);
− с помощью пункта Surface можно просмотреть управляющую поверхность нечеткой логической системы, которая получается при подаче на вход системы всевозможных допустимых значений (рис. 2.31).
Рис. 2.30. Работа системы нечеткого логического вывода
92
На рис. 2.30 слева показано входное (четкое) значение, заданное
вертикальной линией. Справа показан выход системы (жирная вертикальная линия). Выходное значение определяется правилами,
термами и используемым методом дефаззификации.
Интерфейс визуализации процедуры нечеткого логического вывода можно также вызвать одной из команд, обращающихся соответственно к постоянной или оперативной памяти:
>> ruleview(fis)
>> ruleview(‘filename’)
Показанная на рис. 2.31 управляющая поверхность является
плоской кривой, поскольку правила имеют одну посылку. При двух
посылках появляется управляющая поверхность, а при большем
количестве посылок можно рассматривать лишь проекции управляющей поверхности. Форма управляющей поверхности также
определяется правилами, термами и используемым методом дефаззификации.
C помощью команды
>> gensurf(fis)
Рис. 2.31. Управляющая поверхность системы
нечеткого логического вывода
93
Можно получить управляющую поверхность в графическом формате, удобном для запоминания.
В системе MatLab для выполнения операции дефаззификации
служит команда defuzz. Она имеет формат:
>> out = defuzz(x,mf,type)
где out – выходная величина (число); x – базовое множество; mf – используемая функция принадлежности; type – используемый метод
дефаззификации (centroid, bisector, mom, som, lom).
Например:
>> x = -10:0.1:10;
mf = trapmf(x,[-10 -8 -4 7]);
xx = defuzz(x,mf,’centroid’)
xx =
-3.2857
С помощью команды
>> defuzzdm
в MatLab можно получить графическую иллюстрацию, показывающую как меняется выходная (четкая) величина в зависимости от используемого метода дефаззификации (рис. 2.32).
Рассмотрим пример описания системы нечеткого логического
вывода. Пусть требуется описать правила управления вентилятором, связывающие текущую температуру (t, градусы) в комнате и
скорость вращения лопастей вентилятора (N, обороты в секунду).
1. Если холодно (cold), то вентилятор не работает (stop).
2. Если прохладно (cool), то вентилятор работает медленно (slow).
3. Если комфортно (normal), то вентилятор работает средне
(medium).
4. Если жарковато (warm), то вентилятор работает быстро (fast).
1
0.5
0
centroid
bisector
LOM
-10
MOM
-5
SOM
0
5
10
Рис. 2.32. Различные методы дефаззификации
94
COLD
Degree of membership
1
COOL NORMAL WARM
HOT
0.8
0.6
0.4
0.2
0
0
10
20
30
input1
40
50
Рис. 2.33. Лингвистическое описание входной переменной
Degree of membership
5. Если жарко (hot), то вентилятор работает очень быстро (blast).
Таким образом, нечеткая логическая система будет иметь одну
входную и одну выходную переменные, ее поведение будут описывать 5 правил.
Будем считать, что с помощью FIS editor сделано описание термов и правил, на диск и в рабочую память записан FIS объект с именем ventil.fis.
Получить графическое описание входной ЛП можно с помощью
команды
>> plotmf(ventil,’input’,1)
На рис. 2.33 показан получившийся график.
Аналогично можно получить описание выходной переменной с
помощью команды (рис. 2.34)
>> plotmf(ventil,’output’,1)
STOP
1
SLOW
MEDIUM
FAST
BLAST
0.8
0.6
0.4
0.2
0
0
20
40
60
output1
80
100
Рис. 2.34. Лингвистическое описание выходной переменной
95
output1
100
90
80
70
60
50
40
30
20
10
0
0
10
20
30
input1
40
50
Рис. 2.35. Закон управления вентилятором
Для получения описания правил нечеткой логической системы
можно воспользоваться командой
>> showrule(ventil,[1 2 3 4 5],’symbolic’)
ans =
1. (input1==COLD) => (output1=STOP) (1)
2. (input1==COOL) => (output1=SLOW) (1)
3. (input1==NORMAL) => (output1=MEDIUM) (1)
4. (input1==WARM) => (output1=FAST) (1)
5. (input1==HOT) => (output1=BLAST) (1)
Описание управляющей поверхности можно получить с помощью команды (рис. 2.35)
>> gensurf(ventil)
Графическое описание основных параметров нечеткой системы
вывода можно получить с помощью команды (рис. 2.36)
>> plotfis(ventil)
Полное описание всех свойств FIS объекта в текстовом формате
можно получить с помощью команды
>> showfis(ventil);
Заметим, что для описания нечеткой логической системы не обязательно использовать FIS Editor с входящими в него интерфейсами. Все необходимые операции можно выполнить с помощью командной строки или программы MatLab.
Рассмотрим простой пример. Пусть нужно решить, сколько чаевых дать официанту в ресторане в зависимости от качества обслуживания и еды. Пусть в системе будет только два правила:
96
ventil
(mamdani)
5 rules
input1 (5)
output1 (5)
System ventil: 1 inputs, 1 outputs, 5 rules
Рис. 2.36. Структура нечеткой системы
для управления вентилятором
1. Если (обслуживание = хорошее) или (еда = вкусная), то (чаевые = большие).
2. Если (обслуживание = плохое) или (еда = невкусная), то (чаевые = небольшие).
Очевидно, здесь две входные и одна выходная переменные. Первая команда создает новый FIS – объект (это краткий формат команды, многие параметры приняты по умолчанию):
>> a=newfis(‘tipper’);
Описывается первая входная переменная ‘service’, состоящая из
двух термов: ‘poor’ и ‘good’:
>> a=addvar(a,’input’,’service’,[0 10]);
>> a=addmf(a,’input’,1,’poor’,’gaussmf’,[1.5 0]);
>> a=addmf(a,’input’,1,’good’,’gaussmf’,[1.5 10]);
Затем вводится вторая входная переменная ‘food’, также состоящая из двух термов: ‘rancid’ и ‘ delicious ‘:
>> a=addvar(a,’input’,’food’,[0 10]);
>> a=addmf(a,’input’,2,’rancid’,’trapmf’,[-2 0 1 3]);
>> a=addmf(a,’input’,2,’delicious’,’trapmf’,[7 9 10 12]);
И описывается выходная переменная ‘tip’ (чаевые), также имеющая два терма: ‘cheap’ и ‘generous’:
>> a=addvar(a,’output’,’tip’,[0 30]);
>> a=addmf(a,’output’,1,’cheap’,’trimf’,[0 5 10]);
>> a=addmf(a,’output’,1,’generous’,’trimf’,[20 25 30]);
На последнем шаге требуется описать правила нечеткой системы:
>> ruleList=[1 1 1 1 2; 2 2 2 1 2 ];
>> a=addrule(a,ruleList);
97
Рассмотрим матрицу ruleList:
é1 1 1 1 2ù
ú.
ruleList = ê
ê2 2 2 1 2ú
ë
û
Здесь каждая строка описывает отдельное правило: первая цифра означает номер терма первой посылки, вторая цифра – номер второй посылки, третья – номер терма заключения. Четвертая цифра
соответствует весу правила, пятая – описывает связку посылок: 1 –
связка И, 2 – связка ИЛИ.
Проверим введенные правила командой
>> showrule(a,[1 2],’symbolic’)
ans =
1. (service==poor) | (food==rancid) => (tip=cheap) (1)
2. (service==excellent) | (food==delicious) => (tip=generous) (1)
Свойства описанной нечеткой системы можно получить командой (рис. 2.37)
>> plotfis(a)
Полный список функций из пакета Fuzzy Logic Toolbox приводится в приложении 1, некоторые важные функции и интерфейсные модули будут рассмотрены в последующих разделах.
В заключение данного раздела заметим, что управляющая кривая (см. рис. 2.31 или рис. 2.35) может рассматриваться как некоторая функция, аргументами которой являются входы нечеткой логической системы. В рассмотренных примерах эта функция была
заранее неизвестна, она получалась в соответствии с параметрами
service (2)
tipper
(mamdani)
2 rules
tip (2)
food (2)
System tipper: 2 inputs, 1 outputs, 2 rules
Рис. 2.37. Описание иллюстративной нечеткой системы
98
80
60
40
20
y
FIS. Возможна и другая постановка задачи – когда известна желаемая форма управляющей кривой,
и требуется подобрать параметры
FIS, при которых получается аппроксимация этой кривой.
Рассмотрим пример. Допустим,
требуется подобрать такие параметры FIS, при которых получается
аппроксимация заданной кривой
(рис. 2.38).
Для выполнения аппроксимации требуется выбрать набор точек
(табл. 2.2).
0
20
40
60
4 3 2 1
0
x
1
2
3
4
Рис. 2.38. График функции
y = x2 + x3
Таблица 2.2
Набор точек для аппроксимации функции
№ п/п
1
2
3
4
5
6
7
x
–3
–2
–1
0
1
2
3
y
–17
–4
0
0
3
12
36
Degree of membership
Выберем центры термов, описываемых гауссовыми функциями,
в соответствии с табл. 2.2. Описание термов, полученное с помощью
команд:
>> plotmf(appr,’input’,1)
>> plotmf(appr,’output’,1)
показано на рис. 2.39 и 2.40.
1
x1
x2
x3
-3
-2
-1
x4
x5
x6
x7
2
3
0.8
0.6
0.4
0.2
0
0
1
input1
Рис. 2.39. Термы входной переменной
99
Degree of membership
1
y1
y2 y3y4 y5
y6
y7
0.8
0.6
0.4
0.2
0
-10
0
10
output1
20
30
Рис. 2.40. Термы выходной переменной
y
Правила нечеткой системы
связывают термы с одинаковыми номерами
>> showrule(appr,[1 2 3 4 5 6
7],’symbolic’)
ans =
1. (input1==x1) => (output1=y1) (1)
2. (input1==x2) => (output1=y2) (1)
3. (input1==x3) => (output1=y3) (1)
4. (input1==x4) => (output1=y4) (1)
-2
-1
0
1
2
3
x
5. (input1==x5) => (output1=y5) (1)
6. (input1==x6) => (output1=y6) (1)
Рис. 2.41. Результат аппроксимации
7. (input1==x7) => (output1=y7) (1)
с помощью системы
нечетких правил
На рис. 2.41 показан результат аппроксимации исходной
функции с помощью системы нечетких правил.
Полученная кривая не вполне соответствует графику исходной
функции y = x2 + x3, однако качество аппроксимации можно улучшить, если изменить форму термов, описывающих входы и выходы
нечеткой системы, или добавить новые правила.
30
25
20
15
10
5
0
-5
-10
-15
-3
Вопросы для самопроверки
1. Почему булева алгебра называется переключательной?
2. Какое отношение имеет булева алгебра к вычислительной технике?
3. Сформулируйте свойства логических связок И и ИЛИ двоичной логики.
100
4. Сформулируйте основные законы двоичной логики.
5. Какой смысл имеет операция импликации в двоичной логике?
6. Сформулируйте правило сокращения посылки.
7. Что такое предикат?
8. Что можно описать с помощью одноместного предиката?
9. В чем заключается смысловая нагрузка многоместного предиката?
10. Что такое дедуктивная система?
11. Как доказываются новые утверждения в дедуктивной системе?
12. В чем заключаются практические ограничения при использовании логики предикатов?
13. Назовите достоинства продукционных правил как способа
представления знаний.
14. В чем заключаются проблемы использования системы продукционных правил?
15. Можно ли использовать аппарат теории вероятности для оценивания вероятности (истинности) заключений продукционных
правил?
16. Как описывается достоверность продукционного правила с
помощью логической композиции?
17. Как обобщается формула композиции для правила со множеством посылок?
18. В чем причина замены формул теории вероятностей эвристическими формулами в экспертных системах?
19. Как трактуется понятие «нечеткая логика» в узком и широком смысле?
20. Какие значения может принимать истинность нечеткого логического высказывания?
21. Как связаны значение истинности нечеткого предиката и степень принадлежности к нечеткому множеству, описывающему предикат?
22. Как описывается в нечеткой логике операция конъюнкции?
23. Как описывается в нечеткой логике операция дизъюнкции?
24. Что такое лингвистическая переменная?
25. Как описывается множество значений лингвистической переменной?
26. Какова обычно мощность терм-множества лингвистической
переменной?
27. Опишите основные виды нечетких лингвистических значений.
101
28. Как можно описать нечеткое логическое правило?
29. Какие варианты существуют для описания нечеткой импликации?
30. В каких случаях возможно представление нечеткой импликации в матричной форме?
31. Сформулируйте композиционное правило вывода нечеткой
логики.
32. Каким образом рассчитывается степень запуска нечеткого
правила с одной посылкой?
33. Каким образом рассчитывается степень запуска нечеткого
правила с несколькими посылками?
34. Какая логическая связка описывает взаимодействие правил
в нечеткой базе знаний?
35. Как называется операция преобразования в нечеткую форму?
36. Как называется одноточечное нечеткое множество?
37. Опишите схему нечеткого вывода Mamdani.
38. Чем отличается схема нечеткого вывода Larsen от схемы
Mamdani?
39. Чем отличается схема нечеткого вывода Tsukamoto от схемы
Mamdani?
40. Опишите схему нечеткого вывода Sugeno.
41. Какие варианты существуют для операции агрегирования в
нечеткой логической системе?
42. Нечеткая продукционная система является универсальным
аппроксиматором – что это означает?
43. Какие условия должны выполняться для нечеткой системы
как для универсального аппроксиматора?
44. Что такое дефаззификация?
45. Опишите основные варианты выполнения операции дефаззификации?
46. В каком случае нечеткую логическую систему можно представить в виде таблицы?
47. По какой формуле можно оценить максимальное количество
правил нечеткой логической системы?
48. Могут ли совпадать заключения различных правил нечеткой
логической системы?
49. Может ли в разных ситуациях срабатывать разное количество правил нечеткой логической системы? Если да, то от чего это
зависит?
50. Как можно оценить непротиворечивость нечеткой базы правил?
102
51. Как можно оценить полноту нечеткой базы правил?
52. Что такое непрерывность нечеткой базы правил?
53. В каком смысле нечеткая система может рассматриваться
как универсальный аппроксиматор?
54. Какими свойствами должна обладать нечеткая система, чтобы быть универсальным аппроксиматором?
55. При каких условиях процедура нечеткого вывода допускает
компактную запись в матричной форме?
56. Как можно описать дискретную нечеткую динамическую систему?
57. Как описывается энергия нечеткого множества и энергия нечеткого отношения?
58. Сформулируйте энергетический критерий устойчивости дискретной нечеткой динамической системы.
59. При каких условиях нечеткий вывод в базе правил можно
описать обычными матричными операциями?
60. Какой командой вызывается основной редактор системы нечеткого вывода в MatLab?
61. Какие основные свойства имеет системы нечеткого вывода
при описании в MatLab?
62. Какие операции можно выполнить с помощью редактора
функций принадлежности?
63. Какие операции можно выполнить с помощью редактора правил?
64. Для чего вводится весовой коэффициент правил?
65. Какие возможности дает меню View интерфейса ruleedit?
66. Что описывает управляющая поверхность нечеткой логической системы?
67. Какой формат имеет матрица ruleList, с помощью которой
описываются правила нечеткой логической системы?
68. Опишите реализацию в MatLab примера нечеткой логической системы, в которой правила имеют одну посылку.
69. Опишите реализацию в MatLab примера нечеткой логической системы, в которой правила имеют две посылки.
103
3. Нечеткие регуляторы
3.1. Управление с обратной связью
Рассмотрим традиционную систему управления с отрицательной обратной связью (рис.3.1).
Задающее воздействие g(t) описывает желаемое значение выхода объекта управления y(t). Ошибка управления e(t) = g(t) – y(t) используется регулятором для формирования сигнала управления
u(t). Объект представляет собой динамическую систему, которая
может быть неустойчивой или обладать плохими динамическими
свойствами. Регулятор служит для улучшения динамического поведения объекта. Шумы на входе и выходе объекта f1(t) и f2(t) могут
быть одним из источников неточности (нечеткости) задачи управления (при синтезе регулятора ими часто пренебрегают).
Классическая теория управления ориентирована в основном на
синтез линейных регуляторов для линейных объектов. Свойство
линейности позволяет получить удобные алгоритмы оценки таких
важных системных свойств, как устойчивость, управляемость, наблюдаемость и т. д.
Однако все реальные объекты являются нелинейными, и линеаризация их математического описания требует рассмотрения некоторой рабочей точки, относительно которой рассматриваются малые отклонения.
Нелинейность математической модели выражается в присутствии нелинейных блоков, таких как насыщение, сухое трение, гистерезис и т. д. В частности, введение в структуру рис. 3.1 ограничения на значение сигнала управления делает ее нелинейной. Нелинейность также возникает, если в математическом описании присутствуют нелинейные функции (квадрат, квадратный корень, тригонометрические функции и т. п.).
Нечеткие логические регуляторы (НЛР), нелинейные по своей
сути, могут управлять линейными объектами лучше, чем классиче-
g(t)
+
e(t)
−
u(t)
Регулятор
f1(t)
f2(t)
Объект
управления
y(t)
Рис. 3.1. Система управления с обратной связью
104
g(t),y(t)
ymax(t)
1
0.9
δ
e
±0.05
g(t)
y(t)
0.1
tз
tн
t
tпп
Рис. 3.2. Параметры переходного процесса
ские регуляторы, а также управлять нелинейными объектами, для
которых линейные регуляторы неприменимы.
Для линейных скалярных объектов (с одним входом и одним выходом) при описании переходных процессов традиционно рассматривается реакция y(t) на скачкообразное входное воздействие g(t),
и используются такие параметры, как (рис. 3.2):
− время нарастания tн, т. е. время, за которое переменная y(t) возрастает с 0.1 до 0.9 установившегося значения yуст(t);
− перерегулирование d = ((ymax(t) − yуст(t))/100) %;
− установившаяся ошибка e = g(t) − yуст(t);
− время переходного процесса tпп (время от начала переходного
процесса до момента, когда y(t) не покидает интервал yуст ± 0.05;
− tз – время затухания переходного процесса (время между моментом первого достижения сигналом y(t) единичного уровня и моментом, начиная с которого значения y(t) остаются внутри интервала [1 ± 0.05].
Реакция объекта на ступенчатое входное воздействие называется переходной функцией или кривой разгона.
По характеру установившегося значения выходной величины
объекта (при подаче на вход единичного скачка) все объекты делятся на две группы: с самовыравниванием и без самовыравнивания.
Самовыравниванием называется свойство регулируемого объекта после изменения входного сигнала самостоятельно вернуться
к новому установившемуся состоянию (см. рис. 3.2). Самовыравнивание облегчает работу регулятора. Устойчивое функционирование
объекта управления без самовыравнивания невозможно без регулятора.
105
3.2. Модели объектов управления
Как показывает многолетний опыт конструирования промышленных систем управления [48], большинство реальных динамических объектов либо описывается передаточными функциями первого или второго порядка (возможно – с запаздыванием), либо их динамические характеристики могут быть аппроксимированы этими
функциями. Таким образом, типовое описание объекта управления
имеет вид:
W ( p) =
k exp(-τp)
; T > 2T2 .
(T1 p + 1)(T2 p + 1) 1
(3.1)
При наличии звена запаздывания (exp(−τp)) порядок передаточной функции возрастает на k раз, где k – порядок разложения экспоненциальной функции в ряд Паде.
Для объектов управления с явно выраженной преобладающей
постоянной времени передаточная функция упрощается:
W ( p) =
k exp(-τp)
,
Tp + 1
(3.2)
где K, T, τ – коэффициент усиления, постоянная времени и запаздывание, которые должны быть определены в окрестности номинального режима работы объекта.
Для объекта управления без самовыравнивания передаточная
функция имеет вид
Ke-τs
W (s) =
.
(3.3)
s
Возникает задача определения параметров динамической модели объекта управления (идентификации). Это можно сделать экспериментально на реальном объекте управления. Могут рассматриваться временные или частотные характеристики объекта управления.
Рассмотрим экспериментальные методы определения временных
динамических характеристик объекта управления. Они делятся на
два класса: активные и пассивные.
Активные методы предполагает подачу на вход объекта пробных
тестирующих сигналов, таких как ступенчатый или прямоугольный импульс.
В зависимости от вида пробного сигнала выбирают соответствующие методы обработки выходного сигнала объекта управления.
106
Так, например, при подаче ступенчатого управляющего сигнала
снимают кривую разгона объекта, а при подаче прямоугольного импульсного сигнала снимают кривую отклика. Кривая отклика снимается для объектов, не допускающих подачу на вход объекта ступенчатых сигналов.
Пассивные методы применяются тогда, когда невозможно нарушение нормального хода технологического процесса.
Рассмотрим определение динамических характеристик объекта
вида (3.2) по его кривой разгона при подаче ступенчатого пробного
сигнала.
В начальный момент необходимо, чтобы система управления находилась в покое, т. е. регулируемая величина y(t) и задающее воздействие g(t) не изменялись, а внешние возмущения отсутствовали.
Затем на вход исполнительного механизма подается ступенчатое
воздействие, и состояние объекта начинает изменяться.
При снятии кривой разгона необходимо выполнить ряд условий:
1) если проектируется система стабилизации, то кривая разгона
должна сниматься в окрестности рабочей точки процесса;
2) кривые разгона необходимо снимать как при положительных,
так и отрицательных скачках управляющего сигнала. По виду кривых можно судить о степени асимметрии объекта;
3) при наличии зашумленного выхода желательно снимать несколько кривых разгона с их последующим наложением друг на
друга и получением усредненной кривой.
Сняв кривую разгона, и оценив характер объекта управления (с
самовыравниванием или без) можно определить параметры соответствующей передаточной функции. В частности, с этой целью можно
использовать метод касательной к точке перегиба кривой разгона.
Рассмотрим пример использования метода касательной для объекта с самовыравниванием (рис. 3.3).
y (t), g(t)
yуст
y(t)
0.63yуст
Точка
перегиба
g (t)
0.1yуст
τ 0.63
τз τd
T
t
Рис. 3.3. График кривой разгона
107
Точка перегиба соответствует переходу кривой от режима ускорения к режиму замедления темпа нарастания выходного сигнала. Постоянная времени Т определяется в соответствии с графиком
рис. 3.3.
Достаточно точной считается также оценка вида
T = τ0.63 - τç .
Динамическое запаздывание τ также определяется по графику,
и складывается из двух компонент:
τ = τз + τd,
где τз – чистое (емкостное) запаздывание, τd – транспортное запаздывание.
Для объекта с самовыравниванием динамический коэффициент усиления K показывает, во сколько раз данное звено усиливает
входной сигнал (см. рис. 3.3):
yóñò
K=
.
g
Для объекта без самовыравнивания вида (3.3) динамический
коэффициент усиления K определяется как отношение установившейся скорости изменения выходной величины y к величине скачка входного сигнала. При единичном скачке
∆y
K= .
∆t
Для определения динамических характеристик объекта вида
(3.1) можно использовать метод Орманса.
Этот метод позволяет по нормированной кривой разгона определить две доминирующие постоянные объекта управления.
Перед началом обработки переходная характеристика требуется
пронормировать (диапазон изменения нормированной кривой 0−1)
и выделить из ее начального участка величину чистого временного
запаздывания.
Нормированная кривая переходная характеристика определяется формулой
y(t) - ymin
h(t) =
.
ymax - ymin
Затем определяется время, соответствующее значению yH = 0.7
и обозначается t7. Полученный интервал делится на три части. Под108
h H4
0.35
0.3
0.25
0.2
0.15
0.2
0.4
0.6
0.8
1.0
Z2
Рис. 3.4. Номограмма для определения величины Z2
нимается перпендикуляр до кривой разгона и определяется величина yH4. Аналитически доказана связь между точками кривой разгона и параметрами модели, а именно
t
t7 = 1.2(T1 + T2 ); t4 = 7 .
3
Постоянные времени объекта управления Т1 и Т2 определяются
с помощью вспомогательной величины Z2, для нахождения которой
используется номограмма (рис. 3.4).
Постоянные времени объекта управления Т1 и Т2 определяются
по следующим формулам:
t
t
T1 = 7 (1 + z); T2 = 7 (1 - z).
2.4
2.4
Если hH4 < 0.19, то для определения динамики объекта используют метод площадей. Если Т1 >> Т2, то можно перейти к модели
первого порядка.
Наиболее универсальным алгоритмом определения параметров
модели следует признать метод наименьших квадратов (МНК). С
его помощью можно построить модель не только второго, но и более
высоких порядков.
Для использования МНК необходимы массивы значений входных и выходных сигналов объекта, снятых через некоторый интервал времени Tk − период квантования. Во входном сигнале объекта
должна присутствовать как постоянная, так и пробная составляющие. Постоянная составляющая определяет положение рабочей
точки процесса, в окрестности которой производится определение
параметров динамической модели объекта. Таким образом работа
происходит с цифровой (дискретной) моделью объекта.
Пусть цифровая модель первого порядка задана в виде
yM (k) = ay(k -1) + bu(k -1).
109
y(k)
Объект
+
u(k)
Модель
e(k)
−
yM(k)
θ
МHK
Рис. 3.5. Структурная схема эксперимента
Схема эксперимента показана на рис. 3.5, где М – модель объекта, u(k), y(k), yM(k); θ – входной и выходной сигналы объекта, выходной сигнал модели и вектор оценки параметров; e(k) – текущая
ошибка идентификации.
Пусть накоплено N + 1 точек измерения входного и выходного
сигналов объекта. В методе наименьших квадратов обобщенная
ошибка идентификации должна быть минимальна:
E=
N +1
å e(k)2 ® min.
θ
k=1
Введем обозначения
A = y(k) – ay(k–1); B = bu(k–1),
тогда
E=
N +1
2
å [ A - B] .
k=1
После раскрытия скобок и приведения подобных получим
E = S1 - 2aS2 + a2 S3 - 2bS4 + 2abS5 + b2 S6 ,
где
S1 = å y2 (k);
S2 = 2a å y(k)y(k -1);
S3 = a2 å y2 (k -1);
S4 = 2bå y(k)u(k -1);
S5 = 2abå y(k)u(k -1);
S6 = b2 å u2 (k -1).
110
Условие минимума функции Е предполагает равенство нулю
частных производных по параметрам a и b:
¶E
¶E
= 0;
= 0.
¶a
¶b
ì ¶E
ï
ï
= -S2 + aS3 + bS5 = 0 ìS = aS + bS
ï
ï 2
3
5
¶a
ï
Þï
.
í
í
ï
ï
=
+
S
aS
bS
¶
E
4
5
6
ï
ï
î
=
S
+
aS
+
bS
=
0
ï
4
5
6
ï ¶b
ï
î
Таким образом, можно записать
Aθ = B,
где
é S3
A=ê
ê S5
ë
éaù
éS ù
S5 ù
ú; θ = ê ú; B = ê 2 ú.
ú
ê
ú
ê S4 ú
S6 û
ëbû
ë û
Следовательно, для вычисления оценок вектора параметров объекта управления по методу наименьших квадратов получена формула
θ = A–1B.
–1
Обратная матрица A всегда существует, так как исходная матрица A симметричная и положительно определенная.
Зная параметры дискретной модели можно определить параметры передаточной функции объекта
K
y( p)
W ( p) =
=
;
Tp + 1 u( p)
Связь между параметрами дискретной модели и передаточной
функции определяется формулами:
a=e
-TK
T ;
b = K(1 - a).
Откуда следует, что
T =-
TK
b
; K=
.
ln(a)
1- a
В пакете MatLab подобные преобразования выполняются единообразно для моделей любого порядка.
При использовании МНК получаемые оценки вычисляются с некоторыми ошибками, которые называются смещением оценок. Для
111
получения хороших результатов необходимо выполнить ряд условий, главные из которых заключаются в том, чтобы тестирующий
сигнал был достаточно разнообразным, а объем выборки был достаточно большим.
3.3. ПИД-регуляторы
В
промышленности
наиболее
часто
используется
пропорционально-интегро-дифференциальный закон управления,
описываемый формулой
u(t) = kp e(t) + kd
de(t)
+ ki ò e(t)dt, dt
(3.4)
где kp, kd и ki – параметры закона управления.
Закон (3.4) реализуется с помоПИД
kp
щью цифровых или аналоговых
ПИД-регуляторов (рис. 3.6), а такu
e
d/dt
kd
Σ
же их упрощенных модификаций:
П, ПД, ПИ и И-регуляторов, котоki
ò�
рые получаются при разных комбинациях слагаемых, входящих в
Рис. 3.6. Структура ПИДформулу (3.4).
регулятора
Управляющая
поверхность
ПИД–регулятора является гиперплоскостью, ПД и ПИ-регуляторов – плоскостью, поведение П и
И-регуляторов описывается прямой, т. е. все эти регуляторы являются линейными.
Компоненты ПИД-регулятора оказывают различное влияние на
переходный процесс (табл. 3.1).
Таблица 3.1
Эффекты при увеличении коэффициентов ПИД-регулятора
Коэффициент
Время нарастания
Установившаяся
ошибка
Перерегулирование
Пропорциональный
уменьшает
уменьшает
увеличивает
Дифференциальный
не влияет
не влияет
уменьшает
Интегральный
уменьшает
устраняет
увеличивает
Таким образом, в формуле (3.4) первое слагаемое отвечает за быстродействие системы (время нарастания), а также за величину
установившейся ошибки. Второе слагаемое позволяет увеличить
112
демпфирование системы, т. е. подавить нежелательные колебания и
уменьшить перерегулирование. Третье слагаемое позволяет уменьшить до нуля установившуюся ошибку в системе.
Если математическая модель объекта известна достаточно точно,
то параметры ПИД-регулятора можно определить в результате выбранной процедуры оптимизации, например с помощью генетического алгоритма.
В общем случае ПИД-регуляторы можно отнести к категории
экспертных регуляторов, поскольку они могут настраиваться путем непосредственных экспериментов с объектом в соответствии с
известными методиками (Зиглера – Николса и др.).
Метод Зиглера – Николса [49] формулируется в двух вариантах –
для замкнутой и разомкнутой системы. Рассматриваются П, ПИ и
ПИД-регуляторы.
Перепишем закон управления ПИД-регулятора в виде передаточной функции
æ
1 ÷ö
÷.
H(s) = K p ççç1 + Td s +
Ti s ÷÷ø
è
Рассмотрим первый вариант (замкнутая система):
1) коэффициенты kd и ki устанавливаются равными нулю, а коэффициент kp увеличивается до тех пор, пока в системе не возникнут автоколебания.
2) обозначим предельное значение kp как P, а период автоколебаний как T.
3) значения коэффициентов регулятора рассчитываются в соответствии с табл. 3.2.
Таблица 3.2
Расчет коэффициентов регулятора (вариант 1)
П
ПИ
ПИД
Kp
Ti
Td
0.5P
0.45P
0.6P
T/1.2
T/2
T/8
Пусть объект управления описывается передаточной функцией
1
W ( p) =
.
3
p + 15 p2 + 2 p + 1
Требуется рассчитать параметры ПИД-регулятора.
113
du/dt
0.625
Scope3
Derivative
Gain3
u(t)
g(t)
1
s3+15s2+2s+1
17
Step2
Gain2
Transfer Fcn2
1
2.5s
Transfer Fcn1
y(t)
Рис. 3.7. Моделирование работы ПИД-регулятора
Схема моделирования в Simulink MatLab показана на рис. 3.7.
Автоколебания в системе возникают при kp=28 (рис. 3.8).
Таким образом, P = 28, T ≈ 5. В соответствии с табл. 3.2 получаем:
KP ≈ 17;, Td ≈ 0.625; Ti ≈ 2.5.
Переходный процесс для ПИД-регулятора показан на рис. 3.9.
Рассмотрим второй вариант (разомкнутая система).
На вход системы подается единичный скачок. Независимо от того, является система устойчивой или неустойчивой, строится касательная к точке перегиба кривой переходного процесса, и определяются два параметра: R и L (рис. 3.10). Далее коэффициенты выбранного типа регулятора рассчитываются в соответствии с табл. 3.3.
2
1.8
1.6
1.4
1.2
y(t) 1
0.8
0.6
0.4
0.2
0
0
5
10
t
15
20
25
Рис. 3.8. Незатухающие колебания
в системе управления
114
1.8
1.6
1.4
1.2
1
y(t) 0.8
0.6
0.4
0.2
0
0.2
0
5
10
t
15
20
25
Рис. 3.9. Переходный процесс в
системе с ПИД-регулятором
y(t)
R
1
1
t
L
Рис. 3.10. Определение параметров
для устойчивой системы
1
0.9
0.8
0.7
0.6
y(t) 0.5
0.4
0.3
0.2
0.1
0
0
5
10
t
15
20
25
Рис. 3.11. Переходный процесс
для системы без регулятора
Таблица 3.3
Расчет коэффициентов регулятора (вариант 2)
KP
Ti
П
1/(RL)
ПИ
0.9/(RL)
3L
ПИД
1.2/(RL)
2L
Td
0.5L
Пусть объект управления описывается передаточной функцией
1
W ( p) =
.
17 p2 + 8 p + 1
Требуется рассчитать параметры ПИД-регулятора.
Кривая переходного процесса для разомкнутой системы показана на рис. 3.11.
По кривой переходного процесса, показанной на рис. 3.11, определяем
1.8
L ≈ 1; R ≈ 0.1.
1.6
1.4
Затем по формулам табл. 3.2
1.2
имеем
1
y(t)
0.8
KP ≈ 12; Td ≈ 0.5; Ti ≈ 2.
0.6
Переходный процесс для замкну0.4
0.2
той системы показан на рис. 3.12.
0
Как показывают рис. 3.9 и 3.12,
–0.2
0
5
10
15
20
25
для ПИД-регуляторов, рассчитанt
ных по методике Зиглера – Николса, характерно большое перерегуРис. 3.12. Переходный процесс
в системе с ПИД-регулятором
лирование (порядка 60%).
115
Нечеткие регуляторы могут рассматриваться как естественное
развитие идей ПИД-управления, при правильном проектировании
они обеспечивают лучшие эксплуатационные показатели, т. е. могут уменьшить перерегулирование, время переходного процесса и
установившуюся ошибку. Для НЛР, как будет показано ниже, также можно предложить достаточно простые экспертные алгоритмы
настройки.
3.4. Структуры нечетких регуляторов
Обычно НЛР включаются последовательно с объектом управления, подобно традиционным регуляторам (см. рис. 3.1).
Входные и выходные сигналы НЛР подвергаются преобразованию (рис. 3.7).
В общем случае предобработка входного сигнала может включать такие операции, как:
− квантификация (округление);
− нелинейное шкалирование;
− фильтрация и удаление шумов;
− дифференцирование и (или) интегрирование;
− усреднение на некотором интервале времени, экстраполяция,
интерполяция;
− вычисление произвольных функций над комбинациями входных переменных для получения семантически значимых значений.
Однако чаще всего предобработка сводится к нормализации (N)
входного сигнала – приведении его к диапазону [–1, 1]. Тогда постобработка сводится к денормализации (DN) выходного сигнала НЛР
(рис. 3.14).
Если x – входная переменная НЛР, то нормализация происходит
путем умножения x на масштабирующий коэффициент:
Предобработка
(preprocessing)
НЛР
Постобработка
(postprocessing)
Рис. 3.13. Обработка сигналов на входе и выходе НЛР
N
НЛР
DN
Рис. 3.14. Нормализация и денормализация сигналов
на входе и выходе НЛР
116
xN = xN =
x
xmax
.
Денормализация выходной величины y сводится к обратной операции:
y = yN DN = yN ymax ,
где ymax – максимальное значение управления, подаваемого на объект.
Количество и вид входных и выходных сигналов НЛР зависят от
решаемой задачи, однако чаще всего входами НЛР служат (в разных комбинациях) ошибка управления, ее производная и интеграл.
Соответственно различают НЛР П-типа, ПД-типа, ПИ-типа или
ПИД-типа (рис. 3.15–3.18).
e(t)
eN(t)
Ne
НЛР
uN (t)
DNu
u(t)
Рис. 3.15. НЛР П-типа (НЛР_П)
de(t)/dt
e(t)
(de(t)/dt)N
Nd
uN(t)
e N (t)
Ne
НЛР
DNu
u(t)
Рис. 3.16. НЛР ПД-типа (НЛР_ПД)
ò e(t)/dt
e(t)
Nd
(òe(t)/dt)N
uN(t)
e N (t)
Ne
НЛР
DNu
u(t)
Рис. 3.17. НЛР ПИ-типа (НЛР_ПИ)
de(t)/dt
ò e(t)/dt
e(t)
Nd
Nd
Ne
(de(t)/dt)N
(òe(t)/dt)N
НЛР
uN(t)
DNu
u(t)
e N (t)
Рис. 3.18. НЛР ПИД-типа (НЛР_ПИД)
117
Е
NЕ
ЕN
F
Е*
База
правил
u*
Механизм
вывода
DF
uN
DNu
u
НЛР
Рис. 3.19. НЛР П-типа
Е
NЕ
ЕN
F
Е*
Механизм
вывода
База
знаний
u*
DF
uN
DNu
u
НЛР
Рис. 3.20. Уточненный вариант описания НЛР_П
Обозначим через E входной вектор НЛР (рис. 3.19), он преобразуется в нечеткую форму Е* (блок фаззификации F), затем выполняется нечеткий логический вывод в базе правил, в результате чего
получается нечеткая выходная переменная u*. После дефаззификации (блок DF) на объект управления поступает «четкий» сигнал
управления u.
Операции фаззификации и дефаззификации зависят от параметров термов, описывающих входные и выходные переменные. Таким образом, можно сказать, что помимо механизма вывода в НЛР
существует база знаний, включающая описание термов и правил
(рис. 3.20).
Запишем k-е правило управления НЛР_ПИД в виде
Åñëè (x1 = A1k ) è (x2 = A2k ) è (x3 = A3k ), òî y = Bk ,
где x1, x2 и x3 – соответственно ошибка управления, ее производная
и интеграл; y – сигнал управления; Ai и B – термы, входящие в k-е
правило.
В главе 2 были рассмотрены классические схемы нечеткого вывода. На практике нечеткий вывод реализуется обычно в несколько
шагов:
1. Выполняется фаззификация – вычисляются значения ai,k –
степень соответствия i-й входной переменной i-й посылке k-го правила:
118
α i,k = xi* Ç Aik ,
где xi* – нечеткое множество (синглетон), образованное из xi.
2. Определяется степень соответствия всех посылок k-го правила
текущим входным данным:
N
βk = T α i,k ,
i=1
где N – количество посылок правила; T – используемая Т-норма;
bk – степень срабатывания (запуска) правила.
3. Определяется выходной сигнал каждого правила:
µ B¢ (y) = I (βk ,µ Bk (y)),
k
где I – используемая импликация; µ Bk (y) – функция принадлежности заключения k-го правила.
4. Общий выходной сигнал системы правил B’ определяется путем агрегирования выходных сигналов отдельных правил:
µ B¢ (y) =  µ B¢ (y).
k
k
Таким образом, закон управления реализуется как совокупное
действие всех правил, записанных в базе правил:
R = R1 ∨ R2 ∨ R3 … ∨ Rk.
В соответствии с рис. 3.20 синтез НЛР связан с определением
следующих параметров:
1) коэффициентов нормализации и денормализации;
2) функций принадлежности термов ЛП;
3) управляющих правил НЛР.
Возможны разные постановки задачи синтеза НЛР, но для придания ей реалистического характера желательно минимизировать
количество параметров.
В зависимости от количества входов меняется количество посылок нечетких управляющих правил.
Для НЛР_П количество правил равно количеству термов, описывающих ЛП «Ошибка управления». Для других типов НЛР потенциальное количество правил равно декартову произведению
мощностей терм-множеств входных переменных. Если считать, что
каждая входная переменная имеет одинаковое количество термов,
то число правил можно оценить в соответствии с табл. 3.4.
Для упрощения задачи проектирования НЛР_ПИД используются различные варианты записи уравнения (3.4).
119
Таблица 3.4
Потенциальное количество правил для разных типов НЛР
Количество правил
Количество
термов
НЛР_П
НЛР_ПД (ПИ)
НЛР_ПИД
3
5
7
3
5
7
9
25
49
27
125
343
Перепишем уравнение ПИД-регулятора (3.4) в виде:
æ1
ö
de(t) ö÷ æç 1
u(t) = çç kp e(t) + kd
÷ + ç kp e(t) + ki ò e(t)dt÷÷÷.
èç 2
ø
dt ÷ø èç 2
Первая скобка описывает ПД-регулятор, вторая скобка – ПИрегулятор, т. е. ПИД-регулятор можно представить в виде параллельного соединения этих регуляторов. Соответственно, НЛР_ПИД
можно представить в виде структуры, показанной на рис. 3.21.
Другой вариант реализации основывается на представлении
(3.4) в виде
æ
k de(t) ÷÷ö
ç
u(t) = kp ççe(t) + d
÷ + ki ò e(t)dt.
kp dt ÷÷ø
çè
Здесь первая скобка описывает ПД-регулятор, отвечающий за время нарастания и перерегулирование, а вторая скобка – И-регулятор,
который служит для уменьшения статической ошибки. Таким образом, ПД-регулятор должен передавать управление И-регулятору,
когда e(t) и de(t)/dt становятся малыми (рис. 3.22).
Нечеткие логические регуляторы реализуются обычно на базе
микроконтроллеров. В дискретном НЛР вместо производной ошибки управления рассматривается ее приращение ∆e(t) = e(t) – e(t –1).
Значения масштабирующих коэффициентов не изменяются.
e(t)
НЛР_ПД
∑
u(t)
НЛР_ ПИ
Рис. 3.21. Упрощение структуры НЛР_ПИД
120
НЛР_ПД
e(t)
u(t)
ключ
НЛР_ ПИ
Рис. 3.22. Вариант структуры НЛР_ПИД
e(t)
Ne
+
–1
z
∆e(t)
−
Nd
eN
∆eN
НЛР
uN(t)
DNu
Рис. 3.23. Дискретное описание НЛР_ПД
Поведение НЛР_ПД можно описать выражением
u(t) = Fл(e(t), ∆e(t)),
где Fл – лингвистический закон управления, заданный набором
правил (рис. 3.23, где z–1 обозначает операцию задержки на один
такт).
Пусть k – номер шага квантования по времени, тогда:
∆e = e(k) - e(k -1) = (1 - z-1 )e(k),
и цифровой НЛР_ПД можно представить в виде, показанном на рис.
3.24.
Пропорционально-интегральный контроллер для каждой пары
значений ошибки и ее интеграла вычисляет значение управления:
u(t) = kp e(t)+ ki ò e(t)dt.
(3.5)
Рассмотрим производную уравнения (3.5):
du(t)/dt = kpde(t)/dt + kie(t)
e(k)
1 – z–1
Ne
∆e
eN
∆eN
НЛР
u(k)
uN
DNu
N∆e
Рис. 3.24. Вариант дискретного описания НЛР_ПД
121
e(t)
eN
Ne
z–1
+
∆e(t)
∆eN
N∆e
∆�uN(t)
НЛР
�Σ
uN(t)
u(t)
DNu
−
Рис. 3.25. Дискретное описание НЛР_ПИ
В дискретной форме вместо производной рассматривается приращение, а вместо интеграла – сумма:
∆u(t) = kp∆e(t) + kie(t),
где ∆u(t) = u(t) – u(t –1).
Таким образом, поведение НЛР_ПИ описывается системой лингвистических правил вида:
∆u(t) = Fл(e (t), ∆e(t)),
и структура НЛР_ПИ совпадает по виду со структурой НЛР_ПД
(рис. 3.23 и 3.24) за исключением того, что здесь рассматривается не
сигнал управления, а его приращение (рис. 3.25).
Блок суммирования обычно описывается в виде, показанном на
рис. 3.26.
Рассматривая приращение сигнала управления
∆u = u(k) - u(k -1) = (1 - z-1 )u(k),
можно записать
u(k) =
∆u
1 - z-1
,
и тогда дискретный НЛР_ПИ можно представить в виде, показанном на рис. 3.27.
Помимо описанных типовых структур НЛР, возможны и другие
варианты использования НЛР в системе управления. Например,
НЛР может служить для компенсации внешних шумов (рис. 3.28).
∆�uN(t)
+
uN(t)
+
z–1
Рис. 3.26. Дискретная реализация интеграла
122
e(t)
Ne
eN
НЛР
1 – z–1
∆e
N∆e
� uN
∆
uN
1
1− z
∆eN
u(t)
DNu
−1
Рис. 3.27. Вариант дискретного описания НЛР_ПИ
f(t)
НЛР
e(t)
�Σ
Регулятор
u(t)
Рис. 3.28. Нечеткая компенсация внешних возмущений
НЛР
∆p
e(t)
y(t)
u(t)
Регулятор
Объект
Рис. 3.29. Включение НЛР в контур адаптации
Возможно использование НЛР в составе адаптивной системы
для изменения параметров ∆p основного регулятора при ухудшении
качества функционирования (рис. 3.29).
В ряде случаев эффективной также может оказаться иерархическая структура из НЛР, в которой регуляторы нижнего уровня осуществляют первичную обработку информации.
3.5. Методы синтеза нечетких регуляторов
Существуют различные подходы к синтезу базы знаний НЛР.
Исторически первыми были варианты, связанные с формализацией
знаний эксперта, управляющего объектом вручную [11, 50]. Знания
могут быть формализованы непосредственно путем интервьюирования эксперта, либо путем наблюдения за его действиями по управлению.
Если же эксперт отсутствует, то НЛР может настраиваться в процессе экспериментов с объектом. В этом случае процесс настройки
НЛР напоминает процесс настройки линейного ПИД-регулятора.
123
Перечисленные подходы не требуют использования математического описания объекта управления, но требуют экспериментов с
реальным объектом управления, что в большинстве случаев нежелательно. Выгоднее использовать компьютерную (имитационную)
модель.
Если имеется достаточно достоверная компьютерная модель объекта управления, то с ее помощью можно реализовать множество
вариантов настройки НЛР, в том числе – на основании идентификации, адаптации, эволюционной самоорганизации.
В простых случаях при синтезе НЛР для односвязных объектов
можно использовать эвристические соображения, которые опираются на анализ требований к протеканию переходного процесса.
Эффективным инструментом для представления НЛР являются искусственные нейронные сети (НС), в том числе – сети прямого
распространения и RBF-сети (радиальные базисные функции). Для
них разработаны проверенные методы обучения.
Методы обучения НС обычно разделяют на две группы – в зависимости от того, задана ли в явном виде обучающая информация.
Для описания вариантов синтеза НЛР можно использовать такую
же классификацию (рис. 3.30).
Вариант синтеза путем кластеризации возникает, когда имеются
вход-выходные зависимости (обучающие пары), связывающие ситуацию на объекте и реакцию регулятора (или оператора) в этой ситуации. Цель кластеризации заключается в сжатии большого массива обучающей информации в компактное множество нечетких
правил. Ниже будут рассмотрены реализованные в MatLab методы
С – средних и вершинная (горная) кластеризация. К этим методам
примыкает и нейронное представление НЛР с помощью НС Anfis,
параметры которой настраиваются по обучающим данным и могут
быть легко описаны с помощью системы нечетких правил.
Поисковая оптимизация НЛР предполагает использование некоторой целевой функции, описывающей желаемое поведение систеСинтез НЛР
Обучение
с учителем
Обучение
без учителя
Формализация Кластеризация Эвристические Поисковая
оптимизация
знаний эксперта
методы
данных
Рис. 3.30. Классификация методов синтеза НЛР
124
x(t)
F
A
Если A1, то B1
B1
Если A2, то B2
B2
Если An, то Bn
Bn
Σ
B
DF
y(t)
Рис. 3.31. Аддитивная нечеткая система
мы управления. Здесь может быть использована эталонная модель,
тогда целевой функцией будет служить функция невязки между
выходами системы и модели. Многоэкстремальный характер целевой функции требует использования методов глобальной оптимизации, таких как генетический алгоритм [51], метод отжига металла,
метод муравьиных колоний [52] или ройный интеллект [53].
Задача синтеза НЛР может быть существенно упрощена, если
учитывать модульность системы продукционных правил. Отдельные правила отвечают за локальные области пространства состояний системы, так что каждое правило порождает свой собственный
элементарный выходной сигнал. Общий выходной сигнал B является объединением (суммой) этих элементарных сигналов. Таким образом, систему нечетких правил можно представить в виде, показанном на рис. 3.31.
Рассматривая локальные области пространства состояний системы, можно синтезировать отдельные управляющие правила, а потом использовать их совместно для получения глобального закона
управления.
3.6. Эвристический синтез нечеткого регулятора П-типа
Классический регулятор П-типа (т. е. пропорциональный) представляет собой линейный регулятор, в котором сигнал управления
рассчитывается путем умножения входной ошибки на заданную
константу (коэффициент пропорциональности):
u(t) = kp(g(t) – y(t)) = kpe(t). (3.6)
Структура П-регулятора показана на рис. 3.32.
Рассчитать значение коэффициента kp можно, используя метод
корневого годографа либо с помощью оптимизационного поиска,
минимизирующего заданную ошибку [38].
125
g(t)
e(t)
+
u(t)
kp
y(t)
Объект
управления
–
Рис. 3.32. Управление, пропорциональное ошибке
Графически закон пропорционального управления представляет собой прямую, проходящую через начало координат под углом a.
Так что
kp = tg(a).
В реальной системе всегда существуют физические ограничения
на значение сигнала управления, так что пропорциональный закон
управления имеет вид, показанный на рис. 3.33.
Как известно, наибольшее быстродействие обеспечивается предельным вариантом П-регулятора – регулятором релейного типа,
который работает по знаку ошибки:
u = Ksign(e).
Однако их использование вызывает большое перерегулирование.
Если нормализовать (привести к диапазону [-1, 1]) вход и выход
П-регулятора, то пропорциональный закон управления приобретает вид, показанный на рис. 3.34.
В соответствии с (3.6) и рис. 3.34 можно записать:
u = e.
(3.7)
Пропорциональное управление может вызывать конфликт между требованиями к переходному процессу: большое значение kp
уменьшает время нарастания, но, одновременно, увеличивает переu = u1
max
+umax
1
α1
e
–1
1
– umax
e= 1
emax
–1
Рис. 3.33. График
пропорционального закона
управления
126
Рис. 3.34. Нормирование входвыходных переменных регулятора
50
s2 +20s+50
kp
S tep1
G a in1
T ra nsfer F cn1
S cope1
Рис. 3.35. Схема П-регулятора в Simulink MatLab
регулирование. Из-за этого принцип управления по ошибке часто
не позволяет получить приемлемое решение.
Например, пусть объект управления описывается с помощью передаточной функции
W ( p) =
50
2
p + 20 p + 50
.
(3.9)
На рис. 3.35 показана схема моделирования системы с
П-регулятором.
На рис. 3.36 показаны переходные процессы при kp= 5 и kp= 30. В
первом случае (при маленьком коэффициенте усиления) получается
слишком большая статическая ошибка (≈16%). При большом коэффициенте усиления статическая ошибка уменьшается до 4%, но получается неприемлемо большое перерегулирование (около 40%).
Нечеткий логический регулятор П-типа (НЛР_П) отличается от
классического П-регулятора тем, что может реализовывать нелинейный закон управления вида
u(t) = Fл(e(t)),
где Fл – управляющая функция, заданная набором лингвистических правил.
1.4
1.2
1
y(t)
0.8
0.6
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
Рис. 3.36. Переходные процессы при разных коэффициентах усиления
127
µ A(e)
О
–1
Н
П
0
1
µ A(u)
О
e
–1
Н
П
0
1
u
Рис. 3.37. Лингвистическое описание входа и выхода НЛР_П
Пусть базовые шкалы ЛП «ошибка» и ЛП «сигнал управления»
нормализованы. Допустим также, что каждая ЛП имеет по 3 терма
с названиями: «отрицательный», «нулевой», «положительный» (сокращенно О, Н и П, рис. 3.37).
Тогда, в соответствии с (3.7), нечеткий закон управления может
быть описан с помощью правил:
Если e = «О», то u = «О»,
Если e = «Н», то u = «Н»,
Если e = «П», то u = «П».
Этот эвристический закон управления является универсальным.
Для конкретного объекта меняются лишь коэффициенты нормализации и денормализации.
Если выбрать большее число термов для входной и выходной переменной, то автоматически увеличивается количество управляющих правил.
Кроме количества термов, качество управления в значительной
степени может зависеть от формы термов ЛП и от их расположения
на базовой шкале.
Как будет показано ниже, при определенных условиях НЛР_П
может быть эквивалентен линейному П-регулятору, но задача синтеза нелинейного НЛР_П заключается в выполнении требований, с
которыми линейный регулятор не справляется (см. рис. 3.36).
Для того, чтобы выявить преимущества НЛР_П по отношению
к линейному П-регулятору, рассмотрим условия эквивалентности
этих двух регуляторов.
3.7. Условия линейности нечеткого регулятора П-типа
Пусть описания термов нормализованных входной и выходной
переменных НЛР_П выбраны в виде, показанном на рис. 3.38 и
3.39.
128
О
µ A(e)
Н
П
0
–1
1
О
e
–1
Рис. 3.38. Описание входной
переменной регулятора – ошибки
µ A(u)
Н
0
П
1
u
Рис. 3.39. Описание выхода
регулятора – сигнала управления
Заметим, что при этом обеспечивается нечеткое разбиение базового множества:
− входное значение принадлежит не более чем двум термам;
− сумма степеней принадлежности в каждой точке равна 1.
Тогда, используя для дефаззификации дискретный метод центра
тяжести (см. главу 2), для любого значения ошибки справа от нуля
имеем следующее значение сигнала управления:
2
å µi (e)ui
u+ = i=12
=
å µi (e)
µH (e) × 0 + µÏ (e) ×1
= µÏ (e) = e.
1
i=1
Аналогично для любого значения ошибки слева от нуля:
2
-
å µi (e)ui
u = i=12
å µi (e)
=
µH (e) × 0 + µO (e) ×1
= µO (e) = e.
1
i=1
Таким образом, в любом случае выполняется условие (3.7), и
НЛР_П эквивалентен линейному П-регулятору. Соответственно, использование НЛР_П не дает никаµ
ких преимуществ по отношению к
Н
ОБ
ОМ
ПМ ПБ
П-регулятору.
Свойство линейности может выполняться при любом количестве
термов. Например, пусть ошибка
e, u
–1 – 0.5
0
0.5
1
управления e и сигнал управлеРис. 3.40. Описание входа и
ния u описываются с помощью 5
выхода регулятора с помощью
термов (рис. 3.40).
пяти термов
129
Сигнал управления в правой полуплоскости получается по формуле
3
å µi (e)ui
u+ = i=13
=
å µi (e)
µH (e) × 0 + µÏÌ (e) × 0.5 + µÏÁ (e) ×1
.
1
i=1
В интервале 0 ≤ e < 0.5 имеем µПМ = 2e, следовательно
u = µH (e) × 0 + µÏÌ (e) × 0.5 = µÏÌ (e) × 0.5 = 2e × 0.5 = e.
+
В интервале 0.5 ≤ e ≤ 1 имеем:
µПМ = 1 − 2(e − 0.5) и µПБ = 1 − µПМ = 2(e − 0.5), следовательно:
u+ = µÏÌ (e) × 0.5 + µÏÁ (e) ×1 = (2 - 2e) × 0.5 + 2e -1 = e.
Аналогично можно рассмотреть левую полуплоскость, так что во
всех точках входного пространства регулятора выполняется (3.7).
Таким образом, можно констатировать, что при увеличении числа термов (и числа правил) закон управления остается линейным,
если термы имеют треугольную форму и образуют нечеткое разбиение базового множества, а для дефаззификации используется дискретный метод центра тяжести.
Как было показано в главе 2, для подобного линейного НЛР_П
допускается запись процедуры нечеткого вывода в матричной форме.
3.8. Нелинейное поведение нечеткого регулятора П-типа
Рассмотрим далее условия, при которых поведение НЛР_П становится нелинейным. Этого можно добиться путем изменения описания термов входной переменной. Например, можно выбрать описание, показанное на рис. 3.41, где термы «сгущаются» в области
нуля.
Поскольку описание термов
µ A(e)
управления не изменилось, в линейН
О
П
ной зоне (–0.5 ≤ e ≤ 0.5) выполняется:
–1
– 0.5
0
0.5
1
e
Рис. 3.41. Масштабирование
термов входной переменной
130
u+ = µÏ (e) = 2e и u- = µO (e) = 2e.
При условии 0.5 ≤ e ≤1 выполняется u = 1.
Таким образом, нелинейный заu
кон управления описывается гра1
фиком, показанным на рис. 3.42.
–1 – 0.5
Преимущество НЛР_П по отноe
0.5 1
шению к обычному П-регулятору
заключается в том, что коэффи–1
циент усиления может меняться в
зависимости от текущей ошибки
Рис. 3.42. Изменение наклона
линии управления
управления.
Например, пусть требуется, чтоµ
бы при малых значениях ошибки
Н
ОБ
ОМ
ПМ ПБ
(до 0.3) был небольшой коэффициент усиления, а при больших значениях ошибки коэффициент усиления увеличивался. Для того чтоu
–1
– 0.3
0 0.3
1
бы обеспечить желаемое нелинейное поведение регулятора, можно
Рис. 3.43. Сгущение термов в
оставить описание ошибки таким, области малых значений ошибки
как показано на рис. 3.40, а описание сигнала управления следует изменить, «сгустив» термы в области малых значений и «разрядив» в области больших значений
ошибки. Пример показан на рис. 3.43.
В этом случае в правой полуплоскости
3
å µi (e)ui
u+ = i=13
å µi (e)
=
µH (e) × 0 + µÏÌ (e) × 0.3 + µÏÁ (e) ×1
.
1
i=1
До точки e = 0.5 (см. рис. 3.40): µПМ=2e и µПБ=0, следовательно:
u+ = µH (e) × 0 + µÏÌ (e) × 0.3 = µÏÌ (e) × 0.3 = 2e × 0.3 = 0.6e.
После точки e = 0.5: µПМ = 1 − 2(e − 0.5) и µПБ = 1 − µПМ = 2(e − 0.5):
u+ = µÏÌ (e) × 0.3 + µÏÁ (e) ×1 = (2 - 2e) × 0.3 + 2e -1 = 1.4e - 0.4.
Аналогично можно рассмотреть левую полуплоскость. На рис.
3.44 показан итоговый график u(e).
Таким образом, нелинейные эффекты в работе НЛР_П появляются при неравномерном распределении термов лингвистических
переменных.
131
1
0.8
0.6
0.4
0.2
u 0
–0.2
–0.4
–0.6
–0.8
–1
–1
–0.6 –0.2 0 0.2
0.6
1
Рис. 3.44. Нелинейный закон
управления НЛР
За счет переменного коэффициента усиления НЛР_П можно согласовать противоречивые требования, с которыми не может справиться классический П-регулятор.
Рис. 3.44 показывает, что закон
управления НЛР_П можно синтезировать поэтапно, рассматривая
линейные отдельные участки. На
последнем этапе локальные стратегии управления объединяются,
образуя нелинейный закон управления.
3.9. Условия эквивалентности НЛР и П-регулятора
Сформулируем условия линейного поведения НЛР_П:
1) используются треугольные функции принадлежности;
2) термы образуют нечеткое разбиение соответствующих базовых множеств;
3) для дефаззификации используется дискретный метод центра
тяжести.
При этих допущениях каждое значение e имеет ненулевое значение принадлежности не более чем к двум соседним термам Ti и Ti+1
с центрами ei и ei+1 (рис. 3.45).
Значения принадлежности для точки ei < e < ei+1 рассчитываются по формулам:
e -e
e - ei
µTi (e) = i+1
, µTi +1 (e) =
.
ei+1 - ei
ei+1 - ei
В такой ситуации срабатывают два правила:
R1: Если e = Ti(e), то u = Ti(u),
µ
1
Ti
Ti+1
µTi+1(e)
µTi (e)
0
ei
e
ei+1
Рис. 3.45. Переходные процессы
при разных коэффициентах
усиления
132
e
R2: Если e = Ti+1(e), то u = Ti+1(u).
При использовании дискретного метода центра тяжести имеет
значение только ui − центральная
точка терма Ti(u), и результат дефаззификации описывается формулой:
u=
µTi (e)ui + µTi +1 (e)ui+1
µTi (e) + µTi +1 (e)
=
= µTi (e)ui + µTi +1 (e)ui+1 =
ei+1 - e
e - ei
ui +
ui+1.
ei+1 - ei
ei+1 - ei
Это выражение можно переписать в виде
u - ui
e u - ei ui+1
u = i+1
e + i+1 i
= Ke + C,
ei+1 - ei
ei+1 - ei
(3.8)
где K –коэффициент усиления; С – смещение.
Заметим, что (3.8) относится только к постоянному диапазону
между ei и ei+1. Если расстояние между термами меняется, то будут
меняться и константы K и С.
Формула (3.8) показывает, что для эквивалентности поведения
НЛР_П и обычного П-регулятора, необходимо выполнение двух
условий:
1) значение K должно быть одинаковым во всем диапазоне изменения ошибки e:
ui+1 - ui
= K, "i Î {1, N -1};
ei+1 - ei
(3.9)
2) значение смещения С должно быть нулевым, что выполняется
при:
ei+1 ui+1
=
, "i Î {1, N -1},
ei
ui
(3.10)
где N – количество термов.
Таким образом, НЛР_П, для которого справедливо (3.9) и (3.10),
описывается формулой
u = Ke.
Поскольку для линейного НЛР_П
количество термов не имеет значения, рассмотрим регулятор с тремя
правилами.
При использовании дискретного метода центра тяжести выход регулятора можно описать с помощью
рис. 3.46.
µ
О
–1
Н
0
П
1
u
Рис. 3.46. Описание выхода
регулятора с тремя правилами
133
В соответствии с рис. 3.46 выполняется условие:
ui+1 – ui = 1.
Пусть базовая шкала входной
переменной описана в соответствии
0
–x
x
e
с рис. 3.47.
Тогда для входной переменной
Рис. 3.47. Описание входа
расстояние
между центрами террегулятора с тремя правилами
мов:
ei+1 – ei = x,
µ
Н
О
П
где x ∈ [0, 1].
Таким образом
K=
∆u 1
= ,
∆e x (3.11)
и чем меньше x, тем больше коэффициент усиления.
Закон управления можно описать с помощью табл. 3.5.
Таблица 3.5
Закон управления НЛР_П с тремя правилами
О
Н
П
e
–x
0
x
u
–1
0
1
Выбор параметра x определяет наклон кривой, описывающей закон управления (рис. 3.48). Чем
меньше значение x, тем ближе
u
оказывается закон управления к
x = 0.5
1
релейному (при x → 0 регулятор
x =1
x = 0.25
работает по знаку ошибки).
Как показал пример на рис.
–1 –0.5 –0.25
3.36,
коэффициент усиления долe
0.25 0.5 1
жен быть большим в конце переходного процесса – для уменьше–1
ния статической ошибки. В начале переходного процесса нужно
Рис. 3.48. Варианты закона
иметь меньший коэффициент усиуправления для НЛР_П с тремя
ления, чтобы избежать чрезмерноправилами
го перерегулирования.
134
3.10. Синтез нелинейного нечеткого регулятора П-типа
Формула (3.11) позволяет легко настраивать значение переменного коэффициента усиления для различных участков базовой шкалы входной переменной.
Например, рассмотрим НЛР_П с пятью термами, где две пары
термов расположены симметрично относительно нуля (рис. 3.49).
На основании (3.7), закон управления описывает табл. 3.6.
Таблица 3.6
Типовой закон управления НЛР_П с пятью правилами
e
u
ОБ
ОМ
Н
ПМ
ПБ
-e2
-u2
-e1
-u1
0
0
e1
u1
e2
u2
На участке между центрами термов Н и ОМ, а также Н и ПМ коэффициент усиления
u
-u
K1 = 1 = 1 .
e1 -e1
На участках между центрами термов ОБ и ОМ, а также ПМ и ПБ
коэффициент усиления
u - u1 -u2 + u1
K2 = 2
=
.
e2 - e1
-e2 + e1
Например, пусть выбраны значения центров термов, показанные
в табл. 3.7.
Таблица 3.7
Вариант закона управления НЛР_П с пятью правилами
e
u
ОБ
ОМ
Н
ПМ
ПБ
–1
–1
–0.5
–0.3
0
0
0.5
0.3
1
1
ПБ
ОБ
µ
µ
ОБ
–e2
ОМ
–e1
Н
0
ПМ
e1
e2
e
–u2
ОМ
–u1
Н
0
ПМ ПБ
u1
u2
u
Рис. 3.49. Варианты описания термов для НЛР_П с пятью правилами
135
u
1
–1 –0.5
Тогда
0.3
1 - 0.3
K1 =
= 0.6; K2 =
= 1.4.
0.5
1 - 0.5
0.3
Графическое представление закона управления показано на рис.
3.50.
Как показывает рис. 3.50, кон–1
фигурация управляющей кривой
зависит от положения точек переРис. 3.50. Закон управления для
регулятора с пятью правилами
гиба (белые кружки), координаты
которых соответствуют центрам
термов ОМ и ПМ входной и выходной переменной НЛР_П (см. табл.
3.7). Поскольку эти центры симметричны, процесс конструирования
НЛР_П с пятью правилами сводится к выбору двух параметров.
Если рассматривать семь термов, то выбору подлежат 4 параметра, если девять – то 6 и т. д. Таким образом, при N термах количество настраиваемых параметров K = N – 3.
В общем случае количество термов (и, соответственно, правил)
должно быть таким, чтобы удовлетворить всем поставленным требованиям.
Рассмотрим задачу конструирования нелинейного НЛР_П с переменным коэффициентом усиления Kf как задачу коррекции линейного П-регулятора, описываемого коэффициентом kp. Здесь возможны два варианта коррекции (рис. 3.51 и рис. 3.52).
0.5
–0.3
g(t)
+
1
e
e(t)
–
u(t)
kp
НЛР
Kf
Объект
управления
y(t)
K = Kf ·kp
Рис. 3.51. Последовательная коррекция П-регулятора
НЛР
Kf
g(t)
e(t)
+
u(t)
+
–
kp
Объект
управления
y(t)
K = Kf+kp
Рис. 3.52. Параллельная коррекция П-регулятора
136
В этих структурах kp определяет базовый коэффициент усиления. Возникает вопрос – каким следует выбрать kp? Поскольку
НЛР_П должен обеспечивать дополнительное усиление, можно потребовать, чтобы базовый П-регулятор обеспечивал условие ymax=1
(см. рис. 3.32). Тем самым гарантируется, что ошибка будет принимать все значения в пределах шкалы [0, 1]. Другие параметры переходного процесса могут быть улучшены за счет использования
НЛР_П.
Таким образом, первый шаг синтеза заключается в настройке
такого kp, при котором обеспечивается нулевое перерегулирование
(Kf = 1 (рис. 3.51) или Kf = 0 (рис. 3.52)).
Базовый коэффициент усиления является действительным числом, которое может принимать широкий диапазон значений в зависимости от объекта управления. Таким образом, можно либо давать
приращение базовому коэффициенту (рис. 3.52), либо масштабировать его (рис. 3.51).
Далее будем рассматривать вариант последовательной коррекции (рис. 3.51) при использовании НЛР_П с семью правилами.
В соответствие с (3.11) имеем
∆u
Kf =
,
∆e
таким образом для получения желаемого коэффициента усиления
не обязательно менять оба коэффициента – можно менять только
∆u или только ∆e, однако |∆u| ≤ 1, поэтому будем далее оперировать
величиной ∆e.
Допустим, что термы выходной переменной НЛР_П равномерно
распределены по базовой шкале (рис. 3.53), т. е. |∆u|= 0,33.
Если термы входной переменной также равномерно расположить по базовой шкале, то Kf = 1 для любого значения ошибки
(рис. 3.54).
На рис. 3.54 белыми кружками обозначены точки, в которых срабатывает только одно правило. Эти точки находятся на пересечении
µ
ОБ ОС ОМ Н ПМ ПС ПБ
–1
0
1
u
Рис. 3.53. Термы выходной переменной НЛР_П с семью правилами
137
u
u
ПБ
ПБ
ПС
ПС
ПМ
ПМ
e
Н
ОМ
ОМ
ОС
ОС
ОБ
ОБ ОС ОМ
Н
ПМ ПС ПБ
Рис. 3.54. Управляющая кривая
при равномерном распределении
термов
e
Н
ОБ
ОБ
ОС
ОМ Н ПМ ПС
ПБ
Рис. 3.55. Управляющая кривая
при неравномерном распределении
термов
линий, проведенных из центров одноименных термов. При перемещении e между центрами термов управление линейно изменяется.
Таким образом, при семи управляющих правилах получается пять
линейных участков закона управления.
Изменив расположение центров промежуточных термов на базовой шкале входной переменной, можно получить нелинейный закон управления (рис. 3.55).
Центры термов ОБ и ПБ для входной и выходной переменной занимают крайние положения – в точках –1 и +1.
Рассмотрим задачу выбора положения центра ПС (ОС). По определению ошибка e имеет в окрестности этого терма среднее значение, поэтому выбор этого терма влияет на время нарастания переходного процесса: чем ближе ПС к ПБ, тем меньше будет время нарастания, но при этом возможен рост перерегулирования.
При выборе положения центра ПМ (ОМ) следует учитывать, что
в окрестности этого терма ошибка имеет малое значение, следовательно, от выбора центра этого терма зависит значение установившейся ошибки: чем меньше ∆e (т. е. чем ближе ПМ и Н), тем больше
Kf, и тем меньше установившаяся ошибка.
Обобщая все приведенные выше соображения, можно окончательно сформулировать алгоритм синтеза нелинейного НЛР_П в
рамках структуры, показанной на рис. 3.51.
1. Термы входных и выходных переменных распределяются равномерно по базовым шкалам, так что Kf = 1. Выбирается значение
kp, при котором выполняется условие ymax=1.
2. Рассматривается регулятор с тремя правилами (рис. 3.46,
3.47). Выбирается такое значение x1 (см. рис. 3.47), при котором обе138
спечивается минимальное время нарастания при максимально допустимом перерегулировании.
3. Снова рассматривается регулятор с тремя правилами. Выбирается такое значение x2, при котором обеспечивается минимальная
установившаяся ошибка.
4. Рассматриваются графики трех законов управления. Термы
выходной переменной регулятора можно равномерно расположить
по соответствующей базовой шкале (рис. 3.53).
Для определения положения центров термов ПМ и ПС по оси e
рассматриваются точки пересечения линий, проведенных из центров термов ПМ и ПС по оси u и прямых, описывающих законы
управления x1 и x2 (рис. 3.56). Координаты точек пересечения по
оси e дают положение центров термов ПМ и ПС для входной переменной регулятора.
Очевидные геометрические расчеты позволяют описать закон
управления в виде табл. 3.8.
Таблица 3.8
Закон управления НЛР_П
ОБ
ОС
ОМ
Н
ПМ
ПС
ПБ
e
–1
–0.66x2
–0.33x1
0
0.33x1
0.66x2
1
u
–1
–0.66
–0.33
0
0.33
0.66
1
Ширина всех термов (включая терм Н) выбирается таким образом, чтобы обеспечить нечеткое разбиение базовой шкалы входной
переменной (рис. 3.57).
Нечеткий регулятор П-типа является основой для разработки
НЛР_ПД, НЛР_ПИ и НЛР_ПИД, поскольку использование в закоu
ПБ
x2
x1
1
ПС
ОБ
Kf =1
µ
ОС ОМ Н ПМ ПC ПБ
ПМ
Н
0
Н ПМ ПС
1 e
ПБ
Рис. 3.56. Определение положения
термов НЛР_П
–1
–x2 –x1
x1
x2
1
e
Рис. 3.57. Результат настройки
нечеткого регулятора П-типа
139
не управления производной ошибки может уменьшить перерегулирование, а использование интеграла ошибки – уменьшить установившуюся ошибку.
Таким образом, разработка НЛР_П является первым шагом при
проектировании более сложных нечетких регуляторов.
3.11. Пример синтеза нечеткого регулятора П-типа
В Simulink MatLab контейнером для системы нечеткого логического вывода является блок Fuzzy Logic Controller (пакет Fuzzy
Logic ToolBox).
Синтезируем нелинейный НЛР_П в соответствии с методикой,
изложенной в п. 3.10, для объекта, описываемого передаточной
функцией:
1
W (s) =
.
2
0.02s + 0.4s + 1
Этот объект является устойчивым, но время переходного процесса слишком велико (рис. 3.58).
Требуется обеспечить переходный процесс с малым временем нарастания, установившейся ошибкой ∆ ≤ 3% и перерегулированием
d ≤ 10%.
Будем использовать описанный выше 3-шаговый алгоритм проектирования.
1. Рассмотрим НЛР_П с тремя правилами, который имеет единичный коэффициент усиления (рис. 3.38 и 3.39). Такой регулятор
не оказывает влияния на процесс управления. Выберем базовый
коэффициент усиления kp = 6.5, при этом обеспечивается условие
ymax=1 (см. рис. 3.59 и 3.60).
Таким образом, центрами термов ОБ и ПБ будут точки –1 и 1.
1
0.9
0.8
0.7
0.6
y(t) 0.5
0.4
0.3
0.2
0.1
0
0
0.5
1
t
1.5
2
Рис. 3.58. Реакция объекта управления на единичный скачок
140
1
0.02s2+0.4s+1
6.5
Step
Transfer Fcn
Gain
Scope
Рис. 3.59. Базовый П-регулятор
1
0.9
0.8
0.7
0.6
y(t) 0.5
0.4
0.3
0.2
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
Рис. 3.60. Переходный процесс при базовом коэффициенте усиления
2. Рассмотрим НЛР_П с тремя правилами (рис. 3.61). Блок
Saturation служит для приведения входной переменной к заданному диапазону. Термы выходной переменной регулятора располагаются по базовой шкале в соответствии с рис. 3.46, термы входной
переменной – в соответствии с рис. 3.47. Методом проб и ошибок
выбирается значение x1 = 0.5 (рис. 3.47), при этом обеспечивается
минимальное время нарастания при заданном перерегулировании.
Переходный процесс показан на рис. 3.62.
Центрами термов ОС и ПС будут точки –0.5 · 0.66 = –0.33 и
0.5 · 0.66 = 0.33.
6.5
Step1
Saturation
Fuzzy Logic
Controller
Gain1
1
0.02s2+0.4s+1
Transfer Fcn1
Scope1
Рис. 3.61. Система с нечетким регулятором П-типа.
141
y(t)
1.4
1.4
1.2
1.2
1
1
0.8
0.8
y(t)
0.6
0.6
0.4
0.4
0.2
0.2
0
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
Рис. 3.62. Переходный процесс на
втором шаге проектирования
НЛР_П
0 0.10.20.30.40.50.60.70.80.9 1
t
Рис. 3.63. Переходный процесс на
третьем шаге проектирования
НЛР_П
3. На третьем шаге снова рассматривается НЛР_П с тремя
правилами. Выбирается коэффи0.8
циент усиления регулятора x2 та0.6
кой, чтобы ∆ < 3%.
На рис. 3.63 показан переход0.4
ный процесс, удовлетворяющий
0.2
этим критериям (при x2 = 0.1).
0
Центрами термов ОМ и ПМ будут точки –0.1 · 0.33 = –0.033 и
–1
–0.5
0
0.5
1
input1
0.1 · 0.33 = 0.033.
4. На последнем шаге необхоРис. 3.64. Описание термов
ошибки управления
димо получить нелинейный закон управления НЛР_П. Центры
термов входной переменной (e) рассчитываются в соответствии с
output1
Degree of membership
OB
1
1
0.8
0.6
0.4
0.2
0
–0.2
–0.4
–0.6
–0.8
–1
–1
OS OMH PM
PS
1.4
1.2
1
y(t)
0.8
0.6
0.4
0.2
–0.5
0
input1
0.5
Рис. 3.65. Итоговый закон
управления НЛР_П
142
PB
1
0
0 0.10.2 0.3 0.4 0.50.60.70.80.9 1
t
Рис. 3.66. Переходный процесс для
НЛР_П с семью правилами
табл. 3.8. Центры термов выходной переменной (u) располагаются
равномерно (табл.3.9).
Таблица 3.9
Закон управления НЛР_П
e
u
ОБ
–1
–1
ОС
–0.33
–0.66
ОМ
–0.033
–0.33
Н
0
0
ПМ
0.033
0.33
ПС
0.33
0.66
ПБ
1
1
Окончательное расположение термов входной переменной показано на рис. 3.64. На рис. 3.65 показано графическое представление
получившегося закона управления.
На рис. 3.66 показан переходный процесс для синтезированного
НЛР_П, он удовлетворяет поставленной задаче проектирования.
3.12. Аналитическое описание нечеткого
логического регулятора ПД-типа
Рассмотрим при сделанных выше допущениях аналитическое
описание НЛР_ПД.
В соответствии с рис. 3.45 значения принадлежности ошибки к
термам с номерами i и i +1 (Ej и Ej+1) рассчитываются по формулам:
µ i (e) =
ei+1 - e
e - ei
; µi+1 (e) =
= 1 - µi (e).
ei+1 - ei
ei+1 - ei
Аналогично, если приращение ошибки ∆e находится между термами с номерами k и k +1 (∆Ek и ∆Ek+1), то значению принадлежности к этим термам соответствует:
∆ek+1 - ∆e
∆e - ∆ek
µ k (∆e) =
= 1 - µk (∆e).
; µk+1 (∆e) =
∆ek+1 - ∆ek
∆ek+1 - ∆ek
Пусть закон управления НЛР_ПД сформирован в виде набора
правил:
Ri,k : Если (e = Ei) и (∆e = ∆Ek), то u = Ui,k.
Пусть для реализации логической связки И используется умножение, тогда степень запуска правила Ri,k можно оценить по формуле:
æ e - e ö÷ æ ∆ek+1 - ∆e ö÷
÷×çç
÷.
µi,k = ççç i+1
çè ei+1 - ei ÷÷ø èçç ∆ek+1 - ∆ek ÷÷ø
143
Поскольку термы ошибки и приращения ошибки описаны с помощью треугольных функций принадлежности, образующих нечеткое разбиение соответствующих базовых областей, сработать могут еще три правила со степенями запуска:
æ e - e öæ
æ
öæ
ö
÷÷çç ∆e - ∆ek ö÷÷; µ
ç e - ei ÷÷çç ∆ek+1 - ∆e ÷÷;
µi,k+1 = ççç i+1
÷
÷
÷
÷
i+1,k = çç
ç
ç
÷
÷
÷
èç ei+1 - ei øèç ∆ek+1 - ∆ek ø
èç ei+1 - ei øèç ∆ek+1 - ∆ek ø÷
æ e - e ÷öæ ∆e - ∆e ö÷
i ÷çç
k ÷.
µi+1,k+1 = ççç
çè ei+1 - ei ÷÷øèçç ∆ek+1 - ∆ek ÷÷ø
Дефаззификация выполняется по формуле
u=
Ui,k µi,k + Ui+1,k µi+1,k + Ui,k+1µi,k+1 + Ui+1,k+1µi+1,k+1
µi,k + µi+1,k + µi,k+1 + µi+1,k+1
.
Как можно заметить, знаменатель этой формулы всегда равен
единице:
µi,k + µi+1,k + µi,k+1 + µi+1,k+1 = µi (e)µk (∆e) +
+(1 - µi (e))µk (∆e) + µi (e)(1 - µk (∆e)) + (1 - µi (e))(1 - µk (∆e)) = 1.
Поэтому сигнал управления можно записать в виде
æ e - e ÷öæ ∆ek+1 - ∆e ÷ö
æ e - e ÷öæ ∆ek+1 - ∆e ÷ö
i ֍
÷çç
÷ + Ui+1,k çç
u = Ui,k ççç i+1
÷
÷
÷÷÷ +
ç
çç e - e ÷÷ççç ∆e
÷
÷
çè ei+1 - ei øèç ∆ek+1 - ∆ek ø
è i+1
i øè k+1 - ∆ek ø
æ e - e öæ
æ e - e öæ
ö
÷÷çç ∆e - ∆ek ö÷÷ + U
ç
i ÷÷çç ∆e - ∆ek ÷÷.
+Ui,k+1 ççç i+1
÷
÷
÷
i,+1k+1 çç
ç
ç
÷ç ∆ek+1 - ∆ek ø÷÷
èç ei+1 - ei ÷øèç ∆ek+1 - ∆ek ø÷
èç ei+1 - ei øè
Выполняя элементарные преобразования, получаем
u(ei+1 - ei )(∆ek+1 - ∆ek )= Ui,k (ei+1 - e)(∆ek+1 - ∆e)+
+Ui+1,k (e - ei )(∆ek+1 - ∆e)+ Ui,k+1 (ei+1 - e)(∆e - ∆ek )+
+Ui+1,k+1 (e - ei )(∆e - ∆ek )= Ui,k (ei+1 ∆ek+1 - ei+1 ∆e - e∆ek+1 + e∆e)+
+Ui+1,k (e∆ek+1 - e∆e - ei ∆ek+1 + ei ∆e)+ Ui,k+1 (ei+1 ∆e - ei+1 ∆ek - e∆e + e∆ek )+
+Ui+1,k+1 (e∆e - e∆ek - ei ∆e + ei ∆ek )=
= e(∆ek+1 (Ui+1,k - Ui,k ) + ∆ek (Ui,k+1 - Ui+1k+1 ))+
+∆e(ei+1 (Ui,k+1 - Ui,k ) + ei (Ui+1,k - Ui+1,k+1 ))+
+e∆e(Ui,k - Ui+1,k - Ui,k+1 + Ui+1,k+1 ) + Ui,k ei+1 ∆ek+1 +
-Ui+1,k ei ∆ek+1 - Ui,k+1ei+1 ∆ek + Ui+1,k+1ei ∆ek .
144
Окончательно
æ ∆ek+1 (Ui+1,k - Ui,k ) + ∆ek (Ui,k+1 - Ui+1,k+1 ) ö÷
÷÷ +
u = eççç
÷
çè
(ei+1 - ei )(∆ek+1 - ∆ek )
ø÷
æ e (U
ö
ç i+1 i,k+1 - Ui,k ) + ei (Ui+1,k - Ui+1,k+1 ) ÷÷
+∆eçç
÷÷ +
çè
(ei+1 - ei )(∆ek+1 - ∆ek )
ø÷
æU - U
ö
i,k
i+1,k - Ui,k+1 + Ui+1,k+1 ÷÷
+e∆eççç
÷+
çè
(ei+1 - ei )(∆ek+1 - ∆ek ) ø÷÷
æ e (U ∆e
ö
i+1 i,k k+1 - Ui,k+1∆e) - ei (Ui+1,k ∆ek+1,k +Ui+1,k+1∆ek ) ÷÷
+ççç
÷÷.
(ei+1 - ei )(∆ek+1 - ∆ek )
èç
ø÷
Если e и ∆e – нормированные величины, то их произведение можно считать малой величиной. Тогда закон управления НЛР_ПД описывается формулой
u = kp e + kd ∆e + const.
(3.12)
Первые два слагаемых соответствуют классическому ПДрегулятору, однако в НЛР_ПД коэффициенты kp и kd являются переменными. Третье слагаемое (const) может компенсировать установившуюся ошибку.
Запишем закон управления ПД-регулятора в виде:
æ
k de(t) ö÷÷
ç
u = kp ççe(t) + d
÷
çè
kp dt ÷÷ø
Тогда классический ПД-регулятор можно изобразить в виде, показанном на рис. 3.67.
Использование производной позволяет уменьшить перерегулирование, которое может возникать при пропорциональном управлении. Однако при этом возможно нежелательное увеличение времени переходного процесса. Методика проектирования должна соглаe(t)
u(t)
+
z–1
kp
kd/kp
Рис. 3.67. Вариант описания ПД-регулятора
145
совать эти два противоречивых эффекта. Поэтому процесс настройки kd и kp предполагает следующие шаги:
1) коэффициент kd получает по возможности малое значение для
достижения наиболее быстрой реакции системы;
2) пропорциональный коэффициент kp должен быть всегда больше, чем kd.
3.13. Синтез нечеткого регулятора ПД-типа
НЛР_ПД отличается от классического ПД-регулятора тем, что
может реализовать нелинейный закон управления, который будет
описываться некоторой поверхностью в трехмерном пространстве.
При цифровой реализации НЛР_ПД вместо производной ошибки управления часто рассматривается ее приращение ∆e(t), так что
поведение НЛР_ПД можно описать выражением
u(t) = Fл(e(t), ∆e(t)),
где Fл – лингвистический закон управления, заданный набором
правил. Структура НЛР_ПД приведена на рис. 3.24.
Как показывает формула (3.12), при определенных условиях
НЛР_ПД может быть эквивалентен обычному ПД-регулятору. Для
обеспечения более высокого качества работы НЛР_ПД по отношению к классическому регулятору требуется правильно описать
управляющие правила и правильно выбрать расположение термов
ЛП.
Управляющие правила можно выбрать на основании качественного анализа переходного процесса.
В соответствии с (3.1) ошибка управления вычисляется по формуле
e(t) = g(t) – y(t).
Отрицательное значение ошибки e(t) означает, что выходной сигнал y(t) больше уставки g(t), и его нужно уменьшать, положительное значение e(t) означает, что выходной сигнал меньше уставки, и
его нужно увеличивать. Нулевое значение e(t) соответствует, очевидно, равенству g(t) и y(t).
Рассмотрим приращение ошибки управления:
∆e(t) = e(t) – e(t–1) = g(t) – y(t) – g(t) + y(t–1) = y(t–1) – y(t) = –∆y(t).
Положительный знак ∆e(t) означает, что выходной сигнал уменьшается. Отрицательное значение ∆e(t) означает, что выходной сигнал увеличивается. Нулевое значение ∆e(t) соответствует постоянному выходному сигналу.
146
На рис. 3.68 показано поведе- y(t),g(t)
y(t)
∆e(t) >0
e(t)<0
ние ошибки и приращения ошиб1 e(t)>0 g(t)
ки при нормальном протекании
∆e(t) <0
переходного процесса. Как по∆e(t) <0
казывает рисунок, приближение
выходного сигнала системы к заt
0
данному значению происходит
Рис. 3.68. Изменение ошибки
тогда, когда e(t) и ∆e(t) имеют разпри нормальном протекании
ные знаки. В этом случае управпереходного процесса
ление на вход объекта можно не
подавать. В остальных ситуациях
требуется коррекция.
Сделанные замечания позволяют классифицировать все возникающие при управлении ситуации (табл. 3.10).
В табл. 3.10 рассматриваются только знаки ошибки управления
и ее приращения, поэтому можно считать, что количество термов
для ЛП на входах и выходе НЛР_П равно 3, и закон управления
можно сформулировать в виде таблицы лингвистических правил
(ТЛП) (табл. 3.11).
Табл. 3.11 содержит 9 правил управления (лингвистическое значение управления находится на пересечении строки и столбца). Эти
правила имеют универсальный характер, и могут использоваться
для любого объекта управления невысокого порядка.
Таблица 3.10
Семантическое описание процесса управления
Ситуация
Знак
e(t)
Знак
∆e(t)
Описание ситуации
Характеристика
ситуации
Управление
–
–
–
+
y(t) > g(t), ∆y(t) < 0
Нормальная
нулевое (0)
–
y(t) > g(t), ∆y(t) > 0 Нужна коррекция отрицательное (–)
0
y(t) > g(t), ∆y(t) = 0 Нужна коррекция отрицательное (–)
0
–
0
0
+
+
0
+
y(t) = g(t), ∆y(t) > 0 Нужна коррекция отрицательное (–)
y(t) = g(t), ∆y(t) < 0 Нужна коррекция положительное (+)
y(t) = g(t), ∆y(t) = 0
Нормальная
нулевое (0)
y(t) < g(t), ∆y(t) <0 Нужна коррекция положительное (+)
+
–
y(t) < g(t), ∆y(t) >0
+
0
y(t) < g(t), ∆y(t) = 0 Нужна коррекция положительное (+)
Нормальная
нулевое (0)
147
Таблица 3.11
Лингвистические правила НЛР_ПД
О
e*
Н
П
О
О
О
Н
Н
О
Н
П
П
Н
П
П
Таблица
правил
∆e*
u*
Как следует из (3.7), для П-регулятора знак управления совпадает со знаком ошибки. Например, при 5 термах справедлива
табл. 3.12.
Таблица. 3.12
Лингвистический закон управления П-регулятора
e*
u*
ОБ
ОБ
ОМ
ОМ
Н
Н
ПМ
ПМ
ПБ
ПБ
Входы и выход НЛР_ПД нормализованы, поэтому выполняется:
u* = e* + ∆e*.
Допустим, что u*, e* и ∆e* имеют одинаковые множества термов,
например: ОБ, ОС, ОМ, Н, ПМ, ПС, ПБ. Тогда, учитывая ограниченные размеры базовой шкалы, можно записать 49 вариантов ограниченной суммы:
ОБ + ОБ = ОБ; ОБ + ОC = ОБ; ОБ + ОМ = ОБ; ОБ + Н = ОБ;
ОБ + ПМ = ОС; ОБ + ПC = ОМ; ОБ + ПБ = Н;
ОС + ОБ = ОБ; ОС + ОC = ОБ; ОС + ОМ = ОБ; ОС + Н = ОС;
ОС + ПМ = ОМ; ОС + ПC = Н; ОС + ПБ = ПМ;
…
ПБ + ОБ = Н; ПБ + ОC = ПМ; ПБ + ОМ = ПС; ПБ + Н = ПБ;
ПБ + ПМ = ПБ; ПБ + ПC = ПБ; ПБ + ПБ = ПБ.
Лингвистический закон управления принимает вид, показанный в табл. 3.13 (впервые подобный табличный нечеткий закон
управления описан в литературе [54]).
148
Таблица 3.13
Расширенная ТЛП
Таблица
правил
∆e*
e*
ОБ
ОС
ОМ
Н
ПМ
ПС
ПБ
ОБ
ОБ
ОБ
ОБ
ОБ
ОС
ОМ
Н
ОС
ОБ
ОБ
ОБ
ОС
ОМ
Н
ПМ
ОМ
ОБ
ОБ
ОС
ОМ
Н
ПМ
ПС
Н
ОБ
ОС
ОМ
Н
ПМ
ПС
ПБ
ПМ
ОС
ОМ
Н
ПМ
ПС
ПБ
ПБ
ПС
ОМ
Н
ПМ
ПС
ПБ
ПБ
ПБ
ПБ
Н
ПМ
ПС
ПБ
ПБ
ПБ
ПБ
u*
Таблица 3.14
Модифицированная ТЛП
Таблица
правил
∆e*
e*
ОБ
ОС
ОМ
Н
ПМ
ПС
ПБ
ОБ
ОБ
ОБ
ОБ
ОБ
ОС
Н
ПБ
ОС
ОБ
ОБ
ОБ
ОС
ОМ
ПМ
ПБ
ОМ
ОБ
ОБ
ОС
ОМ
Н
ПС
ПБ
Н
ОБ
ОС
ОМ
Н
ПМ
ПС
ПБ
ПМ
ОБ
ОС
Н
ПМ
ПС
ПБ
ПБ
ПС
ОБ
ОМ
ПМ
ПС
ПБ
ПБ
ПБ
ПБ
ОБ
Н
ПС
ПБ
ПБ
ПБ
ПБ
u*
Табл. 3.13 можно модифицировать, используя дополнительные
эвристические соображения. Например, можно потребовать, чтобы
при большом значении ошибки сигнал управления также был большим, независимо от значения приращения ошибки (табл. 3.14).
Использование модифицированной ТЛП должно уменьшить время переходного процесса в системе.
Эвристический закон управления, заданный табл. 3.13 и 3.14, является универсальным для объектов с одним входом и одним выходом. Настройка закона управления для конкретного объекта предполагает выбор коэффициентов нормализации и денормализации, а
также центров термов ЛП на соответствующих базовых шкалах.
149
Step1
Saturation4
du/dt
0.1
Derivative
Gain2
Fuzzy Logic
Controller1
6.5
1
0.02s2+0.4s+1
Gain1
Transfer Fcn1
Scope
Saturation3
Degree of membership
Рис. 3.69. Система с НЛР_ПД
NB
1
NM NS
ZO
PS PM
PB
–0.5
0
input2
0.5
1
0.8
0.6
0.4
0.2
0
–1
Рис. 3.70. Лингвистическое описание производной ошибки управления
Рассмотрим пример. Пусть в качестве базовой используется
структура, показанная на рис. 3.61. При замене регулятора на НЛР_
ПД, она приобретает вид, показанный на рис. 3.69.
Пусть термы ЛП «Ошибка управления» располагаются в соответствии с рис. 3.64, а термы ЛП «Производная ошибка управления» – равномерно (рис. 3.70). Управляющие правила сформируем
согласно табл. 3.14.
На рис. 3.71 показано окно ввода правил в FIS editor.
На рис. 3.72 показана управляющая поверхность полученного
регулятора.
Как показывает рис. 3.73, перерегулирование сведено до минимума.
Таким образом, исходными данными для синтеза НЛР_ПД являются описание объекта управления и требования к переходному
процессу: время нарастания, перерегулирование, установившаяся
ошибка.
Процесс проектирования НЛР_ПД состоит из двух шагов.
1. Синтезируется НЛР_П, отвечающий заданным требованиям
к времени нарастания и установившейся ошибки в соответствии с
методикой, изложенной в п. 3.10. Перерегулирование при этом пре150
Рис. 3.71. Ввод управляющих правил НЛР_ПД
1
1
0.5
output1
0
–0.5
–1
5
0.8
y(t) 0.6
0.4
0
input2
1
0.5
0
–0.5
–5 –1
input1
Рис. 3.72. Управляющая
поверхность НЛР_ПД
0.2
0
0
0.5
1
t
1.5
2
Рис. 3.73. Переходный процесс в
системе с НЛР_ПД
вышает допустимое значение. После этого шага оказывается известным положение термов ЛП «Ошибка» и «Сигнал управления»,
а также значение коэффициента денормализации kp. Определяется по графику переходного процесса максимальная величина ∆e(t).
Термы ∆e* располагаются равномерно по базовой шкале.
2. Рассматривается закон управления, заданный табл. 3.14. В соответствие с графиком переходного процесса выбирается коэффициент нормализации для ∆e.
151
N∆e =
1
,
max ∆e(t)
так что ∆eN Î [-1,1].
3.14. Синтез нечеткого регулятора ПИ-типа
Можно считать, что нечеткий регулятор ПИ-типа имеет такие
же входы, как и НЛР_ПД (см. рис. 3.25 и 3.27). Поэтому для него
справедливы законы управления, показанные в табл. 3.11–3.14.
Основное отличие заключается в способе формирования управляющего сигнала, использование которого позволяет свести до минимума статическую ошибку в системе.
Простейший алгоритм нечеткого ПИ-управления можно сформулировать, рассматривая рис. 3.68. Управление требуется менять
только тогда, когда ошибка управления и ее приращение имеют
одинаковый знак. Таким образом, требуется всего два правила:
− если e(k) положительная и ∆e(k) положительное, то ∆u(k) положительное;
− если e(k) отрицательное и ∆e(k) отрицательное, то ∆u(k) отрицательное.
Термы ЛП могут быть описаны способом, показанным на рис.
3.74.
Таблица лингвистических правил НЛР_ПИ при двух термах для
описания e(k) и ∆e(k) и трех термах для ∆u(k) (см. рис. 3.46)приобретает следующий вид (табл. 3.15).
Таким образом, универсальный закон управления, заданный
табл. 3.15 требует для конкретного объекта настройки всего одного
параметра x (см. рис. 3.74).
Рассмотрим пример. В соответствии с рис. 3.25 сформируем
в Simulink MatLab модель системы управления с НЛР_ПИ при
x = 0.08 (рис. 3.75).
Таблица 3.15
Лингвистические правила НЛР_ПИ
Таблица
правил
∆e*(k)
152
О
П
О
µ
П
1
e*(k)
О
О
Н
П
Н
П
∆u*(t)
–x
0
x e*,� e*
Рис. 3.74. Лингвистическое
описание входов и выхода
НЛР_ПИ
Saturation2
Step3
1
z
Unit Delay
0.08
1
0.02s2+0.4s+1
Fuzzy Logic Gain3
Controller2
Saturation1
Transfer Fcn3
Scope
1
z
Unit Delay1
Рис. 3.75. Система с НЛР_ПИ в Simulink MatLab
1.4
1.2
1
y(t)
0.8
0.6
0.4
0.2
0
0
1
2
3
4
t
5
6
7
8
Рис. 3.76. Переходный процесс для системы с НЛР_ПИ
На рис. 3.76 приведен переходный процесс для синтезированной
системы.
Рис. 3.76 показывает, что достигнута нулевая установившаяся ошибка, однако время установления получается слишком большим. Следовательно, закон управления, заданный табл. 3.15, не
вполне удовлетворителен.
Рассмотрим алгоритм пошаговой настройки НЛР_ПИ, который
(как и в случае с НЛР_ПД) начинается с конструирования НЛР_П.
Алгоритм включает следующие шаги.
1. Синтезируется НЛР_П, отвечающий заданным требованиям к
перерегулированию, времени нарастания и установившейся ошибке. После этого шага оказывается известным положение термов ЛП
«Ошибка» и «Сигнал управления», а также значение коэффициента
денормализации.
1
.
Nie =
max ò e(t)dt
2. Термы ЛП «интеграл ошибки управления» равномерно располагаются по базовой шкале.
153
1.4
1.2
1
y(t)
0.8
0.6
0.4
0.2
0
0
0.2
0.4
t
0.6
0.8
1
Рис. 3.77. Переходный процесс после пошаговой настройки НЛР_ПИ
3. Рассматривается база правил (табл. 3.14, в которой вместо ∆e*
используется ∫e*).
На рис. 3.77 показан результат моделирования. Очевидно, время
нарастания уменьшилось почти на порядок при допустимом перерегулировании и нулевой установившейся ошибке.
3.15. Скользящий режим нечеткого регулятора
Рассмотрим отображение ТЛП на фазовую плоскость при 5 термах, описывающих каждую переменную (рис. 3.78).
Выделим на фазовой плоскости области, в которых управление
одинаково (рис. 3.79).
Как показывает рис. 3.79, величина модуля сигнала управления
пропорциональна расстоянию от прямой e = ∆e. На использовании
этой особенности основан так называемый скользящий режим нечеткого регулятора.
e
e
ОБ
ОБ
ОБ
ОМ
ОМ
Н
ОМ
ОБ
ОМ
ОМ
Н
ПМ
Н
ОМ
ОМ
Н
ПМ ПМ
ПМ
ОМ
Н
ПМ
ПМ ПБ
ПБ
Н
ПМ
ПМ
ПБ
ОБ
ОМ
Н
e =∆e
ОБ
ОМ
∆e
∆e
ПБ
Н
ПМ
ПБ
ПМ ПБ
Рис. 3.78. Отображение закона
управления на фазовую
плоскость
154
Н
Рис. 3.79. Различные области
сигнала управления на фазовой
плоскости
Скользящий режим управления – робастный метод управления
нелинейными системами в условиях неопределенности, который
применим для объектов без существенного запаздывания [55].
Рассмотрим нелинейный объект с одним входом и одним выходом (SISO):
x(n) = f (X) + u;
X = (x, x ..., x(n-1) )T ,
где u ∈ R – управляющий вход; x ∈ R – выход, X ∈ Rn – вектор состояния.
Неопределенность модели описывается функцией
f (X) = fˆ(X) + ∆f (X);
∆f (X) £ F (X),
где оценка fˆ(X) и F(X) – известные; ∆f (X) – неизвестная величина.
Цель управления заключается в выработке такого сигнала обратной связи u = u(X), чтобы состояние системы X приближалось к
желаемому состоянию Xd, т. е.
e = X - Xd ® 0.
Определим скалярную функцию
d
s(X,t) = ( + λ)n-1 e = e(n-1) + Cn1-1λe(n-2) + Cn2-1λ2e(n-3) + ... + λ(n-1) e,
dt
где l – положительная константа. Уравнение
s(X,t) = 0 (3.13)
определяет зависящую от времени переключательную поверхность
в пространстве состояний Rn.
Для системы второго порядка (n = 2) поверхность скольжения
S(t) определяется выражением
s(X,t) = e + λe = x + λx - x d - λxd = 0.
Уравнение (3.13) имеет единственное решение e(t) = 0 при нулевых начальных условиях e(0) = 0.
Проблема управления траекторией сводится к задаче обеспечения (3.13).
Это может быть обеспечено при выполнении условия скольжения:
155
1 2
(s) £-η s ,
2
где h – положительная константа.
Иначе говоря, для того чтобы в системе существовал скользящий
режим, необходимо сформировать управление таким образом, чтобы изображающая точка, один раз попав на поверхность скольжения, уже не могла сойти с нее и дальше двигалась только вдоль этой
поверхности. Пусть в некоторый момент времени S > 0. Тогда производная по времени dS/dt (скорость изменения S) должна быть отрицательна. В этом случае S (отклонение от поверхности скольжения)
будет убывать до нуля, т. е. изображающая точка будет двигаться по
направлению к S. Пусть, далее, изображающая точка пересекла поверхность S = 0 и теперь S < 0. Соответственно, должно измениться
и значение производной, а именно выполниться условие dS/dt > 0.
В этом случае изображающая точка будет двигаться обратно по направлению к поверхности скольжения.
Принципы формирования сигнала управления в скользящем режиме описаны в литературе ([55] и другие). Здесь отметим лишь,
что скользящий режим требует описания фазовой траектории желаемой системы (линии скольжения). Если реальная фазовая траектория пересекает желаемую фазовую траекторию, то сигнал управления переключается. Переключения могут происходить с очень
большой (теоретически бесконечной) частотой, удерживая при этом
переходный процесс на линии скольжения. При изменении свойств
объекта меняется только частота переключения сигнала управления, а траектория, вдоль которой проходит скользящее движение,
остается неизменной.
Таким образом, можно считать, что задана линия переключения, на которой значение сигнала управления равно нулю. Выше и
ниже этой линии сигнал управления имеет разные знаки, а его модуль пропорционален расстоянию
e
от этой линии (рис. 3.80):
∆ e + λe = 0
S : ∆e + λe = 0.
H
Рассмотрим расчет дистанции
D
от точки в фазовом пространстве
∆e
до линии переключения (рис. 3.80,
где H – точка пересечения линии
P (e, ∆ e)
переключения и перпендикуляра,
проведенного к этой линии из точРис. 3.80. Расстояние
ки P).
до линии переключения
156
Расстояние рассчитывается по известным формулам (вместо производной здесь использовано приращение):
2
2
d = (e - e1 ) + (∆e - ∆e1 ) =
∆e1 + λe1
1 + λ2
.
С учетом знака расстояние можно описать формулой
D = sgn(S)
∆e1 + λe1
1 + λ2
=
∆e1 + λe1
1 + λ2
(3.14)
,
где
ì
ï 1, åñëè S > 0;
sgn(S) = ï
í
ï
ï
î-1, åñëè S < 0.
Таким образом, за счет использования расстояния до линии переключения со знаком, можно описать нечеткий закон управления
одномерной таблицей (табл. 3.15).
Таблица 3.15
Одномерный нечеткий закон управления
D
x1
x2
x3
x4
x5
D*
ОБ
ОМ
Н
ПМ
ПБ
U*
ОБ
ОМ
Н
ПМ
ПБ
В табл. 3.15 величина D* описывает лингвистическое значение
расстояния, а U* – лингвистическое значение сигнала управления.
Число правил, описывающих нечеткий закон управления, сокращается, таким образом, в пять раз (по сравнению с табл. 3.14). В
этом заключается основное преимущество использования скользящего режима НЛР. Действительно, величины xi, указанные в табл.
3.15, являются центрами соответствующих термов, и нечеткий закон управления требует задания всего 5 параметров, а не 25.
Линию переключения можно описать и в случае, когда на входе регулятора подается больше двух входных переменных. В общем
случае переключательная поверхность задается уравнением
S = e(n-1) + λn-1λe(n-2) + ...λ2e + .λ1e = 0.
Соответственно, расстояние до линии переключения определяется по формуле
157
1
sqrt
Constant1
Math
Function
0.01
Constant
Product1
50
s4+3s3+3s 2+s
Divide
Fuzzy Logic Transfer Fcn
Controller
Saturation Product
Step
1
z
Unit Delay
Saturation2
Scope2
Рис. 3.81. Блок схема НЛР в следящем режиме в MatLab Simulink
D=
en-1 + λn-1en-2 + ... + λ2 e + λ1e
1 + λ2n-1 + ... + λ22 + λ12
.
Таким образом, изменяется лишь формула вычисления расстояния, а алгоритм нечеткого управления остается прежним, и задача
проектирования НЛР во всех случаях значительно упрощается.
Рассмотрим пример моделирования работы НЛР в следящем режиме. Пусть объект управления задан передаточной функцией
15
W=
.
2
s + s s2 + 2s + 1
(
)(
)
На рис. 3.81 представлена схема моделирования в MatLab
Simulink.
Входной сигнал НЛР формируется в соответствии с (3.14). Нечеткий закон управления соответствует табл. 3.15. При равномерном
расположении термов вход-выходных лингвистических переменных задача конструирования НЛР сводится к правильному выбору
коэффициента l.
3.16. Синтез нечеткого регулятора ПИД-типа
Рассмотрим реализацию структуры НЛР_ПИД рис. 3.21 с использованием синтезированных выше НЛР_ПД и НЛР_ПИ (рис.
3.82).
На рис. 3.83 показан переходный процесс в системе.
Существуют также альтернативные варианты синтеза НЛР_
ПИД, рассмотрим некоторые из них.
158
Saturation2
1
s
Integrator Saturation1
Step1
6.5
Fuzzy Logic
Controller2
Gain3
0.5
Saturation4
du/dt 0.1
Derivative
Gain2
Gain
6.5
Fuzzy Logic Gain1
Controller1
1
0.02s2+0.4s+1
Transfer Fcn1
Scope
Рис. 3.82. Схема моделирования НЛР_ПИД в Simulink MatLab
Рассмотрим далее реализа1.4
цию структуры, показанной на
1.2
рис. 3.18, т. е. непосредственно
1
НЛР_ПИД, получающего на вхо0.8
де ошибку, ее производную и ин- y(t)
0.6
теграл.
0.4
С целью минимизации коли0.2
чества правил будем для входных
переменных использовать по 3
0
0
0.5
1
1.5
2
терма (что дает 27 управляющих
t
правил). При этом каждой переменной соответствует собствен- Рис. 3.83. Переходный процесс под
управлением НЛР_ПИД
ный масштаб базовой шкалы x
(рис. 3.84).
Для описания сигнала управления будем использовать 5 термов
(рис. 3.85).
µ A(e)
О
Н
–x
0
µ A(e)
П
x
ОБ
e, de/dt,òedt
΢
Рис. 3.84. Лингвистическое
описание входных переменный
НЛР_ПИД
–1
ОМ
Н
0
ПМ
ПБ
1
u
Рис. 3.85. Лингвистическое
описание выходной переменной
НЛР_ПИД
159
Таблица 3.16
Правила НЛР_ПИД при нулевом
интеграле ошибки
О
e*
Н
П
О
ОБ
ОМ
Н
Н
ОМ
Н
ПМ
П
Н
ПМ
ПБ
Таблица
правил
∆e*
Таблица 3.17
Правила НЛР_ПИД при положительном интеграле ошибки
О
e*
Н
П
О
Н
ПМ
ПБ
Н
ПМ
ПБ
ПБ
П
ПБ
ПБ
ПБ
Таблица
правил
∆e*
u*
u*
Рассмотрим проекции поверхности управления НЛР_ПИД на
плоскость e×de/dt при различных лингвистических значениях ∫edt.
Вариант 1: «интеграл ошибки» = «Н». В этой ситуации колебания происходят в области нулевой ошибки, и может быть использована симметричная ТЛП (табл. 3.16).
Вариант 2: «интеграл ошибки» = «П». В этой ситуации управляемая переменная может находиться в области положительной
Таблица 3.18 ошибки, тогда требуется сигнал
Правила НЛР_ПИД при отрица- коррекции, величина которого
пропорциональна росту ошибки.
тельном интеграле ошибки
Если же интеграл ошибки полоe*
Таблица
жительный, а сама ошибка отриправил
О
Н
П
цательная и уменьшается, то коррекция нулевая (табл. 3.17).
О
ОБ ОБ ОБ
Вариант 3: «интеграл ошибОБ ОБ ОМ
∆e* Н
ки» = «О». Этот вариант оказываu*
П
ОБ ОМ
Н
ется симметричным предыдущему варианту (табл. 3.18).
1
s
Integrator
g(t)
Step2
Scope3
5
Saturation1
du/dt
Derivative Saturation2
Fuzzy Logic Gain3
Controller
1
0.1s2+0.01s+1
Transfer Fcn2
simout
To Workspace
Рис. 3.86. Схема НЛР_ПИД в Simulink MatLab
160
y(t)
Таблица 3.19
Правила управления НЛР_ПИД
№
∫edt
e
de/dt
u
№
∫edt
e
de/dt
u
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Н
Н
Н
Н
Н
Н
Н
Н
Н
П
П
П
П
П
О
О
О
Н
Н
Н
П
П
П
О
О
О
Н
Н
О
Н
П
О
Н
П
О
Н
П
О
Н
П
О
Н
ОБ
ОМ
Н
ОМ
Н
ПМ
Н
ПМ
ПБ
Н
ПМ
ПБ
ПМ
ПБ
15
16
17
18
19
20
21
22
23
24
25
26
27
П
П
П
П
О
О
О
О
О
О
О
О
О
Н
П
П
П
О
О
О
Н
Н
Н
П
П
П
П
О
Н
П
О
Н
П
О
Н
П
О
Н
П
ПБ
ПБ
ПБ
ПБ
ОБ
ОБ
ОБ
ОБ
ОБ
ОМ
ОБ
ОМ
Н
Общая таблица правил приобретает следующий вид (табл.
3.19), она содержит 27 правил,
и каждое правило имеет три посылки.
На рис. 3.86 показана структурная схема НЛР_ПИД в
Simulink MatLab, а на рис. 3.87 –
переходный процесс в системе.
В схеме использован интегратор
с насыщением, иначе НЛР_ПИД
вырождается в НЛР_ПД.
1.4
1.2
1
y(t)
0.8
0.6
0.4
0.2
0
0
1
2
t
3
4
5
Рис. 3.87. Переходный процесс под
управлением НЛР_ПИД
3.17. Нечеткие супервизоры
Идея нечеткого супервизора заключается в организации двухуровневой системы, в которой на нижнем уровне располагается обычный ПИД-регулятор, а на верхнем уровне – НЛР (рис. 3.88).
Назначение НЛP заключается в том, чтобы автоматически изменять коэффициенты ПИД-регулятора на разных стадиях переходного процесса. Возможны различные реализации нечетких супервизоров, ниже рассматриваются три конкретные схемы.
161
НЛР
d/dt
Kp
g(t)
e(t)
Kd
u(t)
ПИД
+
Ki
y(t)
Объект
–
Рис. 3.88. Структура нечеткого супервизора
Первая схема непосредственно реализует структуру рис. 3.88.
Как было показано выше, НЛР обладает переменным коэффициентом усиления. У НЛР_ПИД имеются три входные переменные,
поэтому можно считать, что его коэффициент усиления складывается из трех составляющих
KPID = KP + KD + KI.
Пусть ошибка управления и ее производная описываются в соответствии с рис. 3.89.
Лингвистические значения нормализованных коэффициентов
НЛР_ПИД можно описать с помощью семи термов с наименованиями «нулевой (Н)», «малый 1 (М1)», «малый 2 (М2)», «средний 1 (С1)»,
«средний 2 (С2)», «большой 1 (Б1)», «большой 2 (Б2)» (рис. 3.90).
Для описания требований к коэффициентам ПИД-регулятора
рассмотрим типовой график переходного процесса (рис. 3.91).
µ
ОБ
ОМ
Н
ПМ
ПБ
–1
–0.5
0
0.5
1
e, de/dt
Рис. 3.89. Лингвистическое описание входных переменных НЛР_ПИД
µ
1
y(t),g(t)
Н М1 М2 С1 С2
Б1 Б2
g(t)
y(t)
1
0
0.5
1 KP, KD, KI
Рис. 3.90. Лингвистическое описание
коэффициентов усиления
162
2
3
4
1
0
Рис. 3.91. Типовой переходный
процесс
t
Рассматривая знак ошибки и ее производной, на графике можно
выделить 4 различные области:
1: e(t) > 0, de/dt < 0;
2: e(t) < 0, de/dt < 0;
3: e(t) < 0, de/dt > 0;
4: e(t) > 0, de/dt > 0.
Наиболее просто описать требования к коэффициенту KI. Он отвечает за установившуюся ошибку, и его изменение можно описать
правилом: «Если установившаяся ошибка большая, то KI большой». Поскольку рассматривается установившаяся ошибка, значение производной здесь, вообще говоря, не имеет значения. Однако, чтобы гасить колебания в области нулевой ошибки, необходимо
придавать KI малые значения, когда производная ненулевая. В итоге получается следующее описание переменного KI (табл. 3.20).
Коэффициент KP отвечает за ошибку отслеживания входного
сигнала e, и требование к его значению можно описать правилом:
«Если e большая, то KP больТаблица 3.20
шой». При нулевой ошибке с поЛингвистические правила
ложительной производной следуописания KI
ет несколько увеличивать KP для
уменьшения времени переходно- Таблица
(de/dt)*
го процесса. Табл. 3.21 описывает правил ОБ ОМ Н ПМ ПБ
ОБ С1 С1 С1 С1 С1
эти эвристические соображения.
Коэффициент KD отвечает за
ОМ М1 М1 М1 М1 М1
перерегулирование, требование e* Н М2 М2 Н М2 М2
ПМ М1 М1 М1 М1 М1 KI
к его значению можно описать
ПБ С1 С1 С1 С1 С1
правилом: «Если перерегулироваТаблица 3.22
Таблица 3.21
Лингвистические правила
описания KP
Таблица
правил
ОБ
ОМ
e* Н
ПМ
ПБ
ОБ
Б2
Б1
Н
Б1
Б2
(de/dt)*
ОМ Н ПМ
Б2 Б2 Б2
Б1 Б1 С2
Н М2 М1
Б1 Б1 С2
Б2 Б2 Б2
ПБ
Б2
Б2
М1
KP
Б2
Б2
Лингвистические правила
описания KD
Таблица
правил
ОБ
ОМ
e* Н
ПМ
ПБ
ОБ
Н
М1
С1
Б1
Б2
(de/dt)*
ОМ Н ПМ
М1 С1 С2
Б1 С2 Б2
С2 С2 Б2
Б2 Б2 Б2
Б2 Б2 Б2
ПБ
Б2
Б2
Б2 KD
Б2
Б2
163
Saturation
g(t)
du/dt
Step1
1
0.1s2+0.01s+1
Fuzzy Logic
Controller
Derivative1 Saturation1
1
s
Integrator
Transfer Fcn1
Scope1
Product
Product1
20
Gain
Product2
Рис. 3.92. Вариант моделирования НЛР_ПИД в Simulink MatLab
ние большое, то KD большой». Перерегулирование возникает при
приближении y(t) к g(t), когда ошибка и ее производная имеют разные знаки (области 1 и 3 на рис. 3.81). В этих ситуациях KD должен
иметь большое значение, иначе он пропорционально уменьшается
до нуля (табл. 3.22).
Табл. 3.20–3.22 могут быть сведены в одну табл. 3.23.
На рис. 3.92 показана схема моделирования НЛР_ПИД.
Таблица 3.23
Правила коррекции коэффициентов НЛР_ПИД
№
e
de/dt
KP
KD
KI
№
e
de/dt
KP
KD
KI
1
2
3
4
5
6
7
8
9
10
11
12
13
ОБ
ОБ
ОБ
ОБ
ОБ
ОМ
ОМ
ОМ
ОМ
ОМ
Н
Н
Н
ОБ
ОМ
Н
ПМ
ПБ
ОБ
ОМ
Н
ПМ
ПБ
ОБ
ОМ
Н
Б2
Б2
Б2
Б2
Б2
Б1
Б1
Б1
С2
Б2
Н
Н
М2
Н
М1
С1
С2
Б2
М1
Б1
С2
Б2
Б2
Б1
Б2
Б2
С1
С1
С1
С1
С1
М1
М1
М1
М1
М1
M2
M2
Н
14
15
16
17
18
19
20
21
22
23
24
25
Н
Н
ПМ
ПМ
ПМ
ПМ
ПМ
ПБ
ПБ
ПБ
ПБ
ПБ
ПМ
ПБ
ОБ
ОМ
Н
ПМ
ПБ
ОБ
ОМ
Н
ПМ
ПБ
M1
M1
Б1
Б1
Б1
С2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
Б2
M2
M2
М1
М1
М1
М1
М1
С1
С1
С1
С1
С1
164
1.5
Kp, Kd, Ki
1
y(t)
0.5
0
0
1
2
3
4
t
5
6
7
8
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
1
2
3
4
t
5
6
7
8
Рис. 3.94. Изменение
коэффициентов ПИД-регулятора в
течение переходного процесса
Рис. 3.93. Переходный процесс
в системе
На рис. 3.93 показан переходный процесс в системе с нечетким
супервизором.
На рис. 3.94 представлены графики изменения коэффициентов
ПИД-регулятора под управлением нечеткого супервизора в течение
переходного процесса.
Рассмотрим второй вариант супервизорного управления, при котором происходит инкрементальное изменение коэффициентов регулятора. Пусть рассматривается ПД-регулятор, в котором нечеткий
супервизор может уменьшать или увеличивать коэффициенты усиления в зависимости от характера переходного процесса (рис. 3.95).
Таким образом, выход ПД-регулятора будет описываться формулой
u(t) = (kp + ∆kp)e(t) + (kd + ∆kd)de(t)/dt.
Нечеткая система здесь используется для модификации параметров регулятора нижнего уровня (базового). Такой подход моНечеткий
супервизор
� kp
∆
g(t)
+
e(t)
Kp
+
–
d/dt
∆� kd
u(t)
y(t)
Объект
управления
Kd
Рис. 3.95. Инкрементальный нечеткий супервизор
165
жет быть эффективен при управлении нестационарным объектом,
а также при неточно известных параметрах объекта. Базовый регулятор может быть настроен по стандартной методике (например,
Зиглера – Николса), а нечеткий супервизор позволяет варьировать
коэффициенты базового регулятора, улучшая качество управления
[56, 57].
Основная идея коррекции коэффициентов ПД-регулятора заключается в том, чтобы увеличивать kp, когда ошибка управления
растет. Дифференциальный коэффициент kd изменяется пропорционально kp, так что поддерживается соотношение kd/kp, полученное
при первоначальной настройке регулятора. Такой закон коррекции
обеспечивается формулами:
∆kp = y(t) kp;
∆kd = y(t) kd,
где y(t) – сигнал, вырабатываемый нечетким супервизором.
Закон работы нечеткого супервизора отличается от ТЛП обычного НЛР, его можно обосновать, рассматривая типовой график переходного процесса (рис. 3.91), который на фазовой плоскости принимает следующий вид (рис. 3.96).
В начале переходного процесса e(t) большая положительная и de/
dt нулевая. В регуляторе нижнего уровня используются номинальные параметры.
Затем e(t) начинает постепенно уменьшаться, а de/dt растет в отрицательном направлении (регион 1). Выход супервизора постепенно увеличивается от нуля до максимального значения, чтобы уменьшить время нарастания.
В регионе 2 e(t) отрицательная, и система должна медленно двигаться вниз для уменьшения перерегулирования. Это достигается
уменьшением контролируемого параметра, и выход супервизора в этой
de/dt
области отрицательный.
4
3
Как только перерегулирование
достигло пикового значения, знак
1
de/dt становится положительным
e
(регион 3), и выход супервизора дол2
1
жен увеличивать свое значение, пока система не попадет в регион 4.
В регионе 4 e(t) опять положительная, и выходной сигнал объекта Рис. 3.96. Переходный процесс на
фазовой плоскости
приближается к установившемуся
166
состоянию. Здесь требуется постепенно уменьшать усиление, чтобы
ограничить перерегулирование.
Если e(t) нулевая, то выход супервизора противоположен по знаку значению de/dt.
Если de/dt нулевая, то выход супервизора совпадает по знаку с
e(t), и должен быть большим в области малых e(t) для уменьшения
статической ошибки.
Сделанные замечания позволяют описать поведение нечеткого супервизора с помощью ТЛП, показанной на рис. 3.97, при этом
предполагается использование единообразного лингвистического
описания нормализованных e(t), de/dt и y(t) в виде, показанном на
рис. 3.98, где использованы следующие сокращения: NL – negative
large (отрицательное очень большое), NB – negative big (отрицательное большое), NM – negative medium (отрицательное среднее),
NS – negative small (отрицательное малое), ZE – zero (нулевое), PS –
positive small (положительное малое), PM – positive medium (положительное среднее), PB – positive big (положительное большое), PL –
positive large (положительное очень большое).
Рассмотрим пример использования нечеткого супервизора. Пусть
имеется система управления с ПД-регулятором, коэффициенты которого рассчитаны по методике Зиглера – Николса (рис. 3.99).
e(t)
2
NL
NB
NM NS
ZE
PS
PM PB
PL
NL
NL
NL
NL
NL
PB
PB
PB
PM PM
NB
NL
NL
NL
NB
PB
PB
PB
PM PM
NM NL
NL
NB
NM PB
PB
PM PM PS
NS
NL
NB
NM NS
PL
PB
PM PS
PS
de/dt ZE
ZE
NS
NM NB
PL
PB
PM PS
ZE
PS
PS
PS
PM PB
NL
NS
NM NB
NL
PM
PS
PM PM PB
NB
NM NB
NL
NL
PB
PM PM PB
PB
NB
NB
NL
NL
NL
PL
PM PM PB
PB
NB
NL
NL
NL
NL
1
4
3
Рис. 3.97. Таблица лингвистических правил нечеткого супервизора
(цифрами обозначены регионы фазовой плоскости)
167
NL NB NM NS ZE PS
–1
PM PB PL
0
1 e(t), de(t)/dt, y(t)
Рис. 3.98. Лингвистическое описание ошибки и ее производной
kp
Gain
g(t)
u(t)
du/dt
Step
kd
Derivative
1
s2 +s
1
s+5
y(t)
Transfer Fcn2 Transfer Fcn3
Gain1
Scope3
Рис. 3.99. Система управления с ПД-регулятором
Переходный процесс для этой системы показан на рис. 3.100.
Структура ПД-регулятора с нечетким супервизором представлена на рис. 3.101. Соответствующий переходный процесс показан на
рис. 3.102. Очевидно, супервизор обеспечил уменьшение перерегулирования.
Рассмотрим далее более важный случай, когда изменяются параметры объекта:
1
W (s) =
.
2
(s + s)(3s + 5)
1.4
1.2
1
y(t)
0.8
0.6
0.4
0.2
0
0
1
2
3
4
t
5
6
7
8
Рис. 3.100. Переходный процесс
в системе с ПД регулятором
168
9
Обычный ПД-регулятор при
этом становится неработоспособным (перерегулирование 50%), в
то время как ПД-регулятор с нечетким супервизором обеспечивает приемлемое качество управления (рис. 3.103).
Рассмотрим еще один вариант
организации нечеткого супервизора, в котором коррекция коэффициентов ПИД-регулятора происходит на основании информации об
ошибке и ее производной [58].
Saturation
k
Fuzzy Logic Gain1
Controller
Saturation1
Product
kp
Scope1
Product3
const
kd
const1
g(t)
Product1
1
s2+s
Step1
du/dt
Transfer Fcn1 Transfer Fcn4
Product2
Derivative1
1
3s+5
y(t)
Рис. 3.101. Структура нечеткого супервизора в Simulink MatLab
1.5
1
1
0.8
y(t)
y(t) 0.6
0.5
0.4
0.2
0
0
1
2
3
4
t
5
6
7
8
9
Рис. 3.102. Переходный процесс
под управлением нечеткого
супервизора
0
0
1
2
3
4
t
5
6
7
8
9
Рис. 3.103. Сравнение обычного
ПД-регулятора и ПД-регулятора с
нечетким супервизором
Допустим, что известны диапазоны, в которых могут изменяться
коэффициенты Kp и Kd:
K p Î êëé K p,min , K p,max ùúû ;
Kd Î éêë Kd,min , Kd,max ùúû .
При выборе диапазона изменения коэффициентов можно руководствоваться следующими формулами
K p,min = 0.32Ku ;
K p,max = 0.6 Ku ;
Kd,min = 0.08 KuTu ;
Kd,max = 0.15KuTu ,
169
где Ku – минимальное значение коэффициента усиления Р – регулятора, при котором возникают автоколебания с периодом Tu.
Будем считать, что значения коэффициентов нормализованы:
K p - K p,min
Kd - Kd,min
K p¢ =
; Kd¢ =
,
K p,max - K p,min
Kd,max - Kd,min
откуда следует:
K p = (K p,max - K p,min )K p¢ + K p,min ;
Kd = (Kd,max - Kd,min )Kd¢ + Kd,min ,
Согласно методике Зиглера – Николса, постоянная времени интегрирования зависит от постоянной времени дифференцирования:
Ti = aTd,
таким образом:
2
Ki =
(K )
KP
= P .
αTd
αKd
Супервизор содержит множество правил вида:
Если (e(t) = Ai) и (de(t)/dt = Bi),
NB NM NS ZE PS PM PB
то (K’p = Ci) и (K’d = Di) и
a = ai.;
i = 1, 2,…m,
–1
0
1 e(t),∆
� e(t)
Degree of membership
Рис. 3.104. Лингвистическое
описание ошибки и ее приращения
small
1
big
0.8
0.6
0.4
0.2
0
0
0.2
0.4
0.6
output1
0.8
Рис. 3.105. Лингвистическое
описание K′p и K′d
170
1
где Ai, Bi, Ci и Di – нечеткие множества, ai – константа.
Лингвистическое описание e(t)
и de(t)/dt показано на рис. 3.104.
Лингвистическое описание
K′p и K′d показано на рис. 3.105,
где использованы только два
терма: Big и Small («большое» и
«малое»), для их описания могут
быть использованы колоколообразные функции принадлежности.
Для описания правил изменения коэффициентов рассмотрим характерные точки типового переходного процесса
(рис. 3.106).
В начале переходного процесса y(t),g(t)
c1
b2
d1
b1
(точка a1) требуется большое значеg(t)
a2
ние сигнала управления для полуy(t)
чения малого времени нарастания.
Поэтому ПИД-регулятор должен
a1
иметь большое значение Kp и Ki, а
0
t
значение Kd должно быть малым,
т. е. K′p должен иметь значение Big,
Рис. 3.106. Желаемый
переходный процесс
а K′d – Small.
Для обеспечения большого значения Ki (по сравнению с исходным значением, полученным по методу
Зиглера – Николса) надо, чтобы значение a было малым.
В методе Зиглера – Николса Ti задается в 4 раза больше Td
(a = 4).
Поэтому если a принимает значения меньше 4, то влияние интеграла усиливается, таким образом, в точке a1 справедливо правило
вида:
Если (e(k) = PB) и (∆e(k) = ZE), то (K′p = Big)
и (K′d = Small) и a = 2.
Величина a может рассматриµ
S MS M B
ваться как синглетон (рис. 3.107,
где использованы обозначения
S –small, MS – medium small, M
–medium, B – big.)
2 3
4
5
α
В окрестности точки b1 (см. рис.
Рис. 3.107. Описание
3.106) сигнал управления должен
вариантов значений a
быть малым для избегания большого перерегулирования. Поэтому ПИД-контроллер должен иметь
малые Kp и Ki, и большой Kd. Эти условия описывает правило:
Если (e(k) = ZE) и (∆e(k) = NB), то (K′p = Small) и (K′d = Big) и
a = 5.
Повторяя приведенные рассуждения, можно описать правила
изменения K′p и K′d в виде табл. 3.24 и 3.25.
Закон изменения коэффициента a показан в табл. 3.26.
Таблицы 3.24–3.26 могут быть сведены в одну таблицу из 49 правил, имеющих две посылки и три заключения.
На рис. 3.108 показана схема моделирования супервизора в
Simulink MatLab для объекта, заданного передаточной функцией:
27
W (s) =
.
(s + 1)(s + 3)3
171
Таблица 3.24
Правила определения K′p
Таблица
правил
e(t)
NB
NM
NS
ZE
PS
PM
PB
NB
B
S
S
S
S
S
B
NM
B
B
S
S
S
B
B
NS
B
B
B
S
B
B
B
de(t)/dt
ZE
PS
B
B
B
B
B
B
B
S
B
B
B
B
B
B
PM
B
B
S
S
S
B
B
PB
B
S
S
S
S
S
B
K′p
Таблица 3.25
Правила определения K′d
Таблица
правил
e(t)
NB
NM
NS
ZE
PS
PM
PB
NB
S
B
B
B
B
B
S
NM
S
B
B
B
B
B
S
NS
S
S
B
B
B
S
S
de(t)/dt
ZE
PS
S
S
S
S
S
B
B
B
S
B
S
S
S
S
PM
S
B
B
B
B
B
S
PB
S
B
B
B
B
B
S
K′d
Таблица 3.26
Правила определения a
Таблица
правил
e(t)
172
NB
NM
NS
ZE
PS
PM
PB
NB
2
3
4
5
4
3
2
NM
2
3
3
4
3
3
2
de(t)/dt
NS
ZE
PS
2
2
2
2
2
2
3
2
3
3
3
3
3
2
3
2
2
2
2
2
2
PM
2
3
3
4
3
3
2
PB
2
3
4
5
4
3
2
K′d
0.5
Kdmin
1.7
Kdmax
Saturation
Saturation1 Fuzzy Logic
Controller
Step
Product
2.5
Kpmin
du/dt
Derivative1
3.5
Kpmax
1
Product2
Product8
Divide
Product9
1
1
1
27
s+3
s+3
s+3
s+1
Transfer Fcn4 Transfer Fcn5
Transfer Fcn6
Transfer Fcn1
Product3
1
s
Integrator1
Product1
2
Kp1
1.04
Kd
Scope
Product7
Рис. 3.108. Моделирование супервизора в Simulink MatLab
1.5
1
y(t)
0.5
0
0
2
4
t
6
8
10
Рис. 3.109. Сравнение обычного ПИД-регулятора
и ПИД-регулятора с нечетким супервизором
ПИД регуляторы получили широкое распространение в промышленности благодаря простоте своей структуры и надежности в
широком диапазоне рабочих условий. Разработка этих регуляторов
связана с выбором трех параметров: пропорционального коэффициента и коэффициентов при интеграле и производной.
Существующие ПИД-регуляторы можно разбить на два класса: регуляторы с фиксированной настройкой и адаптивные ПИДрегуляторы.
173
Регуляторы с фиксированной настройкой настраиваются однократно, например по алгоритму Зиглера – Николса.
В адаптивных ПИД-регуляторах коэффициенты могут изменяться в реальном времени, что требует использования дополнительных
знаний о процессе управления.
Рассмотренные варианты нечетких супервизоров реализуют простые алгоритмы адаптации на основании оценки ошибки управления и ее производной.
3.18. Цифровой нечеткий ПД-регулятор
Уравнение классического линейного ПД-регулятора в частотной
области имеет вид:
U (s) = K p E(s) + Kd sE(s),
где U(s) и E(s) – изображения по Лапласу u(t) и e(t).
Для цифровой реализации регулятора введем величину ∆t –
период квантования по времени (таким образом, текущее время
t = N∆t, где N – номер шага квантования). Переход от s-плоскости к
z-плоскости может быть выполнен с помощью одного из вариантов
преобразования:
s=
z -1
1 - z-1
2 z -1
; s=
; s=
.
∆t
∆t
∆t z + 1
Рассмотрим далее описание дискретного ПД-контроллера, которое получается с использованием билинейного преобразования
[59].
sKd ®
2 z -1
2 1 - z-1
Kd =
Kd ,
∆t z + 1
∆t 1 + z-1
æ
2 1 - z-1
÷ö
U (s) = (K p + sKd )E(s) ® U (z) = ççç K p +
Kd ÷÷÷ E(z).
÷ø
∆t 1 + z-1
çè
Введем обозначения
Kd¢ =
2
Kd .
∆t
Тогда уравнение ПД-регулятора записывается в виде
(1 + z-1 )U(z) = K p (1 + z-1 )E(z) + Kd¢ (1- z-1 )E(z).
174
1
∆t
+
d(t)
Kp
+
e(t)
+
z−1
+
z−1
+
∆� u(t)
u(t)
+
�t
∆
–
z−1
u (t– ∆�t)
–
1
∆t
v(t)
K’d
Рис. 3.110. Цифровой ПД-контроллер
z–1
Оператор
соответствует задержке на один такт, следовательно, выполняя обратное z-преобразование, получаем
u(t) + u(t - ∆t) = K p (e(t) + e(t + ∆t))+ Kd¢ (e(t) - e(t - ∆t)) Þ
æ e(t) + e(t + ∆t) ÷ö
æ e(t) - e(t - ∆t) ÷ö
u(t) + u(t - ∆t)
= K p çç
÷÷ + Kd¢ ççç
÷÷.
ç
è
ø
è
ø
∆t
∆t
∆t
Обозначим
e(t) + e(t - ∆t)
e(t) - e(t - ∆t)
; v(t) =
.
∆t
∆t
d(t) =
Структура цифрового ПД-контроллера показана на рис. 3.110.
Величину d(t) можно рассматривать как усредненную ошибку, а
v(t) – приращение ошибки.
Рассмотрим далее замену ПД-контроллера нечетким контроллером ПД-типа (рис. 3.111).
1
∆t
+
e(t)
+
+
+
Kp
+
+
x1 = Kp d
−1
z
НЛР_ПД
x2 = K’d v
–
+
∆� u(t)
+
z−1
+
+
d(t)
1
∆t
v(t)
+
+
K’d
Ku
+
u(t)
+–
+
u(t–+∆�t)
z−1
+
Рис. 3.111. Включение НЛР_ПД в дискретную систему
175
µT(x1), µT(x2)
О
–L
µ T (u)
П
0
L
x1, x2
Рис. 3.112. Лингвистическое
описание входных переменных
НЛР_ПД
О
Н
–L
0
П
L
∆u
Рис. 3.113. Лингвистическое
описание выходной переменной
НЛР_ПД
Пусть описание входов НЛР_ПД выбрано способом, показанным
на рис. 3.112, а выход регулятора описывается в соответствии с рис.
3.113 (где П, О и Н – названия термов: Положительный, Отрицательный, Нулевой, а L – настраиваемый параметр).
При таком описании входных переменных можно использовать
простейший закон управления, включающий четыре правила:
R1: Если e = П & de/dt = П, то u(t) = –u(t–1).
R2: Если e = П & de/dt = О, то u(t) = u(t–1),
R3: Если e = О & de/dt = П, то u(t) = u(t–1),
R4: Если e = О & de/dt = О, то u(t) = –u(t–1).
В рамках структуры рис. 3.111 вместо e и de/dt рассматриваются
x1 и x2.
Правила 1 и 4 предполагают изменение знака управления на
противоположный, для чего в соответствии с рис. 2 требуется выполнение условия ∆u =0.
Правило 2 означает, что e(t) = g(t) – y(t) >0 и de/dt < 0, т. е. движение происходит в правильном направлении. Приращение управления должно быть положительным. Аналогично, правило 3 требует,
чтобы приращение управления должно быть отрицательным.
Таким образом, управляющие правила переписываются в виде:
R1: Если x1 = П & x2 = П, то ∆u = Н,
R2: Если x1 = П & x2 = О, то ∆u = П,
R3: Если x1 = О & x2 = П, то ∆u = О,
R4: Если x1 = О & x2 = О, то ∆u = Н.
Логическая связка & описывается с помощью операции min. Таким образом, для дефаззификации здесь можно использовать дискретный метод центра тяжести:
176
4
å min(µT (x1 ),µT (x2 ))∆ui
i
∆u = i=1
i
.
4
å min(µT (x1 ),µT (x2 ))
i
i=1
i
Вычисление степени принадлежности посылок правил в соответствии с рис. 3.112выполняется по формулам
x +L
L - x1
µÏ (x1 ) = 1
; µÎ (x1 ) =
;
2L
2L
x +L
L - x2
µÏ (x2 ) = 2
; µÎ (x2 ) =
.
2L
2L
Рассмотрим пространство входов НЛР_ПД. Настраиваемый параметр L позволяет разбить это пространство на 20 областей N1 –
N20 (рис. 3.114).
Можно показать, что каждой из 20 областей пространства входов
НЛР_ПД соответствует своя формула для вычисления ∆u.
Рассмотрим область N1. Здесь, очевидно, выполняется (см. рис.
3.112):
μП(x1) > 0.5 > μП(x2); μП(x1) > 0.5 > μО(x2);
μП(x2) > 0.5 > μО(x1); μО(x2) > 0.5 > μО(x1).
Таким образом, используя дискретный метод центра тяжести
для четырех управляющих правил можно записать:
x2
N18
N12
N4
N13
–L
L
N11
N3
N10
N5
N2
N6
N1
N14
L
x1
N9
N7
N19
N17
N15
N8
–L
N16
N20
Рис. 3.114. Входное пространство НЛР_ПД
177
Таблица 3.27
Формулы для вычисления сигнала управления НЛР_ПД
№ области
Расчетная формула
1, 2, 5, 6
2L(x1 - x2 )
4L - 2 x1
3, 4, 7, 8
L(x1 - x2 )
4L - 2 x2
9, 10
1
(L - x2 )
2
11, 12
1
(-L + x1 )
2
13, 14
1
(-L - x2 )
2
15, 16
1
(L + x1 )
2
17, 19
18
20
0
–L
L
4
å min(µT (x1 ),µT (x2 ))∆ui
∆u = i=1
i
i
=
4
å min(µT (x1 ),µT (x2 ))
i=1
i
i
µ (x ) × 0 + µÎ (x2 ) × L + µÎ (x1 ) × (-L) + µÎ (x1 ) × 0
= Ï 2
=
µÏ (x2 ) + µÎ (x2 ) + µÎ (x1 ) + µÎ (x1 )
L - x2 x1 - L
+
µÎ (x2 ) × L + µÎ (x1 ) × (-L)
2L(x1 - x2 )
2
2
=
=
=
.
µÏ (x2 ) + µÎ (x2 ) + 2µÎ (x1 ) x2 + L + L - x2 + 2(L - x1 )
4L - 2x1
2L
2L
2L
Выполняя аналогичные выкладки для всех областей пространства входов НЛР_ПД, получаем расчетные соотношения, показанные в табл. 3.27.
178
3.19. Цифровой нечеткий ПИ-регулятор
Уравнение классического линейного ПИ-регулятора в частотной
области имеет вид
æ
K
K ö
U (s) = K p E(s) + i E(s) = çç K p + i ÷÷÷ E(s),
ç
è
s
s ø
где U(s) и E(s) – изображения по Лапласу u(t) и e(t).
Таким образом,
(
)
-1
Ki
K ∆t z + 1 Ki ∆t 2 - (1 - z )
K ∆t
K ∆t
® i
=
=- i + i
,
-1
2 z -1
2
2
s
1- z
1 - z-1
и для дискретного ПИ-регулятора можно записать
æ
K ∆t
Ki ∆t ö÷
U (z) = çç K p - i +
÷÷ E(z).
çè
2
1 - z-1 ø
Введем обозначения
Ki ∆t
; K i = Ki ∆t,
2
тогда можно переписать уравнение ПИ-регулятора в виде
K p = Kp -
(1- z-1 )U(z) = K p (1- z-1 )E(z) + Ki E(z).
Оператор z–1 соответствует задержке на один такт, следовательно, выполняя обратное z-преобразование, получаем
u(t) - u(t - ∆t) = K p (e(t) - e(t - ∆t))+ K i e(t) Þ
æ e(t) - e(t - ∆t) ÷ö K i
u(t) - u(t - ∆t)
= K p çç
÷÷ø + ∆t e(t) Þ
çè
∆t
∆t
∆u(t) = K p ∆e(t) + K i e(t).
Структура дискретного ПИ-контроллера представлена на рис. 3.115.
e(t)
+
+
+
1
∆t
–
z−1
+
+
1
∆t
� e(t)
+
Ki
+
+
Kp
+
∆� u(t)
∆� t
+
++
u (t– ∆�t)
u(t)
+
z−1
Рис. 3.115. Цифровой ПИ-контроллер
179
e(t)
1
∆t
+
+
–
+
+
Ki
x1
z−1
+
НЛР_ПИ
1
∆t
� e(t)
Kp
+
�∆� u(t)
Ku
x2
u(t)
+
+
–
+
−1
u (t– ∆�t)
+
z
+
Рис. 3.116. Цифровой нечеткий контроллер ПИ – типа
Рассмотрим переход от цифрового ПИ-контроллера к цифровому
НЛР_ПИ (рис. 3.116).
Работу ПИ-контроллера можно описать формулой (см. рис. 3.115)
u(t) = u(t -1) + Ku ∆u(t).
Эта формула отличается от закона управления ПИ-контроллера
знаком при первом слагаемом:
u(t) = -u(t -1) + Ku ∆u(t).
Соответственно, система правил нечеткого ПИ-контроллера будет иметь вид:
R1: Если x1 = П & x2 = П, то ∆u = П,
R2: Если x1 = П & x2 = О, то ∆u = Н,
R3: Если x1 = О & x2 = П, то ∆u = Н,
R4: Если x1 = О & x2 = О, то ∆u = О.
Например, рассмотрим область N1 (см. рис. 3.114). Здесь, очевидно, выполняются те же условия по значениям принадлежности
входных переменным, что и для нечеткого ПИ-контроллера, но отличаются заключения правил.
Поэтому, используя дискретный метод центра тяжести для четырех управляющих правил, можно записать
4
å min(µT (x1 ),µT (x2 ))∆ui
∆u = i=14
i
i
=
å min(µT (x1 ),µT (x2 ))
i=1
i
i
µÏ (x2 ) × L + µÎ (x2 ) × 0 + µÎ (x1 ) × 0 + µÎ (x1 ) × (-L)
=
µÏ (x2 ) + µÎ (x2 ) + µÎ (x1 ) + µÎ (x1 )
æ x2 + L ö÷ æ L - x1 ö÷
÷ - çç
÷
çççè
×
+
×
L(x1 + x2 )
(
)
(
)
(
)
x
L
x
L
µ
µ
2 ÷ø èç 2 ÷ø
180
Ï
2
Î
1
=
=
=
.
4L - 2x1
µÏ (x2 ) + µÎ (x2 ) + 2µÎ (x1 ) x2 + L + L - x2 + 2(L - x1 )
2L
2L
2L
=
Таблица 3.28
Формулы для вычисления сигнала управления НЛР_ПИ
№ области
Расчетная формула
1, 2, 5, 6
L(x1 + x2 )
2(2L - x1 )
3, 4, 7, 8
L(x1 + x2 )
2(2L - x2 )
9, 10
L + x2
2
11, 12
L + x1
2
13, 14
15, 16
-L + x2
2
x
(
))∆ui
å min(µTi (x1 ),µT2
i
L + x1
=
i
1
=
∆u = 4
2
å min(µTi (x1 ),µTi (x2 ))
4
18, 20
0
i=1
17
–L
µ (x ) × L + µÎ (x2 ) × 0 + µÎ (x1 ) × 0 + µÎ (x1 ) × (-L)
= Ï 2
=
19
L
µÏ (x2 ) + µÎ (x2 ) + µÎ (x1 ) + µÎ (x1 )
æ x2 + L ö÷ æ L - x1 ö÷
÷ - çç
÷
çççè
L(x1 + x2 )
µÏ (x2 ) × L + µÎ (x1 ) × (-L)
2 ø÷ èç 2 ø÷
=
=
=
.
+
L
L
x
2
(
L
x
)
x
4L - 2x1
µÏ (x2 ) + µÎ (x2 ) + 2µÎ (x1 )
2+
1
2
+
2L
2L
2L
Выполнив аналогичные рассуждения для всех 20 областей пространства входов, можно записать формулы расчета сигнала управления (табл. 3.28).
Аналогично сделанным описаниям дискретных НЛР_ПД и НЛР_
ПИ можно выполнить описание дискретного НЛР_ПИД. Такой подход позволяет оценивать устойчивость работы регулятора. Однако
в целом программное описание цифрового НЛР можно выполнять
различными способами, поскольку возможно использование функций принадлежности произвольного вида.
181
Вопросы для самопроверки
1. Опишите традиционную структуру управления системы с обратной связью.
2. Чем отличается линейная математическая модель объекта
управления от нелинейной?
3. Какие критерии используются для описания качества переходных процессов в динамической системе?
4. Какой математической моделью описывается большинство
объектов управления?
5. Какие методы могут использоваться в задаче определения параметров динамической модели объекта управления?
6. Как определить динамические характеристики объекта управления по его кривой разгона?
7. Как использовать метод наименьших квадратов для определения динамических характеристик объекта управления?
8. Опишите структуру ПИД-регулятора.
9. Какое влияние на переходный процесс оказывают различные
коэффициенты ПИД-регулятора?
10. Опишите метод Зиглера–Николса для настройки ПИДрегулятора.
11. С какой целью выполняется предобработка сигналов НЛР?
12. С какой целью выполняется постобработка сигналов НЛР?
13. Опишите основные структуры НЛР.
14. Из каких частей состоит НЛР?
15. Как реализуется нечеткий вывод в НЛР?
16. По какой формуле можно оценить максимальное количество
правил НЛР?
17. Опишите варианты упрощения структуры НЛР ПИД-типа.
18. Как описываются операции интегрирования и дифференцирования в дискретном НЛР?
19. Как можно выполнить классификацию методов синтеза
НЛР?
20. Как выполняется эвристический синтез НЛР?
21. Каким образом можно формализовать знания эксперта при
синтезе НЛР?
22. Как использовать кластеризацию при синтезе правил НЛР?
23. Как синтезируется НЛР методом поисковой оптимизации?
24. В чем заключаются проблемы использования обычных регуляторов П-типа?
182
25. Опишите принципы эвристического синтеза нечеткого регулятора П-типа.
26. При каких условиях нечеткий регулятор П-типа оказывается
линейным?
27. Опишите условия нелинейности закона управления нечеткого регулятора П-типа. В чем преимущества нелинейного закона
управления?
28. Сколько шагов включает в себя синтез нелинейного НЛР_ П?
Какие это шаги?
29. Как получается аналитическое описание НЛР_ПД?
30. Изложите эвристические соображения, используемые при
синтезе НЛР ПД-типа.
31. Какой вид имеет таблица лингвистических правил НЛР_
ПД?
32. Сколько шагов включает в себя синтез нелинейного НЛР_
ПД? Какие это шаги?
33. Изложите эвристические соображения, используемые при
синтезе НЛР_ПИ.
34. Какой вид имеет таблица лингвистических правил НЛР_
ПИ?
35. Сколько шагов включает в себя синтез нелинейного НЛР_
ПИ-типа? Какие это шаги?
36. Что такое скользящий режим нечеткого регулятора?
37. Как используется фазовая плоскость при описании скользящего режима?
38. В чем основное преимущество использования скользящего
режима НЛР?
39. Опишите способы синтеза НЛР_ПИД.
40. Что такое нечеткий супервизор?
41. На основании каких соображений происходит синтез правил
нечеткого супервизора?
42. Опишите варианты схем нечетких супервизоров.
43. Опишите принципы описания дискретного НЛР_ПД.
44. Опишите принципы описания дискретного НЛР_ПИ.
183
4. Синтез нечетких правил из данных
4.1. Постановка задачи синтеза
Основой НЛР являются нечеткие управляющие правила, которые связывают текущее состояние объекта и управление, этому состоянию соответствующее. В зависимости от типа НЛР нечеткие
правила имеют одну, две или три посылки.
Для синтеза НЛР необходимо решить две основные задачи:
− описать ЛП, соответствующие входам и выходам НЛР (это описание включает выбор масштабирующих коэффициентов);
− выбрать правила управления.
Эти задачи могут быть решены методом проб и ошибок в результате процедуры интерактивного моделирования. Выбирается некоторое начальное описание ЛП и начальный набор управляющих
правил, затем происходит моделирование переходного процесса
и коррекция исходного описания в зависимости от наблюдаемых
ошибок. Однако этот путь может быть довольно трудоемким в силу
существующей на начальном этапе значительной неопределенности
о величине базовых множеств ЛП, о необходимом количестве правил, и о том, какие термы должны входить в то или иное правило.
Облегчить решение задачи настройки НЛР может подход, основанный на использовании эталонной траектории движения объекта.
Сущность этой методики заключается в переходе от представления процесса управления во времени, к представлению в фазовом
пространстве с последующей аппроксимацией фазовой траектории
набором нечетких правил.
Допустим, что имеется набор эталонных траекторий движения
объекта, т. е. набор числовых значений, описывающих входы и выходы регулятора в различные моменты времени. Этот набор можно получить при управлении с помощью классического регулятора (ПИД, модального и т. п.). Обрабатывая эталонные траектории,
можно получить набор управляющих нечетких правил.
Возникает естественный вопрос: зачем синтезировать НЛР, если
уже есть работающий регулятор? При переходе от линейного регулятора к НЛР можно добиться следующих положительных эффектов:
− использование НЛР может повысить помехоустойчивость системы управления;
− применение НЛР может расширить диапазон регулирования
за счет использования нелинейной управляющей функции;
184
− полученный набор правил может быть расширен для придания
регулятору нелинейных свойств.
Сформулированная задача получения управляющих правил из
данных, описывающих процесс управления, относится к дисциплине data mining (разработка данных) – разделу технического искусственного интеллекта, посвященному извлечению семантически значимых закономерностей из необработанной «сырой» информации.
4.2. Понятие кластеризации
Кластеризация – разбиение объектов на группы, так что расстояние между объектами каждой группы меньше, чем расстояние от
любого из объектов до любой другой группы [60].
Заметим, что задача кластеризации отличается от задачи классификации. Классификация предполагает отнесение нового объекта к одному из уже известных классов, а кластеризация подразумевает формирование классов (кластеров) из множества известных
объектов.
Задача кластеризации может ставиться как при заранее заданном, так и при заранее неизвестном количестве кластеров.
Элементы одного кластера должны быть так близки друг другу,
как это только возможно, и, одновременно, кластеры должны быть
на наибольшем удалении друг от друга. Для обеспечения управляемости процесса кластеризации необходимо использовать меру близости, в качестве которой обычно определяют расстояние d между
двумя объектами (точками в n-мерном пространстве) Xk и Xl в виде
вещественной функции
d : X ´ X ® R+,
для которой выполняются условия:
d(Xk , Xl ) ³ 0;
d(Xk , Xl ) = 0 Þ Xk = Xl ;
d(Xk , Xl ) = d(Xl , Xk ).
Если дополнительно выполняется неравенство треугольника:
d(Xk , Xl ) £ d(Xk , Xj ) + d(Xj , Xl ),
то функция расстояния является метрикой (хотя это не всегда необходимо для задачи кластеризации).
Задача кластеризации формулируется следующим образом.
185
Дано N объектов, подлежащих кластеризации, каждый объект
обладает n признаками, так что величина
xij ; i = 1, N; j = 1,n
представляет собой значение j-го признака i-го объекта. Таким образом, каждый i-й объект представляет собой точку в n- мерном пространстве признаков, заданную набором координат (вектором):
Xi = [xi1 xi2 ... xin ].
Вся совокупность объектов, подлежащих кластеризации, может
быть описана матрицей
é x11 x12 ... x1n ù
ê
ú
ê x21 x22 ... x2n ú
ê
ú.
X=ê
ú
...
...
...
...
ê
ú
êx
ú
ëê N1 xN 2 ... xNn ûú
Пусть задано С – количество кластеров. Для каждого кластера Ai
должны выполняться условия:
Ai , i = 1, C; 2 £ C < N,

i=1,Ñ
A i = X,
Ai Ç Aj = Æ, i, j = 1, Ñ, j ¹ i.
При этом ни один из кластеров не может быть пустым или содержать все объекты
Æ ¹ Ai ¹ X, i = 1, Ñ.
Рассмотрим «четкую» кластеризацию. Здесь требуется использовать бинарную функцию принадлежности
ì
ï1, Xk Î Ai
bki = ï
.
í
ï
ï
î0, Xk Ï Ai Для значения принадлежности выполняются условия:
C
å bki = 1, k = 1, N;
i=1
N
å bki Î [0, N], i = 1,C.
k=1
186
(4.1)
Первое условие означает, что каждый объект принадлежит только одному кластеру. Второе условие означает, что количество объектов, входящих в кластер, изменяется от 0 до N.
4.3. Алгоритм С-средних
Используя функцию принадлежности, можно решить задачу кластеризации с помощью описания кластеров матрицей разбиения:
B = [bki ], bki Î {0,1}, k = 1, N, i = 1, C. (4.2)
Для того чтобы кластер не был пустым и не содержал все объекты, можно поставить условие:
N
0 < å bki < N; i = 1, C.
k=1
Для оценки качества разбиения используется критерий разброса, показывающий сумму расстояний от объектов до центра своего
кластера. Для евклидового пространства этот критерий записывается так ([61])
å å
i=1,C Xk Î Ai
Vi - Xk
2
® min,
(4.3)
где Xk – объект кластеризации; Ai – i-й кластер; Vi – его центр;
Ai = { Xk }, bik = 1, k = 1, N,
Vi =
1
Ai
å
Xk Î Ai
Xk ,
где |Ai| – мощность множества, так что компоненты Vi получаются
как усреднение по всем элементам кластера.
Кластеризацию объектов с помощью алгоритма С-средних можно сформулировать как задачу оптимизации: найти матрицу вида
(4.2), минимизирующую значение критерия (4.3), т. е. требуется выбрать центры кластеров таким образом, чтобы минимизировать отклонения элементов кластера от его центра.
Дискретный характер четкого разбиения приводит к трудностям
нахождения оптимальной кластеризации из-за негладкости целевой функции.
187
При нечетком C-разбиении любой объект одновременно может
принадлежать к различным кластерам, но с разной степенью [62].
Для этого бинарная функция принадлежности вида (1) заменяется
на непрерывную функцию принадлежности
µki Î [0, 1],
так что нечетким C-разбиением (или матрицей степеней принадлежности) называется матрица
M = [µki ] ; i = 1, C; k = 1, N.
Таким образом, единственным отличием матриц B и M является
то, что при нечетком разбиении степень принадлежности объекта
к кластеру принимает значения из интервала [0,1], а при четком –
только из множества {0,1}.
На матрицу M могут быть наложены ограничения:
1) сумма принадлежностей объекта к различным кластерам равна 1
å
i=1,C
µki = 1,
k = 1, N; (4.4)
2) кластер не может быть пустым или содержать все объекты
0<
å
k=1,N
µki < N,
i = 1, C.
(4.5)
Первое условие определяет нечеткое разбиение базового множества объектов на множество кластеров.
Если объекты расположены на границе двух кластеров, то им назначают степени принадлежностей равные 0.5. Недостаток нечеткого разбиения проявляется при работе с объектами, удаленными от
центров всех кластеров. Удаленные объекты имеют мало общего с
любым из кластеров, но по условию (4.4) сумма их степеней принадлежностей такая же, как и для объектов, близких к центрам кластеров, т.е. равна единице.
Для устранения этого недостатка вместо (4.4) можно использовать другое условие, которое требует, только чтобы произвольный
объект принадлежал хотя бы одному кластеру:
$i, µki > 0, "k.
Обозначим центры кластеров
Vi = (vi1,vi2 ,...vin ), i = 1, C.
188
При использовании эвклидового расстояния задача нечеткой
кластеризации состоит в нахождении такой матрицы степеней принадлежности М и таких координат центров кластеров V = (V1, V2, …
VC), которые обеспечивают минимум следующего критерия:
C
N
å å (µki )m
i=1 k=1
Vi =
Xk - Vi
2
® min;
(4.6)
N
1
N
å µik
å ((µik )m Xk ),
(4.7)
k=1
k=1
где m – так называемый экспоненциальный вес, который устанавливается до начала кластеризации.
Экспоненциальный вес позволяет при формировании координат
центров кластеров усилить влияние объектов с большими значениями степеней принадлежности и уменьшить влияние объектов с малыми значениями степеней принадлежности. Обычно устанавливают m = 2.
Критерий (4.6) описывает сумму всех взвешенных расстояний
от объектов до центров кластеров. Центр кластера (4.7) получается
путем усреднения по компонентам векторов, входящих в кластер, с
учетом значений принадлежности и экспоненциального веса.
Нахождение матрицы нечеткого разбиения M с минимальным значение критерия (4.6) представляет собой задачу нелинейной оптимизации, которая может быть решена разными методами.
Наиболее известный и часто применяемый метод решения этой задачи алгоритм нечетких C-средних, в основу которого положен метод неопределенных множителей Лагранжа. Он позволяет найти
локальный оптимум, поэтому выполнение алгоритма из различных
начальных точек может привести к разным результатам.
Алгоритм нечетких C-средних сводится к следующей последовательности шагов.
1. Установить параметры алгоритма: С – количество кластеров;
m – экспоненциальный вес; e – параметр останова алгоритма.
2. Случайным образом сгенерировать матрицу М.
3. Рассчитать центры кластеров:
å
Vi =
k=1,N
((µki )m Xk )
å
k=1,N
(µki )m
, i = 1, C.
189
4. Рассчитать расстояния между объектами из Х и центрами
кластеров:
dki =
Xk - Vi
2
; k = 1, N; i = 1, C.
5. Пересчитать элементы матрицы нечеткого разбиения
i = 1, C, k = 1, N;
1
dki > 0 Þ µki =
1
;
æ
ö
çç 2
1 ÷÷m-1
d
çç ki å 2 ÷÷
÷
èç j=1,C dkj ø÷
ìï
1, j = i
dki = 0 Þ µkj = ïí
.
ïï0, j ¹ i, j = 1, C
î
Таким образом, новое значение принадлежности обратно пропорционально отношению квадрата расстояния от объекта до центра i-го кластера к сумме квадратов расстояний от этого объекта до
других кластеров.
6. Проверить условие
M - M * < ε,
где M* – матрица нечеткого разбиения на предыдущей итерации.
Если условие выполнено, то работа алгоритма завершается, иначе – возврат к шагу 3.
В приведенном алгоритме самым важным параметром является количество кластеров. Правильно выбрать количество кластеров
для реальных задач без какой-либо априорной информации о структурах в данных достаточно сложно.
Для решения этой проблемы можно начинать кластеризацию
при достаточно большом числе кластеров, а затем последовательно
объединять схожие смежные кластера. При этом используются различные формальные критерии схожести кластеров.
4.4. Субтрактивная кластеризация
Метод горной кластеризации (другие названия – горная или вершинная кластеризация) не требует задания количества кластеров
[63, 64]. Кластеризация по горному методу не является нечеткой,
однако ее можно эффективно использовать при синтезе нечетких
правил из данных.
190
На первом шаге горной кластеризации определяют точки, которые могут быть центрами кластеров. На втором шаге для каждой
такой точки рассчитывается значение потенциала, показывающего
возможность формирования кластера в ее окрестности. Чем плотнее расположены объекты в окрестности потенциального центра
кластера, тем выше значение его потенциала. После этого итерационно выбираются центры кластеров среди точек с максимальными
потенциалами.
На первом шаге необходимо сформировать потенциальные центры кластеров Q. Здесь возможны два способа.
Первый способ выбора Q предполагает, что центрами кластеров
могут быть объекты кластеризации (строчки матрицы Х), тогда
Q = N.
Второй способ выбора потенциальных центров кластеров состоит
в дискретизации пространство входных признаков. Для этого диапазоны изменения входных признаков разбивают на несколько интервалов. Проводя через точки разбиения прямые, параллельные
координатным осям, получаем “решеточный” гиперкуб. Узлы этой
решетки и будут соответствовать центрам потенциальных кластеров.
Обозначим через qr – количество значений, которые могут принимать центры кластеров по r-й координате. Тогда количество возможных кластеров
Q=
Õ qr .
i=1,n
Введем обозначение для потенциального центра h-го кластера:
Zh = (z1h , z2h ,...znh ), h = 1, Q.
На втором шаге алгоритма рассчитывается потенциал центров
кластеров по следующей формуле:
P(Zh ) =
å
k=1,N
exp(-αD(Zh , Xk ));
h = 1, Q,
где a – положительная константа; D(Zh,Xk) – расстояние между потенциальным центром кластера Zh и объектом кластеризации Xk.
В евклидовом пространстве это расстояние рассчитывается по
формуле
D(Zh , Xk ) =
2
Zh - Xk .
191
В случае, когда объекты кластеризации заданы двумя признаками n=2, графическое изображение распределения потенциала будет
представлять собой поверхность, напоминающую горный рельеф.
Отсюда и название – горный метод кластеризации.
На третьем шаге алгоритма в качестве центров кластеров выбирают координаты «горных» вершин. Для этого центром первого
кластера V1 назначают точку с наибольшим потенциалом:
V1 =
arg max(P1 (Z1 ), P1 (Z2 ),...P1 (ZQ )).
Z1,Z2 ,...ZQ
Обычно наивысшая вершина окружена несколькими достаточно
высокими пиками. Поэтому назначение центром следующего кластера точки с максимальным потенциалом среди оставшихся вершин привело бы к выделению большого числа близко расположенных центров кластеров. Чтобы выбрать следующий центр кластера необходимо вначале исключить влияние только что найденного
кластера. Для этого значения потенциала для оставшихся возможных центров кластеров пересчитывается следующим образом: от
текущих значений потенциала вычитают вклад центра только что
найденного кластера (поэтому кластеризацию по этому методу иногда называют субтрактивной). Перерасчет потенциала происходит
по формуле
P2 (Zh ) = P1 (Zh ) - P1 (V1 )exp(-β × D(Zh , V1 )),
где P1(.) – потенциал на 1-й итерации; P2(.) – потенциал на 1-й итерации; b – положительная константа, т. е. чем ближе точка к первому
найденному центру, тем больше она ослабляется.
Центр второго кластера определяется по максимальному значению обновленного потенциала:
V2 =
arg max(P2 (Z1 ), P2 (Z2 ),...P2 (ZQ )).
Z1,Z2 ,...ZQ
Затем снова пересчитывается значение потенциалов:
P3 (Zh ) = P2 (Zh ) - P2 (V2 ) × exp(-β × D(Zh , V2 ).
Итерационная процедура пересчета потенциалов и выделения
центров кластеров продолжается до тех пор, пока максимальное
значение потенциала превышает некоторый порог.
192
4.5. Кластеризация с помощью нейронной сети
Нейронные сети (НС) прямого распространения состоят из чередующихся множеств нейронов и весов, при этом каждый слой НС
может иметь произвольное количество нейронов. Сети прямого распространения отличаются тем, что нейроны каждого слоя не связаны между собой. Нейроны входного слоя распределяют сигналы
между нейронами первого скрытого слоя. Выходной сигнал с каждого нейрона поступает на входы всех нейронов следующего слоя.
Многослойная НС является универсальным аппроксиматором –
при соответствующем выборе числа слоев и параметров может быть
реализована любая заданная нелинейная функция. Кроме того,
имеются регулярные алгоритмы обучения НС, т. е. такого подбора
ее параметров, при котором минимизируется ошибка представления заданной функции([65 и др.]).
Нейронные сети прямого распространения используют алгоритм
обучения с учителем, требующий использования пар вход-выход,
описывающих эталонное поведение сети. После обучения НС выполняет интерполяцию (экстраполяцию), генерируя для новых
входных данных такой выход, который является «правильным» по
отношению к обучающей информации.
Свойство обучаемости позволяет применять НС для решения
множества прикладных задач, в том числе – задачи нечеткой кластеризации, т. е. сжатия большого массива экспериментальной информации в компактное множество нечетких правил.
Одним из вариантов представления нечетких правил с помощью
НС является архитектура ANFIS (Adaptive Neuro-Fuzzy Inference
System), предложенная в литературе [66].
Нейронная сеть ANFIS реализует систему нечеткого вывода Сугено, в которой нечеткие правила имеют вид:
Ri : Åñëè (x1 = A1i ) & (x2 = A2i ) & ... (xn = Ani ),
òî yi = b0i + x1b1i + ... + xn b1m ,
где i – номер правила; x – входы; y – выход; Ai – термы лингвистических переменных; bi – коэффициенты полинома, описывающего
заключение.
Нейронная сеть ANFIS является пятислойной НС прямого распространения. Назначение слоев следующее:
− первый слой – вычисление принадлежности входных переменных к термам соответствующих лингвистических переменных;
− второй слой – вычисление степени запуска нечетких правил;
193
Б
x1
x2
T
C
α1
N β1
Б
α2
N β2
М z2β 2
z3β 3
М
T
Б
T
α3
N
β3
Б
C
T
α4
N β4
С
z1β 1
�Σ
y
z4β 4
М
Слой 1
Слой 2
Слой 3
Слой 4
Слой 5
Рис. 4.1. Структура сети ANFIS
− третий слой – нормализация степеней запуска;
− четвертый слой – описание заключений правил;
− пятый слой – агрегирование результата, полученного по различным правилам.
Входы сети в отдельный слой не выделяются.
Пример структуры ANFIS представлен на рис. 4.1.
На рис. 4.1 показана НС, имеющая два входа x1, x2 и один выход y.
Нейронная сеть описывает 4 правила, каждое из которых имеет
по две посылки. Заключение правил описывается константой. Буквы Б, С, М – лингвистические метки термов («большой», «маленький», «средний»).
Рассмотрим функционирование слоев ANFIS подробнее.
Слой 1. Каждый узел первого слоя представляет один терм. Входы сети соединены только со своими термами. Таким образом, количество узлов первого слоя равно сумме мощностей терм-множеств
входных переменных. Выходом узла являются степень принадлежности значения входной переменной соответствующему нечеткому
терму. Например, при использовании гауссовой функции принадлежности выход верхнего узла первого слоя:
é x -Ñ 2 ù
(
)
µÁ (x1 ) = exp êê- 1 2 úú ,
ê
ú
2δ
ë
û
где С и d – параметры гауссовой функции.
Слой 2. Реализует нечеткую Т-норму, на его выходе появляется
величина ai, являющаяся результатом применения нечеткой операции AND по отношению к посылкам соответствующего прави194
ла. Узел второго слоя соединен с теми узлами первого слоя, которые
формируют антецеденты соответствующего правила. Следовательно, каждый узел второго слоя может принимать от 1 до n входных
сигналов. Количество узлов этого слоя равно количеству правил.
Выходом узла является степень запуска правила, которая рассчитывается как произведение степеней принадлежности посылок правила. Например, для верхнего узла второго слоя (рис. 4.1) имеем:
α1 = µÁ (x1 )µÁ (x2 ).
Слой 3. Нейроны слоя 3 вычисляют значения нормированной степени запуска:
αi
α
βi =
= k i ,
α1 + α2 + ...α k
å αi
i=1
где k – количество правил.
Слой 4. Количество узлов четвертого слоя также равно количеству правил. Каждый узел соединен с одним узлом третьего слоя, а
также со всеми входами сети (на рис.4.1 связи с входами не показаны).
Если некоторое правило имеет нормированный уровень запуска
bi, то его выходной сигнал может быть рассчитан по формуле
zi = F-1 (βi ),
где F(z) – функция принадлежности, описывающая терм заключения zi.
Рис. 4.2. иллюстрирует процесс вывода заключения.
Слой 5. Выполняет операцию дефаззификации:
z0 = β1z1 + β2 z2 + ... + βm zm .
Для обучения сети ANFIS применяется комбинация алгоритма
обратного распространения ошибки и метода наименьших квадратов.
1
F(z)
Алгоритм обратного распростраβ
нения ошибки настраивает параметры посылок правил (функций принадлежности).
Метод наименьших квадратов слу- 0
z
zi
жит для оценки коэффициентов заРис. 4.2. Вычисление
ключений правил.
заключения
195
Каждый шаг процедуры настройки выполняется в два этапа. На
первом этапе на входы подается обучающая выборка, и по невязке
между желаемым и действительным поведением сети итерационным методом наименьших квадратов находятся оптимальные параметры узлов четвертого слоя.
На втором этапе остаточная невязка передается с выхода сети на
входы, и методом обратного распространения ошибки модифицируются параметры узлов первого слоя. При этом найденные на первом
этапе коэффициенты заключений правил не изменяются.
Итерационная процедура настройки продолжается пока невязка
превышает заранее установленное значение.
4.6. Кластеризация в MatLab
В системе MatLab реализованы все вышеописанные инструменты кластеризации: нечеткий алгоритм C-средних, субтрактивная
кластеризация и нейронечеткая система ANFIS.
Нечеткий алгоритм C-средних реализован в MatLab в функции
fcm, которая может быть вызвана в командной строке в одном из
следующих вариантов:
>> [V, M, obj_fcn] = fcm(X, С)
>> [V, M, obj_fcn] = fcm(X, С, options)
Функция fcm может иметь три входных аргумента:
− X – матрица, представляющая данные, подлежащие кластеризации. Каждая строка матрицы соответствует одному объекту;
− C – количество кластеров, которое должно быть получено в результате выполнения функции fcm. Количество кластеров должно
быть больше 1 и меньше числа образов, заданных матрицей X;
− Options – необязательный аргумент, устанавливающий параметры алгоритма кластеризации: options(1) – значения экспоненциального веса (значение по умолчанию – 2.0); options(2) – максимальное
количество итераций алгоритма кластеризации (значение по умолчанию – 100); options(3) – минимально допустимое значение улучшения целевой функции за одну итерацию алгоритма (значение по
умолчанию – 0.00001); options(4) – вывод промежуточных результатов во время работы функции fcm (значение по умолчанию – 1).
Для использования значений по умолчанию можно вести NaN в
качестве значения соответствующей координаты вектора options.
Алгоритм кластеризации останавливается, когда выполнено
максимальное количество итераций или когда улучшение значения
целевой функции за одну итерацию меньше указанного минимально допустимого значения.
196
Выходные аргументы функции fcm:
− V – матрица координат центров кластеров, полученных в результате кластеризации. Каждая строка матрицы соответствует
центру одного кластера;
− M – матрица степеней принадлежности образов к кластерам.
Каждая строка матрицы соответствует функции принадлежности
одного кластера;
− obj_fcn – вектор значений целевой функции на каждой итерации алгоритма кластеризации.
Метод субтрактивной кластеризации реализован в Matlab с помощью функции subclust.
Алгоритм выполняет следующие основные действия:
1) выбирает точку данных с максимальным потенциалом для
представления центра первого кластера;
2) удаляет все точки данных в окрестности центра первого кластера, размер которой задается параметром radii, чтобы определить
следующий нечеткий кластер и координаты его центра.
Эти операции продолжаются до тех пор, пока все точки данных
не окажутся внутри окрестностей радиуса radii искомых центров
кластеров.
Функция subclust имеет следующий общий формат:
>> [C, S] = subclust(X, radii, xBounds, options),
Входные параметры функции:
− X – матрица, содержащая данные кластеризации (каждая
строка соответствует отдельной точке данных);
− radii – вектор, компоненты которого принимают значения из
отрезка [0, 1], и задают диапазон расчета центров кластеров по каждому из признаков измерений. При этом предполагается, что все
данные содержатся в некотором единичном гиперкубе. Если значение radii большое, то будет получено малое количество кластеров.
Рекомендуемые значения radii находятся в диапазоне от 0.2 до 0.5;
− xBounds – матрица размерности 2×q определяет способ отображения матрицы данных Х в некотором единичном гиперкубе. Здесь
q – количество рассматриваемых признаков в множестве данных.
Этот параметр необязателен, если матрица Х уже нормализована.
Первая строка этой матрицы содержит минимальные значения интервала измерения каждого из признаков, а вторая строка – максимальные значения измерения каждого из признаков;
− Options – этот вектор может быть использован для изменения
заданных по умолчанию значений параметров алгоритма кластеризации. Этот вектор имеет следующие компоненты:
197
options(1) – squashFactor – параметр, используемый в качестве
коэффициента для умножения значений radii, которые определяют
окрестность центра кластера. Это осуществляется с целью уменьшения влияния потенциала граничных точек, рассматриваемых как
часть нечеткого кластера (по умолчанию это значение равно 1.25);
options(2) – acceptRatio – параметр, устанавливающий потенциал как часть потенциала первого кластера, выше которого другая
точка данных может рассматриваться в качестве центра другого
кластера (по умолчанию это значение равно 0.5);
options(3) – rejectRatio – параметр, устанавливающий потенциал как часть потенциала первого кластера, ниже которого другая
точка данных не может рассматриваться в качестве центра другого
кластера (по умолчанию это значение равно 0.15);
options(4) – verbose – если значение этого параметра не равно нулю, то на экран монитора выводится информация о выполнении
процесса кластеризации (по умолчанию это значение равно 0).
Выходные параметры функция subclust:
− С – матрица значений координат центров нечетких кластеров.
Каждая строка С содержит координаты одного центра.
− S – вектор, компоненты которого представляют собой
σ-значения, определяющие диапазон влияния центров кластеров
по каждому из рассматриваемых признаков. Все центры кластеров
обладают одинаковым множеством σ-значений.
Пример использования функции в сокращенном формате:
>> [C,S] = subclust(X,0.5)
Помимо командной строки в MatLab существует возможность
использования специального графического модуля, вызываемого
командой
>> findcluster
Модуль Findcluster позволяет автоматически находить центры
кластеров многомерных данных с помощью нечеткого алгоритма
C-средних или алгоритма субтрактивной кластеризации.
Основное графическое окно модуля Findcluster показано на рис. 4.3.
Верхняя часть графического окна содержит типовые функции
меню: File, Edit, View, Insert, Tools, Windows и Help.
Центральная часть графического окна представляет собой область визуализации. В этой области в двумерном пространстве выводятся экспериментальные данные (образы) и найденные центры
кластеров. Для образов используется маркер в виде красной окружности, а для центров кластеров – маркер в виде черной точки.
198
Рис. 4.3. Графическое окно модуля Findcluster
Ниже области визуализации расположено меню выбора координатных осей X и Y, позволяющие ассоциировать признаки образов
с осями абсцисс и ординат, соответственно.
Область вывода текущей информации расположена внизу графического окна, туда выводится, например, состояние модуля, номер итерации алгоритма кластеризации, значение целевой функции и т. п.
Кнопка загрузки данных Load Data расположена вверху справа.
После ее нажатия появляется типовое окно открытия файла. В файле данные должны быть записаны построчно, т. е. каждому образу
должна соответствовать одна строка файла данных.
Область кластеризации расположена справа, ниже кнопки загрузки данных. В этой области пользователь может выбрать алгоритм кластеризации, установить параметры алгоритма кластеризации, провести кластеризацию и сохранить координаты центров
кластеров в виде файла.
Меню Method позволяет выбрать один из двух алгоритмов кластеризации: subtractiv – алгоритм субтрактивной кластеризации;
fcm – нечеткий алгоритм C-средних. При выборе алгоритма субтрактивной кластеризации графическое окно меняется.
199
При выборе subtractiv можно установить значения следующих
параметров: Influence Range, Squash, Accept Ratio и Reject Ratio.
При выборе fcm алгоритма можно установить значения параметров: Cluster Num – количество кластеров; Max Iteration – максимальное количество итераций алгоритма; Min – минимально допустимое значение улучшения целевой функции за одну итерацию алгоритма; Exponent – значения экспоненциального веса.
Кнопка Start запускает кластеризацию. Кнопка Save Center…
позволяет сохранить координаты найденных центров кластеров.
Кнопка Clear Plot позволяет очистить поле вывода данных.
В системе MatLab реализован ANFIS-редактор, который позволяет с помощью нейронечеткого описания автоматически синтезировать из экспериментальных данных нечеткие правила.
Как было показано выше, сеть ANFIS описывает систему нечеткого логического вывода типа Сугэно. Параметры сети после обучения настраиваются так, чтобы минимизировать отклонения между
результатами моделирования и экспериментальными данными.
Загрузка ANFIS-редактора осуществляется по команде
>> anfisedit
Графическое окно Anfis Editor показано на рис. 4.4, оно содержит несколько областей.
Рис. 4.4. Главное окно редактора ANFIS
200
В центре окна расположена область визуализации. В этой области выводится два типа информации:
– при обучении системы – график зависимости ошибки обучения
от порядкового номера итерации;
– при загрузке данных и тестировании системы – экспериментальные данные и результаты моделирования. При этом по оси абсцисс откладывается порядковый номер строчки данных в выборке (обучающей, тестирующей или контрольной), а по оси ординат –
значение выходной переменной для данной строчки выборки. Используются следующие маркеры: голубая точка (.) – теструющая
выборка; голубая окружность (o) – обучающая выборка; голубой
плюс (+) – контрольная выборка; красная звездочка (*) – результаты
моделирования
Правее области визуализации находится область свойств ANFIS
info.
В области свойств выводится информация о количестве входных и выходных переменных, о количестве функций принадлежностей для каждой входной переменной, а также о количестве строчек в выборках. В этой области расположены две кнопки Structure
и Clear Plot.
Нажатие кнопки Structure открывает новое графическое окно, в
котором система нечеткого логического вывода представляет в виде
нейро-нечеткой сети. Количество входов этой сети зависит от числа
столбцов обучающей выборки. Количество нейронов 2–4 слоя соответствует количеству правил.
На рис. 4.5 показан пример сети ANFIS, в которой две входные
переменные (для описания каждой использовано по три терма) и восемь правил. Количество правил зависит от выбора параметров в
области Generate FIS.
Нажатие кнопки Clear Plot позволяет очистить область визуализации.
В области загрузки данных Load data расположены:
− Type – меню выбора типа данных: Traning – обучающая выборка; Testing – тестирующая выборка; Checking – контрольная выборка; Demo – демонстрационный пример;
− From – меню выбора источника данных: Disk – диск; Worksp. –
рабочая область MatLab;
− Load Data – кнопка загрузки данных;
− Clear Data – кнопка очистки данных.
В течение одного сеанса работы ANFIS-редактора следует загружать данные одного формата, т. е. количество входных переменных
в выборках должно быть одинаковым.
201
Рис. 4.5. Пример нейронечеткой структуры
Generate FIS – меню создания исходной системы нечеткого логического вывода, содержащее следующие альтернативы:
− Load from disk – загрузка существующей системы с диска;
− Load from worksp. – загрузка системы из рабочей области
MatLab;
− Grid partition – генерирование описания входных переменных
по методу решетки (без кластеризации);
− Sub. Clustering – генерирование по методу субкластеризации.
В области также расположена кнопка Generate, по нажатию которой генерируется исходная система нечеткого логического вывода.
При выборе Grid partition появляется окно ввода параметров метода решетки (рис. 4.6), в котором нужно указать количество термов для каждой входной переменной и тип функций принадлежности для входных и выходной переменных.
Таким образом, при выборе метода решетки выполняется нечеткое разбиение базовых шкал входных переменных. Настройка
параметров термов не требуется, а количество правил равно произведению мощностей терм-множеств лингвистических переменных,
описывающих посылки (см. рис. 4.6).
При выборе Sub. clustering появляется окно ввода следующих параметров метода субкластеризации (рис. 4.7).
202
Рис. 4.6. Окно ввода параметров
для метода решетки
Рис. 4.7. Окно ввода
параметров для
субтрактивной
кластеризации
На рисунке обозначены:
Range of influence – уровни влияния входных переменных;
Squash factor – коэффициент подавления;
Accept ratio – коэффициент, устанавливающий во сколько раз
потенциал данной точки должен быть выше потенциала центра первого кластера для того, чтобы центром одного из кластеров была назначена рассматриваемая точка;
Reject ratio –коэффициент, устанавливающий во сколько раз потенциал данной точки должен быть ниже потенциала центра первого кластера, чтобы рассматриваемая точка была исключена из возможных центров кластеров.
Область обучения (Train FIS) содержит меню выбора метода оптимизации (Optim. method), поле задания требуемой точности обучения (Error tolerance), поле задания количества итераций обучения
(Epochs) и кнопка Train Now, нажатие которой запускает режим обучение. Промежуточные результаты обучения выводятся в область
визуализации и в рабочую область MatLab. В ANFIS-редакторе реализованы два метода обучения:
– Backpropa – метод обратного распространения ошибки, основанный на идеях метода наискорейшего спуска;
203
– Hybrid – гибридный метод, объединяющий метод обратного
распространения ошибки с методом наименьших квадратов.
В области тестирования (Test FIS) расположены меню выбора
выборки и кнопка Test Now, при нажатии которой происходит тестирование нечеткой системы с выводом результатов в область визуализации.
Рассмотрим пример решения задачи кластеризации средствами
MatLab. Проблема заключается в извлечении управляющих правил из информации о процессе управления, представляющей собой вход – выходные данные устройства управления. В англоязычной литературе такой подход называется data driven, т. е. синтез,
управляемый данными или синтез по данным. В качестве источника данных может выступать оператор процесса или существующий
линейный регулятор.
Цель синтеза НЛР с последующей заменой им существующего регулятора заключается в повышении быстродействия и точности (при замене оператора), или в увеличении помехоустойчивости и расширении рабочего диапазона (при замене линейного
регулятора).
4.7. Синтез нечеткого регулятора по данным
Пусть имеется ПД-регулятор, коэффициенты которого найдены
по одной из известных методик (рис. 4.8).
На рис. 4.9 и 4.10 показаны графики изменения ошибки управления, ее производной и сигнала управления в течение переходного
процесса.
Требуется синтезировать НЛР на основании информации о процессе управления.
simout
To Workspace1
Step
du/dt
Derivative
55
Kp
8.3
Kd
1
0.1s 2+0.01s+1
Transfer Fcn
Рис. 4.8. Система управления с ПД-регулятором
204
Scope
e(t),de(t)/dt
Построим поверхность отклика ПД-регулятора с помощью команд
>> x1=simout(:,1);
1
>> x2=simout(:,2);
>> [X, Y] = meshgrid(x1, x2);
0
>> Z=55*X+8.3*Y;
–1
>> plot3(X,Y,Z)
–2
Результат представлен на рис.
–3
4.11. Масштаб горизонтальных
–4
осей соответствует диапазону из–5
менения переменных (см. рис. 4.9).
6
Следует подчеркнуть, что поверх0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
ность отклика является плоскоРис. 4.9. Изменение ошибки и ее
стью, и некоторая точка этой плопроизводной
скости всегда соответствует любой
входной комбинации e(t) и de(t)/dt.
60
Использование блока simout (см.
50
рис. 4.8) позволяет запомнить мас40
сив размером [3×N], в котором первый столбец соответствует ошибке u(t)30
управления, второй – производной
20
ошибки и третий – сигналу управ10
ления.
0
Таким образом, рассматривая N
–10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
моментов времени, получаем мноt
жество обучающих троек чисел,
описывающих движение объекта
Рис. 4.10. Изменение сигнала
управления во время переходного
по эталонной траектории.
процесса
Синтез нечеткого регулятора
заключается в построении по этим
обучающим данным нечетких пра60
вил, так что одно правило долж40
20
но соответствовать целой группе
0
близких в некотором смысле строк
–20
–40
матрицы simout.
–60
0
Выполним кластеризацию мас–2
0.8 1
сива simout с помощью метода не–4
0.4 0.6
0.2
–6 0
четких С-средних:
>> [V, M, obj_fcn] = fcm(simout, 5)
Рис. 4.11. Поверхность
>> V
отклика ПД-регулятора
205
mf2
mf3
mf1
0.8
0.6
0.4
0.2
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
input1
Рис. 4.12. Расположение термов
ЛП «Ошибка управления».
Degree of membership
Degree of membership
mf4 mf5
1
mf3
1
mf2
mf5 mf1 mf4
0.8
0.6
0.4
0.2
0
–4.5 –4 –3.5 –3 –2.5 –2 –1.5 –1 –0.5
input2
Рис. 4.13. Расположение термов ЛП
«Производная ошибки управления»
V=
0.9943 -0.5691 49.9636
0.3631 -2.5527 -1.2148
0.6634 -4.7557 -2.9850
0.0332 -0.1108 0.9039
0.1578 -1.0290 0.1374
Каждый столбец матрицы V описывает центры термов соответствующей лингвистической переменной: 1-й столбец – «ошибка
управления» (рис. 4.12), 2-й столбец – «производная ошибки управления» (рис. 4.13), 3-й столбец – «сигнал управления» (рис. 4.14).
Каждая строка матрицы V описывает одно правило управления:
mf1
mf2
1
Degree of membership
mf3
0.8
mf4
0.6
mf5
0.4
0.2
0
0
5
10 15 20 25 30 35 40 45
output1
Рис. 4.14. Расположение термов ЛП «Сигнал управления»
206
>> showrule(FLC,[1 2 3 4 5],’symbolic’)
ans =
1. (input1==mf1) & (input2==mf1) => (output1=mf1) (1)
2. (input1==mf2) & (input2==mf2) => (output1=mf2) (1)
3. (input1==mf3) & (input2==mf3) => (output1=mf3) (1)
4. (input1==mf4) & (input2==mf4) => (output1=mf4) (1)
5. (input1==mf5) & (input2==mf5) => (output1=mf5) (1)
Очевидно, что описания термов на рис. 4.12–4.14 не полностью
соответствуют требованиям, предъявляемым к нечеткой системе,
чтобы она могла аппроксимировать любую функцию [44]:
1) функции принадлежности нечетких правил должны быть выпуклыми и нормальными;
2) нечеткие множества, описывающие термы посылок и заключений, должны образовывать нечеткое разбиение соответствующих
областей определения;
3) база правил должна быть полной.
Автоматически оказывается выполненным только требование 1.
Требование 3 также можно считать выполненным, поскольку при
кластеризации генерируются все комбинации посылок правил, однако без выполнения требования 2 это не имеет смысла.
Синтезированная нечеткая система управления оказывается неустойчивой (рис. 4.15).
25
Приведенный пример показы20
вает, что обучающие данные, за15
данные графиками рис. 4.9 и 4.10,
недостаточны для синтеза НЛР y(t) 10
путем кластеризации.
5
Для улучшения качества обучающей выборки потребуем, что0
бы в ней присутствовали (с неко–5
0 0.5 1 1.5 2 2.5 3 3.5 4
торым шагом) все варианты комt
бинаций входных переменных в
допустимом диапазоне значений. Рис. 4.15. Неустойчивый процесс в
Такие данные для рассматривае- системе с нечетким регулятором
мого примера можно подготовить
с помощью программы
X=[-1:0.1:1];
Y=[-1:0.1:1];
for i=1:length(X)
for j=1:length(Y)
n=(i-1)*length(Y)+j;
207
Degree of membership
Z(n,1)=X(i); Z(n,2)=Y(i); Z(n,3)=55*X(i)+8.3*Y(j);
if Z(n,3)>50 Z(n,3)=50; elseif Z(n,3)<-50 Z(n,3)=-50; end
end
end;
Получим семь кластеров с помощью команды
>> [V, M, obj_fcn] = fcm(Z, 7)
>> V
V=
0.2884 0.2884 15.8630
-0.5811 -0.5811 -31.9588
-0.0023 -0.0023 -0.1265
-0.2925 -0.2925 -16.0864
0.5785 0.5785 31.8163
-0.8839 -0.8839 -47.6173
0.8832 0.8832 47.5854
Очевидно, что здесь центры
mf6 mf2 mf4 mf3 mf1 mf5 mf7
1
термов располагаются симме0.8
трично относительно нуля, и
обеспечивают равномерное раз0.6
биение входного пространства
0.4
(рис. 4.16 и 4.17).
На рис. 4.18 показан пере0.2
ходный процесс под управлени0
ем синтезированного НЛР.
–0.8 –0.6 –0.4 –0.2 0 0.2 0.4 0.6 0.8
Принцип суперпозиции лиinput1
нейных систем гарантирует, что
Рис. 4.16. Расположение термов
для линейного регулятора люЛП «Ошибка управления» и
бые данные, находящиеся вне
Degree of membership
«Производная ошибки управления»
mf6 mf2
1
mf4
mf3 mf1
mf5
mf7
0.8
1.2
1
0.6
0.8
y(t)
0.6
0.4
0.4
0.2
0.2
0
–40 –30 –20 –10 0 10 20 30 40
output1
Рис. 4.17. Расположение термов ЛП
«Сигнал управления»
208
1.4
0
0
0.5
1
1.5
t
2
2.5
Рис. 4.18. Переходный процесс
в системе с НЛР
3
области определения рис. 4.11, вызовут правильную реакцию, т. е.
коэффициенты ПД-регулятора описывают всю плоскость, а не только отдельную ее часть.
Однако НЛР является нелинейным регулятором, он требует разбиения входного пространства на подобласти, которым соответствует определенный сигнал управления. Если какая-то область не описана («белое пятно»), то реакции регулятора не будет. Поэтому для
обучения НЛР данные, полученные при рассмотрении реакции ПДрегулятора на скачок, оказываются «плохими», поскольку во время
переходного процесса e(t) и de(t)/dt были униполярными, и находились в достаточно узком диапазоне значений.
Вопросы для самопроверки
1. Какие основные задачи требуется решить при синтезе НЛР?
2. Как выполняется синтез НЛР методом проб и ошибок?
3. Откуда берется эталонная траектория движения объекта?
4. Какие преимущества можно получить при замене линейного
регулятора нечетким логическим регулятором?
5. Какие задачи решает направление систем искусственного интеллекта data mining?
6. Что такое кластеризация?
7. Чем отличается кластеризация от классификации?
8. Что такое метрика?
9. Надо ли при решении задачи кластеризации знать заранее
число кластеров?
10. Сформулируйте решение задачи кластеризации при помощи
алгоритма С – средних.
11. Как строится матрица кластеризации в алгоритме С – средних?
12. Каким должен быть кластер в алгоритме С – средних?
13. Как оценивается качество кластеризации в алгоритме С –
средних?
14. Сформулируйте решение задачи кластеризации при помощи
нечеткого алгоритма С – средних.
15. Как оценивается качество кластеризации в нечетком алгоритме С – средних?
16. Что такое субтрактивная кластеризация?
17. Опишите этапы алгоритма субтрактивной кластеризации.
18. Что такое искусственная нейронная сеть (ИНС) прямого распространения?
209
19. Какие данные требуется для обучения ИНС?
20. Почему ИНС является универсальным аппроксиматором?
21. К какому классу нейронных сетей относится ANFIS?
22. Сколько слоев имеет ИНС ANFIS?
23. Опишите назначение слоев ИНС ANFIS?
24. Как функционирует первый слой ANFIS?
25. Как функционирует второй слой ANFIS?
26. Опишите механизм функционирования третьего слоя
ANFIS.
27. Опишите механизм функционирования четвергото и пятого
слоев ANFIS.
28. Какие методы обучения использует ANFIS?
29. Какие методы кластеризации реализованы в MatLab?
30. Назовите интерфейсные модули MatLab, которые можно использовать для решения задач кластеризации.
31. Как подготовить обучающую информацию для синтеза НЛР
с помощью кластеризации?
210
Заключение
В учебном пособии рассмотрены основы проектирования нечетких логических регуляторов, которые могут служить базой для
дальнейшего изучения этой обширной и интересной области. К сожалению, количество публикаций по тематике НЛР на русском
языке относительно невелико, и появление данного учебного пособия призвано в какой-то мере заполнить существующие пробелы.
Современный спектр приложений НЛР весьма широк, и часто
проектирование регулятора для конкретного сложного объекта позволяет скорректировать известные алгоритмы. Поэтому практическая работа является основным способом для глубокого изучения
НЛР.
В учебном пособии сделан упор на использование пакета MatLab,
хотя существуют и другие полезные инструменты для проектирования нечетких систем (Fuzzy Tech, например).
В одних случаях достаточно иметь словесное описание алгоритма управления.
В других случаях необходимо опираться на математическое моделирование в сочетании с методами глобальной оптимизации.
Идеология мягкий вычислений (soft computing), позволяет в
принципе рассматривать задачи управления объектами любой степени сложности. Смысл понятия «сложный объект» можно расшифровать как «объект с ложью», т. е. объект, поведение которого
неточно определено, содержит нечеткость. Теория, предложенная
Л. Заде в 1965 г., дает инструмент для работы с такими объектами.
211
Библиографический список
1. Zadeh L. A. Fuzzy Sets // Information and Control. 1965. Vol. 8.
P. 338–353.
2. Заде Л. А. Тени нечетких множеств // Проблемы передачи информации. Т. II. Вып. 1. 1966. С. 37–44.
3. The analysis of sampled-data systems, (with J. R. Ragazzini),
Applications and Industry (AIEE) 1. 1952. P. 224–234.
4. Desoer C. A., Zadeh L. A. Linear System Theory-The State Space
Approach. New York: McGraw-Hill Book Co., 1963.
5. Zadeh L. A. Probability Measures of Fuzzy Events// Journal of
Mathematical Analysis and Applications. 1968. Vol. 10. P. 421–427.
6. Zadeh L. A. Toward a Theory of Fuzzy Systems// Aspect Network
and System Theory. New York: Rinehart and Winston, 1971.
7. Zadeh Lotfi. Outline of a New Approach to the Analysis of Complex
Systems and Decision Processes / IEEE Transactions on Systems, Man,
and Cybernetics, SMC-3(1), January 1973. Р. 28–44.
8. Заде Л. Основы нового подхода к анализу сложных систем и
процессов принятия решений // Математика сегодня. М.: Знание,
1974. С. 5–49.
9. Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. М.: Мир, 1976. 164 с.
10. Беллман Р., Заде Л. Принятие решений в расплывчатых условиях // Вопросы анализа и процедуры принятия решений. М.: Мир,
1976. С. 172–215.
11. Mamdani E. H. Applications of fuzzy algorithms for simple
dynamic plant. Porc. IEE. 1974. Vol. 121. n. 12. Р. 1585–1588.
12. Mamdani E.H., Assilian S. An Experiment in Linguistic
Synthesis with Fuzzy Logic Controller // Int. J. Man-Machine Studies.
1975. Vol. 7. № 1. P. 1−13.
13. Holmblad L. P., Osregaard J. J. Control of Cement Kiln by Fuzzy
Logic. In Approximate Reasoning in Decision Analysis (Gupta M.M.
and Sanchez E. Eds.): Amsterdam, New York, Oxford. 1982. P. 389–
400.
14. Прикладные нечеткие системы: Пер. с япон. /К. Асаи, Д. Ватада, С. Иваи и др. М.: Мир, 1993.
15. Кофман А. Введение в теорию нечетких множеств. М: Радио
и связь, 1982.
16. Нечеткие множества и теория возможностей. Последние достижения / Под. ред. Р. Ягера. М.: Радио и связь, 1986.
212
17. Орловский С. А. Проблемы принятия решений при нечеткой
исходной информации. М.: Наука, 1981.
18. Нечеткие множества в моделях управления и искусственного интеллекта/А. Н. Аверкин, И. З. Батыршин, А. Ф. Блишун, В. Б.
Силов, В. Б. Тарасов. Под ред. Д. А. Поспелова. М.: Наука, 1986.
19. Обработка нечеткой информации в системах принятия решений./ А. Н. Борисов, А. В. Алексеев, и др. М.: Радио и связь, 1989.
20. Алиев Р. А., Абдикеев Н. М., Шахназаров М. М. Производственные системы с искусственным интеллектом. М.: Радио и связь,
1990.
21. Мелихов А. Н., Бернштейн Л. С., Коровин С. Я. Ситуационные
советующие системы с нечеткой логикой. М.: Наука, 1990.
22. Малышев Н. Г., Берштейн Л. С., Боженюк А. В. Нечеткие модели для экспертных систем в САПР. М.: Энергоатомиздат, 1991.
23. Кудинов Ю. И. Нечеткие системы управления // Известия
АНСССР: Техническая кибернетика. 1990. № 5.
24. Кузьмин В. Б., Травкин С. И. Теория нечетких множеств в задачах управления и принципах устройства нечетких процессоров.
Обзор зарубежной литературы // АиТ. 1992. № 11. С. 3–35.
25. Захаров В. И., Ульянов С. В. Нечеткие модели интеллектуальных промышленных регуляторов и систем управления: Методология проектирования // Известия РАН. Техническая кибернетика.
1993. № 5. C. 197–216.
26. Захаров В. Н., Ульянов С. В. Нечеткие модели интеллектуальных промышленных регуляторов и систем управления. Имитационное моделирование // Известия РАН. Техническая кибернетика.
1994. № 5. С. 168–204.
27. Потюпкин А. Ю. Решение задачи идентификации нечетких
систем // Известия АНСССР. Теория и системы управления. 1996.
№ 2.
28. Бураков М. В., Попов О. С. Элементы искусственного интеллекта в проблеме управления сложным динамическим объектом //
Автоматика и телемеханика. 1997. № 8. С. 118–124.
29. Бураков М. В. Механизм адаптации нечеткого регулятора. //
Известия Академии наук. Теория и системы управления. 1998. №
1. С. 84–87.
30. Бураков М. В. Структура нейронечеткого регулятора // Изв.
Академии наук. Теория и системы управления, 2001. № 6. С. 160–
165.
31. Бураков М. В., Попов О. С. Интеллектуальные системы управления: Учеб. пособие / ГААП. СПб., 1997.
213
32. Круглов В. В., Дли М. И., Голунов Р. Ю. Нечеткая логика и искусственные нейронные сети. М., 2001.
33. Леоненков А. В. Нечеткое моделирование в среде MATLAB и
fuzzyTECH. СПб.: БХВ-Петербург, 2003.
34. Ярушкина Н. Г. Основы теории нечетких и гибридных систем.
М., 2004.
35. Бураков М. В., Коновалов А. С., Шумилов Е. П. Интеллектуальные системы авиационной антиюзовой автоматики. СПб.: Издво политехнического университета, 2005.
36. Штовба С. Д. Проектирование нечетких систем средствами
MATLAB. М.: Горячая линия – Телеком. 2007.
37. Zadeh L. Fuzzy logic, neural networks and soft computing //
Commutation on the ACM. 1994. Vol. 37. N 3. Р. 77–84.
38. Бураков М. В. Генетический алгоритм: теория и практика.
СПб.: ГУАП. 2008.
39. Fuzzy Logic Toolbox. User’s Guide. Version 2.1 The MathWorks,
Inc., 2001.
40. Дьяконов В., Круглов В. Математические пакеты расширения
MATLAB. Специальный справочник. СПб.: Питер, 2001.
41. Уотермен Д. Руководство по экспертным системам: Пер. с
англ. М.: Мир, 1989. 388 с.
42. Батыршин И. З. Основные операции нечеткой логики и их
обобщения. Казань: Отечество, 2001. 100 с.
43. Van Leekwijck W., E. Kerre E. Defuzzication: criteria and
classication // Fuzzy Sets and Systems 108 (1999) P. 159–178.
44. Bart Kosko. Fuzzy Systems as Universal Approximators, IEEE
Transactions on Computers, vol. 43. N 11. 1994. p. 1329–1333.
45. Castro J. L., Delgado M. Fuzzy systems with defuzzification are
universal approximators, IEEE Trans. Systems, Man Cybernet. Part B
26 (1) (1996). p. 149–152.
46. L. X. Wang, J. M. Mendel, Fuzzy basic functions, universal
approximation, and orthogonal least-square learning, IEEE Trans.
Neural Networks 3 (5) (1992) p. 807–814.
47. J. B. Kiszka, M. M. Gupta, and P. N. Nikiforuk. Energetistic
Stability of Fuzzy Dynamic Systems. IEEE Trans. on Systems, Man,
and Cybernetics, SMC-14, 6, P. 783–791, 1985.
48. Олссон Г., Пиани Д. Цифровые системы автоматизации и
управления. СПб.: Невский диалект, 2001. 557 с.
49. Ziegler J. B. and N. B. Nichols, Optimum Setting for Automatic
Controllers, Trans. ASME, vol. 64. 1942. P. 759–768.
214
50. King P. J., Mamdani E. H. The application of fuzzy control
systems to industrial processes. Automatica, vol. 13. 1977. P. 235–
242.
51. Goldberg D. E. Genetic Algorithms in Search, Optimization and
Machine Learning. Addison-Wesley, Reading, MA. 1989.
52. Bonabeau E., Dorigo M., and Theraulaz G., Swarm Intelligence:
From natural to artificial systems, Oxford University press, NY,
1999.
53. Kennedy J, Eberhart R (1995) Particle swarm optimization. In:
Proceedings of IEEE International Conference on Neural Networks. p.
1942–1948.
54. P.J. Macvicar-Whelan “Fuzzy Sets for Man-Machine Interaction”,
Int. J. Man-Mach. Studies, vol. 8. 1976. P. 687–697.
55. Емельянов С.В. Системы автоматического управления с переменной структурой. М.: Наука, 1967.
56. M. Maeda and S. Murakami, “A Self-Tuning Fuzzy Controller”,
Fuzzy Sets and Systems, Vol. 51. 1992. p. 29–40.
57. Ketata, R., Geest, De, D., Titli, A., 1995, Fuzzy Controller:
Design, Evaluation, Parallel and Hierarchical Combination with a PID
Controller, Fuzzy Sets and Systems, Vol. 71. P. 113–129.
58. Zhen –Yu Zhao, Satori Isaka, Fuzzy Gain Scheduling of PID
Controllers // IEEE Transaction on Systems, Man, and Cybernetics,
vol. 23. № 5. 1993.
59. Guanrong Chen, Trung Tat Pham, Fuzzy Sets,Fuzzy Logic, And
Fuzzy Control Systems. CRC Press. 2001. 316 p.
60. Дуда Р., Харт П. Распознавание образов и анализ сцен. М.:
Мир, 1976. 511c.
61. Борисов А. Н., Крумберг О. А., Федоров И. П. принятие решений
на основе нечетких моделей: примеры использования. Рига: Зинатне. 1990. 184 c.
62. Bezdek J.C. Pattern Recognition with Fuzzy Objective Function.
New York: Plenum Press. 1981.
63. Babuska R. Fuzzy Modeling for Control. Boston: Kluwer
Academic Publishers. 1998.
64. Yager R., Filev D. Essentials of Fuzzy Modeling and Control.
USA: John Wiley & Sons. 1984. 387 p.
65. Jang J.S.R., Sun C.T., Mizutani E. Neuro-Fuzzy and Soft
Computing. A Computational Approach to Learning and Machine
Intelligence. Prentice-Hall International, 1997. 613 p.
215
66. Jang J.S.R. ANFIS: Adaptive network based fuzzy inference
systems. IEEE Trans. on Systems, Man, and Cybernetics. 23(03): 665685. May 1993.
67. Passino K., Yurkovich S. Fuzzy control. Addison-Wesley, 1998.
522p.
68. Wang L. X. Adaptive fuzzy systems and control, design and
stability analysis. Englewood Cliffs: Prentice Hall. 1994.
69. Tanaka K., Wang H. O. Fuzzy Control Systems Design and
Analysis: A Linear Matrix Inequality Approach John Wiley & Sons,
Inc. 2001.
70. Pedrycz W. The Fuzzy Control and Fuzzy Systems, Wiley and
Sons. 1993.
71. Kosko B. Fuzzy Engineering, Prentice-Hall, Englewood Cliffs,
NJ, 1997.
72. Квакернаак Ч., Сиван Р. Линейные оптимальные системы
управления. М.: Мир, 1977.
216
Приложение 1
Структура Fuzzy Logic Toolbox
Пакет Fuzzy Logic Toolbox содержит следующие категории программных инструментов: функции; интерактивные модули с графическим пользовательским интерфейсом (GUI); блоки для пакета
Simulink; демонстрационные примеры.
Первая категория программных инструментов пакета Fuzzy
Logic Toolbox содержит функции, которые могут быть вызваны непосредственно путем набора имени функции в командном окне или
из собственных пользовательских приложений. Большинство функций описаны в виде m-файлов. Пользователь может посмотреть запрограммированные в этих функциях алгоритмы, а также редактировать и корректировать эти файлы. Ниже приведены названия
функций с кратким описанием их назначения (табл. 1).
Таблица 1
Основные функции Fuzzy Logic Toolbox
№
Функция
1
2
3
4
5
addmf
addrule
addvar
anfis
convertfis
6
7
8
9
10
11
12
13
14
15
Описание
добавление функции принадлежности в FIS
добавление правила в FIS
добавление переменной в FIS
обучение FIS типа Сугэно (Sugeno type)
преобразование FIS-матрицы (Fuzzy Logic Toolbox v.1) в
FIS-структуру (Fuzzy Logic Toolbox v.2)
defuzz дефаззификация нечеткого множества
discfis дискретизация функций принадлежности всех термов,
входящих в FIS
dsigmf функция принадлежности в виде разности между двумя
сигмоидными функциями
evalfis выполнение нечеткого логического вывода
evalmf вычисление значений произвольной функции принадлежности
evalmmf расчет степеней принадлежностей для нескольких функций принадлежностей
fcm
поиск кластеров по алгоритму fuzzy c-means
findrow нахождение строки в матрице, совпадающей с входной
строкой
fstrvcat конкатенация матриц различного размера
fuzarith нечеткий калькулятор
217
Продолжение табл. 1
№
Функция
Описание
16 gauss2mf двухсторонняя гауссовская функция принадлежности
17 gaussmf гауссовская функция принадлежности
18 gbellmf обобщенная колоколообразная функция принадлежности
19
genfis1 генерирование из данных исходной FIS типа Сугэно без
использования кластеризации
20
genfis2 генерирование из данных исходной FIS типа Сугэно с использованием субтрактивной кластеризации
21 genparam генерирование исходных параметров функций принадлежности для обучения ANFIS
22 gensurf генерирование поверхности «входы-выход», соответствующей FIS
23
getfis
получение свойств FIS
24 mam2sug преобразование FIS типа Мамдани в FIS типа Сугэно
25
mf2mf пересчет параметров встроенных функций принадлежности различных типов newfis – создание новой FIS
26 parsrule вставка в FIS правил, заданных в виде предложений
27
pimf
p-подобная функция принадлежности
28
plotfis вывод основных параметров FIS в виде схемы
29
plotmf вывод графиков функций принадлежности термов одной
переменной
30
probor вероятностная реализация логической операции ИЛИ
31
psigmf произведение двух сигмоидных ФП
32
readfis загрузка FIS из файла
33
rmmf
удаление функции принадлежности терма из FIS
34
rmvar удаление переменной из FIS
35
setfis
назначение свойств FIS
36 showfis вывод на экран в текстовом формате данных, составляющих FIS-структуру
37 showrule вывод базы знаний FIS
38
sigmf
сигмоидная функция принадлежности
39
smf
s-подобная функция принадлежности
40 subclust оценка количества кластеров в субтрактивной кластеризации
41 sugmax нахождения диапазона изменения выходной переменной
в FIS типа Сугэно
42
trapmf трапециевидная функция принадлежности
43
trimf
треугольная функция принадлежности
44 writefis сохранение FIS на диске
218
Окончание табл. 1
№
Функция
45
46
47
zmf
distfcm
initfcm
48
isfis
Описание
z-подобная функция принадлежности
расчет расстояния по Евклиду
генерирование исходной матрицы для нечеткой c-means
кластеризации
проверка структуры данных системы нечеткого логического вывода
Вторая категория программных инструментов пакета Fuzzy
Logic Toolbox содержит диалоговые модули, которые обеспечивают
доступ к большинству функций через графический интерфейс. Кроме того, эти модули обеспечивают удобную среду для проектирования, исследования и внедрения систем на основе нечеткого логического вывода. Для запуска интерактивных модулей достаточно напечатать имя модуля в командной строке. Ниже приведены названия модулей с кратким описанием их назначения (табл. 2):
Таблица 2
Диалоговые модули Fuzzy Logic Toolbox
№
1
2
3
4
5
6
Название
модуля
Описание
модуль для генерирования из данных FIS типа Сугэно,
anfisedit ее обучения с использованием ANFIS алгоритма и тестирования
модуль кластеризации данных с использованием алгоfindcluster ритма fuzzy c-means и алгоритма нечеткой субтрактивной кластеризации
основной редактор FIS. Позволяет создавать и редактировать FIS двух типов – Мамдани и Сугэно, обеспечивает
визуализацию процедуры нечеткого логического выfuzzy
вода и поверхностей «входы-выход». Для этого модуль
fuzzy вызывает следующие GUI-модули: mfedit, ruleedit,
ruleview и surfview
редактор функций принадлежностей. Позволяет выбирать тип функции принадлежности и устанавливать ее
mfedit
параметры в символьном или интерактивном графическом (drag) режимах
ruleedit редактор базы знаний
модуль визуализации процедуры нечеткого логического
вывода. Обеспечивает вывод графической диаграммы
нечеткого вывода по каждому правилу, включая проruleview
цедуры фаззификации, агрегации и дефаззификации.
Позволяет вводить значения входных переменных в
символьном и в drag режимах
219
Третья категория программных инструментов пакета Fuzzy
Logic Toolbox содержит модули, которые обеспечивают интеграцию
систем нечеткого логического вывода с пакетом Simulink: fuzblock
– модули контроллеров на основе нечеткого логического вывода, и
sffis – функция выполнения нечеткого логического вывода, оптимизированная под Simulink.
Четвертая категория программных инструментов пакета Fuzzy
Logic Toolbox содержит следующие демонстрационные примеры
(табл. 3):
Таблица 3
Демонстрационные примеры
№
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
220
Название
Описание
defuzzdm дефаззификация различными методами
fcmdemo 2D-кластеризация с использование алгоритма fuzzy
c-means
fuzdemos список всех демонстрационных примеров
gasdemo применение алгоритма ANFIS и субтрактивной кластеризации для идентификации зависимости топливной эффективности (расход топлива на одну милю) от
шести параметров автомобиля
invkine инверсная кинематика робота-манипулятора
irisfcm применение алгоритма fuzzy c-means для кластеризация ирисов
juggler жонглирование шариком с помощью теннисной ракетки с демонстрацией нечеткой базы знаний
noisedm адаптивное подавление шумов
slbb
управление системой «шарик на коромысле»
slcp
управление системой «перевернутый маятник» (необходим пакет Simulink)
sltank
управление уровнем воды (необходим пакет
Simulink)
sltankrule управление уровнем воды с демонстрацией нечеткой
базы знаний (необходим пакет Simulink)
sltbu
парковка грузовика (необходим пакет Simulink)
mgtsdemo предсказание временного ряда
trips
построение модели прогнозирования количества
автомобильных поездок
shower
управление душем
slcp1
перемещение неустойчивой системы «перевернутый
маятник переменной длины на тележке» в заданную
точку
Окончание табл. 3
№
Название
Описание
18
slcpp1
19
mfdemo
20
drydemo
перемещение неустойчивой системы «два перевернутых маятника на тележке» в заданную точку
вывод на экран окна, содержащего графики всех
запрограммированных в Fuzzy Logic Toolbox типов
функций принадлежностей
иллюстрация применения технологии ANFIS для
идентификации нелинейных динамических систем
на примере процесса нагрева воздуха в фене
221
Приложение 2
Структура системы нечеткого логического вывода
Система нечеткого логического вывода (FIS-объект) представляется в рабочей области MatLab в виде структуры данных, изображенной на рисунке.
FIS  объект
name
type
andMethod
orMethod
defuzzMethod
impMethod
aggMethod
name
input
range
name
mf
type
name
params
range
name
mf
typ e
output
params
rule
antecedent
consequent
weight
connection
Структура системы нечеткого логического вывода
222
Смысл отдельных полей структуры данных расшифрован в табл.
П1.
Таблица П2.1
Обозначение
Функция
name
type
Наименование системы нечеткого логического вывода
Тип системы ('Mamdani' или 'Sugeno')
Реализация логической операции И ('min' – минимум
andMethod
или 'prod' – умножение)
Реализация логической операции ИЛИ ('max' – макorMethod
симум или 'probor' – вероятностное ИЛИ)
Метод дефаззификации. Для систем типа Мамдани:
'centroid' – центр тяжести; 'bisector' – медиана; 'lom'
– наибольший из максимумов; 'som' – наименьший
defuzzMethod
из максимумов; 'mom' – среднее из максимумов. Для
систем типа Сугэно: 'wtaver' – взвешенное среднее или
'wtsum' – взвешенная сумма
Реализация операции импликации ('min' – минимум
impMethod
или 'prod' –умножение)
Реализация операции объединения функций принадaggMethod
лежности выходной переменной ('max' – максимум;
'sum' – сумма или 'probor' – вероятностное ИЛИ)
input
Массив входных переменных
input.name
Наименование входной переменной
input.range
Диапазон изменения входной переменной
Массив функций принадлежности входной переменinput.mf
ной
Наименование функции принадлежности входной
input.mf.name
переменной
Описание функции принадлежности входной переменinput.mf.type ной. Варианты: dsigmf, gauss2mf, gaussmf, gbellmf,
pimf, psigmf, sigmf, trapmf, trimf, zmf
Массив параметров функции принадлежности входной
input.mf.params
переменной
output
Массив выходных переменных
output.name
Наименование выходной переменной
output.range
Диапазон изменения выходной переменной
Массив функций принадлежности выходной переменoutput.mf
ной
Наименование функции принадлежности выходной
output.mf.name
переменной
223
Окончание табл.
Обозначение
Функция
Описание функции принадлежности выходной переменной. Для системы типа Мамдани: dsigmf, gauss2mf,
gaussmf, gbellmf, pimf, psigmf. Для системы типа
output.mf.type
Сугэно: constatnt (функция принадлежности в виде
синглетона) или linear (линейная комбинация входных
переменных)
output.
Массив параметров функции принадлежности выходmf.params
ной переменной
rule
Массив правил нечеткой базы знаний
Описание посылок правила. Указываются порядковые
номера термов (порядок записи входных переменных).
rule.antecedent Число 0 указывает на то, что значение соответствующей входной переменной не влияет на истинность
правила
Описание заключений правил. Указываются порядковые номера термов (порядок записи выходных
rule.consequent переменных). Число 0 указывает на то, что правило
не распространяется на соответствующую выходную
переменную
rule.weight
Вес правила (задается числом из диапазона [0, 1])
Логическая связка переменных внутри правила:
rule.connection
1 – логическое И; 2 – логическое ИЛИ
Для доступа к свойствам FIS-объекта достаточно указать имя соответствующего поля. Примеры команд
>> FIS_NAME.rule(1).weight=0.5
>> FIS_NAME.input(1).mf(1).name=’низкий’
Для загрузки FIS-объекта в рабочую область существует два способа: считывание с диска с помощью функции readfis, либо передача из FIS-редактора (File / Export / To workspace).
224
Приложение 3
Сравнение линейного
и нечеткого регуляторов
Считается, что НЛР отличаются большей робастностью, чем
классические регуляторы, т. е. менее чувствительны к параметрическим и внешним возмущениям. Для проверки этого тезиса сравним работу различных регуляторов при управлении нелинейным
объектом – перевернутым маятником на тележке.
Перевернутый маятник на тележке – «классический» объект
управления, его общий вид показан на рис. 1, схема сил, действующих в системе – на рис. 2.
На рис. 1 и 2 использованы обозначения: М – масса тележки; m
– масса маятника; L – длина маятника; f – угол отклонения маятника от вертикальной оси; s – отклонение тележки от начала координат; u – сила, толкающая тележку. К маятнику приложена сила
тяжести mg, а также вертикальная и горизонтальная силы реакции
опоры у точки крепления маятника на тележке V и H.
Задача управления заключается в приведении системы маятник – тележка в положение f = s = 0 после заданного начального
возмущения по углу или положению.
Динамику маятника на тележке описывают нелинейные дифференциальные уравнения [72]:
y
f
V
f
L
L
V
f
f
mg
u
mg
u
s
0
x
0
s
x
s
M
H
s
Рис. 1. Перевернутый маятник
на тележке
Рис. 2. Схема сил в системе
маятник – тележка
225
M
H
ìï d2
ïïm
(s(t) + L sin(f (t))= H(t)
ïï
2
ïï dt
ïï d2
ïïm
(L cos(f (t))= V (t) - mg
ïï dt2
,
í 2
ïï d f (t)
ïïJ
= LV (t)sin(f (t)) - LH(t)cos(f (t))
ïï dt2
ïï
ïï d2 s(t)
ds(t)
= u(t) - H(t) - F
ïïM
2
dt
ïî
dt
(1)
где F – коэффициент силы трения при движении маятника; J – момент инерции, вычисляемый по формуле:
J=
mL2
.
3
Уравнения (1) можно линеаризовать в рабочей точке f(t) = s(t) = 0.
Система (1) при этом преобразуется к виду (M >> m):
ì
ï
d2 f (t) g
1 d2s(t)
ï
ï
f
t
(
)
+
=0
ï
L¢
L ¢ dt2
ï
dt2
ï
,
(2)
í
2
ï
d
s
t
ds
t
(
)
(
)
ï
ï
M
= u(t) - F
ï
ï
dt
dt2
ï
î
где введено обозначение:
L¢ =
J + mL2
.
mL
В литературе [72] рассмотрен переход от линеаризованной системы (2) к уравнениям в пространстве состояний, с последующим синтезом модального регулятора. Так при выборе желаемого положения полюсов замкнутой системы в виде
λ1 = λ2 = λ3 = λ4 = –3
получается следующий закон управления
u(t) = −(65.65 11
−72.6
−21.27)X(t), где X(t) − вектор состояния системы, выбираемый в виде:
226
(3)
é
ù
s(t)
ê
ú
ê
ú
ds
ê
ú
ê
ú
dt
X(t) = ê
ú.
ê s(t) + L ¢f (t)ú
ê
ú
ê ds
df ú
ê
ú
+ L¢
dt ûú
ëê dt
Рассмотрим моделирование процесса управления нелинейной системой (1) с помощью линейного регулятора (3) в MatLab Simulink.
Отдельные подсистемы моделирования динамики объекта управления показаны на рис. 3–6.
На рис. 7 изображена подсистема модельного регулятора.
2
m
1
sin(f)
Product
3
L
du/dt
4
S(t)
Add
du/dt
Derivative Derivative1
Product1
1
H(t)
Рис. 3. Подсистема моделирования
горизонтальной силы реакции опоры
1
L
2
du/dt
m
3
Product1
du/dt
Derivative Derivative1
1
Add
V(t)
cos(f)
4
g
Product
Рис. 4. Подсистема моделирования
вертикальной силы реакции опоры
227
1
m
2
L
1
df/dt
Product
3
V(t)
2
f
Product1
cos
3
3
sin(f)
Trigonometric
Function
3
4
cos(f)
sin
Divide
Subtract Product2
Product3
1
1
s
s
Trigonometric
Integrator Integrator1 Function1
4
H(t)
Рис. 5. Подсистема моделирования угла отклонения маятника
1
M
1
dS/dt
2
H(t)
1
1
s
s
Integrator Integrator1
Divide
3
F
2
S(t)
Product
4
mu
Add
Рис. 6. Подсистема моделирования отката тележки
10
Gain
1
mu
Constant
Product
7
Gain1
Add
72.6
1
ds/dt
2
S
21.3
Product1
Gain2
Рис. 7. Подсистема модального регулятора
228
3
df/dt
4
L1
5
f
На рис. 8 показана полная модель управления перевернутым маятником.
1
M
M
1
sin(f )
dS/dt
H(t)
m
F
0.842
H(t)
L
L
S(t)
H(t)
F
mu
S(t)
S(t)
L
0.1
m
m
cos(f )
9.8
g
g
m
df /dt
L
f
V(t)
sin(f )
H(t)
cos(f )
V(t)
V(t)
f(t)
mu
ds/dt
S
df /dt
L1
f
mu
Scope
Рис. 8. Модальное управление перевернутым маятником
в MatLab Simulink
На рис. 9 показаны переходные процессы в системе при начальном отклонении маятника 0.1 рад.
229
0.1 4
0.1 2
0.1
0.08
s (t)
0.06
0.04
0.02
0
f(t)
0.02
0.04
0
2
4
t
6
8
10
Рис. 9. Переходные процессы в системе с модальным регулятором
На рис. 10 показаны переходные процессы в системе при параметрическом возмущении – длина маятника была увеличена вдвое
при сохранении расчетных коэффициентов регулятора. Очевидно,
длительность переходного процесса увеличилась более, чем вдвое.
Как показало моделирование, предельное начальное отклонение маятника, при котором сохраняется устойчивость системы, составляет 0.19 рад. На рис. 11 показан соответствующий переходный
процесс, а на рис. 12 – сигнал управления.
0.25
0.2
0.1 5
0.1
s (t
0.05
0
f(t)
0.05
0.1
0
5
10
t
15
20
Рис. 10. Модальный регулятор при параметрических возмущениях
230
0.2
0.1 5
0.1
f(t)
0.05
0
0.05
0.1
s (t)
0.1 5
0.2
0.25
0.3
0
1
2
t
3
4
5
Рис. 11. Переходный процесс
при предельно допустимом отклонении маятника
1 00
50
u (t)
0
50
1 00
1 50
0
1
2
t
3
4
5
Рис. 12. Сигнал управления в системе
с модальным регулятором
Рассмотрим далее использование НЛР для управления перевернутым маятником. В структуре рис. 8 модальный регулятор заменяется НЛР в соответствии со схемой, показанной на рис. 13.
231
1
f
Saturation
2
df/dt
Saturation1
3
s
1
mu
Fuzzy Logic
Controller1
Saturation2
4
ds/dt
Saturation3
Рис. 13. Включение НЛР в систему управления маятником
Будем использовать демонстрационный пример НЛР для управления перевернутым маятником slcp.fis, полное описание которого
приводится в библиотеке Fuzzy Logic toolbox.
На рис. 14 показаны переходные процессы в системе при номинальных параметрах. Сравнение с рис. 9 показывает близость поведения модального регулятора и НЛР.
На рис. 15 показаны переходные процессы в системе при увеличении длины маятника вдвое.
0.25
0.2
0.1 5
s (t)
0.1
0.05
0
f(t)
0.05
0.1
0
2
4
t
6
8
Рис. 14. Нечеткий регулятор
при номинальных параметрах
232
10
0.2
0.1 5
s (t
0.1
0.05
0
f(t)
0.05
0
2
4
t
6
8
10
Рис. 15. Нечеткий регулятор
при параметрических возмущениях
Сравнение рис. 10 и рис. 15 показывает, что НЛР практически не
реагирует на изменение параметра, в отличие от модального регулятора, качество работы которого заметно ухудшается.
Эксперименты показали, что предельное начальное отклонение
маятника, при котором сохраняется устойчивость системы с НЛР,
составляет 0.25, т. е. заметно превышает предельное отклонение
для модального регулятора (рис. 16). Сигнал управления от НЛР
0.6
0.4
0.2
f(t)
0
0.2
0.4
s (t
0.6
0.8
1
1 .2
0
2
4
t
6
8
10
Рис. 16. Переходный процесс
при предельном отклонении маятника
233
15
10
5
u (t)
0
5
1 0
1 5
20
0
2
4
t
6
8
10
Рис. 17. Сигнал управления в системе
с нечетким регулятором
принимает намного меньшие значения, чем сигнал модального регулятора (рис. 17).
Таким образом, можно констатировать, что при управлении нелинейной системой использование НЛР дает вполне ощутимые преимущества по сравнению с линейным регулятором.
234
Содержание
Введение..................................................................... 3
1. Нечеткие множества................................................. 9
1.1. Основные положения теории множеств................. 9
1.2. Понятие нечеткого множества............................. 16
1.3. Принцип расширения......................................... 21
1.4. Способы построения функций принадлежности...... 23
1.5. Нечеткость и другие виды неопределенности. ........ 26
1.6. Aналитическое описание функций
принадлежности................................................ 27
1.7. Операции над нечеткими множествами ................ 29
1.8. Треугольная норма и конорма.............................. 32
1.9. Меры сходства нечетких множеств....................... 34
1.10. Нечеткие отношения и нечеткая композиция....... 36
1.11. Работа с нечеткими множествами в MatLab ......... 40
Вопросы для самопроверки ....................................... 48
2. Нечеткая логика....................................................... 52
2.1. Двоичная логика, высказывания и предикаты....... 52
2.2. Продукционные системы.................................... 56
2.3. Нечеткая логика и лингвистические переменные... 60
2.4. Нечеткая импликация и нечеткие правила............ 63
2.5. Нечеткий вывод в базе правил.............................. 69
2.6. Методы дефаззификации. ................................... 74
2.7. Табличное представление базы правил.................. 77
2.8. Требования к базе правил.................................... 79
2.9. Нечеткая система как универсальный
аппроксиматор.................................................. 80
2.10. Нечеткий вывод в матричной форме.................... 82
2.11. Нечеткая динамическая система. ....................... 86
2.12. Использование MatLab...................................... 89
Вопросы для самопроверки........................................ 100
3. Нечеткие регуляторы................................................ 104
3.1. Управление с обратной связью............................. 104
3.2. Модели объектов управления............................... 106
3.3. ПИД-регуляторы............................................... 112
3.4. Структуры нечетких регуляторов......................... 116
3.5. Методы синтеза нечетких регуляторов.................. 123
3.6. Эвристический синтез нечеткого регулятора
П-типа.............................................................. 125
235
3.7. Условия линейности нечеткого регулятора
П-типа.............................................................. 128
3.8. Нелинейное поведение нечеткого регулятора
П-типа.............................................................. 130
3.9. Условия эквивалентности НЛР и П-регулятора ..... 132
3.10. Синтез нелинейного нечеткого регулятора
П-типа.............................................................. 135
3.11. Пример синтеза нечеткого регулятора П-типа...... 140
3.12. Аналитическое описание нечеткого логического
регулятора ПД-типа........................................... 143
3.13. Синтез нечеткого регулятора ПД-типа................. 146
3.14. Синтез нечеткого регулятора ПИ-типа................. 152
3.15. Скользящий режим нечеткого регулятора........... 154
3.16. Синтез нечеткого регулятора ПИД-типа. ............. 158
3.17. Нечеткие супервизоры...................................... 161
3.18. Цифровой нечеткий ПД-регулятор...................... 174
3.19. Цифровой нечеткий ПИ-регулятор..................... 179
Вопросы для самопроверки........................................ 182
4. Синтез нечетких правил из данных............................. 184
4.1. Постановка задачи синтеза.................................. 184
4.2. Понятие кластеризации...................................... 185
4.3. Алгоритм С-средних........................................... 187
4.4. Субтрактивная кластеризация............................. 190
4.5. Кластеризация с помощью нейронной сети............ 193
4.6. Кластеризация в MatLab..................................... 196
4.7. Синтез нечеткого регулятора по данным................ 204
Вопросы для самопроверки ....................................... 209
Заключение................................................................ 211
Библиографический список........................................... 212
Приложение 1. Структура Fuzzy Logic Toolbox................. 217
Приложение 2. Структура системы нечеткого логического
вывода........................................................................ 222
Приложение 3. Сравнение линейного и нечеткого
регуляторов................................................................ 225
236
Документ
Категория
Без категории
Просмотров
0
Размер файла
36 662 Кб
Теги
burakov2
1/--страниц
Пожаловаться на содержимое документа