Понятие нечеткой логики. Операции с нечеткими множествами. Лингвистическая переменная.

Нечеткая логика и нейронные сети

Контрольные вопросы по предмету

0


Подпишитесь на бесплатную рассылку видео-курсов:

Текст видеолекции

Лекция № 1

Нечеткая логика

 

Содержание лекции:

  1. Понятие нечеткой логики.
  2. Операции с нечеткими множествами.
  3. Лингвистическая переменная.
  4. Нечеткое число.

 

  1. 1.     Понятие нечеткой логики

 

Нечеткая логика является многозначной логикой, что позволяет определить промежуточные значения для таких общепринятых оценок, как да|нет, истинно|ложно, черное|белое  и т.п. Выражения подобные таким, как слегка тепло  или довольно холодно возможно формулировать математически и обрабатывать на компьютерах. Нечеткая логика появилась в 1965 в работах Лотфи А. Задэ (Lotfi A. Zadeh), профессора технических наук Калифорнийского университета в Беркли.

Математическая теория нечетких множеств, предложенная Л.Заде более четверти века назад, позволяет описывать нечеткие понятия и знания, оперировать этими знаниями и делать нечеткие выводы. Основанные на этой теории методы построения компьютерных нечетких систем существенно расширяют области применения компьютеров. В последнее время нечеткое управление является одной из самых активных и результативных областей исследований применения теории нечетких множеств. Нечеткое управление оказывается особенно полезным, когда технологические процессы являются слишком сложными для анализа с помощью общепринятых количественных методов, или когда доступные источники информации интерпретируются качественно, неточно или неопределенно. Экспериментально показано, что нечеткое управление дает лучшие результаты, по сравнению с получаемыми при общепринятых алгоритмах управления. Нечеткие методы помогают управлять домной и прокатным станом, автомобилем и поездом, распознавать речь и изображения, проектировать роботов, обладающих осязанием и зрением. Нечеткая логика, на которой основано нечеткое управление, ближе по духу к человеческому мышлению и естественным языкам, чем традиционные логические системы.

Нечеткая логика – раздел математики, являющийся новой мощной технологией.

Нечеткая логика возникла как наиболее удобный способ построения систем управления метрополитенами и сложными технологическими процессами, а также нашла применение в бытовой электронике, диагностических и других экспертных системах. Несмотря на то, что математический аппарат нечеткой логики впервые был разработан в США, активное развитие данного метода началось в Японии, и новая волна вновь достигла США и Европы. В Японии до сих пор продолжается бум нечеткой логики и экспоненциально увеличивается количество патентов, большая часть которых относится к простым приложениям нечеткого управления.

Термин fuzzy (англ.  нечеткий, размытый - произносится 'фаззи') стал ключевым словом на рынке. Статьи по электронике без нечетких компонент постепенно исчезали и пропали совсем, как будто кто-то закрыл кран. Это показывает насколько стала популярной нечеткая логика; появилась даже туалетная бумага с напечатанными на ней словами "Fuzzy Logic".

В Японии исследования в области нечеткой логики получили широкую финансовую поддержку. В Европе и США усилия были направлены на то, чтобы сократить огромный отрыв от японцев. Так, например, агентство космических исследований NASA стало использовать нечеткую логику в маневрах стыковки.

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

 

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

 

Определение и основные характеристики

нечетких множеств

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

Пусть E - универсальное множество, x - элемент E, а R - некоторое свойство. Обычное (четкое) подмножество A универсального множества E, элементы которого удовлетворяют свойству R, определяется как множество упорядоченных пар A = {µA(х)/х}, где

µA(х) - характеристическая функция, принимающая значение 1, если x удовлетворяет свойству R, и 0 - в противном случае.

Нечеткое подмножество отличается от обычного тем, что для элементов x из E нет однозначного ответа "да-нет" относительно свойства R. В связи с этим, нечеткое подмножество A универсального множества E определяется как множество упорядоченных пар A = {µA(х)/х}, где

