Уральский государственный экономический университет
Опубликован: 27.05.2014 | Доступ: свободный | Студентов: 464 / 49 | Длительность: 11:44:00
Лекция 6:

Нечеткие множества

< Лекция 5 || Лекция 6: 123456789

6.3. Методы построения функций принадлежности

Важным и трудным вопросом теории нечетких множеств является вопрос о методах построения функции принадлежности \mu (x) - главной характеристики нечеткого множества. В каждом отдельном случае построения функции принадлежности формулируются свои требования и обоснования к выбору именно такого построения.

Фактически нечеткое множество - это множество упорядоченных пар вида &lt;?(x/x&gt;, где x принимает некоторое информативное значение, а ?(x\mu (x) представляет собой степень принадлежности x к чему-либо: 0 - не принадлежит, 1 - принадлежит на все 100%.

Один из методов построения функций принадлежности – методы экспертных оценок. Если имеются дискретные значения по ряду параметров, для представления можно использовать таблицы или матрицы.

Рассмотрим примеры построения нечетких множеств средствами программы MathCad.

Пример 6.1. Построим нечеткие множества следующего вида: элементы множества ряд чисел \?1, 2,…, 10\?, функция принадлежности - \mu (x) – случайные числа на отрезке [0,1]. Построим множества в виде матриц: первый столбец матрицы – элементы множества, второй столбец – значения функции принадлежности \mu (x). Промоделируем \mu (x) с помощью датчика случайных чисел, используем функцию round(), которая округляет число до одного десятичного знака. Представим все полученные множества графически. (рис.6.2):

ORIGIN:=1

i:=1..10

X_{i,1}:=i,\; Y_{i,1}:=i

X_{i,2}:=round(rnd(1),1), \; Y_{i,2}:= round(rnd(1),1)

X:=\begin{array}{|c|c|c|} 
\hline & 1 & 2 \\
\hline 1 & 1 & 0 \\
\hline 2 & 2 & 0.2 \\
\hline 3 & 3 & 0.6 \\
\hline 4 & 4 & 0.4 \\
\hline 5 & 5 & 0.8 \\
\hline 6 & 6 & 0.2 \\
\hline 7 & 7 & 0.7 \\
\hline 8 & 8 & 0.3 \\
\hline 9 & 9 & 0.1 \\
\hline 10 & 10 & 0.1 \\ 
\hline
\end{array}

Y:=\begin{array}{|c|c|c|} 
\hline & 1 & 2 \\
\hline 1 & 1 & 1 \\
\hline 2 & 2 & 0.1 \\
\hline 3 & 3 & 0 \\
\hline 4 & 4 & 0.5 \\
\hline 5 & 5 & 0.6 \\
\hline 6 & 6 & 0.2 \\
\hline 7 & 7 & 0.5 \\
\hline 8 & 8 & 0.1 \\
\hline 9 & 9 & 0.8 \\
\hline 10 & 10 & 0.5 \\ 
\hline
\end{array}

\mu X:=X^{\{2\}}}, \mu Y:=Y^{\{2\}}}

Нечеткие множества X и Y в виде матриц

Рис. 6.2. Нечеткие множества X и Y в виде матриц

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

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

Определяется тройкой чисел (a,b,c), и ее значение в точке x вычисляется согласно выражению:

