Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции МБПС новые.doc
Скачиваний:
216
Добавлен:
11.04.2015
Размер:
1.68 Mб
Скачать

Операции с нечеткими множествами

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

Пусть A нечеткое множество (интервал) «в районе 5 - 8» и B нечеткое множество (число) «около 4», как показано на рисунке.

Следующий пример иллюстрирует нечеткое множество «в районе 5 - 8» И (AND) «около 4» (синяя линия).

Нечеткое множество «в районе 5 - 8» ИЛИ (OR) «около 4» показано на следующем рисунке (снова синяя линия).

Следующий рисунок иллюстрирует операцию отрицания. Синяя линия - это ОТРИЦАНИЕ нечеткого множества A.

Нечеткое управление

Контроллеры нечеткой логики - наиболее важное приложение теории нечетких множеств. Их функционирование немного отличается от работы обычных контроллеров; для описания системы используются знания экспертов вместо дифференциальных уравнений. Эти знания могут быть выражены естественным образом с помощью лингвистических переменных, которые описываются нечеткими множествами.

Пример: Перевернутый маятник

Проблема состоит в балансировке вертикальной мачты, подвижно закрепленной нижним концом на тележке, которая может двигаться только в двух направлениях - влево или вправо. Разумное существо (человек), произведя серию экспериментов более или менее быстро овладевает искусством поддерживать равновесие мачты достаточно долгое время. Однако для традиционных систем автоматического управления такая постановка задачи является достаточно нетривиальной. Особенно когда отсутствует строгое математическое описание (математическая модель) объекта управления.

Попытаемся разработать алгоритм работы интеллектуальной системы управления, использую понятия нечеткой логики.

Этап 1. Фаззификация (переход от четких значений переменных к нечетким). Выполняется человеком - разработчиком контроллера в процессе его создания.

Мы должны определить (субъективно) что такое высокая скорость, низкая скорость и т.п. для тележки. Это делается описанием функции принадлежности для нечетких множеств:

  • отрицательная высокая, neg.high (голубой)

  • отрицательная низкая, neg.low (зеленый)

  • нулевая, zero (красный)

  • положительная низкая, pos.low (синий)

  • положительная высокая, pos.high (розовый)

Тоже самое делается для угла между тележкой и мачтой маятника и для угловой скорости изменения этого угла.

Этап 2. Формулирование правил зависимости нечеткого значения управляющего воздействия от нечетких значений переменных состояния системы. Выполняется человеком - разработчиком контроллера в процессе его создания.

Определим несколько правил, которые определяют что делать в данной ситуации.

Положим, например, что мачта находится справа (угол равен нулю) и не двигается (угловая скорость - ноль). Очевидно, что это желаемое положение, и ничего предпринимать не надо (скорость равна нулю).

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

Итак, получаем два правила, которые более формально представляются в следующей форме:

Если угол равен нулю И угловая скорость равна нулю, тогда скорость должна быть равна нулю.

Если угол равен нулю И угловая скорость положительная низкая, тогда скорость должна быть положительной низкой.

Сведем все полученные правила в таблицу:

Какой должна быть скорость тележки?

Угол наклона шеста

Угловая скорость шеста

ОВ

ОН

0

ПН

ПВ

ОВ

ОВ

ОВ

ОВ

0

0

ОН

ОВ

ОН

ОН

0

ПН

0

ОВ

ОН

0

ПН

ПВ

ПН

ОН

0

ПН

ПН

ПВ

ПВ

0

0

ПВ

ПВ

ПВ

где ОВ - Отрицательное Высокое (большое) значение, ОН - Отрицательное Низкое (малое) значение, 0 - нуль и т.д.

Этап 3. Дефаззификация (возврат от нечетких значений к четким). Выполняется автоматически нечетким контроллером в процессе управления объектом в соответствии с алгоритмом, определенным на этапе 2.

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

Реальное значение угла:

Реальное значение угловой скорости:

Применим правило

Если угол равен нулю И угловая скорость равна нулю, тогда скорость равна нулю

к реальным значениям переменных.

Здесь представлена лингвистическая переменная "угол", отображаемая нечетким множеством "ноль" и реальный угол наклона маятника.

Проследим получение результата с помощью нечеткого вывода.

  1. Если угол равен нулю И угловая скорость равна нулю тогда скорость равна нулю

Получаем, что реальное значение угла принадлежит нечеткому множеству "ноль" со степенью 0.75.

2. Если угол равен нулю И угловая скорость равна нулю тогда скорость равна нулю

Реальное значение угла принадлежит нечеткому множеству "ноль" со степенью 0.75.

Здесь представлена лингвистическая переменная "угловая скорость", отображаемая нечетким множеством "ноль" и реальная угловая скорость.  

3. Если угол равен нулю И угловая скорость равна нулю тогда скорость равна нулю  

Реальное значение угла принадлежит нечеткому множеству "ноль" со степенью 0.75.

Реальное значение угловой скорости принадлежит нечеткому множеству "ноль" со степенью 0.4.  

4. Если угол равен нулю И угловая скорость равна нулю тогда скорость равна нулю

Так как две части условий правила объединяются по И, то вычисляем min (0.75, 0.4) = 0.4 и уменьшаем нечеткое множество "ноль" для переменной "скорость" до этого уровня (в соответствии с рассматриваемым правилом).

Только четыре правила приводят к результату. Объединим их в одно решение.

Таким образом результатом правила

Если угол равен нулю И угловая скорость равна нулю тогда скорость равна нулю

является:

Результатом правила

Если угол равен нулю И угловая скорость отрицательная низкая тогда скорость - отрицательная низкая

является:

Результатом правила

Если угол положительный малый И угловая скорость равна нулю тогда скорость - положительная низкая является:

Результатом правила

Если угол положительный малый И угловая скорость отрицательная низкая тогда скорость равна нулю

является:

Объединение этих четырех результатов дает общее решение:

Таким образом, решением контроллера нечеткой логики является нечеткое множество (для скорости). Далее необходимо выбрать одно значение для представления конечного выходного значения. Существует несколько эвристических методов (методов дефаззификации), один из которых, например, предполагает выбирать в качестве конечного значения центр тяжести нечеткого множества:

Вся данная процедура получения решения называется контроллером Мамдани  (Mamdani controller).

Приложения нечеткой логики

Использование нечеткого управления рекомендуется:

  • для очень сложных процессов, когда не существует простой математической модели

  • для нелинейных процессов высоких порядков

  • если должна производиться обработка (лингвистически сформулированных) экспертных знаний

Использование нечеткого управления не рекомендуется, если:

  • приемлемый результат может быть получен с помощью общей теории управления

  • уже существует формализованная и адекватная математическая модель

  • проблема неразрешима.