Основы теории нечетких множеств Как известно, «канторовская» теория множеств служит для математического описания действий над множествами, каждое из которых может быть определено свойством своего элемента, т.е. существует способ, позволяющий однозначно определить принадлежность элемента тому или иному множеству. Например, A {x | P( x)} . Здесь элементами множества A являются только те элементы, которые обладают свойством P , что однозначно дает «четкий» ответ на принадлежность или непринадлежность (здесь третьего не дано!) рассматриваемого элемента множеству A . Но существует необходимость рассматривать вхождение какого-либо элемента в заданное множество с некоторой степенью (оценкой) его принадлежности этому множеству. Например, множество «молодых людей» г. Сарова, множество «мощных легковых автомобилей», множество чисел «около 10» и т.п. В этом случае множество рассматривается как нечеткое, имеющее некоторые границы, определяющие степень вхождения элемента в заданное множество. Для описания таких множеств и действий над ними используются методы так называемых «нечетких множеств», которые впервые были описаны в 1965 г. американским ученым Л. Заде. При помощи нечетких множеств можно формально определить неточные и многозначные понятия, такие как множество «молодых людей», множество «мощных автомобилей», «высокая скорость», «низкая температура», «малые города» и др. Итак, мы определили понятие множества как совокупность его элементов, выделенных по некоторому признаку. И это определение является одним из базовых в математике. Если задано некоторое множество X , то A является подмножеством X тогда и только тогда, когда x A x X . Но любое подмножество A множества X можно описать с помощью его функции принадлежности 2.1 A ( x) : A {0; 1} , значение которой для элемента x X равно единице тогда, когда этот элемент принадлежит множеству A , и нулю – в противном случае. Соответствие между подмножествами множества X и всевозможными функциями принадлежности A ( x) : A {0; 1} является взаимно однозначным, то есть, определив некоторое подмножество, мы можем определить его функцию принадлежности, и обратно, задание функции A ( x) : A {0; 1} задает и подмножество множества X . В четком множестве любой элемент может или принадлежать ему, или не принадлежать, поэтому функция принадлежности принимает лишь два возможных значения – ноль или единица. Совсем иначе определяется принадлежность некоторого элемента x X нечеткому подмножеству A , где в этом случае функция принадлежности может принимать любые значения из отрезка [0; 1]. ~ Пусть X обыкновенное «канторовское», четкое множество, а A - его «нечеткое» множество. ~ Определение 1. Нечетким множеством A в X называется функция A~ : X {0; 1} , которая каждому из элементов множества X ставит в соответствие степень его ~ принадлежности нечеткому множеству A . Другим определением нечеткого множества может быть и такое: ~ Нечетким множеством A в некотором (непустом) множестве X (обозначается как ~ A X ) называется множество пар ~ A = {x, A~ ( x)); x X } , 2.2 ~ где A~ ( x) : X [0, 1] - функция принадлежности нечеткого множества A . 1 Функция принадлежности приписывает каждому элементу x X степень его ~ принадлежности к нечеткому множеству A . При этом можно выделить три случая: ~ 1. A~ ( x) 1 означает полную принадлежность элемента x к нечеткому множеству A , т.е. ~ x A. ~ 2. A~ ( x ) 0 означает отсутствие принадлежности элемента x к нечеткому множеству A . ~ 3. 0 A~ ( x) 1 означает частичную принадлежность элемента к нечеткому множеству A . sup A~ ( x) 1 и субнормальным в x X ~ ~ противном случае. Носителем (суппортом) supp A нечеткого множества A называется ~ обычное множество supp A = {x X | A~ 0} . Высотой нечеткого множества называется ~ ~ ~ A называется нормальным, если h( A) 1 . ~ величина h( A) max ~ A ( x) . Нечеткое множество Нечеткое множество называется нормальным, если x A В литературе применяется символьное описание нечетких множеств. Если X - конечное ~ множество, т.е. X {x1 , x2 , xn } , то нечеткое множество A X записывается в виде: ~ (x ) n ~ (x ) ~ ~ (x ) ~ (x ) 3.2 A A 1 A 2 A n A i . x1 x2 xn xi i 1 ~ (x ) Другими словами, запись A i , i 1, 2, n означает пару ( xi , A~ ( xi )) , i 1, 2, n , и xi поэтому это нечеткое множество иногда записывают и в таком виде: ~ A {( xi , A~ ( xi )) | x A X , A~ [0; 1]} . 3.3 Следует заметить, что знак «+» в выражении 3.2 не означает операцию сложения, а интерпретируется как множественное суммирование элементов ( xi , A~ ( xi )) , i 1, 2, n . Пример 1. Пусть множество X – это множество всех действительных чисел. Множество A чисел, больших нуля, будет его четким подмножеством с функцией принадлежности 1, x 0; 3.4 A~ ( x) 0, x 0 ~ Нечеткое множество A чисел «много больших нуля» можно определить задав его функцию принадлежности, например, следующим образом: 1, x 100; 3.5 A~ ( x) 0, x 0 : 0.5 0.5 cos(x / 100), 0 x 100 Действительно, числа, меньшие нуля, достоверно не являются много большими нуля, поэтому функция принадлежности в этих точка равна нулю. Числа, большие 100, в большинстве приложений (будем считать, что и в нашем случае), достоверно считаются много большими нуля, поэтому функция принадлежности для таких чисел равна единице. По поводу же чисел в интервале между 0 и 100 достоверно сказать, что они являются много большими нуля, нельзя, поэтому функция принадлежности на этом интервале принимает значения между нулем и единицей. В то же время понятно, что чем больше число, тем больше у нас оснований считать его много большим нуля. Поэтому на интервале от 0 до 100 функция принадлежности монотонно возрастает. Носителем нечеткого множества A~ является интервал (0; ) ~ Функции принадлежности множеств A и A приведены на рисунке 3.1 2 Рис. 3.1 Функции принадлежности четких A (x) и нечетких A~ ( x ) множеств. Пример 2 . Допустим, что X - множество натуральных чисел. Определим понятие множества натуральных чисел, «близких числу 7». Это можно сделать, например, определением следующего нечеткого множества: 1 ~ 1 | x 7 | при 4 x 10; 3.6 A {( xi , A~ ( xi )) | x A X , A~ (ч) 4 } 0 в противном случае. ~ Т.е. нечеткое множество A {( 4,0.25), (5,0.5), (6,0.75), (7,1.0), (8,0.75), (9,0.5), (10,0.25)} . Если X R , где R - множество действительных чисел, то множество действительных чисел, «близких числу 7», можно определить функцией принадлежности, например, вида 1 , 3.7 A~ ( x) 1 ( x 7) 2 | x7| при 4 x 10; 1 или вида A~ ( x) 3.8 3 0 в противном случае. На рис. 3.2 а и 3.2б представлены две функции принадлежности нечеткого множества действительных чисел, «близких числу 7». Рис.3.2 3 Довольно часто при описании нечетких множеств используются наиболее доминирующие, так сказать, «стандартные» функции принадлежности, которые можно конкретизировать для определенных условий описания нечеткого множества. 1. Функции принадлежности класса S определяется как для x a, 0 2 2 x a для a x b, c a ac S ( x, a, b, c) , где b 2 2 xc 1 2 для b x c, ca 1 для x c 3.9 Графическое представление функции принадлежности класса S приведено на рис. 3.2. Ее форма зависит от подбора параметров a, b и c. В точке x=b функция принимает значение, равное 0.5. Рис. 3.3. Функция принадлежности класса S . 2. Функция принадлежности класса . Определяется через функцию принадлежности класса S следующим образом: для x с, s( x, c b, c b / 2, c) ( x, b, c) 3.10 1 s( x, c, c b / 2, c b) для x с Графическое представление функции принадлежности класса представлено на рис. 3.4 Рис. 3.4. Функция принадлежности класса . Как видно, функция принадлежности класса принимает нулевые значения при x c b и x c b . В точках x c b / 2 функция принимает значение равное 0.5. 3. Функция принадлежности класса определяется выражением: 4 0 x a ( x, a , b ) b a 1 для x a, для a x b, 3.11 для x b Графическое представление функции принадлежности класса представлено на рис. 3.5. Рис. 3.5. Функция принадлежности класса . Видно, что функции принадлежности типа S и типа в какой-то степени аналогичны. 4. Функция принадлежности класса t определяется выражением для x a, 0 x a для a x b, b a t ( x , a , b, c ) 3.12 c x для b x c, c b 0 для x c Графическое представление функции принадлежности класса t представлено на рис. 3.6. A~ ( x) Рис. 3.6. Функция принадлежности класса t . 5. Функция принадлежности класса L для 1 b x L ( x, a , b ) для b a для 0 определяется выражением: x a, a x b, 3.13 xb Графическое представление функции принадлежности класса L представлено на рис. 3.6. 5 Рис. 3.6. Функция принадлежности класса L . Конечно, в зависимости от описания конкретного нечеткого множества могут быть определены и ряд других функций принадлежности. Пример 3. Рассмотрим описание нечеткого множества, определяемого величинами «малой», «средней» и «высокой» скоростью движения автомобиля в городе, лежащими в диапазоне [0, x max ], где xmax - максимальная скорость автомобиля. Условно примем, что ~ множество A определяет диапазон «малых» скоростей, например [0-50] км./час., ~ ~ множество B - диапазон «средних» скоростей [30-70] км./час. и множество C - диапазон ~ «высоких» скоростей [ 70 xmax ] км./час. На рис . 3.7 представлены нечеткие множества A , ~ ~ ~ B , C соответствующими им функциями принадлежности. Множеству A соответствует ~ функция принадлежности A~ ( x ) класса L , множеству B - функция принадлежности B~ ( x ) ~ класса t , и множеству C соответствует функция принадлежности C~ ( x ) класса . Рис. 3.7 Заметим, что в фиксированной точке x 40 км./час. функция принадлежности A~ ( x ) , описывающая диапазон «малых» скоростей, принимает значение 0.5, т.е. A~ (40) 0.5 , и такое же значение принимает функция принадлежности нечеткого множества «средних» скоростей, т.е. B~ ( 40) =0.5, тогда как C~ ( 40) =0. Операции над нечеткими множествами Для того чтобы построить содержательную теорию нечетких множеств, одного определения мало – необходимо как минимум определить операции (такие как объединение, пересечение и т.п.) над нечеткими множествами, аналогичные операциям над обычными, четкими множествами. Сделать это позволяет аналогия между представлением четких и нечетких множеств в форме их функций принадлежности. Большинство операций над обычными множествами может быть сформулировано через операции над их функциями принадлежности. В то же время, функция принадлежности обычного множества является частным случаем функции принадлежности нечеткого множества, что позволяет непосредственно обобщать формулы для четких множеств на нечеткий случай. 6 При этом при применении к четким множествам операция дает обычный результат. Например, легко проверить, что четкое множество A является подмножеством четкого множества B тогда и только тогда, когда для всех x X A ( x) B ( x) . Точно так же определяем и вложенность для нечетких множеств ~ Определение. Нечеткое множество называется пустым и обозначается A тогда и только тогда, когда для каждого x X A~ ( x ) =0. ~ Определение 2. Нечеткое множество A в X является подмножеством нечеткого ~ ~ ~ ~ ~ множества B в X ( A принадлежит B , т.е. A B ) если для всех x X A~ ( x) B~ ( x) . Пример включения (содержания) нечеткого множества в нечетком множестве иллюстрируется на рис. 3.9. В литературе встречается также понятие степени включения нечетких множеств. Степень включения нечеткого множества в нечеткое множество на рис. 3. 9 равна 1 (полное включение). ~ ~ Рис. 3.9 Пример включения нечеткого множества A в нечеткое множество B Нечеткие множества, представленные на рис. 3.10, не удовлетворяют зависимости A~ ( x) B~ ( x) , следовательно, включение согласно определению отсутствует. Однако ~ ~ нечеткое множество содержится в нечетком множестве в степени I ( A B ) min{ B~ ( x)}, xT где T {x X ; A~ ( x) B~ ( x); A~ ( x) 0} . ~ Рис. 3.10 Пример включения нечеткого множества A ~ ~ ~ в нечеткое множество B степени I ( A B ) В теории множеств считается, что пустое множество принадлежит любому множеству. Также по определению 2 и нечеткое пустое множество с функцией принадлежности ( x) 0 принадлежит любому нечеткому множеству. Функция принадлежности четкого множества C A B , т.е. пересечения множеств A и B можно записать в виде C ( x) min{ A ( x); B ( x)} . Действительно, функция принадлежности в точке x X равна единице (точка x принадлежит множеству C) тогда и 7 только тогда, когда функции принадлежности A (x) и B (x) равны единице (точка x принадлежит одновременно множествам A и B). Эту формулу можно использовать и для ~ ~ пересечения нечетких множеств A и B . ~ ~ Определение. Пересечением нечетких множеств A и B называется нечеткое множество ~ ~ A B , определяемое функцией принадлежности A~ B~ ( x) min{ A~ ( x); B~ ( x)} для x X . 3.14 ~ ~ Рис. 3.11 Графическое представление пересечения нечетких множеств A и B Следует отметить, что функцию принадлежности пересечения обычных множеств можно записать и другим способом, например, как C ( x) A ( x) B ( x) . Для четких множеств обе формулы дают одинаковые результаты, но для нечетких множеств результат их использования, конечно, будет отличаться. На рис. 3.12 приведено графическое ~ представление функции принадлежности C ( x) A ( x) B ( x) для нечетких множеств A и ~ B Рис. 3.12 ~ ~ Определение. Объединением нечетких множеств A и B называется нечеткое множество ~ ~ A B , определяемое функцией принадлежности A~B~ ( x) max{ A~ ( x); B~ ( x)} для x X . ~ ~ Рис. 3.13 Графическое представление объединения нечетких множеств A и B 8 ~ ~ Определение. Алгебраической суммой нечетких множеств A и B называется нечеткое ~ ~ множество A B , определяемое функцией принадлежности A~ B~ ( x) A~ ( x) B~ ( x) A~ ( x) B~ ( x) для x X . ~ 0 . 9 1 0 .4 ~ 0.7 1 0.6 Пусть X {1,2,3,4,5,6,7} и A , B . Тогда, в 3 4 6 3 5 6 соответствии с определением, получаем: ~ ~ 0.7 0.4 AB ; 3 6 ~ ~ 0.9 1 1 0.6 AB ; 3 4 5 6 ~ ~ 0.63 0.24 AB ; 3 6 ~ ~ 0.97 1 1 0.76 AB 3 4 5 6 ~ Определение. Дополнением нечеткого множества A X называется нечеткое множество ~ A , которое определяется функцией принадлежности 3.15 A~ ( x) 1 A~ ( x) для x X Пример. Графическая интерпретация операции дополнения приведена на рис. 3.14 Рис. 3.14 ~ 0.3 1 0.7 0.9 Пример. Пусть X {1,2,3,4,5,6,7} ; A ; 2 3 5 6 ~ 1 0.7 1 0.3 0.1 Тогда A . 1 2 4 5 6 ~ ~ 0.3 0.3 0.1 ~ ~ 1 0.7 1 1 0.7 0.9 и A A X Заметим, что A A 2 5 6 1 2 3 4 5 6 ~ Пример. Найти пересечение нечеткого множества A чисел, много больших нуля и его ~ дополнения A . Пусть функция принадлежности множества равна для x 100; 1, , A~ ( x) 0, для x 0 : 0.5 0.5 cos(x / 100), для 0 x 100 тогда дополнение нечеткого множества имеет функцию принадлежности для x 100; 0, A~ ( x) 1, для x 0 : 0.5 0.5 cos(x / 100), для 0 x 100 Графически это будет выглядеть так, как показано на рис. 3.15 9 Рис. 3.15 Следует отметить, что представленные выше операции на нечетких множествах обладают свойствами коммутативности, связности и сепарабельности, и кроме того, отвечают правилу де Моргана и абсорбции. Однако в случае нечетких множеств не выполняется условие дополнительности, т.е. ~ ~ A A 3.16 ~ ~ 3.17 A A X Этот факт иллюстрируется рис.3.15 и предыдущим примером. Следует помнить, ~ ~ что функция принадлежности пересечения нечетких множеств A и A отвечает неравенству: 1 A~ A~ min{ A~ ( x), A~ ( x)} 3.18 2 Аналогично в случае объединения этих множеств получаем: 1 A~ A~ max{ A~ ( x), A~ ( x)} 3.19 2 ~ ~ ~ ~ Определение. Декартово произведение A B нечетких множеств A X и B Y есть множество, которое определяется следующей функцией принадлежности: A~B~ ( x, y ) min{ A~ ( x), B~ ( y )} для всех x X и y Y 3.20 В литературе встречается и такое определение: A~B~ ( x, y ) min{ A~ ( x) B~ ( y )} . ~ ~ ~ Аналогично определяется декартово произведение и n нечетких множеств A1, A2 , An , которое можно записать следующей функцией принадлежности: A~ A~ A~ ( x1 , x2 xn ) min{ A~ ( x1 ), A~ ( x2 ), A~ ( xn )} 3.21 1 2 n 1 2 n Также встречается и такая запись функции принадлежности декартова произведения n n нечетких множеств в виде: Пример. Пусть X {a, b} ; 10 A~ A~ A~ ( x1 , x2 xn ) A~ ( xi ) 1 2 n i 1 i ~ 0.5 0.8 ~ 0.4 0.7 0.2 Y {2,4,6} ; A . ; B 4 6 6 2 a ~ ~ 0.4 0.5 0.2 0.4 0.7 0,2 Тогда, A B (a,2) (a,4) (a,6) (b,2) (b,4) (b,6) Алгебраические операции на нечетких множествах играют важную роль в семантике лингвистических переменных. ~ ~ Определение. Концентрация нечеткого множества A X (обозначается CON ( A) ) определяется как: CON ( A~ ) [ A~ ( x)]2 для каждого x X . ~ ~ Определение. Разбавлением нечеткого множества A X (обозначается DIL ( A) ) определяется как: DIL( A~ ) [ A~ ( x)]0.5 для каждого x X . Графическая интерпретация операции концентрации и разбавления представлена на рис. 3.16 Рис. 3.16 ~ 0.3 0.6 1 . Пример. Пусть X {a, b, c, d } ; A b d a ~ 0.09 0.36 1 ~ 0.548 0.775 1 CON ( A) ; DIL ( A) Тогда; b d b d a a 11