Loading AI tools
З Вікіпедії, вільної енциклопедії
Нечітка логіка (англ. fuzzy logic) — розділ математики, який є узагальненням класичної логіки і теорії множин. Уперше введений Лотфі Заде в 1965 році[1][2][3] як розділ, що вивчає об'єкти з функцією належності елемента до множини, який приймає значення у інтервалі [0, 1], а не тільки 0 або 1. На основі цього поняття вводяться логічні операції над нечіткими множинами, і формулюється поняття лінгвістичної змінної, якою виступають нечіткі множини.
![]() | Цю статтю треба вікіфікувати для відповідності стандартам якості Вікіпедії. (грудень 2015) |
Предметом нечіткої логіки вважається дослідження суджень в умовах нечіткості, які схожі з судженнями у звичайному сенсі, та їх застосування у обчислювальних системах.
Основи нечіткої логіки були закладені наприкінці 60-х років у працях відомого американського математика Лотфі Заде[4]. Соціальне замовлення на дослідження подібного роду було викликано зростаючим незадоволенням експертними системами. Хвалений «штучний інтелект», що легко справлявся із задачами керування складними технічними комплексами, був безпорадним при найпростіших висловленнях повсякденного життя, типу «Якщо машиною перед тобою керує недосвідчений водій — тримайся від неї подалі». Для створення дійсно інтелектуальних систем, здатних адекватно взаємодіяти з людиною, необхідний був новий математичний апарат, що переводить невиразні і неоднозначні життєві твердження в мову чітких і формальних математичних формул.
Першим серйозним кроком у цьому напрямку з'явилася теорія нечітких множин, розроблена Заде. Його робота «Fuzzy Sets», що з'явилася в 1965 році в журналі «Information and Control», заклала основи моделювання інтелектуальної діяльності людини і з'явилася початковим поштовхом до розвитку нової математичної теорії. Він же дав і назву для нової області науки -«fuzzy logic»(fuzzy — нечіткий, розмитий, м'який).
У США розвиток нечіткої логіки йде по шляху створення систем, що потрібні великому бізнесу і військовим. Нечітка логіка застосовується при аналізі нових ринків, біржовій грі, оцінці політичних рейтингів, виборі оптимальної цінової стратегії, оцінці рівня зрілості процесів захисту інформації[5] і т. ін. З'явилися і комерційні системи масового застосування.
Зсув центра досліджень нечітких систем вбік практичних застосувань привело до постановки цілого ряду проблем, зокрема:
На відміну від булевої алгебри, у котрій існує лише дві величини (0 та 1, правда чи неправда) у нечіткій логіці існують також перехідні величини (стани).
Одні з основних понять нечіткої логіки: нечіткі множини, фазіфікація/дефазіфікація, фазі-операція.
У останні роки значення нечіткої логіки стрімко виросло у світі високих технологій.
Нечітка множина — це пара (A, m), де A — ім'я нечіткої множини, наприклад: ВЕЛИКИЙ, МОЛОДИЙ, НЕГАТИВНО МАЛИЙ, а m — функція m: X → L, звана функцією приналежності і позначала зазвичай грецькою буквою мю. Часто покладається L = [0,1], а як X використовується деяка множина дійсних чисел. m (x) інтерпретується як ступінь приналежності елемента x з X нечіткій множині A. Функція приналежності може розглядатися як узагальнена характеристична функція множини. Зазвичай на нечітку множину посилаються або за її ім'ям, або за функцією приналежності. Нечітка множина A може розглядатися як значення деякої лінгвістичної змінної. Наприклад, лінгвістична змінна ПОМИЛКА може мати значення НЕГАТИВНО ВЕЛИКА, НЕГАТИВНО МАЛА, НУЛЬ, ПОЗИТИВНО МАЛА, ПОЗИТИВНО ВЕЛИКА, які в нечітких регуляторах позначаються звичайно як НВ, НМ, Н, ПМ, ПВ. Оскільки операції над нечіткими множинами визначаються операціями над їх функціями належності, то при дослідженні алгебраїчних властивостей нечітких множин, часто нечітку множину ототожнюють з її функцією приналежності і визначають як функцію A: X → L.
Апарат теорії нечітких множин, продемонструвавши ряд багатообіцяючих можливостей застосування — від систем керування літальними апаратами до прогнозування підсумків виборів, виявився разом з тим надмірно складним для втілення, враховуючи наявний на той час рівень технології — і на багато років нечітка логіка зайняла своє місце в ряді інших спеціальних наукових дисциплін — десь посередині між експертними системами і нейронними мережами…
Нечітка підмножина відрізняється від звичайної тим, що для елементів u з U немає однозначної відповіді «ні» або «так» щодо властивості G.
При описі об'єктів і явищ за допомогою нечітких множин використовується поняття нечіткої і лінгвістичної змінних.
Нечітка змінна характеризується трійкою <a, X, A>, де
Лінгвістичною змінною називається набір <b ,T, X, G, M>, де
Найбільш важливим застосуванням теорії нечітких множин є контролери нечіткої логіки. Їх функціонування дещо відрізняється від роботи звичайних контролерів; для опису системи замість диференційних рівнянь використовуються знання експертів. Ці знання можуть бути виражені за допомогою лінгвістичних змінних, які описані нечіткими множинами.
Загальна структура мікроконтролера, що використовує нечітку логіку. Вона містить у своєму складі наступні складові:
Блок фазіфікації перетворює чіткі величини, виміряні на виході об'єкта керування, у нечіткі величини, що описані лінгвістичними змінними в базі знань.
Блок рішень використовує нечіткі продукційні правила (if — then), закладені в базі знань, для перетворення нечітких вхідних даних у необхідні керуючі впливи, що носять також нечіткий характер.
Блок дефазіфікації перетворює нечіткі дані з виходу блоку рішень у чітку величину, що використовується для керування об'єктом
Як приклад відомих мікроконтролерів, що підтримують нечітку логіку можна назвати 68HC11, 68HC12 фірми Motorola, MCS-96 фірми Intel, а також деякі інші.
Всі системи з нечіткою логікою функціонують за одним принципом: показання вимірювальних приладів: фазіфікуються (перетворюються в нечіткий формат), обробляються, дефазіфікуються й у вигляді звичайних сигналів подаються на виконавчі пристрої.
Розглянемо випадок керування мобільним роботом, задачею якого є об'їзд перешкод. Введемо дві лінгвістичні змінні: ДИСТАНЦІЯ (відстань від робота до перешкоди) і НАПРЯМОК (кут між подовжньою віссю робота та напрямком на перешкоду).
Розглянемо лінгвістичну змінну ДИСТАНЦІЯ. Значеннями її можна визначити терми ДАЛЕКО, СЕРЕДНЬО, БЛИЗЬКО і ДУЖЕ БЛИЗЬКО. Для фізичної реалізації лінгвістичної змінної необхідно визначити точні фізичні значення термів цієї змінної. Нехай змінна ДИСТАНЦІЯ може приймати будь-які значення з діапазону від нуля до нескінченності. Відповідно до теорії нечітких множин, у такому випадку кожному значенню відстані з зазначеного діапазону може бути поставлене у відповідність деяке число від нуля до одиниці, що визначає ступінь приналежності даної фізичної відстані (припустимо 40 см) до того чи іншого терму лінгвістичної змінної ДИСТАНЦІЯ. Ступінь приналежності визначаємо функцією приналежності М(d), де d-відстань до перешкоди. У нашому випадку відстані 40 см. Можна задати ступінь приналежності до терму ДУЖЕ БЛИЗЬКО рівним 0,7, а до терму БЛИЗЬКО — 0,3 (рис. 2.). Конкретне визначення ступеня приналежності може проходити тільки при роботі з експертами.
Fuzzy logic toolbox — вбудована в Matlab сукупність функцій, що містить набір засобів, які дозволяють:
Даний набір інструментів забезпечує три категорії інструментальних засобів програмування нечітких систем:
Перша категорія — готові функції, які можна викликати відразу з командного рядка Matlab. Практично усі вони являють собою м-файли, що містять послідовність виразів, що виконують спеціалізований нечіткий алгоритм. Для перегляду вихідного коду функцій необхідно набрати в командному рядку: type ім'я_функції
Крім того, Matlab дозволяє їх модифікувати шляхом копіювання і перейменування відповідного файлу та наступного його редагування. Таким чином, нечіткий набір інструментів є розширеним власними функціями.
Друга категорія дозволяє отримати доступ до тих самих функцій через графічний користувальницький інтерфейс, за допомогою якого набагато зручніше конструювати й аналізувати нечіткі системи.
Третя категорія — моделювання в середовищі SimuLink. Тут підсистеми представляються у виді блоків — можна з'єднати будь-яким чином і відразу отримати результати.
У Matlab є багато вбудованих функцій приналежності, зокрема:
Усі дії над нечіткими числами задаються мінімальним набором функцій і відбуваються всередині програми. Таким чином, користувачу необов'язково вивчати усі тонкощі теорії нечітких множин, достатньо лише визначити усі вхідні і вихідні змінні і задати таблицю правил, а решту роботи робить Matlab. Дефазіфікація виконується в один з п'ятьох методів, зазначених програмістом. Крім того, можна вивести на екран відповідно до введених правил результуючі поверхні керування в залежності від комбінації входів, схему отриманої нечіткої програми, і це лише мала частина всіх можливостей даного набору інструментів
Коротко перелічимо відмітні переваги fuzzy-систем у порівнянні з іншими:
Що стосується вітчизняного ринку комерційних систем на основі нечіткої логіки, то його формування почалося в середині 1995 року. Найбільш популярні в замовників наступні пакети:
Основними споживачами нечіткої логіки на ринку в пострадянських країнах є банкіри і фінансисти, а також фахівці в області політичного й економічного аналізу. Вони використовують CubiCalc для створення моделей різних економічних, політичних, біржових ситуацій. Що ж стосується легкого в освоєнні пакета FuziCalc, то він зайняв своє місце на комп'ютерах великих банкірів і фахівців з надзвичайних ситуацій — тобто тих, для кого найбільше важлива швидкість проведення розрахунків в умовах неповноти і неточності вхідної інформації. Однак можна з упевненістю сказати, що епоха розквіту прикладного використання нечіткої логіки на вітчизняному ринку ще попереду.
Сьогодні елементи нечіткої логіки можна знайти в десятках промислових виробів — від систем керування електропоїздами і бойовими вертольотами до пилососів і пральних машин. Рекламні кампанії багатьох фірм (переважно японських) підносять успіхи у використанні нечіткої логіки як особливу конкурентну перевагу. Без застосування нечіткої логіки немислимі сучасні ситуаційні центри керівників західних країн, у яких приймаються ключові політичні рішення і моделюються всілякі кризові ситуації. Одним із вражаючих прикладів масштабного застосування нечіткої логіки стало комплексне моделювання системи охорони здоров'я і соціального забезпечення Великої Британії (National Health Service — NHS), що вперше дозволило точно оцінити й оптимізувати витрати на соціальні нестатки.
Не обійшли засоби нечіткої логіки і програмні системи, що обслуговують великий бізнес. Першими, зрозуміло, були фінансисти, задачі яких вимагають щоденного прийняття правильних рішень у складних умовах непередбаченого ринку. Перший рік використання системи Fuji Bank приносив банку в середньому $770000 на місяць (і це тільки офіційно оголошений прибуток !).
Слідом за фінансистами, стурбовані успіхами японців і втратою стратегічної ініціативи, когнітивними нечіткими схемами зацікавилися промислові гіганти США. Motorola, General Electric, Otis Elevator, Pacific Gas & Electric, Ford і інші на початку 90-х почали інвестувати в розробку виробів, що використовують нечітку логіку. Маючи солідну фінансову «підтримку», фірми, що спеціалізуються на нечіткій логіці, одержали можливість адаптувати свої розробки для широкого кола застосувань. «Зброя еліти» вийшла на масовий ринок.
Серед лідерів нового ринку виділяється американська компанія Hyper Logic, заснована в 1987 році Фредом Воткінсом (Fred Watkins). Спочатку компанія спеціалізувалася на нейронних мережах, однак незабаром цілком сконцентрувалася на нечіткій логіці. Недавно вийшла на ринок друга версія пакета CubiCalc фірми HyperLogic, яка є однієї з найбільш могутніх експертних систем на основі нечіткої логіки. Пакет містить інтерактивну оболонку для розробки нечітких експертних систем і систем керування, а також run-time модуль, що дозволяє оформляти створені користувачем системи у виді окремих програм.
Крім Hyper Logic серед «патріархів» нечіткої логіки можна також назвати такі фірми як IntelligenceWare, InfraLogic, Aptronix. Усього ж на світовому ринку представлено більш 100 пакетів, які тим чи іншим видом використовують нечітку логіку. У трьох десятках СУБД реалізована функція нечіткого пошуку. Власні програми на основі нечіткої логіки анонсували такі гіганти як IBM, Oracle і інші.
Символічна нечітка логіка Символічна нечітка логіка засновується на понятті t-норми. Після вибору деякої t-норми з'являється можливість визначити основні операції: кон'юнкцію диз'юнкцію, імплікацію, заперечення та ін.
Неважко довести теорему про те, що дистрибутивніть, притаманна класичній логіці, виконується тільки у випадку якщо t-норма є t-нормою Гьоделя.
Нечітка логіка та нейронні мережі Оскільки нечіткі множини описуються функціями належності, а t-норми та k-норми звичайними математичними операціями, можна уявити нечіткі логічні міркування у вигляді нейронної мережі. Для цього функції приналежності треба інтерпретувати як функції активації нейронів, передачу сигналів як зв'язку, а логічні t-норми та k-норми, як спеціальні види нейронів, що виконують математичні відповідні операції. Існує велика різноманітність подібних нейро-нечітких мереж. Наприклад, ANFIS (Adaptive Neuro fuzzy Inference System) — адаптивна нейро-нечітка система виводу.
Вона може бути описана в універсальній формі апроксиматорів як
,
крім того цією формулою можуть бути описані деякі нейронні мережі, так як радіально базисні мережі (RBF), багатошарові персептрони (MLP), а також вейвлети і сплайни.
У визначеннях, прийнятих для лінгвістичної змінної:
Характеристичні функції:
Правило G породує нові терми з використанням зв'я́зок «і», «або», «не», «дуже», «більш менш».
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.