Mtduksi8
.pdfП р и м е р ы лингвистических переменных
1.Пусть эксперт определяет толщину выпускаемого изделия с помощью понятий «Малая толщина», «Средняя толщина» и «Большая толщина», при этом минимальная толщина равна 10 мм, а максимальная – 80 мм.
Формализация такого описания может быть проведена с помощью следующей ЛП <β, T, U, G, M>, где
β – толщина изделия;
Т – {«Малая толщина», «Средняя толщина», «Большая толщина»};
U = [10,80];
G – синтаксическая процедура образования новых термов с помощью связок «и», «или», и модификаторов (лингвистических неопределенностей) типа
«очень», «не», «слегка» и т.п. Например, «Малая или средняя толщина», «Очень малая толщина», «Не очень большая толщина» и т.д.
М – семантическая процедура задания на U = [10,80] нечетких множеств
А1=«Малая толщина», А2=«Средняя толщина», А3=«Большая толщина», а
также нечетких множеств для термов из G(T) в соответствии с правилами трансляции нечетких связок, лингвистических неопределенностей и других операций над нечеткими множествами.
2.Пусть β – посадочная скорость самолета (скорость). Тогда
Скорость := (скорость, <малая, небольшая, средняя, высокая>, [0..300],
G, M), где
G – процедура перебора элементов базового терм-множества. M – процедура экспертного опроса.
3. Рассмотрим еще один пример лингвистической переменной. β – дисциплина;
Т – {«Сложная дисциплина», «Интересная дисциплина», «Пригодится в будущей работе»};
U= [«Программирование», «Базы данных», «Нечеткая логика», «САОД»]
–множество дисциплин, изучаемых студентами специальности 220400;
G– процедура перебора элементов базового терм-множества;
51
M – процедура экспертного опроса.
4. Для лингвистической переменной <β, T, U, G, M> представленной на рис. 3.1:
T = {T1,T2,T3}
u0 < u1 < u2 < u3 < u4 < u5;
U = [u0, u5], пару (u0, u5) будем называть граничной парой.
Замечание. В дальнейшем без особой необходимости, не будем различать переменную и ее наименование.
|
|
β |
|
|
T1 |
T2 |
T3 |
µ(u) |
µ(u) |
|
µ(u) |
u0 |
u1 |
u |
u2 |
u3 u |
u4 |
u5 |
u |
Рис.3.1. Взаимосвязь лингвистической и нечеткой переменных.
Взависимости от характера множества U лингвистическая переменная может быть разделена на числовые и нечисловые.
Опр.3.3. Числовой называют лингвистическую переменную, у которой U R1 , R1=(-∞, ∞), и которая имеет измеримую базовую переменную.
Скорость – это числовая лингвистическая переменная, причем нечеткие переменные из ее терм-множества нечеткие числа.
Вкачестве примера нечисловой лингвистической переменной можно привести понятие “дисциплина” из примера 4.
3.1.1.Характеристики простых отношений между нечеткими переменными
Зависимость между двумя обычными числовыми переменными X и Y чаще всего описываются набором высказываний, например: «если х равно 5, то у равно 12» и т.д.
52
Применим такой же способ описания и для нечетких переменных. В частности, если Х и Y - лингвистические переменные, то высказывания, описывающие зависимость Y от Х, могли бы выглядеть так: «если Х мало, то Y велико»; «если Х не очень мало, то Y очень велико»; «если Х не мало и не велико, то Y не очень велико» и т.п.
Нечеткие высказывания типа «из А следует В», где А и В имеют неопределенное значение, например: «Если Александр любезен с тобой, то ты должен быть добр к нему», обычны в повседневной речи. В дальнейшем будет показано, что высказывание “из А следует В” математически определяется, если А и В заданы как некоторые нечеткие переменные.
Приведенные отношения между нечеткими переменными Х и Y являются простыми в том смысле, что их можно записать как множество высказываний вида “из А следует В”. Для описания более сложной зависимости Y от Х могут потребоваться нечеткие алгоритмы.
Если обратить внимание на структуру лингвистической переменной, то можно отметить, что в общем случае значение лингвистической переменной есть составной термин, представляющий сочетание некоторых элементарных терминов. Эти элементарные термины можно разбить на четыре основные категории:
−первичные термины, которые являются символами специальных нечетких подмножеств, например, молодой, старый и т.д.
−отрицание НЕ и союзы И, ИЛИ.
−неопределенности типа: очень, слабо, более или менее и т.д.
−маркеры, чаще всего это вводные слова.
Отрицание НЕ, союзы И, ИЛИ, неопределенности типа очень, весьма, больше, меньше и другие термины, которые входят в определение значений лингвистической переменной, могут рассматриваться как символы различных операций, определенных на нечетких подмножествах U.
53
3.2. Нечеткие числа
Опр.3.4. Нечеткие числа – нечеткие переменные, определенные на числовой оси, т.е. нечеткое число определяется как нечеткое множество А на множестве R c функцией принадлежности µА(u) [0, 1], u R.
Нечеткие числа соответствуют значениям числовой лингвистической
переменной. |
|
Нечеткое число А нормально, если max µA (u) =1. |
(3.1) |
u |
|
Нечеткое число А выпуклое, если для x ≤ y ≤ z выполняется |
|
µA (x) ≥ min{µA ( y), µA (z)} . |
(3.2) |
Множество α-уровня нечеткого множества А определяется как |
|
Aα = {u / µA (u) ≥α}. |
(3.3) |
Подмножество SA R называется носителем нечеткого числа А, если |
|
S A = {u / µA (u) > 0}. |
(3.4) |
Нечеткое число А унимодально, если условие |
µA (u) =1 справедливо |
только для одной точки действительной оси. |
|
Выпуклое нечеткое число А называется нечетким нулем, если
µA (0) = sup (µA (u)) . |
(3.5) |
u
Нечеткое число А положительно, если u SA, u > 0 и отрицательно,
если u SA, u < 0.
3.2.1.Операции над нечеткими числами
Для определения арифметических операций = {+, -, *, /} Л. А. Заде был
сформулирован Принцип обобщения. |
|
Пусть А и В – два нечетких множества. d: R1 |
R1 → R1 – некоторая |
функция, определяющая арифметическую операцию. |
|
Тогда нечеткое число D=d(A, B) определяется функцией принадлежности: |
|
µD (u) = - [ µA (u) , µB (u) ], |
(3.6) |
54
sup |
min ( µA (u),µB (u)) |
(3.7) |
где Θ[ µA (u),µB (u)] = a S A ,b SB |
. |
|
d(a,b)=u |
|
|
Теперь бинарные операции = {+, -, *, /} можно определить следующим образом:
А В = Υ µD (u) /(a b). |
(3.8) |
U |
|
При решении прикладных задач мы редко имеем дело с бинарными |
арифметическими операциями. Обычно рассматриваются многомерные арифметические выражения.
Пусть, например, D = A/(A+B), где A, B, D – нечеткие числа. Обычно значение D вычисляются в два этапа.
Сначала находят сумму A+B, а затем частное от деления A на (A+B). При этом:
S D′ = |
S A |
= {d |
S A |
}, SAB = SA + SB, |
(3.9) |
S A + SB |
|
||||
|
|
S AB |
|
где S D′ - обычное множество D–уровня. d – нечеткое число d
µD(d) = µD (d) = sup min{µA (a), µA (a1 ), µB (b)}.
d =a1a+b;a,a1 SA ;b=SB
Если, однако, считать, что в определение D (в числитель и знаменатель) входит одно и то же число A, то должно быть:
S D′′ = {d: d = |
a |
, a SA, b SB}, |
(3.10) |
|||
a + b |
||||||
|
|
|
|
|
||
µD′′(d) = |
sup |
min {µA(a), µB(b)}. |
|
|||
|
a |
=d ,a S A ,b SB |
|
|||
|
a+b |
|
||||
|
|
|
|
|
Очевидно, что S D′′ S D′, а значит D′′ D′, где D′ определяется по (3.9),
D′′ по (3.10).
Таким образом, если значением величины D считать нечеткое число D′′, то нечеткое число D′ будет лишь охватывающей оценкой для D.
Заметим, что изложенное будет справедливо и при более сложных нечетких арифметических выражениях.
55
П р и м е р Пусть А и В – нечеткие числа.
≈2: А={0.5/1.8, 1/2, 0.5/2.2}
≈3: B={0.6/2.8, 1/3, 0.4/3.3}
D = A + B = sup {0.5/4.7, 05/4.8, 0.4/5.1, 0.6/4.9, 1/5, 0.4/5.3, 0.5/5.1, 0.5/5.2, 0.4/5.5}= {0.5/4.7, 05/4.8, 0.6/4.9, 1/5, 0.4/5.3, 0.5/5.1, 0.5/5.2, 0.4/5.5}
3.2.2.Сравнение нечетких чисел
Рассмотрим два нечетких числа <A, R1, SA> и <B, R1, SB>, у которых
SA Ι SB ≠ Ø (рис. 3.1).
При решении задачи о выборе можно реализовать разные подходы к выбору четкого значения нечеткого числа, при этом соотношение между четкими значениями нечетких чисел и между именами нечетких чисел могут быть различными. Пусть, например, в первой реализации четкие значения нечетких чисел а1 и b1, во второй а2 и b2. Из рис. 3.1 видно, что в первой ситуации А< B (т.к. a1 < b1), а во второй – А > B (поскольку а2 > b2).
µ(u)
b2 a2 a1 b1 u
Рис. 3.1. Отношение порядка на множестве нечетких чисел
Таким образом, отношение порядка на множестве нечетких чисел является нечетким. Лишь в том случае, когда SA Ι SB = Ø, отношение между числами будет четким, в этом частном случае при любом выборе четкого значения нечеткого числа из условия а1 < b1, всегда следует А < B.
56
Существуют процедуры по вычислению некоторой четкой функции H(A, B) от нечетких аргументов, которые называются индексом ранжирования. Значение индекса для конкретной пары чисел дает основание решить вопрос о том, какое из двух нечетких чисел больше (или с какой степенью больше). Приведем пример индекса ранжирования:
|
H(A,B) = H+(A) – H+(B), |
H+(A) = ∫1 |
M (A0 )dA , |
(3.11) |
|
|
|
|
|
0 |
|
|
|
где А0 – α – уровневое подмножество нечеткого множества А. |
|
|||||
М(А0) = (а- + а+)/2; a- = inf a; |
a+ = sup a. |
|
|
|||
|
|
a A0 |
a A0 |
|
|
|
При этом, если H(A,B) ≥ 0, то A ≥ B. |
|
|
|
|||
Данный индекс ранжирования учитывает форму функции |
||||||
принадлежности. |
|
|
|
|
|
|
Пример . |
|
|
|
|
|
|
Два |
истребителя |
противоборствующих |
воздушных |
армий |
руководствуются стратегиями:
А: Если снарядов мало, то вероятность поражения противника малая,
иначе не малая.
В: Если снарядов не мало, то вероятность поражения противника
большая, иначе не большая. Известно, что
мало снарядов = A=(0.8/3, 0.4/15, 0.3/30), малая вероятность = B=(0.1/0.9, 0.5/0.5, 0.8/0.1),
большая вероятность = C = (0.8/0.9, 0.5/0.5, 0.3/0.2).
Количество снарядов не очень мало. Кто победит?
Определим все необходимые для решения задачи нечеткие множества:
не мало снарядов = A = (0.2/3, 0.6/15, 0.3/30).
не малая вероятность = B = (0.9/0.9, 0.5/0.5, 0.2/0.1).
не большая вероятность = C = (0.2/0.9, 0.5/0.5, 0.7/0.2). x = не очень мало = (мало)2
(мало)2 = (0.64/3, 0.16/15, 0.09/30)
57
(мало)2 = (0.36/3, 0.84/15, 0.91/30).
Определим нечеткое отношение стратегии А:
R1 = А×ВΥ A × B
А×В = |
0.1 |
0.5 |
|
0.8 |
|
|
|
|
|
|
|
|
|
|
× |
|
= |
0.2 |
0.2 |
0.2 |
|
|||||
0.1 |
0.4 |
|
0.4 |
|
|
|
|
|
|
|
|
|
|
|
0.6 |
0.5 |
0.2 |
|
||||||||
|
|
|
|
|
|
|
A |
B |
||||||||||||||||||
|
0.1 |
0.3 |
|
0.3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.3 |
0.3 |
0.2 |
|
||||
R1 = А×ВΥ |
|
× |
|
|
|
0.2 |
0.5 |
0.8 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
= |
|
0.6 |
0.5 |
0.4 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
A |
B |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
0.3 |
0.3 |
0.3 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
y1 = x○R1 = 0.36 |
0.84 |
0.91○ |
|
0.2 |
0.5 |
0.8 |
|
|
= (0.6/0.9, 0.5/0.5, 0.4/0.1). |
|||||||||||||||||
|
|
|||||||||||||||||||||||||
|
0.6 |
0.5 |
0.4 |
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0.3 |
0.3 |
0.3 |
|
|
|
|
|
Определим нечеткое отношение стратегии B:
R2 = A ×C ΥA× C
|
|
|
0.16 |
0.1 |
0.06 |
|
|
|
|
0.16 |
0.4 |
0.56 |
|||||||
|
|
×C = |
0.48 |
0.3 |
0.18 |
|
|
A× |
|
= |
0.08 |
0.2 |
0.28 |
||||||
|
A |
|
|
C |
|||||||||||||||
|
|
|
0.24 |
0.15 |
0.09 |
|
|
|
|
0.06 |
0.15 |
0.21 |
|||||||
R2 = |
|
×C ΥA× |
|
= |
|
0.16 |
0.4 |
0.56 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|||||||||||||
|
|
|
0.48 |
0.3 |
0.28 |
|
|
|
|
||||||||||
A |
C |
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
0.24 |
0.15 |
0.21 |
|
|
|
|
0.16 0.4 0.56
y2 = x○R2 = 0.36 0.84 0.91○ 0.48 |
0.3 |
0.28 = (0.48/0.9, 0.36/0.5, 0.36/0.2). |
0.24 |
0.15 |
0.21 |
Сравним полученные результаты y1 и y2 между собой, для чего воспользуемся индексом ранжирования H(y1, y2).
H+(y1) = 0.4*(0.1 + 0.9)/2 + 0.5*(0.5 + 0.9)/2 + 0.6*(0.9 + 0.9)/2 = 0.2 + 0.35 + 0.54 = 1.09
H+(y2) = 0.36*(0.2 + 0.9)/2 + 0.48*(0.9 + 0.9)/2 = 0.198 + 0.432 = 0.63 H(y1, y2) = 1.09 – 0.63 = 0.46 > 0.
Таким образом, истребитель со стратегией А победит.
58
3.3. Лингвистические неопределенности
Как уже отмечалось, значения лингвистической переменной являются символами нечетких подмножеств, которые представляют собой фразы или предложения формального или естественного языка.
Например, если U есть набор целых чисел U = (0, 1, 2, . . . , 100) и возраст есть лингвистическая переменная, тогда значения лингвистической переменной могут определяться словосочетаниями: молодой, не молодой, очень молодой, не очень молодой, старый и т.д.
Основная проблема, которая возникает при использовании лингвистической переменной, заключается в следующем: пусть дано значение любого элементарного термина xi, i = 1..n, в составном термине u = x1…xn, который представляет собой значение лингвистической переменной. Требуется вычислить значение u в смысле нечеткого множества.
Рассмотрим более простую задачу – вычисление значения составного термина вида u = hx, где h – неопределенность, а x – термин с фиксированным значением. Например, u = очень высокий человек, где h = очень, а х = высокий человек.
Будем рассматривать h как оператор, который переводит нечеткое множество M(x), представляющее значение x, в нечеткое М(hx). Теперь неопределенность выполняет функцию генерации большого множества значений для лингвистической переменной из небольшого набора первичных элементов. Например, используя неопределенность очень в сочетании с отрицанием НЕ и первичным термином высокий, мы можем генерировать нечеткие множества очень высокий, не очень высокий и т.п.
Для неопределенности h удобно использовать некоторые основные операции, определенные ранее, особенно операции степень, CON, DIL, INT. Покажем, как это можно сделать для естественной неопределенности очень и искусственных неопределенностей плюс и минус. Аналогичным образом можно определить неопределенности больше, меньше, много, слабо, вроде, вполне и
другие.
59
В обычном использовании неопределенность очень не имеет четко определенного значения. Она действует как усилитель, генерируя подмножества того множества, к которому она применяется. Аналогичным
образом действует операция концентрирования. |
Поэтому очень u, где u – |
некоторый термин, может быть определенно как квадрат u, т.е. |
|
оченьu =u 2 = Υµu2 (u) / u . |
(3.12) |
u |
|
Например, если u = маленький возраст = (1/1, 0.8/2, 0.6/3, 0.4/4, 0.2/5),
тогда
очень маленький = (1/1, 0.64/2, 0.36/3, 0.16/4, 0.04/5).
Рассматриваемый как оператор, очень может сочетаться с самим собой. Так, например:
очень очень маленький = (1/1, 0.4/2, 0.1/3)
Заметим, что порядок следования элементарных терминов в составном термине существенно влияет на результат. Так, например:
2
u = очень не точно =
и
2
u = не очень точно =
не одно и то же.
С другой стороны, не очень точно может быть записано по-разному, хотя результат будет один и тот же.
u = не очень точно = очень_ точно = (точно)2 .
Искусственные неопределенности плюс и минус служат для придания более слабых степеней концентрации и растяжения, чем те, которые определяются операциями CON и DIV.
плюс u = u1.25 = |
ΥµU1.25 (u) |
/u, |
(3.13) |
||
U |
|
||||
минус u = u0.75 = |
ΥµU0.75 (u) |
/u. |
(3.14) |
||
U |
|
Вследствие (3.13) и (3.14) мы имеем приближенные тождества, которыми часто пользуются на практике
60