µA(х) - характеристическая функция принадлежности (или просто функция принадлежности), принимающая значения в некотором вполне упорядоченном множестве M (например, M = [0,1]). Функция принадлежности указывает степень (или уровень) принадлежности элемента x подмножеству A. Множество M называют множеством принадлежностей. Если M = {0,1}, то нечеткое подмножество A может рассматриваться как обычное или четкое множество.

Примеры записи нечеткого множества

Пусть E = {x1, x2, x3, x4, x5 }, M = [0,1]; A - нечеткое множество, для которого

µA(x1)=0,3;

µA(x2)=0;

µA(x3)=1;

µA(x4)=0,5;

µA(x5)=0,9.

Тогда A можно представить в виде:

A = {0,3/x1; 0/x2; 1/x3; 0,5/x4; 0,9/x5 } или

A = 0,3/x1 + 0/x2 + 1/x3 + 0,5/x4 + 0,9/x5, или

A =

x1

x2

x3

x4

x5

0,3

0

1

0,5

0,9

 

Замечание. Здесь знак "+" не является обозначением операции сложения, а имеет смысл объединения.

Основные характеристики нечетких множеств

Пусть M = [0,1] и A - нечеткое множество с элементами из универсального множества E и множеством принадлежностей M.

Величина µA(x) называется высотой нечеткого множества A. Нечеткое множество A нормально, если его высота равна 1, т.е. верхняя граница его функции принадлежности равна 1 (µA(x)=1). При µA(x) <1 нечеткое множество называется субнормальным.

Нечеткое множество пусто, если  µ A(x)=0. Непустое субнормальное множество можно нормализовать по формуле A(x) = . 

Нечеткое множество унимодально, если µ A(x)=1 только на одном x из E.

Носителем нечеткого множества A является обычное подмножество со свойством µA(x)>0, т.е. носитель A = {x/µA(x)>0} , xE.

Элементы xE, для которых µA(x)=0,5 называются точками перехода множества A.

Примеры нечетких множеств

1) Пусть E = {0,1,2,..,10}, M =[0,1]. Нечеткое множество "несколько" можно определить следующим образом: "несколько" = 0,5/3+0,8/4+1/5+1/6+0,8/7+0,5/8; его характеристики: высота = 1, носитель={3,4,5,6,7,8}, точки перехода - {3,8}.

2) Пусть E = {0,1,2,3,...,n,...}. Нечеткое множество "малый" можно определить:

"малый" = .

3) Пусть E = {1,2,3,...,100} и соответствует понятию "возраст", тогда нечеткое множество "молодой", может быть определено с помощью

 

4) Нечеткое множество "молодой" на универсальном множестве E' ={Иванов, Петров, Сидоров,...} задается с помощью функции принадлежности µ"молодой"(x) на E = {1,2,3,..100} (возраст), называемой по отношению к E' функцией совместимости, при этом:

µ "молодой" (Сидоров)= µ "молодой" (x), где x - возраст Сидорова.

5) Пусть E = {Запорожец, Жигули, Мерседес,....} - множество марок автомобилей, а E' = [0, ∞) - универсальное множество "стоимость", тогда на E' мы можем определить нечеткие множества типа: "для бедных", "для среднего класса", "престижные", с функциями принадлежности типа:

 

 

 

Имея эти функции и зная стоимости автомобилей из E в данный момент времени, мы тем самым определим на E' нечеткие множества с этими же названиями.

Так, например, нечеткое множество "для бедных", заданное на универсальном множестве E = {Запорожец, Жигули, Мерседес,....} выглядит следующим образом:

 

Аналогично можно определить Нечеткое множество "скоростные", "средние", "тихоходные" и т.д.

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

и методы их построения

В приведенных выше примерах использованы прямые методы, когда эксперт либо просто задает для каждого xE значение µA(x), либо определяет функцию совместимости. Как правило, прямые методы задания функции принадлежности используются для измеримых понятий, таких как скорость, время, расстояние, давление, температура и т.д., или когда выделяются полярные значения.

