Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб_практикум_ОВИ_03_06_13

.pdf
Скачиваний:
66
Добавлен:
14.04.2015
Размер:
4 Мб
Скачать
☆

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

Трапециевидная ФП – trapmf (trapezoid membership function) –

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

Описание функции:

у = trapmf (х, [a, b, с, d]),

где параметры а и d – нижнее основание трапеции; b и с – верхнее основание трапеции (рис. 5.1, б).

Аналитическая запись трапециевидной функции имеет вид:

0,

x a,

 

 

a

 

 

 

 

x

 

, a x b,

 

 

b a

 

f (x, a,b, c, d ) 1, b x c,

d x

x d ,

 

 

, c

d c

 

x d.

 

0,

 

Простая и двухсторонняя функция принадлежности Гаусса

На основе функции распределения Гаусса можно построить ФП двух видов: простую функцию принадлежности Гаусса и двухстороннюю,

образованную с помощью различных функций распределения Гаусса.

Первая из них обозначается gaussmf, а вторая – gauss2mf.

Описание функции:

у = gaussmf (x, [σ, с]).

Пример 5.2. Программа использования ФП gaussmf.

» X = -20 : 1 : 20;

91

»Y = gaussmf (х, [4 5]);

»plot (х, у);

Симметричная функция Гаусса зависит от двух параметров σ и с

(рис. 5.2, а):

( x c)2

f (x, , c) e 22 .

а б

Рис. 5.2. Простая (а) и двухсторонняя (б) функции принадлежности Гаусса

Описание функции:

у = gauss2mf (x, [σ1, с1, σ2, c2]).

Последнее выражение является комбинацией двух различных функций распределения Гаусса. Первая определяется параметрами σ1 и с1 и

задает форму левой стороны, а вторая (параметры σ2, c2) – правой стороны ФП.

Если с1 < c2, то в этом случае функция gauss2mf достигает своего максимального значения на уровне 1. Иначе – максимальное значение функции меньше 1 (рис. 5.2, б).

92

Пример 5.3. Программа использования ФП gauss2mf.

»x= [-20 : 30]';

»y1 = gauss2mf (x, [4 3 6 7]);

»y2 = gauss2mf (x, [4 4 6 8]);

»y3 = gauss2mf (x, [4 5 6 9]);

»plot (x,[y1 y2 y3]);

Символ < ' > в строке определения базового множества х показывает транспонированность базового множества.

Функция принадлежности "обобщенный колокол"

Следующей функцией, которая позволяет представлять нечеткие субъективные предпочтения, является ФП "обобщенный колокол"

(рис. 5.3) и обозначается gbellmf (generalized bell shape membership function).

I

Рис. 5.3. Функция принадлежности "обобщенный колокол"

93

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

Описание функции:

у = gbellmf (x, [а, b, с]).

Функция "обобщенный колокол" зависит от трех параметров и имеет следующую аналитическую запись:

f (x,a,b,c)

 

 

1

 

 

 

,

 

 

 

 

1

 

x c

 

 

2b

 

 

 

a

 

 

 

 

 

 

 

 

 

где с – определяет расположение центра ФП; а и b – оказывают влияние на форму кривой (рис. 5.3).

Пример 5.4. Программа использования gbellmf.

»x= [-20 : 20];

»y = gbellmf (x, [4 5 6]);

»plot (x,y);

Функции принадлежности на основе функции распределения Гаусса и ФП "обобщенный колокол" отличаются гладкостью и простотой записи и являются наиболее используемыми при описании нечетких множеств.

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

Для этих целей предусмотрен набор сигмоидных функций, которые могут быть открыты либо слева, либо справа в зависимости от типа функции.

94

Симметричные и закрытые функции синтезируют с использованием двух дополнительных сигмоидов.

Сигмоидные функции принадлежности

Основная сигмоидная ФП обозначается sigmf, а дополнительные – dsigmf и psigmf.

Описание основной сигмоидной функции:

у= sigmf (х, [a, с]).

Ваналитической форме сигмоидная функция sigmf записывается следующим образом:

f (x,a,c)

1

.

 

1 e a( x c)

В зависимости от знака параметра a рассматриваемая ФП будет открыта или справа, или слева (рис. 5.4, а), что позволит применять ее при описании таких нечетких понятий, как "очень большой", "крайне отрицательно" и др.

Описание дополнительной сигмоидной функции:

у = dsigmf (x, (a1, c1, а2, с2]) .

