НЕЧЕТКАЯ
ЛОГИКА |
Многие понятия, определяемые с помощью человеческого языка, являются
расплывчатыми. Например, попытка дать определение кучи камней приводит к
следующей антиномии: “Один или два камня – не куча; с другой стороны, если
из кучи удалить камень, то куча
останется”. Л.
Заде предложил приписывать объектам степень выполнения определяемого
свойства, принимающую значения в единичном интервале [0, 1]. Эта идея была
положена в основу теории нечетких множеств. Она позволила моделировать
человеческие рассуждения и операции над нечеткими свойствами объектов.
Теги: Нечеткая логика, нечеткие операторы,
применение нечёткой логики, понятия нечеткой логики, универсум, логические
операции
|
1. Нечеткие множества
Пусть U –
произвольное множество. Будем рассматривать его подмножества и U
будем называть универсумом. Каждое подмножество описывается
с помощью свойств его элементов. Например, в универсуме натуральных чисел
w подмножество {0, 1, 2, 3, 4, 5} задаётся
как |
A = {n О
w : n Ј
5}. |
Его можно определить с помощью характеристической функции cA : w ® (0, 1), принимающей значения: |
|
Проблема
возникает при попытке определения подмножества чисел, указывающих значение
возраста, при которых человек считается
старым. Пусть
[0, 1] = {r О R : 0 Ј r Ј 1} – единичный
отрезок действительных
чисел.
Определение. Нечетким множеством m на
универсуме U называется произвольная функция m : U ® [0, 1].
Множество всех нечетких множеств на U обозначается через
F(U).
Заметим, что часто понятия нечёткого множества и определяющей его функции
различают. В этом случае, говоря о нечётком множестве A, имеют в
виду функцию U ® [0, 1]. Обозначают эту функцию через mA О
F(U) и называют её функцией
принадлежности.
Значение m(x) называется
степенью принадлежности x нечеткому множеству
m. Например, нечеткое множество “старый”
определяется как функция m О F(w), для которой
m(70) = 1, а m(0) = 0,
ибо ясно, что человек семидесяти лет является старым, а не достигнувший
одного года младенец – нет. Можно считать, что m(20) = 0. Возрасту 45 лет можно приписать значение
m(45) = 0.5, и далее продолжить функцию m линейно на интервале [20,
70].
Представление нечетких
множеств
Существуют различные методы описания функции m :
U ® [0, 1]. Если U – конечное
множество, то функция будет конечным множеством
пар:
m = {(x1, m(x1)), …,
(xn, m(xn))}. и может быть
записана как
m = m(x1)/x1
+ … + m(xn)/xn
или в виде таблицы: |
x1 |
x2 |
... |
xn |
m(x1) |
m(x2) |
... |
m(xn) | | |
В случае универсума R действительных чисел m(x) задаётся аналитически и изображается
в виде графика. Например, m(x) =
e -(x - a)2 / b2 будет
гауссианой, с m(a) = 1. Лингвистическое
выражение “большое число” обозначает понятие, зависящее от параметров, и
может быть интерпретировано с помощью
функции:
Определение. Пусть m О F(U) и a О [0, 1]. Множество [m] a = {x
О U : m(x) і a} называется a
-срезом нечеткого множества m.
Теорема
1. Пусть m О
F(U), a О
[0, 1], b О [0, 1].
Тогда 1)
[m] 0 =
U 2)
если a < b, то [m] a К [m]
b,
3) .
Теги: Нечеткая логика, нечеткие операторы,
применение нечёткой логики, понятия нечеткой логики, универсум, логические
операции
Теорема 2 (о
представлении). Пусть m О F(U). Тогда
|
. |
Нечеткие
множества m1, m2 О
F(U) называются равными, если m1(x) = m2(x) для всех x О U; m1
называется нечетким подмножеством m2,
если m1(x) Ј m2(x)
для всех x О U, в этом случае
применяется запись: m1 Н m2.
Операции над нечеткими
множествами
Пусть m1, m2, m О F(U). Операции определяются следующим
образом:
(дополнение);
(пересечение);
(объединение);
(ограниченное
произведение);
(ограниченная
сумма);
(алгебраическое
произведение);
(алгебраическая
сумма);
(разность);
(концентрирование).
Поскольку каждое нечеткое множество m можно
представить как семейство a-срезов, то операции
можно выразить через обычные операции над множествами. В
частности:
(дополнение);
(пересечение);
(объединение);
Принцип
обобщения
Произвольная функция j : X n
® Y между множествами может быть
расширена до функции j :
F(X)n ®
F(Y) следующим
образом:
. Этот метод расширения называется принципом
обобщения. Предполагается, что супремум пустого множества равен 0.
С помощью принципа обобщения можно расширить операцию сложения + :
R ґ R ® R, полагая для любых m1, m2
О F(R):
Нечеткое
множество m О
F(R) называется выпуклым, если все его a-срезы выпуклы. Легко видеть, что сумма m1 + m2
нечётких выпуклых множеств m1 и m2 из R будет
выпуклой.
|
Теги: Нечеткая логика, нечеткие операторы, применение нечёткой
логики, понятия нечеткой логики, универсум, логические операции
2. Логические операции
Рассмотрим
расширения определённых на множестве {0, 1} логических операций &,
Ъ, Ш, ® на интервал [0,
1].
Конъюнкция и
дизъюнкция
Операция логического умножения обобщается следующим
образом: Функция Щ : [0,1] ґ [0,1] ® [0,1] называется треугольной нормой,
если для всех a, b, c О [0, 1] справедливы
соотношения
1) a Щ 1 = a (1 –
единица);
2) если a Ј b, то a
Щ c Ј
b Щ c
(монотонность);
3) a Щ b = b Щ a
(коммутативность);
4) (a Щ b) Щ с = a Щ
(b Щ c)
(ассоциативность).
Заметим, что, в силу неравенств 0 Ј 0Щx Ј 0Щ1 = 0, имеет место: 0 Щ
x =
0. Наиболее
часто используются следующие треугольные
нормы: 1)
a З b = min(a,
b)
(Заде); 2)
a * b = max(0, a + b – 1)
(Лукасевич);
3) a Ч b = ab
(произведение чисел). Аналогично обобщается логическая
сумма. Функция
Ъ : [0,1] ґ [0,1] ® [0,1] называется треугольной конормой, если
для всех a, b, c О [0,
1] справедливы
соотношения:
1) 0 Ъ a = a (0 –
нуль); 2)
если a Ј b, то a Ъ c Ј b
Ъ c
(монотонность);
3) a Ъ b = b Ъ a
(коммутативность);
4) (a Ъ b) Ъ с = a Ъ
(b Ъ c)
(ассоциативность).
Примеры треугольных
конорм: 1)
a И b = max(a,
b)
(Заде); 2)
a Ъ b = min(a +
b, 1)
(Лукасевич);
3) a Ъ b = a +
b – ab (алгебраическая
сумма).
Отрицание
Наиболее общее определение функции отрицания g : [0,1] ® [0,1]
предполагает, что выполнены, по крайней мере, два
условия:
1) g(0) = 1; g(1) =
0; 2) если
a Ј b, то g(a) і g(b).
Примеры
отрицаний:
1)
(Заде); 2)
(квадратичное
отрицание);
3) (пороговое
отрицание);
4) , -1 < l < Ґ
(Сугено). Две
операции Щ и Ъ
называются g -двойственными, если |
и
. |
Например,
операции: |
и
|
g2 - двойственны (относительно
отрицания Сугено).
Импликация
Пусть Щ – треугольная норма. Импликацией
(a ® b) О [0, 1], связанной с Щ ,
называется такое число, что для всех x О [0, 1] справедлива следующая эквивалентность: |
x Ј (a
® b), если и только если x
Щ a Ј
b. |
В силу монотонности треугольной нормы значение импликации будет равно:
|
a ® b =
sup{x О [0, 1] : x
Щ a Ј
b}. |
Примеры
импликаций
1) Cвязанной с треугольной нормой Лукасевича будет импликация: |
a ® b = min{1
– a + b, 1}. |
2) C
треугольной нормой заде связана импликация Гёделя: |
|
3) C
произведением a Ч b чисел
связана импликация Гогена: |
|
Оператор
импликации не всегда связан с треугольной нормой. В частности, импликация
Клини-Дайнса определяется по формуле:Шa
Ъ b, через операцию a Ъ b = max(a, b): |
a ® b = max(1
- a, b). |
Аналогичным
образом, с помощью формулы Шa Ъ b определяется импликация Райхенбаха, где
a Ъ b = a + b
– ab сложение вероятностей: |
a ® b = 1 –
a + ab. |
Импликация Заде
аналогична последней: |
a ® b = max(1
– a, min(a, b)). |
Заметим, что во всех этих случаях отрицание можно определить как Шa = a ®
0.
|
Теги: Нечеткая логика, нечеткие операторы, применение нечёткой
логики, понятия нечеткой логики, универсум, логические операции
3. Нечеткие отношения
Напомним, что
отношением между множествами U1,
U2, …, Un называется произвольное
подмножество R Н U1
ґ U2 ґ …ґ
Un. Поскольку отношение может быть задано с
помощью предиката (характеристической функции этого подмножества), то
естественным является следующее
определение.
Пусть U1, U2, …,
Un – универсумы. Нечетким
отношением между U1, U2,
…, Un называется произвольная функция r : U1 ґ
…ґ Un ® [0,1]. Аналогично теоретико-множественным операциям
определяются операции пересечения и объединения. Ограничимся рассмотрением
нечетких бинарных отношений r, s О F(X ґ Y).
Положим:
(r И s)(x, y) = max(r(x, y), s(x, y)), (r
З s)(x, y)
= min(r(x, y), s(x, y)). Эти операции
обладают всеми свойствами операций max и min, они коммутативны,
ассоциативны,
дистрибутивны.
Множество F(X ґ Y)
отношений между X и Y упорядочено относительно отношения
включения нечетких множеств на X ґ
Y. Таким образом, r Н s тогда и только тогда,
когда r(x, y) Ј s(x,
y) для всех x О X
и y О Y.
Пусть r О F(X ґ Y) и s О F(Y ґ
Z). Определим композицию r ° s О
F(Y ґ Z) как (r ° s)(x, z) = sup{min(r(x, y), s(y, z)) : y О Y}. Имеют место
соотношения:
1) (r ° s) ° t = r ° (s ° t),
2) r °
Ex = Ey °
r = r, где
Ex О F(X
ґ X) принимает значения
Ex(x, x') = 1 при x =
x', в других случаях E(x, x') =
0.
Обратное нечёткое отношение определяется как r -1(y, x) = r(y, x), для всех x О X, y О
Y.
Нечёткое отношение r О
F(X ґ Y) называется
рефлексивным, если Ex Н r. Нечётким отношением
эквивалентности называется E О
F(X ґ X),
удовлетворяющее
условиям:
1) Ex Н E
(рефлексивность);
2) E -1 = E
(симметричность);
3) E ° E Н E
(транзитивность).
Если условие 2 заменить на условие антисимметричночти E
-1 З E Н
Ex, то получим нечёткое отношение
порядка.
Заметим, что композицию можно определить с помощью произвольной
треугольной нормы,
полагая:
r ° s = sup{r(x,
y) Щ s(y, z) : y О Y}. Так мы получим другие определения
отношений эквивалентности и порядка.
|
Теги: Нечеткая логика, нечеткие операторы,
применение нечёткой логики, понятия нечеткой логики, универсум, логические
операции
4. Пропозициональная нечёткая логика
Формулы пропозициональной нечёткой логики составляются из
элементов множества переменных F0 =
{x1, x2, ...} и констант
0 (ложь) и 1 (истина) с помощью логических связок Ъ, Щ, Ш следующим
образом:
1) xi О F0 формулы для всех i = 1, 2,
…; 2) 0 и
1 –
формулы;
3) если g и f – формулы, то (f Щ g) и (f Ъ g) –
формулы;
4) если f – формула, то Шf – формула. Множество всех формул
обозначается через F.
Аксиомы нечёткой пропозициональной
логики:
(F1) Ш0 =
1,
(F2) A Щ 1 = A, A
Ъ 1 = 1, A Щ 0
= 0, A Ъ 0 =
A,
(F3) Ш(A Щ
B) = ШA Ъ ШB, Ш(A Ъ B) =
ШA Щ ШB,
(F4) A Щ (B Ъ C) = (A Щ
B) Ъ (A Щ C), A Ъ
(B Щ C) = (A Ъ B) Щ (A
Ъ C),
(F5) ШШA = A, для всех
A, B, C О F.
Нечёткой интерпретацией называется произвольная функция
t : F ® [0, 1],
такая,
что
t(0) = 0, t(1) =1,
t(f Щ g) =
min(t(f), t(g)),
t(f Ъ g) =
max(t(f), t(g)),
t(Шf) = 1 –
t(f).
Любая функция t0 : F0 ® [0, 1] может
быть единственным образом расширена до некоторой интерпретации t
: F ® [0,
1]. Формула
f О F
называется нечётко общезначимой, если для любой нечёткой
интерпретации t верно неравенство
t(f) і 0.5. Формула f О F называется нечётко противоречивой, если
для любой нечёткой интерпретации t верно неравенство:
t(f) Ј
0.5. Например,
формула x1 Ъ Шx1 нечётко общезначима, а
x1 Щ Шx1 – нечётко противоречива.
Теги: Нечеткая логика, нечеткие операторы, применение нечёткой
логики, понятия нечеткой логики, универсум, логические операции
Теорема 1. Формула
f О F нечётко общезначима тогда и только тогда, когда
f – тавтология в исчислении высказываний K. Формула
f О F нечётко противоречива тогда только тогда, когда
она невыполнима в
K.
Литералом называется переменная
xi или её отрицание Шxi. Конъюнкция
литералов называется конъюнктом, дизъюнкция литералов –
дизъюнктом.
Например: x1 Щ
x2 Щ Шx2 – конъюнкт, Шx1 Ъ
x3 –
дизъюнкт.
Формула f О F называется дизъюнктивной нормальной формой (ДНФ),
если f = C1 Ъ C2 Ъ ... Ъ
Cm для некоторых конъюнктов
C1, C2, ...,
Cm. Аналогично конъюнкция
D1 Щ
D2 Щ ...
Щ Dm дизъюнктов
D1, D2, ...,
Dm называется конъюнктивной нормальной
формой (КНФ).
Аксиомы пропозициональной нечёткой логики позволяют переводить любую
формулу в ДНФ и в КНФ, в которых не участвуют константы 0 и
1. Нечёткой
импликацией f Ю g
называется бинарное отношение на F, означающее,
что для любой нечёткой интерпретации t : F ® [0, 1] верно неравенство
t(f) Ј
t(g).
Принцип
резолюции
Формула f называется содержащей дополнительные
переменные, если в ней участвуют литералы
xi и Шxi для некоторого
i О w. Пусть
C1 = xi Ъ L1 и
C2 = Шxi Ъ L2 – такие высказывания, что
L1 и L2 не содержат ни
xi, ни Шxi в качестве
сомножителя, и каждое из L1 и не содержит
дополнительных переменных. Тогда
L1 Ъ
L2 называется резольвентой
C1 и C2 с ключевым
словом xi и обозначается:
R(C1, C2). В
обычной логике принцип резолюции:
x
Ъ L1, Шx Ъ
L2 L1 Ъ
L2 можно применять для доказательства теорем.
Следующий пример показывает, что нечёткая импликация:
|
C1 Щ
C2 Ю
R(C1,
C2) |
не всегда верна.
Пример
C1 = x Ъ
L1, C2 = Шx Ъ
L2. Предположим, что при некоторой интерпретации
t(x) = 0.3,
t(L1) = 0.1,
t(L2) = 0.2. Тогда
t(C1) = 0.3,
t(C2) = 0.7. Следовательно,
t(C1 Щ
C2) = 0.3. С другой стороны,
t(R(C1,
C2)) = t(L1
Ъ L2) = 0.2, и, значит,
t(C1 Щ
C2) >
t(R(C1,
C2)). Тем не менее, в некоторых случаях этот
принцип применять можно.
Теорема
2. Пусть C1 и C2
– высказывания, R(C1,
C2) – резольвента C1
и C2 с ключевым словом
xi. Тогда справедливы
утверждения:
1) если t(xi Щ Шxi) Ј t(R(C1,
C2)), то
t(C1, C2)
Ј
t(R(C1,
C2));
1) если t(xi Щ Шxi) і t(R(C1,
C2)), то
t(C1, C2)
і
t(R(C1,
C2)). В частности, если
R(C1,
C2) нечётко общезначима в том смысле, что
t(R(C1,
C2)) і 0.5, то
t(xi Щ Шxi) Ј 0.5 Ј
t(R(C1,
C2)) , и значит C1 Щ C2 Ю R(C1,
C2).
|
Теги: Нечеткая логика, нечеткие операторы, применение нечёткой
логики, понятия нечеткой логики, универсум, логические операции
Вывод с нечёткими посылками
При дедуктивном
выводе можно применять два правила вывода. Первое из них мы уже
рассматривали, а второе выражает принцип доказательства от противного:
|
(Modus Ponens), (Modus Tollens). |
Рассмотрим применение этих правил для нечёткого дедуктивного
вывода.
Теги: Нечеткая логика, нечеткие операторы,
применение нечёткой логики, понятия нечеткой логики, универсум, логические
операции
Нечёткие
переменные
Пусть U – множество, A Н
U – подмножество, элементы которого выделяются с помощью
некоторого свойства, определяемого с помощью характеристической функции
cA : U ® (0, 1). Тогда высказывание: “X принимает
значения во множестве A” – означает, что переменная X
пробегает значения из U, и это высказывание будет принимать
значения, равные cA(X). Это
высказывание записывается: “X есть A”, например, если
U = w , а A – подмножество
чётных чисел, то запись: “X есть чётное число” будет равносильна
X О
A. Нечёткая
переменная определяется как пара, состоящая из символа переменной
X, принимающей значения в U, и некоторого множества
A, заданного с помощью функции mA : U ®
[0, 1]. Эта пара записывается: “X есть A”. На обычном
языке X будет именем элементов универсума, а A –
нечётким свойством. Например, “температура нормальная” содержит переменную
“температура”, принимающую значения в универсуме температур, а
“нормальная” будет их нечётким
свойством. Рассмотрим
множество составных высказываний, образованных из
высказываний: “X есть A” с помощью союзов “и”, “или”, и
связок “если…, то…”, “не” – следующим
образом:
1) “X есть A и Y есть B” равносильно
“(X, Y) есть A З
B”, с mA О F(U), mB О
F(V), где A З
B – нечёткое множество на U ґ
V с функцией принадлежности mAЗB(u, v) = (mA(u) Щ
mB(v));
2)
“X есть A или Y есть B” равносильно
“(X, Y) есть A И
B”, где mAИB(u, v) = (mA(u) Ъ
mB(v));
3) “если X есть A, то Y есть B”
равносильно “(X, Y) есть A ® B”, где mA®B(u,
v) = (mA(u) ® mB(v));
4) “X не есть A” равносильно “X есть не
A”, где mне A(u) = 1
- mA(u).
Теги: Нечеткая логика, нечеткие операторы,
применение нечёткой логики, понятия нечеткой логики, универсум, логические
операции
Правила нечёткого
вывода Пусть
Щ : [0,1] ґ [0,1] ® [0,1] – треугольная форма, и пусть импликация связана
с ней следующим образом: |
a ® b =
sup{x О [0, 1] : a
Щ x Ј
b}. |
Например, если
a Щ b = min(a,
b), то a ® b будет
импликацией Геделя. Для треугольной нормы Лукасевича a Щ b = a * b = max(0,
a + b +1) импликация определяется как a ® b = min(1, 1 - a +
b).
Обобщённое правило Modus Ponens было предложено Л. Заде. Пусть заданы
нечёткие множества A, B, A' с помощью функций:
mA О
F(U), mB О F(V), mA' О
F(U). Тогда будет справедливо правило вывода: |
Если X есть A, то Y есть
B , |
где нечёткое множество B' определяется функцией mB' О
F(V), принимающей значения: mB' = sup{(mA(u) ®
mB(v)) Щ mA'(u) :
u О
U}.
Нечеткое множество B' можно записать также, пользуясь аналогией с
произведением матриц B' = A' o (A ® B) ,и записать B' и A',
как строки (вместо сложения участвует операция sup, вместо умножения –
треугольная
норма).
Аналогично для нечётких множеств A, B, B',
заданных с помощью функций mA О F(U), mB О
F(V), mB' О F(V), обобщённое правило Modus
Tollens определяется следующим образом: |
Если X есть A, то Y есть
B . |
Это правило выражается с помощью
равенства:
mA'(u) = sup{(mA(u) ®
mB(v)) Щ mB'(v) :
v О V}, если импликация
удовлетворяет закону контрапозиции a ®
b = (1 - b) ® (1 - a).
Это верно, например, для треугольной формы Лукасевича и связанной с ней
импликацией.
Теги: Нечеткая логика, нечеткие операторы, применение нечёткой логики,
понятия нечеткой логики, универсум, Логические
операции |
|