Во многих задачах при характеристике объекта можно выделить набор признаков и для каждого из них определить полярные значения, соответствующие значениям функции принадлежности, 0 или 1.

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

 

 

0

1

x1

высота лба

низкий

широкий

x2

профиль носа

курносый

горбатый

x3

длина носа

короткий

длинный

x4

разрез глаз

узкие

широкие

x5

цвет глаз

светлые

темные

x6

форма подбородка

остроконечный

квадратный

x7

толщина губ

тонкие

толстые

x8

цвет лица

темный

светлый

x9

очертание лица

овальное

квадратное

 

Для конкретного лица А эксперт, исходя из приведенной шкалы, задает µ A(x)  [0,1], формируя векторную функцию принадлежности { µ A(x1), µ A(x2),... µ A(x9)}.

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

 

Косвенные методы определения значений функции принадлежности используются в случаях, когда нет элементарных измеримых свойств, через которые определяется интересующее нас нечеткое множество. Как правило, это методы попарных сравнений. Если бы значения функций принадлежности были нам известны, например, µ A(xi) = wi, i=1,2,...,n, то попарные сравнения можно представить матрицей отношений A = {aij}, где aij=wi /wj (операция деления).

На практике эксперт сам формирует матрицу A, при этом предполагается, что диагональные элементы равны 1, а для элементов симметричных относительно диагонали aij = 1/aij, т.е. если один элемент оценивается в n раз сильнее чем другой, то этот последний должен быть в 1/n раз сильнее, чем первый. В общем случае задача сводится к поиску вектора w, удовлетворяющего уравнению вида Аw = λmaxw, где λmax - наибольшее собственное значение матрицы A. Поскольку матрица А положительна по построению, решение данной задачи существует и является положительным.

Пример. Рассмотрим нечеткое множество A , соответствующее понятию «расход теплоносителя небольшой». Объект x – расход теплоносителя, x0; x max – множество физически возможных значений скорости изменения температуры. Эксперту предъявляются различные значения расхода теплоносителя x и задается вопрос: с какой степенью уверенности 0 ≤ μ A (x) ≤ 1 эксперт считает, что данный расход теплоносителя x небольшой. При μ A (x) = 0 – эксперт абсолютно уверен, что расход теплоносителя x небольшой. При μ A (x) = 1 – эксперт абсолютно уверен, что расход теплоносителя x нельзя классифицировать как небольшой.

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

Включение.

Пусть A и B - нечеткие множества на универсальном множестве E.

Говорят, что A содержится в B, если .

Обозначение: .

Иногда используют термин "доминирование", т.е. в случае когда A Ì B, говорят, что B доминирует A.

Равенство.

A и B равны, если "xÎE mA(x) = mB (x).

Обозначение: A = B.

Дополнение.

Пусть М = [0,1], A и B - нечеткие множества, заданные на E. A и B дополняют друг друга, если

"xÎE mA(x) = 1 - m B(x).

Обозначение:  или .

Очевидно, что . (Дополнение определено для M = [0,1], но очевидно, что его можно определить для любого упорядоченного M).

Пересечение.

AÇB - наибольшее нечеткое подмножество, содержащееся одновременно в A и B.

mAÇB(x) = min( mA(x), m B(x)).

Объединение. 

А È В - наименьшее нечеткое подмножество, включающее как А, так и В, с функцией принадлежности:

mAÈ B(x) = max(mA(x), m B(x)).

Разность.

А - B = АÇ с функцией принадлежности:

mA-B(x) = mA Ç (x) = min( mA(x), 1 - m B(x)).

Дизъюнктивная сумма. 

АÅB = (А - B)È(B - А) = (А Ç) È(Ç B) с функцией принадлежности:

mA-B(x) = max{[min{m A(x), 1 - mB(x)}];[min{1 - mA(x), mB(x)}] }

Примеры.

Пусть:

A = 0,4/ x1 + 0,2/ x2+0/ x3+1/ x4;

B = 0,7/ x1+0,9/ x2+0,1/ x3+1/ x4;

