Нечеткая логика на практике. Что такое нечеткая логика (fuzzy logic): принцип работы, примеры, применение

Лекция № 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 = ). Функция принадлежности указывает степень (или уровень) принадлежности элемента x подмножеству A . Множество M называют множеством принадлежностей . Если M = {0,1} , то нечеткое подмножество A может рассматриваться как обычное или четкое множество.

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

Пусть E = {x 1 , x 2 , x 3 , x 4 , x 5 } , M = ; A - нечеткое множество, для которого

µ A (x 1)=0,3;

µ A (x 2)=0;

µ A (x 3)=1;

µ A (x 4)=0,5;

µ A (x 5)=0,9.

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

A = {0,3/x 1 ; 0/x 2 ; 1/x 3 ; 0,5/x 4 ; 0,9/x 5 } или

A = 0,3/x 1 + 0/x 2 + 1/x 3 + 0,5/x 4 + 0,9/x 5 , или

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

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

Пусть M = и 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} , x E .

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

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

1) Пусть E = {0,1,2,..,10}, M =. Нечеткое множество "несколько" можно определить следующим образом: "несколько " = 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" = , формируя векторную функцию принадлежности { µ A (x 1 ), µ A (x 2 ),... µ A (x 9 )}.

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

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

На практике эксперт сам формирует матрицу A , при этом предполагается, что диагональные элементы равны 1, а для элементов симметричных относительно диагонали a ij = 1/a ij , т.е. если один элемент оценивается в n раз сильнее чем другой, то этот последний должен быть в 1/n раз сильнее, чем первый. В общем случае задача сводится к поиску вектора w , удовлетворяющего уравнению вида А w = λ max w , где λ 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 m A (x ) = m B (x ).

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

Дополнение.

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

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

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

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

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

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

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

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

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

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

Разность.

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

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

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

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

m A-B (x ) = max{; }

Примеры.

A = 0,4/ x 1 + 0,2/ x 2 +0/ x 3 +1/ x 4 ;

B = 0,7/ x 1 +0,9/ x 2 +0,1/ x 3 +1/ x 4 ;

C = 0,1/ x 1 +1/ x 2 +0,2/ x 3 +0,9/ x 4 .

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

0,6/ x 1 + 0,8/x 2 + 1/x 3 + 0/x 4 ;

0,3/x 1 + 0,1/x 2 + 0,9/x 3 + 0/x 4 .

A Ç B = 0,4/x 1 + 0,2/x 2 + 0/x 3 + 1/x 4 .

А È В = 0,7/x 1 + 0,9/x 2 + 0,1/x 3 + 1/x 4 .

А - В = А Ç = 0,3/x 1 + 0,1/x 2 + 0/x 3 + 0/x 4 ;

В - А В = 0,6/x 1 + 0,8/x 2 + 0,1/x 3 + 0/x 4 .

А Å В = 0,6/x 1 + 0,8/x 2 + 0,1/x 3 + 0/x 4 .

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

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

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

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

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

Коммутативность;

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

Идемпотентность;

Дистрибутивность;

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

A Ç E = 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 )Î.

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

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

0< m A (x ) <1, то внутренняя неопределенность, двусмысленность объекта х в отношении R проявляется в том, что он, хотя и в разной степени, принадлежит сразу двум противоположным классам: классу объектов, "обладающих свойством R ", и классу объектов, "не обладающих свойством R ". Эта двусмысленность максимальна, когда степени принадлежности объекта обеим классам равны, т.е. m A (x ) = (x ) = 0,5, и минимальна, когда объект принадлежит только одному классу, т.е. либо m A (x ) = 1 и (x ) = 0, либо m A (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 - {"малая толщина ", "средняя толщина ", "большая толщина "};

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

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

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

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

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

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

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

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

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

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

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

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

S = {x /μ A (x )>0}.

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

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

m A (0) = (m A (x )).

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

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

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

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

С = АB Ûm C (z )=(m A (x )Lm B (y ))).

С = Ûm C (z )=(m A (x )Lm B (y ))),

С = Û m C (z )=(m A (x )Lm B (y ))),

С = Û m C (z )=(m A (x )L m B (y ))),

С = Û m C (z )=(m A (x )Lm B (y ))),

С = Û m C (z )=(m A (x )Lm B (y ))),

