 |
Тема 11. Нечітка логіка
Мабуть, найбільш вражаючою властивістю людського інтелекту є здатність
приймати правильні рішення в умовах неповної і нечіткої інформації.
Побудова моделей наближених роздумів людини і використання їх у
комп'ютерних системах представляє сьогодні одну з найважливіших
проблем науки.
Основи нечіткої логіки були закладені наприкінці 60-х років у працях
відомого американського математика Латфі Заде. Соціальне замовлення
на дослідження подібного роду було викликано зростаючим незадоволенням
експертними системами. Хвалений "штучний інтелект", що
легко справлявся із задачами керування складними технічними комплексами,
був безпорадним при найпростіших висловленнях повсякденного життя,
типу "Якщо машиною перед тобою керує недосвідчений водій -
тримайся від неї подалі". Для створення дійсно інтелектуальних
систем, здатних адекватно взаємодіяти з людиною, необхідний був
новий математичний апарат, що переводить невиразні і неоднозначні
життєві твердження в мову чітких і формальних математичних формул.
Першим серйозним кроком у цьому напрямку з'явилася теорія нечітких
множин, розроблена Заде. Його робота "Fuzzy Sets", що
з'явилася в 1965 році в журналі "Information and Control",
заклала основи моделювання інтелектуальної діяльності людини і з'явилася
початковим поштовхом до розвитку нової математичної теорії. Він
же дав і назву для нової області науки -"fuzzy logic"(fuzzy
- нечіткий, розмитий, м'який).
Щоб стати класиком, треба небагато випередити свій час. Існує легенда
про те, яким чином була створена теорія "нечітких множин".
Один раз Заде мав довгу дискусію зі своїм другом відносно того,
чия з дружин є більш привабливою. Термін "приваблива"
є дуже невизначеним і в результаті дискусії вони не змогли прийти
до задовільного підсумку. Це змусило Заде сформулювати концепцію,
що виражає нечіткі поняття типу "приваблива" у числовій
формі.
Подальші роботи професора Л.Заде і його послідовників заклали міцний
фундамент нової теорії і створили передумови для впровадження методів
нечіткого управління в інженерну практику.
Апарат теорії нечітких множин, продемонструвавши ряд багатообіцяючих
можливостей застосування - від систем керування літальними апаратами
до прогнозування підсумків виборів, виявився разом з тим надмірно
складним для втілення, враховуючи наявний на той час рівень технології
- і на багато років нечітка логіка зайняла своє місце в ряді інших
спеціальних наукових дисциплін - десь посередині між експертними
системами і нейронними мережами...
Своє друге народження теорія нечіткої логіки пережила на початку
вісімдесятих років, коли відразу кілька груп дослідників (в-основному
в США і Японії) всерйоз зайнялися створенням електронних систем
різного застосування, що використовують нечіткі керуючі алгоритми.
Теоретичні основи для цих спроб були закладені в ранніх працях Коско
й інших учених.
Третій період почався з кінця 80-х років і дотепер. Цей період
характеризується бумом практичного застосування теорії нечіткої
логіки в різних сферах науки і техніки. До 90-го року з'явилося
близько 40 патентів, що відносяться до нечіткої логіки (30 - японських).
Сорок вісім японських компаній утворили спільну лабораторію LIFE
(Laboratory for International Fuzzy Engineering), японський уряд
фінансував 5-річну програму по нечіткій логіці, що включає 19 різних
проектів - від систем оцінки глобального забруднення атмосфери і
передбачення землетрусів до АСУ заводських цехів і складів. Результатом
виконання цієї програми з'явилася поява цілого ряду нових масових
мікрочіпів, заснованих на нечіткій логіці. Сьогодні їх можна знайти
в пральних машинах і відеокамерах, цехах заводів і моторних відсіків
автомобілів, у системах керування складськими роботами і бойовими
вертольотами.
У США розвиток нечіткої логіки йде по шляху створення систем, що
потрібні великому бізнесу і військовим. Нечітка логіка застосовується
при аналізі нових ринків, біржовій грі, оцінці політичних рейтингів,
виборі оптимальної цінової стратегії і т.п. З'явилися і комерційні
системи масового застосування.
Зсув центра досліджень нечітких систем вбік практичних застосувань
привело до постановки цілого ряду проблем, зокрема:
- нові архітектури комп'ютерів для нечітких обчислень;
- елементна база нечітких комп'ютерів і контролерів;
- інструментальні засоби розробки;
- інженерні методи розрахунку і розробки нечітких систем керування,
тощо.
Нечіткі множини
Нехай E - універсальна множина, x - елемент E, а R - певна властивість.
Звичайна (чітка) підмножина A універсальної множини E, елементи
якої задовольняють властивості R, визначається як множина впорядкованої
пари A = {mA (х)/х}, де mA(х)
- характеристична функція, що приймає значення 1, якщо x задовольняє
властивості R, і 0 - в іншому випадку.
Нечітка підмножина відрізняється від звичайної тім, що для елементів
x з E немає однозначної відповіді "ні" відносно властивості
R. У зв'язку з цим, нечітка підмножина A універсальної множини E
визначається як множина впорядкованої пари A = {mA(х)/х},
де mA(х) - характеристична функція приналежності
(або просто функція приналежності), що приймає значення в деякій
впорядкованій множині M (наприклад, M = [0,1]).
Функція приналежності вказує ступінь (або рівень) приналежності
елемента x до підмножини A. Множина M називають множиною приналежностей.
Якщо M = {0,1}, тоді нечітка підмножина A може розглядатися як звичайна
або чітка множина.
Розглянемо множину X всіх чисел від 0 до 10. Визначимо підмножину
A множини X всіх дійсних чисел від 5 до 8.
A = [5,8]
Покажемо функцію приналежності множини A, ця функція ставить у
відповідність число 1 чи 0 кожному елементу в X, у залежності від
того, належить даний елемент підмножині A чи ні. Результат представлений
на наступному малюнку:
Можна інтерпретувати елементи, яким поставлена у відповідність
1, як елементи, що знаходяться в множині A, а елементи, яким поставлений
у відповідність 0, як елементи, що не знаходяться в множині A.
Ця концепція використовується в багатьох областях застосувань.
Але можна легко знайти ситуації, в яких даній концепції буде бракувати
гнучкості.
У даному прикладі опишемо множину молодих людей. Більш формально
можна записати так
B = {множина молодих людей}
Оскільки, взагалі, вік починається з 0, то нижня межа цієї множини
повинна бути нулем. Верхню межу визначити небагато складніше. Спочатку
встановимо верхню межу, скажемо, рівну 20 рокам. Таким чином, маємо
B як чітко обмежений інтервал, буквально: B=[0,20] . Виникає питання:
чому хтось у свій двадцятирічний ювілей - молодий, а відразу наступного
дня вже не молодий? Очевидно, це структурна проблема, і якщо пересунути
верхню межу в довільну точку, то можна задати таке ж питання.
Більш природний шлях отримання множини B складається в ослабленні
строгого поділу на молодих і не молодих. Зробимо це, виносячи не
тільки чіткі судження Так, він належить множини молодих людей або
Ні, вона не належить множини молодих людей, але і більш гнучкі формулювання
ТАК, він належить до досить молодих людей або Ні, він не дуже молодий.
Розглянемо як за допомогою нечіткої множини визначити такий вираз,
як він ще молодий.
В першому прикладі ми кодували всі елементи множини за допомогою
0 чи 1. Простим способом узагальнити дану концепцію є введення значення
між 0 і 1. Реально можна навіть допустити нескінченне число значень
між 0 і 1, в одиничному інтервалі I = [0, 1].
Інтерпретація чисел при співвідношенні всіх елементів множини стає
тепер більш складною. Звичайно, знову число 1 ставиться у відповідність
тому елементу, що належить множині B, а 0 означає, що елемент точно
не належить множині B. Всі інші значення визначають ступінь приналежності
до множини B.
Для наочності приведемо характеристичну функцію множини молодих
людей, як і в першому прикладі.
Нехай E = {x1, x2, x3, x4, x5 }, M = [0,1]; A - нечітка множина,
для якої
mA(x1)=0,3; mA(x2)=0;
mA(x3)=1; mA(x4)=0,5;
mA(x5)=0,9
Тоді A можна представити у виді:
A = {0,3/x1; 0/x2; 1/x3; 0,5/x4; 0,9/x5 } або
A = 0,3/x1 + 0/x2 + 1/x3 + 0,5/x4 + 0,9/x5,
(знак "+" є операцією не додавання, а об'єднання) або
| |
x1
|
x2
|
x3
|
x4
|
x5
|
|
A =
|
0,3
|
0
|
1
|
0,5
|
0,9
|
Основні характеристики нечітких множин
Нехай M = [0,1] і A - нечітка множина з елементами з універсальної
множини E і множиною приналежностей M.
- Величина
mA(x)
називається висотою нечіткої множини A. Нечітка множина
A є нормальною, якщо її висота дорівнює 1, тобто верхня границя
її функції приналежності дорівнює 1 ( mA(x)=1).
При mA(x)<1 нечітка множина називається
субнормальною.
- Нечітка множина є порожньою, якщо "xОE
m A(x)=0. Непорожню субнормальну множину
можна нормалізувати по формулі mA(x)
:=
- Нечітка множина є унімодальною, якщо mA(x)=1
лише для одного x з E.
- Носієм нечіткої множини A є звичайна підмножина з властивістю
mA(x)>0, тобто носій A = {x/mA(x)>0}
" xОE.
- Елементи xОE, для яких mA(x)=0,5
називаються точками переходу множини A.
Приклади нечітких множин
1. Нехай E = {0,1,2,..,10}, M =[0,1]. Нечітку множину "кілька"
можна визначити таким чином: "кілька" = 0,5/3+0,8/4+1/5+1/6+0,8/7+0,5/8;
її характеристики: висота = 1, носій={3,4,5,6,7,8}, точки переходу
- {3,8}.
2. Нехай E = {0,1,2,3,...,n,...}. Нечітку множину "малий"
можна визначити: "малий" = 
3. Нехай E = {1,2,3,...,100} і відповідає поняттю "вік",
тоді нечітку множину "молодий", можна визначити за допомогою
m"молодий"(x) = 
Нечітка множина "молодий" на універсальній множині E'
={Іванов, Петров, Сидоров,...} задається за допомогою функції приналежності
m"молодий"(x) на E = {1,2,3,..100}
(вік), що називається відносно E' функцією сумісності, при цьому:
m"молодий"(Сидоров) = m"молодий"(x),
де x - вік Сидорова.
4. Нехай E = {Запорожець, Жигулі, Мерседес,....} - множина марок
автомобілів, а E' = [0,µ] - універсальна множина "вартість",
тоді на E' ми можемо визначити нечіткі множини типу: "для небагатих
", "для середнього класу", "престижні",
з функціями приналежності типу:
Маючи ці функції і знаючи ціни автомобілів з E у даний момент
часу, мі тим самим визначимо на E' нечіткі множини з цими ж назвами.
Так, наприклад, нечітка множина "для небагатих", що задана
на універсальній множині E={Запорожець, Жигулі, Мерседес,....} виглядає
таким чином:
Аналогічно можна визначити нечітку множину "швидкісні",
"середні", "тихохідні" і т.д.
Методи побудови функцій приналежності нечітких
множин
У приведених вище прикладах використані прямі методи, коли експерт
або просто задає для кожного xОE значення
mA(x), або визначає функцію приналежності.
Як правило, прямі методи завдання функції приналежності використовуються
для вимірних понять, таких як швидкість, година, відстань, тиск,
температура і т.д., тобто коли виділяються полярні значення.
У багатьох задачах при характеристиці об'єкта можна виділити набір
ознак і для кожного з них визначити полярні значення, що відповідають
значенням функції приналежності, 0 чи 1.
Наприклад, у задачі розпізнавання обличчя можна виділити наступні
пункти:
| |
|
0 |
1 |
|
x1
|
висота чола
|
низький
|
широкий
|
|
x2
|
профіль носа
|
кирпатий
|
горбатий
|
|
x3
|
довжина носа
|
короткий
|
довгий
|
|
x4
|
розріз очей
|
вузькі
|
широкі
|
|
x5
|
колір очей
|
світлі
|
темні
|
|
x6
|
форма підборіддя
|
гострий
|
квадратний
|
|
x7
|
товщина губ
|
тонкі
|
товсті
|
|
x8
|
колір обличчя
|
темний
|
світлий
|
|
x9
|
обрис обличчя
|
овальне
|
квадратне
|
Для конкретного обличчя А експерт, виходячи з приведеної шкали,
задає mA(x)О
[0,1], формуючи векторну функцію приналежності { mA(x1),
mA(x2),... mA(x9)}.
Непрямі методи визначення значень функції приналежності використовуються
у випадках, коли немає елементарних вимірних властивостей, через
які визначається потрібна нечітка множина. Як правило, це методи
попарних порівнянь. Якби значення функцій приналежності були нам
відомі, наприклад, mA(xi) = wi, i=1,2,...,n,
тоді попарні порівняння можна представити матрицею відношень A =
{aij}, де aij=wi/wj (операція ділення).
Операції над нечіткими множинами
Вміщення
Нехай A і B - нечіткі множини на універсальній множині E.
Говорять, що A міститься в B, якщо "x
ОE mA(x)
<mB(x).
Позначення: A М B.
Іноді використовують термін "домінування", тобто у випадку
коли A М B, говорять, що B домінує A.
Рівність
A і B рівні, якщо "xОE
mA(x) = mB
(x).
Позначення: A = B.
Доповнення
Нехай M = [0,1], A і B - нечіткі множини, задані на E. A і B доповнюють
один одного, якщо
"xОE mA(x)
= 1 - m B(x).
Позначення: B =
чи A =
Очевидно, що =
A. (Доповнення визначене для M = [0,1], але очевидно, що його можна
визначити для будь-якого впорядкованого M).
Перетинання
AЗB - найбільша нечітка підмножина,
що міститься одночасно в A і B.
mAЗB(x)
= min( mA(x), mB(x)).
Об'єднання
А И В - найменша нечітка підмножина,
що включає як А, так і В, з функцією приналежності:
mAИ B(x)
= max(mA(x), m
B(x)).
Різниця
А - B = АЗ
з функцією приналежності:
mA-B(x) = mA
З (x)
= min( mA(x), 1 - m
B(x)).
Диз'юнктивна сума
АЕB = (А - B)И(B
- А) = (А З
) И( З
B) з функцією приналежності:
mA-B(x) = max{[min{m
A(x), 1 - mB(x)}];[min{1 - mA(x),
mB(x)}] }
Приклади
Нехай:
A = 0,4/ x1 + 0,2/ x2+0/ x3+1/ x4;
B = 0,7/ x1+0,9/ x2+0,1/ x3+1/ x4;
C = 0,1/ x1+1/ x2+0,2/ x3+0,9/ x4.
Тут:
1. AМB, тобто A міститься в B чи B
домінує A, С незрівнянно ні з A, ні з B, тобто парі {A, С} і {A,
С} - парі недомінуємих нечітких множин.
2. A № B №C.
3. =
0,6/ x1 + 0,8/x2 + 1/x3 + 0/x4;
=
0,3/x1 + 0,1/x2 + 0,9/x3 + 0/x4.
4. AЗB = 0,4/x1 + 0,2/x2 + 0/x3 + 1/x4.
5. АИС = 0,7/x1 + 0,9/x2 + 0,1/x3 +
1/x4.
6. А - С = АЗ =
0,3/x1 + 0,1/x2 + 0/x3 + 0/x4;
В - А =
З С = 0,6/x1 + 0,8/x2 + 0,1/x3 + 0/x4.
7. А Е В = 0,6/x1 + 0,8/x2 + 0,1/x3
+ 0/x4.
Наочне представлення операцій над нечіткими
множинами
Для нечітких множин можна будувати візуальне представлення. Розглянемо
прямокутну систему координат, на осі ординат якої відкладаються
значення mA(x), на осі абсцис у довільному
порядку розташовані елементи E (мі вже використовували таке представлення
в прикладах нечітких множин). Якщо E по своїй природі впорядковано,
те цей порядок бажано зберегти в розташуванні елементів на осі абсцис.
Таке представлення робить наочними прості операції над нечіткими
множинами.
Нехай A нечіткий інтервал між 5 до 8 і B нечітке число близько
4, як показано на рисунку.

Проілюструємо нечітку множину між 5 і 8 I (AND) близько 4 (синя
лінія).

Нечітка множина між 5 і 8 АБО (OR) близько 4 показана на наступному
рисунку (знову синя лінія).

Наступний малюнок ілюструє операцію заперечення. Синя лінія -
це ЗАПЕРЕЧЕННЯ нечіткої множини A.
В наступному рисунку заштрихована частина відповідає нечіткій множині
A і зображує область значень А і всіх нечітких множин, що містяться
в A. Решта рисунків зображують відповідно ,
AЗ ,
AИ .
Властивості операцій И
і З
Нехай А, В, С - нечіткі множини, тоді виконуються наступні властивості:
- комутативність;
- асоціативність;
- ідемпотентність;
- дистрибутивність;
- AИЖ = A, де Ж
- порожня множина, тобто mЖ(x) = 0
"xОE;
- AЗЖ = Ж;
- AЗE = A, де E - універсальна множина;
- AИE = E;
-
теореми де Моргана.
На відміну від чітких множин, для нечітких множин у загальному
випадку:
- AЗ
№
Ж,
- AИ
№
E.
(Що, зокрема, проілюстровано вище в прикладі наочного представлення
нечітких множин).
- CON(A) = A2 - операція концентрування,
- DIL(A) = A0,5 - операція розмиття,
які використовуються при роботі з лінгвістичними змінними.

Множення на число
Якщо a - позитивне число, таке, що
a m
A(x)Ј1, тоді нечітка множина aA
має функцію приналежності:
maA(x) = amA(x).
Далі...
|