Лінгвістична змінна
Лінгвістична змінна (англ. Linguistic variable) — це одне з ключових понять нечіткої логіки. Суть даного поняття полягає в тому, що конкретні значення числової змінної зазвичай піддають людській суб'єктивній оцінці, причому результат такої оцінки виражено природною мовою[1].
Поняття «лінгвістична змінна» в її спрощеній формі задається у вигляді:
де — назва лінгвістичної змінної; — множина її значень (терм-множина), що являють собою найменування нечітких змінних, областю визначення кожної з яких є множина ; — універсум, тобто весь діапазон значень змінної ; — синтаксичне правило, що породжує назви нечіткої змінної (тобто терм); — семантичне правило, яке ставить у відповідність кожній нечіткій змінній її значення .
Терм-множина – це множина всіх можливих значень лінгвістичної змінної. Терм – будь-який елемент терм-множини. У теорії нечітких множин терм формалізується нечіткою множиною за допомогою функції належності.
Наочним прикладом нечіткої логіки можна навести відповіді людей на питання: «Чи холодно вам зараз?». Здебільшого люди розуміють, що йдеться не про абсолютну температуру за шкалою Цельсія, а про особисте сприйняття температури. Для багатьох людей +15 °C буде цілком теплою, інші потрактують таку температуру як прохолодну. На відміну від людей, машини не здатні проводити таку тонку градацію. Якщо стандартом визначення холоду буде «температура нижче +15 °C», то +14,99 °C буде розцінюватися як холод, а +15 °C — не буде.
Назвемо цю групу визначень лінгвістичною змінною з ім'ям = «температура в кімнаті», яка описує суб'єктивне сприйняття температури людиною. Тоді інші параметри змінної можна визначити таким чином:
1) універсальна множина ;
2) терм-множина = {«холодно», «комфортно», «жарко»} з такими функціями належності:
, та .
На рис. 1. зображено графік, що допомагає зрозуміти те, як людина сприймає температуру. Температуру в +10 °C людина сприймає як холод, а температуру в +30 °C – як спеку. Температура в +15 °C одним здається низькою, іншим – достатньо комфортною.
![](http://upload.wikimedia.org/wikipedia/commons/7/71/%D0%9B%D1%96%D0%BD%D0%B3%D0%B2%D1%96%D1%81%D1%82%D0%B8%D1%87%D0%BD%D0%B0_%D0%B7%D0%BC%D1%96%D0%BD%D0%BD%D0%B0.png)
3) синтаксичне правило , що породжує нові терми з використанням квантифікаторів «І», «АБО», «НЕ», «ДУЖЕ», «БІЛЬШ/МЕНШ» та ін.;
4) семантичне правило — це процедура, яка ставить у відповідність кожному новому терму нечітку множину. Якщо терми А та В мали функції належності та відповідно, то нові терми будуть мати функції належності, задані в таблиці 1.
Квантіфікатор | Функція належності |
---|---|
не t | |
дуже t | |
більш/менш t | |
А І B | |
А АБО B |
Розглянемо систему нечіткого виведення, що описується трьома параметрами: температура, тиск та витрати робочої речовини. Всі показники вимірювані, та множина можливих значень відома. Також з досвіду роботи з системою відомі деякі правила, що пов'язують значення цих параметрів. Припустимо, що зламався датчик, що вимірював значення одного з параметрів системи, але знати його показання потрібно хоча б приблизно. Тоді постає завдання про пошук цього невідомого значення (нехай це буде тиск) за відомих показників двох інших параметрів (температура та витрати). Зв'язок цих величин у вигляді продукційних правил подано нижче:
p1. якщо «Температура низька» і «Витрати малі», то «Тиск низький»;
p2. якщо «Температура середня», то «Тиск середній»;
p3. якщо «Температура висока» або «Витрати великі», то «Тиск високий».
Температура, тиск та витрати – лінгвістичні змінні.
Етап фазифікації:
1) Вхідна лінгвістична змінна «Температура». Універсум — відрізок [0, 150]. Початкова множина термів {Висока, Середня, Низька}. Функції належності термів мають наступний вигляд (рис. 2):
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D1%96%D1%97_%D0%BF%D1%80%D0%B8%D0%BD%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%96_%D1%82%D0%B5%D1%80%D0%BC%D1%96%D0%B2_%D0%BB%D1%96%D0%BD%D0%B3%D0%B2%D1%96%D1%81%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D1%97_%D0%B7%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%97_%C2%AB%D0%A2%D0%B5%D0%BC%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D1%83%D1%80%D0%B0%C2%BB.png/400px-%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D1%96%D1%97_%D0%BF%D1%80%D0%B8%D0%BD%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%96_%D1%82%D0%B5%D1%80%D0%BC%D1%96%D0%B2_%D0%BB%D1%96%D0%BD%D0%B3%D0%B2%D1%96%D1%81%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D1%97_%D0%B7%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%97_%C2%AB%D0%A2%D0%B5%D0%BC%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D1%83%D1%80%D0%B0%C2%BB.png)
3) Вхідна лінгвістична змінна «Витрати». Універсум — відрізок [0, 8]. Початкова множина термів {Великий, Середній, Малий}. Функції належності термів мають такий вигляд (рис. 3):
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D1%96%D1%97_%D0%BF%D1%80%D0%B8%D0%BD%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%96_%D1%82%D0%B5%D1%80%D0%BC%D1%96%D0%B2_%D0%BB%D1%96%D0%BD%D0%B3%D0%B2%D1%96%D1%81%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D1%97_%D0%B7%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%97_%C2%AB%D0%92%D0%B8%D1%82%D1%80%D0%B0%D1%82%D0%B8%C2%BB.png/400px-%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D1%96%D1%97_%D0%BF%D1%80%D0%B8%D0%BD%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%96_%D1%82%D0%B5%D1%80%D0%BC%D1%96%D0%B2_%D0%BB%D1%96%D0%BD%D0%B3%D0%B2%D1%96%D1%81%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D1%97_%D0%B7%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%97_%C2%AB%D0%92%D0%B8%D1%82%D1%80%D0%B0%D1%82%D0%B8%C2%BB.png)
2) Вихідна лінгвістична змінна «Тиск». Універсум — відрізок [0, 100]. Початкова множина термів {Високий, Середній, Низький}. Функції належності термів мають такий вигляд (рис. 4):
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D1%96%D1%97_%D0%BF%D1%80%D0%B8%D0%BD%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%96_%D1%82%D0%B5%D1%80%D0%BC%D1%96%D0%B2_%D0%BB%D1%96%D0%BD%D0%B3%D0%B2%D1%96%D1%81%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D1%97_%D0%B7%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%97_%C2%AB%D0%A2%D0%B8%D1%81%D0%BA%C2%BB.png/400px-%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D1%96%D1%97_%D0%BF%D1%80%D0%B8%D0%BD%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%96_%D1%82%D0%B5%D1%80%D0%BC%D1%96%D0%B2_%D0%BB%D1%96%D0%BD%D0%B3%D0%B2%D1%96%D1%81%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D1%97_%D0%B7%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%97_%C2%AB%D0%A2%D0%B8%D1%81%D0%BA%C2%BB.png)
Нехай відомі значення змінних «Температура» — 85 та «Витрати» — 3,5. Зробимо розрахунок значення тиску.
Етап агрегування — за заданими значеннями вхідних параметрів знайдемо ступені істинності найпростіших тверджень:
- Температура Висока: ;
- Температура Середня: ;
- Температура Низька: ;
- Витрати Великі: ;
- Витрати Середні: ;
- Витрати Малі : .
Потім обчислимо ступені істинності передумов правил:
- Температура низька і Витрати малі: .
- Температура Середня: .
- Температура Висока або Витрати Великі: .
Етап активізації – визначаються функції належності кожного з висновків для розглянутої вихідної лінгвістичної змінної «Тиск».
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/%D0%A0%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97.png/350px-%D0%A0%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97.png)
Етап акумулювання — об'єднання функцій належності, отриманих на етапі активізації, через побудову максимуму отриманих функцій належності (рис. 6).
![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/9d/%D0%A0%D0%B8%D1%81%D1%83%D0%BD%D0%BE%D0%BA_6_-_%D0%A0%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82_%D0%B0%D0%BA%D1%83%D0%BC%D1%83%D0%BB%D1%8E%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F.png/400px-%D0%A0%D0%B8%D1%81%D1%83%D0%BD%D0%BE%D0%BA_6_-_%D0%A0%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82_%D0%B0%D0%BA%D1%83%D0%BC%D1%83%D0%BB%D1%8E%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F.png)
Етап дефазифікації. Отриману функцію належності вже можна вважати результатом. Це новий терм вихідної змінної «Тиск». Його функція належності сповіщає про ступінь істинності в значенні тиску при заданих значеннях вхідних параметрів і використанні правил, що визначають співвідношення вхідних та вихідних змінних. Але зазвичай все-таки потрібно якесь конкретне числове значення. Існує багато методів дефазифікації, але в цьому випадку досить методу першого максимуму. Застосовуючи його до отриманої функції належності, отримуємо, що значення тиску – 50.
Таким чином, якщо ми знаємо, що температура дорівнює 85, а витрати робочої речовини – 3,5, то можемо зробити висновок, що тиск дорівнює приблизно 50 (рис. 6).
- Система нечіткого виведення
- Нечітка логіка
- Фазифікація
- Дефазифікація
- Функція належності
- Продукційні правила
- ↑ Круглов, В. В. Нечеткая логика и искусственные нейронные сети / В. В. Круглов, М. И. Дли, Р. Ю. Голунов. — М.: ФИЗМАТЛИТ, 2001. — 201с.