\mu1(x)=
\left\{  
\begin{array}{lc}
1-\frac{b-x}{b-a},\; a\le x \le b \\ 
1-\frac{x-b}{c-b},\; b\le x \le c \\
0,\; остальные случаи
\end{array}   
\right\

При (b-a)=(c-b) имеем случай симметричной треугольной функции принадлежности, которая может быть однозначно задана двумя параметрами из тройки (a,b,c).

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

Для задания необходима четверка чисел (a,b,c,d):

\mu2(x)=
\left\{  
\begin{array}{lc}
1-\frac{b-x}{b-a},\; a\le x \le b \\ 
1, \; b\le x \le c \\
1-\frac{x-c}{d-x},\; c\le x \le d \\
0,\; остальные случаи
\end{array}   
\right\

При (b-a)=(d-c) трапецеидальная функция принадлежности принимает симметричный вид.

Пример 6.2

Построим в MathCad нечеткие множества AX1 и AX2, заданных на универсальном множестве U действительных чисел x\subset [0,10], c треугольными функциями принадлежности AF1(x) и AF2(x) (Рис.6.3): Используем условную функцию из блока программирования. Функция AF2(x) симметричная: (b1-a1)=(c1-b1). Функция AF1(x) несимметричная: (b-a)\ne (c-b)

Пример 6.3

Построим в MathCad нечеткие множества AXt1 и AXt2, заданных на универсальном множестве U действительных чисел x\subset [0,10], c трапециевидными функциями принадлежности AFt1(x) и AFt2(x), Используем условную функцию из блока программирования (рис.6.4). Функция AF2(x) симметричная :(b1-a1)=(c1-b1). Функция AF1(x) несимметричная (b-a)\ne (c-b)

a:=1, \; b:=2, \; c:=5

a1:=2, \; b1:=6, \; c1:=10

F1(x):=1-\frac{(b-x)}{b-a}, F21(x):=1-\frac{(b1-x)}{b1-a1}

F2(x):=1-\frac{(x-b)}{b-a}, F22(x):=1-\frac{(x-b1)}{c1-b1}

AF1(x):=\begin{array}{|lc} 
F1(x)\; if\; a\le x \le b \\
F2(x)\; if\; b\le x \le (c)  \\
0\; otherwise 
\end{array}, AF2(x):=\begin{array}{|lc} 
F21(x)\; if\; a1\le x \le b21\\
F22(x)\; if\; b1\le x \le (c1)  \\
0\; otherwise 
\end{array}

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

Рис. 6.3. Треугольные функции принадлежности

a:=1, \; b:=2, \; c:=5, \; d:=9

a1:=2, \; b1:=6, \; c1:=10, \; d1:=10

Ft1(x):=1-\frac{(b-x)}{b-a}, Ft21(x):=1-\frac{(b1-x)}{b1-a1}

Ft2(x):=1-\frac{(x-c)}{d-c}, Ft22(x):=1-\frac{(x-c1)}{d1-c1}

AFt1(x):=\begin{array}{|lc} 
Ft1(x)\; if\; a\le x \le b \\
1\; if b\le x \le c \\
Ft2(x)\; if\; c\le x \le d  \\
0\; otherwise 
\end{array}, AFt2(x):=\begin{array}{|lc} 
Ft21(x)\; if\; a1\le x \le b1\\
1\; if b1 \le x \le c1 \\
Ft22(x)\; if\; c1\le x \le d1  \\
0\; otherwise 
\end{array}

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

Рис. 6.4. Трапециевидные функции принадлежности

6.4 Множества Α–уровня

Множеством \alpha–уровня нечеткого множества (U,\mu A) называют обычное множество, состоящее из всех тех элементов универсального множества U, для которых выполняется неравенство \mu A \ge \alpha.

Множества \alpha–уровня широко используются при оперировании с нечеткими множествами. Это одно из важных понятий теории нечетких множеств.

Рассмотрим следующий пример. Пусть Aнечеткое множество, A = 0,1/1+0,3/2+0,4/5+0,7/6+0,8/9+1/10. Выберем \alpha \in \{0,1; 0,3; 0,5; 0,7; 0,9\}. Составим множества \alpha–уровня для всех возможных значений \alpha:

A^{0,1}=\{1,2,5,6,9,10\}

A^{0,3}=\{2,5,6,9,10\}

A^{0,5}=\{6,9,10\}

A^{0,7}=\{6,9,10\}

A^{0,9}=\{10\}

Построим множестваA=\mu_A A^{\alpha}. Это нечеткие множества.

A^{\%0,1}=0.1\cdot A^{0,1}=0.1/1+0.1/2+0.1/5+0.1/6+0.1/9+0.1/10, функция принадлежности \mu_{A^{\%0,1}}\equiv 0.1.

Аналогично

A^{\%0,3}=0.3\cdot A^{0,3}=0.3/1+0.3/2+0.3/5+0.3/6+0.3/9+0.3/10, \mu_{A^{\%0,3}}\equiv 0.3

A^{\%0,5}=0.5\cdot A^{0,5}=0.5/6+0.5/9+0.5/10, \mu_{A^{\%0,5}}\equiv 0.5

A^{\%0,7}=0.7\cdot A^{0,7}=0.7/6+0.7/9+0.7/10, \mu_{A^{\%0,7}}\equiv 0.7

A^{\%0,9}=0.9\cdot A^{0,9}=0.9/10, \mu_{A^{\%0,9}}\equiv 0.9

Составим нечеткое множество \tilde{A}, выполнив последовательно два действия:

  1. объединим множества A^{\%0,1}, A^{\%0,3}, A^{\%0,5}, A^{\%0,7}, A^{\%0,9}: A^{\%0,1}+A^{\%0,3}+ A^{\%0,5}+ A^{\%0,7}+ A^{\%0,9}=0.1\cdot A^{0,1}+0.3\cdot A^{0,3}+ 0.5\cdot A^{0,5}+ 0.7\cdot A^{0,7} + 0.9\cdot A^{0,9}=0.1/1+0.1/2+0.1/5+0.1/6+0.1/9+0.1/10+0.3\cdot A^{0,3}=0.3/1+0.3/2+0.3/5+0.3/6+0.3/9+0.3/10+0.5\cdot A^{0,5}=0.5/6+0.5/9+0.5/10+0.7\cdot A^{0,7}=0.7/6+0.7/9+0.7/10+0.9/10=0.1/1+(0.1\vee 0.3)/2 + (0.1\vee 0.3)/5+ (0.1 \vee 0.3 \vee 0.5 \vee 0.7)/6+(0.1 \vee 0.3 \vee 0.5\vee 0.7)/9 + (0.1 \vee 0.3 \vee 0.5 \vee 0.7 \vee 0.9)/10
  2. Из значений функции принадлежности, соединенных знаками логических сумм, выберем наибольшее (супремум) и будем считать его значением функции принадлежности нечеткого множества \tilde{A} на соответствующем элементе несущего множества: \tilde{A}=0.1/1+0.3/2+0.3/5+0.7/6+0.7/9+0.9/10.

В данном случае \tilde{A} \ne A, так как \mu_A(5)=0.4\ne \mu_{\tilde{A}}(5)=0.3; \; \mu_A(9)=0.8\ne \mu_{A^\%}(9)=0.7. Однако если бы множество значений \alpha включало все значения функции принадлежности множества A, то множества A и \tilde{A} совпали бы.

Рассмотрим нечеткое множество A, носителем которого является отрезок числовой оси x\in [1,3], а функция принадлежности имеет вид

\mu_A(x)=\frac{1}{2}(1+\cos(\pi x))

График показан на рис. 6.4. Множеством \alpha–уровня является отрезок [x_1, x_2], концы которого определяются из уравнения \mu_A(x)=\frac{1}{2}(1+\cos(\pi x))=\alpha,\; x\in [1,3]

Решением такого уравнения будут два числа: x_1=2-\frac{1}{\pi}\arcos(2\alpha-1) и x_2=2+\frac{1}{\pi}\arcos(2\alpha-1).

Следовательно, A^{\%}=\alpha\cdot [\left(2-\frac{1}{\pi}\arccos(2\alpha-1)\right)\left(2+\frac{1}{\pi}\arccos(2\alpha-1)\right)].

Разложение множества A по множествам уровня имеет вид: A=\int_{0}^{1}\alpha [\left(2-\frac{1}{\pi}\arccos(2\alpha-1)\right),\left(2+\frac{1}{\pi}\arccos(2\alpha-1)\right)]

Ниже приведен график множества \alpha?уровня A^{\alpha}=[x_1,x_2] для нечеткого множества A с функцией принадлежности \mu_A(x)=\frac{1}{2}(1+\cos(\pi x)).

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

Рис. 6.5. Множество альфа-уровня для нечеткого множества А с заданной функцией принадлежности

Разбив отрезок [0,1] на подходящее число частей, получают приближенное разложение нечеткого множества.

Разобьем отрезок [0,1] на десять частей, получим дискретный набор значений \alpha \in \{0; 0.1; 0.2 ; ... 1\}=\{\frac{n}{10}\},\; (n=0,1,...,10). Тогда приближенное разложение множества A по множествам уровня примет следующий вид: A\approx \sum_{n=0}^{10}\frac{n}{10}[\left(2-\frac{1}{\pi}\arccos\left(\frac{n-5}{5}\right)\right),\left(2+\frac{1}{\pi}\arccos\left(\frac{n-5}{5}\right\right)]

Операции над α-уровнями

Пусть A, B, С – нечеткие множества со своими функциями принадлежности, Если A, B, С представить в виде разложения по \alpha-уровням, то интервалы достоверности у этих множеств будут соответственно (рис.6.6):

на уровне ?_1 -  [a_{н1}, a_{к1}],  [b_{н1}, b_{к1}], [с_{н1}, с_{к1}], где a_н, b_н, c_н – начало интервала, a_к, b_к, c_к – конец интервала,

на уровне ?_n  –  [a_{нn}, a_{кn}], [b_{нn}, b_{кn}], [с_{нn}, с_{кn}].

 Множество альфа-ровней для нечетких множеств A,B,C

Рис. 6.6. Множество альфа-ровней для нечетких множеств A,B,C

Арифметические операции над нечеткими множествами сводятся к операциям над интервалами соответствующего \alpha-уровня. Операция сложения выглядит следующим образом:

  • Сложение: [с_{нn}, с_{кn}] = [a_{нn}, a_{кn}] + [b_{нn}, b_{кn}]= [a_{нn} + b_{нn}, a_{кn} + b_{кn}]
  • Вычитание: [с_{нn}, с_{кn}] = [a_{нn}, a_{кn}] – [b_{нn}, b_{кn}]= [a_{нn} – b_{нn}, a_{кn} – b_{кn}]
  • Умножение: [с_{нn}, с_{кn}] = [a_{нn}, a_{кn}] \cdot [b_{нn}, b_{кn}]= [a_{нn}\cdot b_{нn}, a_{кn}\cdot  b_{кn}]
  • Деление: [с_{нn}, с_{кn}] = [a_{нn}, a_{кn}] / [b_{нn}, b_{кn}]= [a_{нn} / b_{кn}, a_{кn} / b_{нn}]
  • Возведение в степень^ [с_{нn}, с_{кn}] = [a_{нn}, a_{кn}]^i = [a_{нn}^i, a_{кn}^i]
< Лекция 5 || Лекция 6: 123456789