Способы формирования нечетких множеств
Функции принадлежностиИнструментарий нечеткой логики (ИНЛ) в составе пакета Matlabсодержит 11 встроенных типов функций принадлежности (ФП), формируемых на основе кусочно-линейных функций, распределения Гаусса, сигмоидной кривой, квадратических и кубических полиномиальных кривых. К наиболее простым ФП можно отнести треугольную и трапециевидную. Наименование треугольной ФП – trimf (trianglemembership function). В параметрическом виде она представляет собой не что иное, как набор трех точек, образующих треугольник. Описание функции:у = trimf(x,[abс]), где вектор х – базовое множество, на котором определяется ФП. Величины а и с задают основание треугольника, b– его вершину.
Далее рассмотрим примеры использования различных ФП в системе. Примеры представляют собой фрагменты программ и комментариев на языке пакетаMatlab.
Пример П1. Программа использования ФП trimfх = 0 : 0,1 : 10; Задается базовое множество Трапециевидная ФП - trapmf (trapezoid membership function) – отличается от предыдущей функции лишь тем, что имеет верхнее основание. Описание функции: у = trapmf(х, [abс d]), Аналитическая запись трапециевидной функции имеет вид: Одно из основных достоинств треугольных и трапециевидных ФП – их простота. На основе функции распределения Гаусса можно построить ФП двух видов: простую функцию принадлежности Гаусса и двухстороннюю, образованную с помощью различных функций распределения Гаусса. Первая из них обозначается gaussmf, а вторая – gauss2mf. Описание функции: Симметричная функция Гаусса зависит от двух параметров
Пример П2. Программа использования ФП gaussmfX= 0 : 0,1 : 10;
Описание функции: у = gauss2mf (x, [ Если с1 < c2, то в этом случае функция gauss2mf достигает своего максимального значения на уровне 1. Иначе – максимальное значение функции меньше 1 (рис. П2,б).
Пример ПЗ. Программа использования ФП gauss2mfх = (0 : 0,1 : 10)'; Символ «'» в строке определения базового множества х показывает транспонированность базового множества.
Ее отличие от рассмотренных ранее ФП заключается в добавлении третьего параметра, что позволяет осуществлять плавный переход между нечеткими множествами. Описание функции: у = gbellmf (x, [а b с]) .
Пример П4. Программа использования gbellmfх = 0 : 0,1 : 10; Функции принадлежности на основе функции распределения Гаусса и ФП “обобщенный колокол” отличаются гладкостью и простотой записи и являются наиболее используемыми при описании нечетких множеств. Несмотря на то, что гауссовы и колоколообразные ФП обладают свойством гладкости, они не позволяют формировать асимметричные ФП. Для этих целей предусмотрен набор сигмоидных функций, которые могут быть открыты либо слева, либо справа в зависимости от типа функции. Симметричные и закрытые функции синтезируют с использованием двух дополнительных сигмоид. Основная сигмоидная ФП обозначается sigmf, а дополнительные – dsigmf и psigmf. Описание основной сигмоидной функции: у = sigmf (х, [a с]). Описание дополнительной сигмоидной функции: у = dsigmf(x, (a1, c1, а2, с2)) . Описание дополнительной сигмоидной функции: у = psigmf (x, [a1, c1, а2, с2]) . ФП psigmf, так же как и предыдущая функция, зависит от четырех параметров a1, c1, а2, с2 и определяется как произведение двух сигмоидных функцийf(х, a1, c1)*f(x, а2, с2) (рис. П4, в).
Пример П5. Программа использования сигмоидных функцийх = 0 : 0,1 : 10; определяется базовое множество
Инструментарий нечеткой логики (fuzzy logic toolbox) в составеMatlabпредоставляет возможность формирования ФП на основе полиномиальных кривых. Соответствующие функции называются Z-функции (zmf), РI-функции (pimf)и S-функции (smf). Функция zmfпредставляет собой асимметричную полиномиальную кривую, открытую слева (рис. П5, а), функция smf – зеркальное отображение функции zmf (рис. П5, в). Соответственно функция pimf равна нулю в правом и левом пределах и принимает значение, равное единице, в середине некоторого отрезка (рис. П5, б). Описание функции: у = zmf(x, [ab]). Описание функции: у = pimf (x, [ab с d]). Описание функции: у = smf (х, [а b]) .
Пример П6. Программа использования полиномиальных кривыхх = 0 : 0,1 : 10; Помимо рассмотренных выше функций, позволяющих представлять нечеткие множества, в Mattabимеется возможность формировать собственные ФП или модифицировать встроенные. |