3.11.2. Контроллер Мамдани.
Мы рассматриваем систему с n входами с доменами и одной управляющей переменной y с доменом Y. Чтобы создать подходящие правила для базы данных (БД) нечеткого контроллера, множества и Y должны быть нечетко разделены, то есть на множестве .
Обычно множества определяются интервалом действительных чисел, а сами нечеткие множества определяются треугольными функциями
где - наибольшее значение х; .
На границах интервала [a,b]:
Такой вид функции выбран потому, что вычисления с НК значительно упрощаются при использовании кусочно-линейной функции. На рис.1 показано деление 7 множеств, которые ассоциированы с лингвистическими термами: большое отрицательное ( NL = Negative Large); среднее отрицательное (NM = Negative Mean); отрицательное малое (NS = Negative Small); приблизительно нуль (Z = Zero); положительное малое (PS = Positive Small); положительное среднее (PM = Positive Mean); большое положительное (PL = Positive Large).
Рис.1
База правил состоит из правил, которые имеют следующую форму:
,
где - лингвистические термы, определяемые нечеткими множествами , соответствующими нечеткому разбиению множеств и Y соответственно
.
Пример. Задача балансирования перевернутого маятника. Мы используем каждое из множеств и Y. Нечеткое деление, как показано на рис.1. Множества являются доменами угла , угловой скорости и силы F, вынуждающей маятник стремиться к вертикальному состоянию.
В качестве базы правил используются 19 правил, представленных в таблице 2, где, например, вторая строка читается так: если есть приблизительно нуль (Z) и есть малое отрицательное (NS), то F есть положительное среднее (PM). Так задается процесс фаззификации.
NL |
NM |
NS |
Z |
PS |
PM |
PL |
|
NL |
PS |
PL |
|||||
NM |
PM |
||||||
NS |
NM |
NS |
PS |
||||
Z |
NL |
NM |
NS |
Z |
PS |
PM |
PL |
PS |
NS |
PS |
PM |
||||
PM |
NM |
||||||
PL |
NL |
NS |
Сначала процесс логического решения вычисляет каждое правило независимо. На этом этапе мы вычисляем значения , где , то есть с какой степенью переменная соответствует лингвистическому терму, ассоциированному с нечетким множеством . Т.е. должны соответствовать термам ; значения () должны сочетаться. Это достигается определением
.
Величина показывает, с какой степенью выполняется правило . Выходное значение правила - это нечеткое множество управляющих переменных, полученное путем урезания выходного нечеткого множества с ФП правила .
Математически это можно записать следующим образом:
.
После того, как все правила будут посчитаны, все НМ надо объединить в одно НМ, используя процедуру взятия максимума (т.е. операцию объединения). В результате процесса логического решения получаем следующее нечеткое множество:
.
На последнем этапе это НМ должно быть преобразовано в четкие значения с помощью процесса “дефаззификации”. Это можно сделать одним из следующих методов:
Суть этого метода состоит в выборе такого значения , при котором нечеткое множество имеет максимальную степень принадлежности.
Требуется, чтобы множество Y удовлетворяло следующему критерию
(1)
а) Если множество - конечное, то управляющее действие вычисляется по формуле
(2)
б) Если множество выходов не конечно (непрерывно), то
(3)
Это наиболее широко используемый из трех приведенных методов дефаззификации. Он удовлетворяет тем же требованиям, что и метод МОМ, но в качестве управляющего действия вычисляется значение под центром тяжести области, который определяется с помощью выбранного . Сама формула выглядит так:
(4)
На рисунке 2 представлены шаги минимаксного контроллера Мандани.
Рис.2
Метод СОА гарантирует плавный контроль (управление) в сравнении с двумя другими методами. Его недостатком является комплекс долее сложных вычислений.
Пример. Рассмотрим нечеткий контроллер, который управляет автомобилем.
Управление заключается в том, чтобы избежать столкновений с препятствиями. Если препятствие возникло впереди, то нечеткое множество, изображенное на рисунке 3, определяется процедурой логического решения, управляющее действие которой может быть интерпретировано как повернуть “влево или вправо”. Методы СОА и МОМ допускают значение нуль в качестве управляющего действия, то есть машина движется вперед, пока не произойдет столкновение с препятствием (это существенный недостаток!).
Рис.3
Описанное отклонение произойдет, если нечеткое множество будет выпуклым, и оно может быть интерпретировано как представление единственного значения в интервале. В приведенном выше случае метод дефаззификации должен выбирать между различными управляющими действиями (в данном случае между двумя треугольными изображениями на рис.3, а затем трансформировать каждое множество в четкое значение.
Принципиальная структура нечеткого управления приведена на рис.4, где показаны функциональные компоненты фаззи-контроллера, выполняющие процедуры фаззификации на базе лингвистических правил, композиции базы правил и логического решения, а также дефаззификации.
Рис.4