ФП dsigmf зависит от четырех параметров a1, c1, а2, с2 и определяется как разность двух сигмоидных функций: f(х, a1, c1) – f(x, а2, с2) (рис. 5.4, б).

Описание дополнительной сигмоидной функции:

у = psigmf (x, [a1, c1, а2, с2]) .

95

ФП psigmf, так же как и предыдущая функция, зависит от четырех параметров a1, c1, а2, с2 и определяется как произведение двух сигмоидных функций f(х, a1, c1) · f(x, а2, с2) (рис. 5.4, в).

а б в

Рис. 5.4. Сигмоидные функции принадлежности

Пример 5.5. Программа использования сигмоидных функций.

»x= [0 : 10];

»subplot (1, 3, 1);

»y=sigmf (x,[4 5]);

»plot (x, y);

»subplot (1, 3, 2);

»y = dsigmf (x, [4 5 6 9]);

»plot (x, y);

»subplot (1, 3, 3);

»y = psigmf (x, [4 5 6 9]);

»plot (x, y);

96

Функции принадлежности на основе полиномиальных кривых

Инструментарий нечеткой логики (fuzzy logic toolbox) в составе

MATLAB предоставляет возможность формирования ФП на основе полиномиальных кривых. Соответствующие функции называются

Z-функции (zmf), РI-функции (pimf) и S-функции (smf). Функция zmf

представляет собой асимметричную полиномиальную кривую, открытую слева (рис. 5.5, а), функция smf – зеркальное отображение функции zmf

(рис. 5.5, в). Соответственно функция pimf равна нулю в правом и левом пределах и принимает значение, равное единице, в середине некоторого отрезка (рис. 5.5, б).

а б в

Рис. 5.5. Полиномиальные функции принадлежности

Описание функции:

у = zmf(x, [a, b]).

97

Параметры а и b определяют экстремальные значения кривой

(рис. 5.5, а).

Описание функции:

у = pimf (x, [a, b, с, d]).

Параметры а и d задают переход функции в нулевое значение, а

параметры b и с – в единичное (рис. 5.5, б).

Описание функции:

у = smf (х, [а, b]).

Параметры а и b определяют экстремальные значения кривой

(рис. 5.5, в).

Пример 5.6. Программа использования полиномиальных кривых.

»x= [3 : 10];

»subplot(1, 3, 1);

»y = zmf(x, [4 5]);

»plot (x, y);

»xlabel (' zmf, P = [4 5]');

»subplot (1, 3, 2);

»y = pimf(x, [4 5 6 9]);

»plot (x, y);

»xlabel ('pimf, P = [4 5 6 9]');

»subplot (1, 3, 3);

»y = smf (x, [6 9]);

»plot(x, y);

»xlabel ('smf, P=[6 9]')

98

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

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

Выделяют три основные логические операции с нечеткими множествами: конъюнкцию, дизъюнкцию и логическое отрицание. В среде

MATLAB существует возможность определять конъюнктивные и дизъюнктивные операторы с точки зрения минимаксной и вероятностной интерпретаций.

Рассмотрим минимаксную интерпретацию логических операторов, в

которой конъюнктивный оператор представляет нахождение минимума – min (рис. 5.6, а), а дизъюнктивный – максимума – max (рис. 5.6, б).

а б

Рис. 5.6. Пересечение (а) и объединение (б) нечетких множеств

(минимаксная интерпретация)

99

Описание конъюнктивной функции: у = min ([у1; у2]).

Описание дизъюнктивной функции: у = mах ([у1; у2]).

Параметры у1 и у2 представляют собой исходные ФП. Функция min

работает со списком ФП. В MATLAB список оформляется квадратными скобками, а элементы списка разделяются точкой с запятой.

Пример 5.7. Программа использования операций min и max.

»x = 3 : 0,1 : 10;

»subplot (1, 2, 1);

»y1 = gaussmf (x, [4 5]);

»у2 = gaussmf (x, [4 7]);

»у3 = min ([y1; y2]);

»plot (x, [y1; у2],':');

»hold on;

»plot (x, у3);

»hold off;

»subplot (1, 2, 2);

»у4 = max([y1; у2]);

»plot(x, [y1; у2], ':');

»hold on;

»plot (x, y4);

»hold off.

Пунктирной линией на графиках изображены исходные ФП, а

сплошной линией – результат действия логических операторов.

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

100

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]