С = Û m C (z )=(m A (x )Lm B (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.

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

Человеческое мышление - это совмещение интуиции и строгости, которое, с одной стороны, рассматривает мир в целом или по аналогии, а с другой стороны - логически и последовательно и, значит, представляет собой нечеткий механизм. Законы мышления, которые мы захотели бы включить в программы компьютеров, должны быть обязательно формальными; законы мышления, проявляемые в диалоге человека с человеком - нечеткие. Можем ли мы поэтому утверждать, что нечеткая логика может быть хорошо приспособлена к человеческому диалогу? Да - если математическое обеспечение , разработанное с учетом нечеткой логики , станет операционным и сможет быть технически реализовано, то человеко-машинное общение станет намного более удобным, быстрым и лучше приспособленным к решению проблем.

Термин " нечеткая логика " используется обычно в двух различных значениях. В узком смысле, нечеткая логика - это логическое исчисление, являющееся расширением многозначной логики. В ее широком смысле, который сегодня является преобладающим в использовании, нечеткая логика равнозначна теории нечетких множеств. С этой точки зрения, нечеткая логика в узком смысле является разделом нечеткой логики в широком смысле.

Определение . Любая нечеткая переменная характеризуется тройкой

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

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

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

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

Нечеткая логика (fuzzy logic) - это надмножество классической булевой логики. Она расширяет возможности классической логики, позволяя применять концепцию неопределенности в логических выводах. Употребле­ние термина "нечеткий" применительно к математической теории может ввес­ти в заблуждение. Более точно ее суть характеризовало бы название "непре­рывная логика". Аппарат нечеткой логики столь же строг и точен, как и класси­ческий, но вместе со значениями "ложь" и "истина" он позволяет оперировать значениями в промежутке между ними. Говоря образно, нечеткая логика по­зволяет ощущать все оттенки окружающего мира, а не только чистые цвета.

Нечеткая логика как новая область математики была представлена в 60-х го­дах профессором калифорнийского университета Лотфи Заде (Lotfi Zadeh). Пер­воначально она разрабатывалась как средство моделирования неопределенности естественного языка, однако впоследствии круг задач, в которых нечеткая логи­ка нашла применение, значительно расширился. В настоящее время она исполь­зуется для управления линейными и нелинейными системами реального време­ни, при решении задач анализа данных, распознавания, исследования операций.

Часто для иллюстрации связи нечеткой логики с естественными представ­лениями человека об окружающем мире приводят пример о пустыне. Опреде­лим понятие "пустыня" как "бесплодная территория, покрытая песком". Те­перь рассмотрим простейшее высказывание: "Сахара - это пустыня". Нельзя не согласиться с ним, принимая во внимание данное выше определение. Пред­положим, что с поверхности Сахары удалена одна песчинка. Осталась ли Саха­ра пустыней? Скорее всего, да. Продолжая удалять песчинки одну за другой, всякий раз оцениваем справедливость приведенного ранее высказывания. По прошествии определенного промежутка времени песка в Сахаре не останется и высказывание станет ложным. Но после какой именно песчинки его истин­ность меняется? В реальной жизни с удалением одной песчинки пустыня не исчезает. Пример показывает, что традиционная логика не всегда согласуется с представлениями человека. Для оценки степени истинности высказываний ес­тественный язык имеет специальные средства (некоторые наречия и обороты, например: "в некоторой степени", "очень" и др.). С возникновением нечеткой логики они появились и в математике.

Одно из базовых понятий традиционной логики - понятие подмножества. Подобно этому в основе нечеткой логики лежит теория нечетких подмножеств (нечетких множеств). Эта теория занимается рассмотрением множеств, опре­деляемых небинарными отношениями вхождения. Это означает, что принима­ется во внимание не просто то, входит элемент во множество или не входит, но и степень его вхождения, которая может изменяться от 0 до 1.


Пусть S - множество с конечным числом элементов, S ={s 1 , s 2 ,..., s n }, где n - число элементов (мощность) множества S . В классичес­кой теории множеств подмножество U множества S может быть определено как отображение элементов S на множество В = {0, 1}:

U: S => В.

Это отображение может быть представлено множеством упорядоченных пар вида:

{s i ,m ui }, iÎ,

где s i - i-й элемент множества S ; n - мощность множества S ; m Ui - элемент множества В = {0, 1}. Если m Ui = 1, то s i является элементом подмножества U . Элемент "0" множества В используется для обозначения того, что s i не входит в подмножество U . Проверка истинности предиката "s k ÎU " осуществляется пу­тем нахождения пары, в которой s k - первый элемент. Если для этой пары m Uk =l, то значением предиката будет "истина", в противном случае - "ложь".

Если U - подмножество S , то U может быть представлено n-мерным векто­ром (m U 1 , m U 2 ,…, m Un), где i-й элемент вектора равен "1", если соответствую­щий элемент множества S входит и в U , и "0" в противном случае. Таким обра­зом, U может быть однозначно представлено точкой в n-мерном бинарном ги­перкубе В n , В = {0, 1} (рисунок 1).

Рисунок 1 - Графическое представление традиционного множества

Нечеткое подмножество F может быть представлено как отображение эле­ментов множества S на интервал I = . Это отображение определяется мно­жеством упорядоченных пар: {s i ,m F ,(s i)}, iÎ, где s i - i-й элемент множества S ; n - мощность множества S ; m F (s i) Î -степень вхождения элемента s i в множество F . Значение m F (s i), равное 1, озна­чает полное вхождение, m F (s i) = 0 указывает на то, что элемент s i не принадле­жит множеству F . Часто отображение задается функцией m F (x) принадлежнос­ти х нечеткому множеству F . В силу этого термины "нечеткое подмножество" и "функция принадлежности" употребляются как синонимы. Степень истиннос­ти предиката "s k ÎF " определяется путем нахождения парного элементу s k зна­чения m F (s k), определяющего степень вхождения s k в F .

Обобщая геометрическую интерпретацию традиционного подмножества на не­четкий случай, получаем представление F точкой в гиперкубе I n , I = . В отличие от традиционных подмножеств точки, изображающие нечеткие подмножества, мо­гут находиться не только на вершинах гиперкуба, но и внутри него (рисунок 2).

Рисунок 2 - Графическое представление нечеткого множества

Рассмотрим пример определения нечеткого подмножества. Имеется мно­жество всех людей S . Определим нечеткое подмножество Т всех высоких лю­дей этого множества. Введем для каждого человека степень его принадлежно­сти подмножеству Т . Для этого зададим функцию принадлежности m Т (h), оп­ределяющую, в какой степени можно считать высоким человека ростом h сан­тиметров.

(1)

где h - рост конкретного человека в сантиметрах.

График этой функции пред­ставлен на рисунке 3.

Рисунок 3 - График функции принадлежности rn T (h)

Пусть рост Михаила - 163 см, тогда истинность высказывания "Михаил высок" будет равна 0.21. Использованная в данном случае функция принад­лежности тривиальна. При решении большинства реальных задач подобные функции имеют более сложный вид, кроме того, число их аргументов может быть большим.

Методы построения функций принадлежности для нечетких подмножеств довольно разнообразны. В большинстве случаев они отражают субъективные представления экспертов о предметной области. Так, например, кому-то чело­век ростом 180 см может показаться высоким, а кому-то - нет. Однако часто такая субъективность помогает снизить степень неопределенности при реше­нии слабо формализованных задач. Как правило, для задания функций принад­лежности используются типовые зависимости, параметры которых определя­ются путем обработки мнений экспертов. Представление произвольных функ­ций при реализации автоматизированных систем часто затруднено, поэтому в реальных разработках такие зависимости аппроксимируются кусочно-линей­ными функциями.

Необходимо осознавать разницу между нечеткой логикой и теорией веро­ятностей. Заключается она в различии понятий вероятности и степени принад­лежности. Вероятность определяет, насколько возможен один из нескольких взаимоисключающих исходов или одно из множества значений. Например, может определяться вероятность того, что утверждение истинно. Утверждение может быть либо истинным, либо ложным. Степень принадлежности показы­вает, насколько то или иное значение принадлежит определенному классу (под­множеству). Например, при определении истинности утверждения ее возмож­ные значения не ограничены "ложью" и "истиной", а могут попадать и в проме­жуток между ними. Еще одно различие выражено в математических свойствах этих понятий. В отличие от вероятности для степени принадлежности не тре­буется выполнение аксиомы аддитивности.

Математическая теория нечетких множеств (fuzzy sets) и нечеткая логика (fuzzy logic) являются обобщениями классической теории множеств и классической формальной логики. Данные понятия были впервые предложены американским ученым Лотфи Заде (Lotfi Zadeh) в 1965 г. Основной причиной появления новой теории стало наличие нечетких и приближенных рассуждений при описании человеком процессов, систем, объектов.

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

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

Триумфальное шествие нечеткой логики по миру началось после доказательства в конце 80-х Бартоломеем Коско знаменитой теоремы FAT (Fuzzy Approximation Theorem). В бизнесе и финансах нечеткая логика получила признание после того как в 1988 году экспертная система на основе нечетких правил для прогнозирования финансовых индикаторов единственная предсказала биржевой крах. И количество успешных фаззи-применений в настоящее время исчисляется тысячами.

Математический аппарат

Характеристикой нечеткого множества выступает функция принадлежности (Membership Function). Обозначим через MF c (x) – степень принадлежности к нечеткому множеству C, представляющей собой обобщение понятия характеристической функции обычного множества. Тогда нечетким множеством С называется множество упорядоченных пар вида C={MF c (x)/x}, MF c (x) . Значение MF c (x)=0 означает отсутствие принадлежности к множеству, 1 – полную принадлежность.

Проиллюстрируем это на простом примере. Формализуем неточное определение "горячий чай". В качестве x (область рассуждений) будет выступать шкала температуры в градусах Цельсия. Очевидно, что она будет изменяется от 0 до 100 градусов. Нечеткое множество для понятия "горячий чай" может выглядеть следующим образом:

C={0/0; 0/10; 0/20; 0,15/30; 0,30/40; 0,60/50; 0,80/60; 0,90/70; 1/80; 1/90; 1/100}.

Так, чай с температурой 60 С принадлежит к множеству "Горячий" со степенью принадлежности 0,80. Для одного человека чай при температуре 60 С может оказаться горячим, для другого – не слишком горячим. Именно в этом и проявляется нечеткость задания соответствующего множества.

Для нечетких множеств, как и для обычных, определены основные логические операции. Самыми основными, необходимыми для расчетов, являются пересечение и объединение.

Пересечение двух нечетких множеств (нечеткое "И"): A B: MF AB (x)=min(MF A (x), MF B (x)).
Объединение двух нечетких множеств (нечеткое "ИЛИ"): A B: MF AB (x)=max(MF A (x), MF B (x)).

В теории нечетких множеств разработан общий подход к выполнению операторов пересечения, объединения и дополнения, реализованный в так называемых треугольных нормах и конормах. Приведенные выше реализации операций пересечения и объединения – наиболее распространенные случаи t-нормы и t-конормы.

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

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

  • названия;
  • множества своих значений, которое также называется базовым терм-множеством T. Элементы базового терм-множества представляют собой названия нечетких переменных;
  • универсального множества X;
  • синтаксического правила G, по которому генерируются новые термы с применением слов естественного или формального языка;
  • семантического правила P, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества X.

Рассмотрим такое нечеткое понятие как "Цена акции". Это и есть название лингвистической переменной. Сформируем для нее базовое терм-множество, которое будет состоять из трех нечетких переменных: "Низкая", "Умеренная", "Высокая" и зададим область рассуждений в виде X= (единиц). Последнее, что осталось сделать – построить функции принадлежности для каждого лингвистического терма из базового терм-множества T.

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

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

$$MF\,(x) = \,\begin{cases} \;1\,-\,\frac{b\,-\,x}{b\,-\,a},\,a\leq \,x\leq \,b &\ \\ 1\,-\,\frac{x\,-\,b}{c\,-\,b},\,b\leq \,x\leq \,c &\ \\ 0, \;x\,\not \in\,(a;\,c)\ \end{cases}$$

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

Аналогично для задания трапецеидальной функции принадлежности необходима четверка чисел (a,b,c,d):

$$MF\,(x)\,=\, \begin{cases} \;1\,-\,\frac{b\,-\,x}{b\,-\,a},\,a\leq \,x\leq \,b & \\ 1,\,b\leq \,x\leq \,c & \\ 1\,-\,\frac{x\,-\,c}{d\,-\,c},\,c\leq \,x\leq \,d &\\ 0, x\,\not \in\,(a;\,d) \ \end{cases}$$

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

Функция принадлежности гауссова типа описывается формулой

$$MF\,(x) = \exp\biggl[ -\,{\Bigl(\frac{x\,-\,c}{\sigma}\Bigr)}^2\biggr]$$

и оперирует двумя параметрами. Параметр c обозначает центр нечеткого множества, а параметр отвечает за крутизну функции.

Совокупность функций принадлежности для каждого терма из базового терм-множества T обычно изображаются вместе на одном графике. На рисунке 3 приведен пример описанной выше лингвистической переменной "Цена акции", на рисунке 4 – формализация неточного понятия "Возраст человека". Так, для человека 48 лет степень принадлежности к множеству "Молодой" равна 0, "Средний" – 0,47, "Выше среднего" – 0,20.

Количество термов в лингвистической переменной редко превышает 7.

Нечеткий логический вывод

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

  1. Существует хотя бы одно правило для каждого лингвистического терма выходной переменной.
  2. Для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве предпосылки (левая часть правила).

В противном случае имеет место неполная база нечетких правил.

Пусть в базе правил имеется m правил вида:
R 1: ЕСЛИ x 1 это A 11 … И … x n это A 1n , ТО y это B 1

R i: ЕСЛИ x 1 это A i1 … И … x n это A in , ТО y это B i

R m: ЕСЛИ x 1 это A i1 … И … x n это A mn , ТО y это B m ,
где x k , k=1..n – входные переменные; y – выходная переменная; A ik – заданные нечеткие множества с функциями принадлежности.

Результатом нечеткого вывода является четкое значение переменной y * на основе заданных четких значений x k , k=1..n.

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

Алгоритмы нечеткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефазификации. Разработаны модели нечеткого вывода Мамдани, Сугено, Ларсена, Цукамото.

Рассмотрим подробнее нечеткий вывод на примере механизма Мамдани (Mamdani). Это наиболее распространенный способ логического вывода в нечетких системах. В нем используется минимаксная композиция нечетких множеств. Данный механизм включает в себя следующую последовательность действий.

  1. Процедура фазификации: определяются степени истинности, т.е. значения функций принадлежности для левых частей каждого правила (предпосылок). Для базы правил с m правилами обозначим степени истинности как A ik (x k), i=1..m, k=1..n.
  2. Нечеткий вывод. Сначала определяются уровни "отсечения" для левой части каждого из правил:

    $$alfa_i\,=\,\min_i \,(A_{ik}\,(x_k))$$

    $$B_i^*(y)= \min_i \,(alfa_i,\,B_i\,(y))$$

    Композиция, или объединение полученных усеченных функций, для чего используется максимальная композиция нечетких множеств:

    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

    где MF(y) – функция принадлежности итогового нечеткого множества.

    Дефазификация, или приведение к четкости. Существует несколько методов дефазификации. Например, метод среднего центра, или центроидный метод:
    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

Геометрический смысл такого значения – центр тяжести для кривой MF(y). Рисунок 6 графически показывает процесс нечеткого вывода по Мамдани для двух входных переменных и двух нечетких правил R1 и R2.

Интеграция с интеллектуальными парадигмами

Гибридизация методов интеллектуальной обработки информации – девиз, под которым прошли 90-е годы у западных и американских исследователей. В результате объединения нескольких технологий искусственного интеллекта появился специальный термин – "мягкие вычисления" (soft computing), который ввел Л. Заде в 1994 году. В настоящее время мягкие вычисления объединяют такие области как: нечеткая логика, искусственные нейронные сети, вероятностные рассуждения и эволюционные алгоритмы. Они дополняют друг друга и используются в различных комбинациях для создания гибридных интеллектуальных систем.

Влияние нечеткой логики оказалось, пожалуй, самым обширным. Подобно тому, как нечеткие множества расширили рамки классической математическую теорию множеств, нечеткая логика "вторглась" практически в большинство методов Data Mining, наделив их новой функциональностью. Ниже приводятся наиболее интересные примеры таких объединений.

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

Нечеткие нейронные сети (fuzzy-neural networks) осуществляют выводы на основе аппарата нечеткой логики, однако параметры функций принадлежности настраиваются с использованием алгоритмов обучения НС. Поэтому для подбора параметров таких сетей применим метод обратного распространения ошибки, изначально предложенный для обучения многослойного персептрона. Для этого модуль нечеткого управления представляется в форме многослойной сети. Нечеткая нейронная сеть как правило состоит из четырех слоев: слоя фазификации входных переменных, слоя агрегирования значений активации условия, слоя агрегирования нечетких правил и выходного слоя.

Наибольшее распространение в настоящее время получили архитектуры нечеткой НС вида ANFIS и TSK. Доказано, что такие сети являются универсальными аппроксиматорами.

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

Адаптивные нечеткие системы

Классические нечеткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удается обеспечить. Адаптивные нечеткие системы (adaptive fuzzy systems) решают эту проблему. В таких системах подбор параметров нечеткой системы производится в процессе обучения на экспериментальных данных. Алгоритмы обучения адаптивных нечетких систем относительно трудоемки и сложны по сравнению с алгоритмами обучения нейронных сетей, и, как правило, состоят из двух стадий: 1. Генерация лингвистических правил; 2. Корректировка функций принадлежности. Первая задача относится к задаче переборного типа, вторая – к оптимизации в непрерывных пространствах. При этом возникает определенное противоречие: для генерации нечетких правил необходимы функции принадлежности, а для проведения нечеткого вывода – правила. Кроме того, при автоматической генерации нечетких правил необходимо обеспечить их полноту и непротиворечивость.

Значительная часть методов обучения нечетких систем использует генетические алгоритмы. В англоязычной литературе этому соответствует специальный термин – Genetic Fuzzy Systems.

Значительный вклад в развитие теории и практики нечетких систем с эволюционной адаптацией внесла группа испанских исследователей во главе с Ф. Херрера (F. Herrera).

Нечеткие запросы

Нечеткие запросы к базам данных (fuzzy queries) – перспективное направление в современных системах обработки информации. Данный инструмент дает возможность формулировать запросы на естественном языке, например: "Вывести список недорогих предложений о съеме жилья близко к центру города", что невозможно при использовании стандартного механизма запросов. Для этой цели разработана нечеткая реляционная алгебра и специальные расширения языков SQL для нечетких запросов. Большая часть исследований в этой области принадлежит западноевропейским ученым Д. Дюбуа и Г. Праде.

Нечеткие ассоциативные правила

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

Нечеткие когнитивные карты

Нечеткие когнитивные карты (fuzzy cognitive maps) были предложены Б. Коско в 1986 г. и используются для моделирования причинных взаимосвязей, выявленных между концептами некоторой области. В отличие от простых когнитивных карт, нечеткие когнитивные карты представляют собой нечеткий ориентированный граф, узлы которого являются нечеткими множествами. Направленные ребра графа не только отражают причинно-следственные связи между концептами, но и определяют степень влияния (вес) связываемых концептов. Активное использование нечетких когнитивных карт в качестве средства моделирования систем обусловлено возможностью наглядного представления анализируемой системы и легкостью интерпретации причинно-следственных связей между концептами. Основные проблемы связаны с процессом построения когнитивной карты, который не поддается формализации. Кроме того, необходимо доказать, что построенная когнитивная карта адекватна реальной моделируемой системе. Для решения данных проблем разработаны алгоритмы автоматического построения когнитивных карт на основе выборки данных.

Нечеткая кластеризация

Нечеткие методы кластеризации, в отличие от четких методов (например, нейронные сети Кохонена), позволяют одному и тому же объекту принадлежать одновременно нескольким кластерам, но с различной степенью. Нечеткая кластеризация во многих ситуациях более "естественна", чем четкая, например, для объектов, расположенных на границе кластеров. Наиболее распространены: алгоритм нечеткой самоорганизации c-means и его обобщение в виде алгоритма Густафсона-Кесселя.

Литература

  • Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. – М.: Мир, 1976.
  • Круглов В.В., Дли М.И. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода. – М.: Физматлит, 2002.
  • Леоленков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. – СПб., 2003.
  • Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. – М., 2004.
  • Масалович А. Нечеткая логика в бизнесе и финансах. www.tora-centre.ru/library/fuzzy/fuzzy-.htm
  • Kosko B. Fuzzy systems as universal approximators // IEEE Transactions on Computers, vol. 43, No. 11, November 1994. – P. 1329-1333.
  • Cordon O., Herrera F., A General study on genetic fuzzy systems // Genetic Algorithms in engineering and computer science, 1995. – P. 33-57.

Нечёткая логика – логика, основанная на теории нечётких множеств. Её предметом является построение моделей приближенных рассуждений человека и использование их в компьютерных системах. В нечёткой логике расширена граница оценки с двузначной (Либо 0, либо 1) до неограниченной многозначной оценки (На интервале ).

Нечёткое множество A в полном пространстве X определяется через функцию принадлежности m A (x):

Логика определения понятия нечёткого множества не содержит какой-либо нечёткости. Вместо указания какого-то конкретного значения (Например 0.8) обычно с помощью нижних и верхних значений задают допустимые пределы оценки (Например ).

В случае нечёткой логики можно создать неограниченное число операций, поэтому в ней не используются базовые операции для записи остальных. Особо важное значение имеют расширения НЕ, И, ИЛИ до нечётких операций. Они называются соответственно – нечёткое отрицание, t-норма и s-норма. Так как число состояний неограниченно, то невозможно описать эти операции с помощью таблицы истинности. Операции поясняются с помощью функций и аксиом, а представляются с помощью графиков.

Аксиоматическое представление нечётких операций:

Нечёткое отрицание

Аксиома N1 сохраняет свойство двузначного НЕ, а N2 – сохраняет правило двойного отрицания. N3 – наиболее существенная: нечёткое отрицание инвертирует последовательность оценок.

Типичная операция нечёткого отрицания – вычитание из 1.

При отрицании значение 0.5 является центральным и обычно x и x θ принимают симметричные значения относительно 0.5.

T-норма.

Аксиома T1 справедлива, как и для чёткого И. T2 и T3 – законы пересечения и объединения. Аксиома T4 является требованием упорядоченности.

Типичной t-нормой является операция min или логическое произведение:

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

S-норма.

Типичной s-нормой является логическая сумма, определяемая операцией max.

Кроме неё существуют алгебраическая сумма, граничная сумма и драстическая сумма:

Как видно из рисунков порядок обратный, нежели в случае t-нормы.

В качестве примеров нечёткого определения можно рассмотреть температуру и работу клапана:

Сходства

Нечёткая логика является обобщением классической чёткой логики. И чёткая и нечёткая логики основаны на множествах и на операциях отношения. Нечёткие операции являются расширением операций чёткой логики.

Различия

В чёткой логике переменные являются полными членными множеств, а в нечёткой – только частичными членами множеств.

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

3. Пример

Сначала мы рассмотрим множество X всех вещественных чисел между 0 и 10, которые мы назовем областью исследования. Теперь, давайте определим подмножество X всех вещественных чисел в амплитуде между 5 и 8.

A =

Теперь представим множество A с помощью символической функции, т.е. эта функция приписывает число 1 или 0 к каждому элементу в X , в зависимости от того, находится ли элемент в подмножестве А или нет. Это приводит к следующей диаграмме:

Мы можем интерпретировать элементы, которым назначено число 1, как элементы которые находятся в множестве А, и элементы, которым назначено число 0, как элементы не в множестве A .

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

В этом примере мы хотим описать множество молодых людей. Более формально мы можем обозначить

B = {множество молодых людей}

Поскольку, вообще, возраст начинается с 0, нижняя граница этого множества должна быть нулевой. Верхнюю границу, с другой стороны, надо определить. На первый раз определим верхнюю границу множества, скажем, 20 лет. Следовательно, мы получаем B как четкий интервал, а именно:

B =

Теперь возникает вопрос: почему кто-то на его 20-ом дне рождения молодой, а на следующий день не молодой? Очевидно, это - структурная проблема, поскольку, если мы перемещаем верхнюю границу от 20 до произвольной точки, мы можем излагать тот же самый вопрос.

Более естественный способ описать множество B состоит в том, чтобы ослабить строгое разделение между молодыми и не молодыми. Мы будем делать это, допуская не только (четкое) решение ДА: он/она находится в множестве молодых , или НЕТ: он/она не в множестве молодых , но более гибких фраз подобно: Хорошо, он/она принадлежит немного больше к множеству молодых или НЕТ, он/она почти не принадлежит к множеству молодых.

В нашем первом примере мы кодировали все элементы Области Исследования 0 или 1. Прямой путь обобщить эту концепцию для нечёткого множества состоит в том, чтобы определить большее количество значений между 0 и 1. Фактически, мы определяем бесконечно многие варианты между 0 и 1, а именно единичный интервал I = .

Интерпретация чисел в нечётком множестве, назначенная всем элементам Области Исследования, более трудная. Конечно, снова число 1 назначено элементу как способ определить элемент, который находится в множестве B и 0 - способ, при котором элемент не определен в множестве B . Все другие значения означают постепенную принадлежность к множеству B .

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

При таком способе 25-летние люди будут все еще молоды на 50 процентов (0.5). Теперь Вы знаете, что такое нечеткое множество.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: