Нечеткая логика на практике. Статья о нечеткой логике обычно грешит двумя вещами
Скачать 2.11 Mb.
|
ВведениеМатематическая теория нечетких множеств (fuzzy sets) и нечеткая логика (fuzzy logic) являются обобщениями классической теории множеств и классической формальной логики. Данные понятия были впервые предложены американским ученым Лотфи Заде (Lotfi Zadeh) в 1965 г. Основной причиной появления новой теории стало наличие нечетких и приближенных рассуждений при описании человеком процессов, систем, объектов. Прежде чем нечеткий подход к моделированию сложных систем получил признание во всем мире, прошло не одно десятилетие с момента зарождения теории нечетких множеств. И на этом пути развития нечетких систем принято выделять три периода. Первый период (конец 60-х–начало 70 годов) характеризуется развитием теоретического аппарата нечетких множеств (Л. Заде, Э. Мамдани, Беллман). Во втором периоде (70–80-е годы) появляются первые практические результаты в области нечеткого управления сложными техническими системами (парогенератор с нечетким управлением). Одновременно стало уделяться внимание вопросам построения экспертных систем, основанных на нечеткой логике, разработке нечетких контроллеров. Нечеткие экспертные системы для поддержки принятия решений находят широкое применение в медицине и экономике. Наконец, в третьем периоде, который длится с конца 80-х годов и продолжается в настоящее время, появляются пакеты программ для построения нечетких экспертных систем, а области применения нечеткой логики заметно расширяются. Она применяется в автомобильной, аэрокосмической и транспортной промышленности, в области изделий бытовой техники, в сфере финансов, анализа и принятия управленческих решений и многих других. Триумфальное шествие нечеткой логики по миру началось после доказательства в конце 80-х Бартоломеем Коско знаменитой теоремы FAT (Fuzzy Approximation Theorem). В бизнесе и финансах нечеткая логика получила признание после того как в 1988 году экспертная система на основе нечетких правил для прогнозирования финансовых индикаторов единственная предсказала биржевой крах. И количество успешных фаззи-применений в настоящее время исчисляется тысячами. Математический аппаратХарактеристикой нечеткого множества выступает функция принадлежности (Membership Function). Обозначим через MF_c(x)MFc(x) — степень принадлежности к нечеткому множеству CC, представляющей собой обобщение понятия характеристической функции обычного множества. Тогда нечетким множеством CC называется множество упорядоченных пар вида C = \left \{ MF_c(x)/x \right \}C={MFc(x)/x}, MF_c(x) [0,1]MFc(x)[0,1]. Значение MF_c(x)=0MFc(x)=0 означает отсутствие принадлежности к множеству, 1 – полную принадлежность. Проиллюстрируем это на простом примере. Формализуем неточное определение «Горячий чай». В качестве xx (область рассуждений) будет выступать шкала температуры в градусах Цельсия. Очевидно, что она будет изменяться от 0 до 100 градусов. Нечеткое множество для понятия «Горячий чай» может выглядеть следующим образом: C= \left \{0/0; 0/10; 0/20; 0.1/30; 0.3/40; 0.6/50; 0.8/60; 0.9/70; 1/80; 1/90; 1/100 \right \}.C={0/0;0/10;0/20;0.1/30;0.3/40;0.6/50;0.8/60;0.9/70;1/80;1/90;1/100}. Так, чай с температурой 60С принадлежит к множеству «Горячий» со степенью принадлежности 0.80. Для одного человека чай при температуре 60С может оказаться горячим, для другого — не слишком горячим. Именно в этом и проявляется нечеткость задания соответствующего множества. Для нечетких множеств, как и для обычных, определены основные логические операции. Самыми основными, необходимыми для расчетов, являются пересечение и объединение. Пересечение двух нечетких множеств (нечеткое «И»): A B: MF_{AB}(x)=min(MF_A(x), MF_B(x))AB:MFAB(x)=min(MFA(x),MFB(x)) Объединение двух нечетких множеств (нечеткое «ИЛИ»): A B: MF_{AB}(x)=max(MF_A(x), MF_B(x))AB:MFAB(x)=max(MFA(x),MFB(x)) В теории нечетких множеств разработан общий подход к выполнению операторов пересечения, объединения и дополнения, реализованный в так называемых треугольных нормах и конормах. Приведенные выше реализации операций пересечения и объединения — наиболее распространенные случаи t-нормы и t-конормы. Для описания нечетких множеств вводятся понятия нечеткой и лингвистической переменных. Нечеткая переменная описывается набором (N,X,A)(N,X,A), где NN — это название переменной, XX — универсальное множество (область рассуждений), AA — нечеткое множество на XX. Значениями лингвистической переменной могут быть нечеткие переменные, т.е. лингвистическая переменная находится на более высоком уровне, чем нечеткая переменная. Каждая лингвистическая переменная состоит из: названия; множества своих значений, которое также называется базовым терм-множеством TT. Элементы базового терм-множества представляют собой названия нечетких переменных; универсального множества XX; синтаксического правила GG, по которому генерируются новые термы с применением слов естественного или формального языка; семантического правила PP, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества XX. Рассмотрим такое нечеткое понятие как «Цена акции». Это и есть название лингвистической переменной. Сформируем для нее базовое терм-множество, которое будет состоять из трех нечетких переменных: «Низкая», «Умеренная», «Высокая» и зададим область рассуждений в виде X=[100;200]X=[100;200] (единиц). Последнее, что осталось сделать — построить функции принадлежности для каждого лингвистического терма из базового терм-множества TT. Существует свыше десятка типовых форм кривых для задания функций принадлежности. Наибольшее распространение получили: треугольная, трапецеидальная и гауссова функции принадлежности. Треугольная функция принадлежности определяется тройкой чисел (a,b,c)(a,b,c), и ее значение в точке xx вычисляется согласно выражению: 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}MF(x)=⎩⎪⎪⎨⎪⎪⎧1−b−ab−x,a≤x≤b1−c−bx−b,b≤x≤c0,x∈(a;c) При (b-a)=(c-b)(b−a)=(c−b) имеем случай симметричной треугольной функции принадлежности, которая может быть однозначно задана двумя параметрами из тройки (a,b,c)(a,b,c). Аналогично для задания трапецеидальной функции принадлежности необходима четверка чисел (a,b,c,d)(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}MF(x)=⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧1−b−ab−x,a≤x≤b1,b≤x≤c1−d−cx−c,c≤x≤d0,x∈(a;d) При (b-a)=(d-c)(b−a)=(d−c) трапецеидальная функция принадлежности принимает симметричный вид. Рисунок 1. Типовые кусочно-линейные функции принадлежности Функция принадлежности гауссова типа описывается формулой: MF\,(x) = \exp\biggl[ -\,{\Bigl(\frac{x\,-\,c}{\sigma}\Bigr)}^2\biggr]MF(x)=exp[−(σx−c)2] и оперирует двумя параметрами. Параметр cc обозначает центр нечеткого множества, а параметр {\sigma}σ отвечает за крутизну функции. Рисунок 2. Гауссова функция принадлежности Совокупность функций принадлежности для каждого терма из базового терм-множества TT обычно изображаются вместе на одном графике. На рисунке 3 приведен пример описанной выше лингвистической переменной «Цена акции», на рисунке 4 – формализация неточного понятия «Возраст человека». Так, для человека 48 лет степень принадлежности к множеству «Молодой» равна 0, «Средний» – 0.47, «Выше среднего» — 0.20. Рисунок 3. Описание лингвистической переменной «Цена акции» Рисунок 4. Описание лингвистической переменной «Возраст» Количество термов в лингвистической переменной редко превышает 7. |