C = 0,1/ x1+1/ x2+0,2/ x3+0,9/ x4.

Здесь:

AÌB, т.е. A содержится в B или B доминирует A, С несравнимо ни с A, ни с B, т.е. пары {A, С} и {A, С} - пары недоминируемых нечетких множеств.

 

A ¹ B ¹ C.

 = 0,6/ x1 + 0,8/x2 + 1/x3 + 0/x4;

 = 0,3/x1 + 0,1/x2 + 0,9/x3 + 0/x4.

AÇB  = 0,4/x1 + 0,2/x2 + 0/x3 + 1/x4.

АÈВ  = 0,7/x1 + 0,9/x2 + 0,1/x3 + 1/x4.

А - В = АÇ  = 0,3/x1 + 0,1/x2 + 0/x3 + 0/x4;

В - А = Ç В = 0,6/x1 + 0,8/x2 + 0,1/x3 + 0/x4.

А Å В = 0,6/x1 + 0,8/x2 + 0,1/x3 + 0/x4.

Наглядное представление операций над нечеткими множествами

   Для нечетких множеств можно строить визуальное представление. Рассмотрим прямоугольную систему координат, на оси ординат которой откладываются значения mA(x), на оси абсцисс в произвольном порядке расположены элементы E (мы уже использовали такое представление в примерах нечетких множеств). Если E по своей природе упорядочено, то этот порядок желательно сохранить в расположении элементов на оси абсцисс. Такое представление делает наглядными простые операции над нечеткими множествами.

 

 

 

 

На верхней части рисунка заштрихованная часть соответствует нечеткому множеству A и, если говорить точно, изображает область значений А и всех нечетких множеств, содержащихся в A. На нижней - даны , AÇ , AÈ .

Свойства операций È и Ç.

Пусть А, В, С - нечеткие множества, тогда выполняются следующие свойства:

 - коммутативность;

 - ассоциативность;

 - идемпотентность;

 - дистрибутивность;

AÈÆ = A, где Æ - пустое множество, т.е. (x) = 0 ">xÎE;

AÇÆ = Æ;

AÇE = A, где E - универсальное множество;

AÈE = E;

 - теоремы де Моргана.

В отличие от четких множеств, для нечетких множеств в общем случае:

AÇ ¹ Æ,

AÈ ¹ E.

Замечание. Введенные выше операции над нечеткими множествами основаны на использовании операций max и min. В теории нечетких множеств разрабатываются вопросы построения обобщенных, параметризованных операторов пересечения, объединения и дополнения, позволяющих учесть разнообразные смысловые оттенки соответствующих им связок "и", "или", "не".

Расстояние между нечеткими множествами

Пусть A и B - нечеткие подмножества универсального множества E. Введем понятие расстояния r(A, B) между нечеткими множествами. При введении расстояния обычно предъявляются следующие требования:

r(A, B) ³ 0  - неотрицательность;

r(A, B) = r(B, A) - симметричность;

r(A, B) < r(A, C) + r(C, B).

К этим трем требованиям можно добавить четвертое: r(A, A) = 0.

Евклидово или квадратичное расстояние:

e(A, B) = , e(A, B)Î[0, ].

Перейдем к индексам нечеткости или показателям размытости нечетких множеств.

Если объект х обладает свойством R (порождающим нечеткое множество A) лишь в частной мере, т.е.

0<mA(x)<1, то внутренняя неопределенность, двусмысленность объекта х в отношении R проявляется в том, что он, хотя и в разной степени, принадлежит сразу двум противоположным классам: классу объектов, "обладающих свойством R", и классу объектов, "не обладающих свойством R". Эта двусмысленность максимальна, когда степени принадлежности объекта обеим классам равны, т.е. mA(x) = (x) = 0,5, и минимальна, когда объект принадлежит только одному классу, т.е. либо mA(x) = 1 и (x) = 0, либо mA(x) = 0 и (x) = 1.

3. Лингвистическая переменная

