MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

Проектирование систем управления\Fuzzy Logic Toolbox

С.Д.Штовба "Введение в теорию нечетких множеств и нечеткую логику"

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

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

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


Рис. 1. Типовая нечеткая модель Мамдани

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

где - функция принадлежности нечеткого множества на носителе .
Нечеткое множество (1) показано на рис. 2 залитой фигурой.


Рис. 2. Получение результирующего нечеткого значения по алгоритму Мамдани

Обратим внимание, что нечеткое множество (1) не всегда эквивалентно нечеткому числу, так как может быть субнормальным или невыпуклым. Любое субнормальное нечеткое множество легко нормализовать делением всех степеней принадлежности на высоту. Задача исправления невыпуклости сложнее, поэтому рассмотрим ее подробнее.

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

где RMSE - средняя квадратичная невязка;
defuz - дефаззификация нечеткого множества по методу центра тяжести.


Рис. 3. Эффект невыпуклости нечетких множеств, полученных по алгоритму Мамдани

Невязку двух нечетких множеств и с функциями принадлежности на интервале предлагается рассчитывать следующим образом:

Графики функций принадлежности с рис. 3 имеют несколько протяженных плато. Для учета этой особенности при аппроксимации невыпуклых нечетких множеств предлагаются модифицированные функции принадлежности (рис. 4 и табл. 1).


Рис. 4. Модификация типовых Функций принадлежности для аппроксимации невыпуклых нечетких множеств

Таблица
Модифицированные функции принадлежности

Название Связь с типовыми функциями принадлежности
Треугольная с порогами
где trimf - треугольная функция принадлежности.
Двухсторонняя гауссова с порогами
где gaussmf - гауссова функция принадлежности.
Двухсторонняя колокольная
где bellmf - функция принадлежности.

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


Рис. 5. Сравнение аппроксимаций невыпуклых нечетких множеств

Для получение нечетких чисел по результатам нечеткого вывода Мамдани в системе MATLAB предлагается пакет Fuzzy_Out. Пакет содержит такие программы:

  • fuz_evalfis - нечеткий логический вывод по базе знаний Мамдани без деффазификации;
  • is_mf_convex - проверка нечеткого множества на выпуклость;
  • my_gauss2mf - двухсторнняя гауссова функция принадлежности с порогами;
  • my_gbellmf - двухсторнняя обобщенная колокольная функция принадлежности;
  • my_trimf - треугольная функция принадлежности с порогами;
  • fs2mf - поиск параметров функции принадлежности, которая наилучшим образом аппроксимирует нечеткое множество;
  • ob_fun_fs2mf - целевая функция для программы оптимизации fs2mf;
  • constr_fun_fs2mf - ограничения задачи оптимизации fs2mf.

Выводы

Одним из способов получения на выходе нечеткой модели нечетких значений состоит в исключении из нечеткой модели Мамдани операции дефаззификации с последующей аппроксимацией выходного нечеткого множества параметрической функцией принадлежности. Предложены пороговые функции принадлежности, которые по сравнению с типовыми обеспечивают более точную аппроксимацию невыпуклых нечетких множеств, полученных по алгоритму Мамдани. Для получение нечетких чисел по результатам нечеткого вывода Мамдани в системе MATLAB написан пакет Fuzzy_Out.

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


Поиск по сайту:

Система Orphus

Яндекс.Метрика