В нечеткой логике значения любой величины представляются не числами, а словами естественного языка и называются ТЕРМАМИ. Так, значением лингвистической переменной ДИСТАНЦИЯ являются термы ДАЛЕКО, БЛИЗКО и т. д.

Конечно, для реализации лингвистической переменной необходимо определить точные физические значения ее термов. Пусть, например, переменная ДИСТАНЦИЯ может принимать любое значение из диапазона от 0 до 60 метров. Как же нам поступить? Согласно положениям теории нечетких множеств, каждому значению расстояния из диапазона в 60 метров может быть поставлено в соответствие некоторое число, от нуля до единицы, которое определяет СТЕПЕНЬ ПРИНАДЛЕЖНОСТИ данного физического значения расстояния (допустим, 10 метров) к тому или иному терму лингвистической переменной ДИСТАНЦИЯ. В нашем случае расстоянию в 50 метров можно задать степень принадлежности к терму ДАЛЕКО, равную 0,85, а к терму БЛИЗКО - 0,15. Конкретное определение степени принадлежности возможно только при работе с экспертами. При обсуждении вопроса о термах лингвистической переменной интересно прикинуть, сколько всего термов в переменной необходимо для достаточно точного представления физической величины. В настоящее время сложилось мнение, что для большинства приложений достаточно 3-7 термов на каждую переменную. Минимальное значение числа термов вполне оправданно. Такое определение содержит два экстремальных значения (минимальное и максимальное) и среднее. Для большинства применений этого вполне достаточно. Что касается максимального количества термов, то оно не ограничено и зависит целиком от приложения и требуемой точности описания системы. Число же 7 обусловлено емкостью кратковременной памяти человека, в которой, по современным представлениям, может храниться до семи единиц информации.

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

Нечеткая переменная характеризуется тройкой <α, X, A>, где

α - наименование переменной,

X - универсальное множество (область определения α),

A - нечеткое множество на X, описывающее ограничения (т.е. μ A(x)) на значения нечеткой переменной α.

Лингвистической переменной называется набор <β ,T,X,G,M>, где

β - наименование лингвистической переменной;

Т - множество ее значений (терм-множество), представляющих собой наименования нечетких переменных, областью определения каждой из которых является множество X.

Множество T называется базовым терм-множеством лингвистической переменной;

G - синтаксическая процедура, позволяющая оперировать элементами терм-множества T, в частности, генерировать новые термы (значения). Множество TÈ G(T), где G(T) - множество сгенерированных термов, называется расширенным терм-множеством лингвистической переменной;

М - семантическая процедура, позволяющая превратить каждое новое значение лингвистической переменной, образуемое процедурой G, в нечеткую переменную, т.е. сформировать соответствующее нечеткое множество.

 

Замечание. Чтобы избежать большого количества символов

символ β используют как для названия самой переменной, так и для всех ее значений;

пользуются одним и тем же символом для обозначения нечеткого множества и его названия, например терм "молодой", являющийся значением лингвистической переменной β = "возраст", одновременно есть и нечеткое множество М ("молодой").

Присвоение нескольких значений символам предполагает, что контекст позволяет разрешить возможные неопределенности.

Пример: Пусть эксперт определяет толщину выпускаемого изделия с помощью понятий "малая толщина", "средняя толщина" и "большая толщина", при этом минимальная толщина равна 10 мм, а максимальная - 80 мм.

Формализация такого описания может быть проведена с помощью следующей лингвистической переменной < β, T, X, G, M>, где

β - толщина изделия;

T - {"малая толщина", "средняя толщина", "большая толщина"};

X - [10, 80];

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

М - процедура задания на X = [10, 80] нечетких подмножеств А1="малая толщина", А2 = "средняя толщина", А3="большая толщина", а также нечетких множеств для термов из G(T) в соответствии с правилами трансляции нечетких связок и модификаторов "и", "или", "не", "очень", "слегка" и др. операции над нечеткими множествами вида: А Ç В, АÈ В, , CON А = А2 , DIL А = А0,5 и др.

 

Замечание. Наряду с рассмотренными выше базовыми значениями лингвистической переменной "толщина" (Т={"малая толщина", "средняя толщина", "большая толщина"}) возможны значения, зависящие от области определения Х. В данном случае значения лингвистической переменной "толщина изделия" могут быть определены как "около 20 мм", "около 50 мм", "около 70 мм", т.е. в виде нечетких чисел.

Продолжение примера:

 

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

"малая толщина" = А1 , "средняя толщина"= А2, " большая толщина"= А3 .

 

Функция принадлежности:

нечеткое множество "малая или средняя толщина" = А11.

 

4. Нечеткое число

Нечеткие числа - нечеткие переменные, определенные на числовой оси, т.е. нечеткое число определяется как нечеткое множество А на множестве действительных чисел R с функцией принадлежности mA(x)Î[0,1], где x - действительное число, т.е. xÎR.  

Нечеткое число А нормально, если μA(x)=1, выпуклое, если для любых x≤y≤z выполняется μA(x)≥ μA(y)∩ μA(z).

Подмножество SAÌR называется носителем нечеткого числа А, если

S = {xA(x)>0}.

Нечеткое число А унимодально, если условие mA(x) = 1 справедливо только для одной точки действительной оси.

Выпуклое нечеткое число А называется нечетким нулем, если

mA(0) = (mA(x)).

 

Нечеткое число А положительно, если "xÎSA, x>0 и отрицательно, если "xÎSA, x<0.

Операции над нечеткими числами

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

Пусть А и В - нечеткие числа, и - нечеткая операция, соответствующая операции над обычными числами. Тогда

С = АB ÛmC(z)=(mA(x)LmB(y))).

 

Отсюда:

С = ÛmC(z)=(mA(x)LmB(y))),

 

С = Û mC(z)=(mA(x)LmB(y))),

 

С = Û mC(z)=(mA(x)L mB(y))),

 

С = Û mC(z)=(mA(x)LmB(y))),

 

С = Û mC(z)=(mA(x)LmB(y))),

 

С = Û mC(z)=(mA(x)LmB(y))).

Замечание. Решение задач математического моделирования сложных систем с применением аппарата нечетких множеств требует выполнения большого объема операций над разного рода лингвистическими и другими нечеткими переменными. Для удобства исполнения операций, а также для ввода-вывода и хранения данных, желательно работать с функциями принадлежности стандартного вида.

Нечеткие множества, которыми приходится оперировать в большинстве задач, являются, как правило, унимодальными и нормальными. Одним из возможных методов аппроксимации унимодальных нечетких множеств является аппроксимация с помощью функций (L-R)-типа.

Список литературы

1. Орлов А.И. Теория принятия решений. Учебное пособие / А.И.Орлов.- М.: Издательство «Экзамен», 2005. - 656 с.

2. Борисов А. Н., Кроумберг О. А., Федоров И. П. Принятие решений на основе нечетких моделей: примеры использования. – Рига: Зинатве, 1990. – 184 с.

3. Андрейчиков А.В., Андрейчикова О.Н. Анализ, синтез, планирование решений в экономике — М.: Финансы и статистика, 2000. — 368 с.

4. Нечеткие множества в моделях управления и искусственного интеллекта/Под ред. Д. А. Поспелова. — М.: Наука, 1986. — 312 с.

5. Боросов А.Н. Принятие решений на основе нечетких моделей: Примеры использования. Рига: Зинанте, 1990.

6. Вопросы анализа и процедуры принятия решений/Под ред. И.Ф. Шахнова. М.: Мир, 1976.

7. Кофман А. Введение в теорию нечетких множеств/Пер, с франц. М,: Радио и связь, 1982.

9. Лебег А. Об измерении величин. - М.: Учпедгиз, 1960. - 204 с.

10. Орлов А.И. Основания теории нечетких множеств (обобщение аппарата Заде). Случайные толерантности. – В сб.: Алгоритмы многомерного статистического анализа и их применения. - М.: Изд-во ЦЭМИ АН СССР, 1975. - С.169-175.

 

 

 

http://nrsu.bstu.ru/chap23.html