Перейти до вмісту
coden

Нечітке керування: Мамдані та Суґено від вентилятора до маятника на візку

Регулятор і зворотний зв’язок, фазифікація, виведення і дефазифікація, центр ваги, бісектриса і середнє максимумів, регулятор Такаґі–Суґено, поверхні керування і нечіткий регулятор, який утримує жердину на візку.

14 хвилин Matěj Žalmánek 2026-10-15

Серія Основи ШІ Частина 35 з 52
  1. Мапа штучного інтелекту: що є що і як усе це пов’язано
  2. Коротка історія штучного інтелекту: від Тюрінга до мовних моделей
  3. Дані, модель, тренування, інференс: основні поняття на одному прикладі
  4. Як читати математичний запис: символи, індекси, суми та квантори
  5. Множини й відношення: конструктор, з якого складаються означення в ШІ
  6. Функції й відображення: чому кожна модель у ШІ — це функція
  7. Логіка й доведення: правила, за якими міркують у ШІ
  8. Графи й дерева: структура, на якій тримаються пошук і нейронні мережі
  9. Лінійна алгебра для машинного навчання: вектори, матриці й чому ШІ передусім множить
  10. Похідні, градієнт і правило ланцюжка: як модель дізнається, у якому напрямку вчитися
  11. Градієнтний спуск: як навчається модель
  12. Що таке ймовірність: від кидка кубика до аксіом Колмогорова
  13. Умовна ймовірність і теорема Баєса: як змінити оцінку, коли дізнаєтеся щось нове
  14. Випадкова величина і функція розподілу: одна функція, яка каже про розподіл усе
  15. Функція щільності та функція маси ймовірності: чому неперервна величина має в точці ймовірність нуль
  16. Математичне сподівання, дисперсія і коваріація: де лежить розподіл, наскільки він широкий і що з чим пов’язано
  17. Огляд розподілів ймовірностей: Бернуллі, біноміальний, Пуассона, рівномірний, нормальний і експоненційний
  18. Закон великих чисел і центральна гранична теорема: чому середні поводяться так передбачувано
  19. Статистика й оцінювання параметрів: максимальна правдоподібність, MAP і довірчі інтервали
  20. Теорія інформації: ентропія, перехресна ентропія і KL-дивергенція — звідки беруться функції втрат
  21. Пошук у просторі станів: BFS, DFS, UCS і A* з анімаціями
  22. Ігри та суперник: мінімакс, альфа-бета відсікання і Monte Carlo tree search
  23. Задоволення обмежень: бектрекінг, поширення обмежень і AC-3 на судоку та мапі чеських країв
  24. Логіка й системи, засновані на знаннях: пряме і зворотне виведення, резолюція та експертні системи
  25. Планування: STRIPS, світ кубиків, евристики з релаксації та планування в AI-агентах
  26. Локальний пошук та імітація відпалу: комівояжер через обласні центри Чехії
  27. Генетичні алгоритми: популяція, схрещування, мутація і добір на рюкзаку для походу
  28. Еволюційні стратегії і генетичне програмування: від правила однієї п’ятої до закону Кеплера
  29. Оптимізація мурашиною колонією: як феромоновий слід знаходить короткий шлях
  30. Оптимізація роєм частинок: інерція, власний досвід і досвід рою
  31. Нейроеволюція: еволюція ваг і форми нейронних мереж та алгоритм NEAT
  32. Нечіткі множини й функції належності: як записати «трохи тепло»
  33. Нечітка логіка та ймовірність: чому «трохи тепло» не означає «імовірно тепло»
  34. Нечітка логіка: t-норми, імплікації та правила ЯКЩО–ТО
  35. Нечітке керування: Мамдані та Суґено від вентилятора до маятника на візку
  36. Нечітка кластеризація: алгоритм fuzzy c-means і точки між кластерами
  37. Нейро-нечіткі системи (ANFIS): нечіткі правила, які навчаються з даних
  38. Марковські ланцюги: матриця переходів, стаціонарний розподіл і PageRank
  39. Приховані марковські моделі: алгоритм Вітербі й нечесне казино
  40. Байєсівські мережі: чому трава мокра і що з цього випливає для дощувача
  41. Фільтр Калмана: як за неточними вимірюваннями оцінити, де авто і як швидко воно їде
  42. Види машинного навчання: з учителем, без учителя, з частковим залученням учителя та інші
  43. Промпти, контекст і RAG: як дати моделі правильну інформацію
  44. Варіаційні автокодувальники (VAE): нові зображення з неперервного латентного простору
  45. Генеративні змагальні мережі (GAN): фальшувальник проти детектива
  46. Дифузійні моделі: як із чистого шуму постає зображення
  47. Марковські процеси ухвалення рішень: стани, дії, винагороди й рівняння Беллмана
  48. Q-навчання і DQN: як навчитися цінності дій — від таблиці до нейронної мережі
  49. Policy gradient і PPO: навчання безпосередньо політики
  50. Як працює ШІ-агент: мовна модель у циклі з інструментами
  51. Програмування з AI-агентами: завдання, тести й перевірка
  52. Оцінювання і безпека систем ШІ: як вимірювати і як стежити

Повна програма серії Готово: 52 з 83 тем

Що ви винесете
  • Як нечіткий регулятор перетворює вимірювання на керувальну дію: фазифікація, виведення і дефазифікація.
  • Чим відрізняються регулятори Мамдані та Суґено і чому центр ваги не досягає країв діапазону.
  • Як дев’ять правил утримують жердину на візку — і чому, щоб утримати й візок, їм потрібен ще лінійний член.

Що варто знати заздалегідь: Нечітка логіка: t-норми, імплікації та правила ЯКЩО–ТО

1974 року Ебрагім Мамдані сидів у лондонській лабораторії над невеликою паровою машиною, яку класичними методами керувати не вдавалося. Досвідчений оператор при цьому керував нею без проблем — за правилами на кшталт «якщо тиск трохи високий і зростає, трохи зменш пару». Мамдані зі своїм студентом Седраком Ассіліаном записав ці правила нечіткою логікою і дав їм керувати машиною. Це спрацювало. За десять років нечіткі регулятори керували цементними печами, ще за кілька років — метро та пральними машинами. У минулій частині ми навчилися обчислювати правила; тепер зберемо з них регулятор, який видає одне число, — і дамо йому балансувати жердину.

Продовжує частини Нечітка логіка: t-норми, імплікації та правила ЯКЩО–ТО і Нейроеволюція, звідки ми позичимо маятник на візку.

1. Регулятор і зворотний зв’язок

Означення — регулятор

Регулятор — це відображення u = R(x) з виміряного стану системи x у керувальну дію u. У замкненому контурі дія впливає на систему, та змінюється, її знову вимірюють, і регулятор знову втручається — зазвичай від десятків до тисяч разів за секунду.

Простими словами

Термостат вимірює температуру й вмикає опалення; температура змінюється, термостат вимірює її знову. Регулятор — це правило «що робити, коли бачу ось це». Класична теорія керування виводить його з рівнянь системи. Нечіткий регулятор складає його з правил, як їх сказала б досвідчена людина.

Означення — замкнений контур у дискретному часі

Комп’ютер вимірює й діє кроками тривалістю Δt. Стан xk на кроці k змінюється за рівняннями руху системи F і дією регулятора:

uk = R(xk),    xk+1 = F(xk, uk),    k = 0, 1, 2, …

Отже, регулятор не бачить ні майбутнього, ні рівнянь F — лише поточне вимірювання. У маятника наприкінці частини Δt = 0,02 с, тож хвилина керування — це 3 000 кроків контуру.

2. Три кроки нечіткого регулятора

вхід 27 °C60 % фазифікація тепло 0,83волого 0,67 виведення R1: 0,2R3: 0,67 дефазифікація вихід 65,9 %
Нечіткий регулятор вентилятора крок за кроком
  1. Фазифікація перетворює чіткі вимірювання на ступені належності: 27 °C — це «приємно» зі ступенем 0,2 і «тепло» зі ступенем 0,83, вологість 60 % — «волого» зі ступенем 0,67.
  2. Виведення обчислює правила, як це показала минула частина: кожне правило має силу й обрізає свій висновок; висновки поєднуються максимумом.
  3. Дефазифікація перетворює отриману нечітку множину на одне число, яке йде на двигун.
Приклад — фазифікація 27 °C і 60 %

Терми з минулої частини: приємно — трапеція (10, 17, 23, 28), тепло — трикутник (22, 28, 34), спекотно — трапеція (30, 36, 40, 40); сухо — трапеція (0, 0, 30, 50), волого — (40, 70, 100, 100). На спадному ребрі трапеції (a, b, c, d) μ(x) = (d − x) / (d − c), на зростаючому (x − a) / (b − a).

  • приємно(27) = (28 − 27) / (28 − 23) = 1/5 = 0,2,
  • тепло(27) = (27 − 22) / (28 − 22) = 5/6 ≈ 0,83 (27 лежить на зростаючому ребрі),
  • холодно(27) = спекотно(27) = 0 — 27 лежить поза їхніми носіями,
  • волого(60) = (60 − 40) / (70 − 40) = 2/3 ≈ 0,67, сухо(60) = 0 (носій закінчується в 50).

Виведення за Мамдані — це єдина формула, яка складає вихідну нечітку множину з обрізаних висновків:

μout(y) = maxi min( αi, μBi(y) ),    αi = T(μAi1(x1), …, μAin(xn))

μout(y)
вихідна нечітка множина — для кожного можливого значення виходу y каже, наскільки його підтримують правила; це ціла функція, а не число, тому після неї ще має прийти дефазифікація (на рисунку нижче це зелена площа)
αi
сила i-го правила — t-норма T (тут мінімум) поєднує умови «і»; правило не може справджуватися більше, ніж його найслабша умова
μBi(y)
висновок правила, наприклад «швидко» — форма, яку мав би вихід, якби правило справджувалося повністю
min
обрізання — висновок може бути підтриманий лише настільки, наскільки справджується засновок; слабке правило так дає низьке «плато»
maxi
поєднання правил — правила розуміють як альтернативи («або»), тож значення y підтримане настільки, наскільки його підтримує найсильніше правило
Приклад — вихідна множина вентилятора

Сили правил: R1 (холодно або приємно → повільно) має α1 = max(0; 0,2) = 0,2; R2 (тепло і сухо → середньо) min(0,83; 0) = 0; R3 (тепло і волого → швидко) min(5/6; 2/3) = 2/3; R4 (спекотно → швидко) 0.

Повільно — трапеція (0, 0, 20, 45), обрізана на висоті 0,2: плато 0,2 аж до y = 40 (там спадне ребро (45 − y)/25 опускається до 0,2), а потім спад до нуля в 45. Швидко — трапеція (55, 80, 100, 100), обрізана на 2/3: ребро (y − 55)/25 досягає 2/3 при y = 55 + 25 · 2/3 ≈ 71,67. Результат:

μout(y) = 0,2 на [0; 40], (45 − y)/25 на [40; 45], 0 на [45; 55], (y − 55)/25 на [55; 71,67] і 2/3 на [71,67; 100].

Увесь регулятор як псевдокод, із вихідною віссю, поділеною на сітку:

def mamdani(vstup, pravidla, mrizka):        # mrizka = 0; 0,1; …; 100
    sily = []
    for r in pravidla:                          # 1. фазифікація + сила правила:
        sily.append(min(                        #    «і» = мінімум, «або» = максимум
            max(mu(t, vstup[prom]) for t in terminy)
            for prom, terminy in r.kdyz))
    vystup = [max(min(a, r.pak(y)) for a, r in zip(sily, pravidla))
              for y in mrizka]                  # 2. обрізання й поєднання максимумом
    citatel = sum(y * m for y, m in zip(mrizka, vystup))
    jmenovatel = sum(vystup)                    # 3. дефазифікація центром ваги
    return citatel / jmenovatel if jmenovatel > 0 else 50

3. Дефазифікація

Означення — методи дефазифікації

Для вихідної нечіткої множини з функцією належності μ на проміжку виходів:

  • Центр ваги (центроїд): y* = ∫ y μ(y) dy / ∫ μ(y) dy.
  • Бісектриса: y*, для якого площа під μ ліворуч дорівнює площі праворуч.
  • Середнє максимумів: середнє точок, у яких μ досягає максимуму.
Простими словами

Отримана множина — як купка піску, насипана над віссю обертів. Центр ваги — це місце, де купка врівноважилася б на дошці; бісектриса ділить її на дві однаково великі половини; середнє максимумів дивиться лише на найвищу частину, а решту ігнорує.

y* = ∫ y · μ(y) dy / ∫ μ(y) dy

y*
чіткий вихід — одне число, яке йде на двигун, бо двигун нечіткої множини не розуміє
y
положення на осі обертів — «плече важеля»; кожне значення голосує саме за себе
μ(y)
вага голосу — значення, які правила підтримують більше, тягнуть результат сильніше (зелена площа на рисунку)
∫ μ(y) dy
загальна площа — діленням ми робимо зі зваженої суми зважене середнє; без нього результат зростав би з тим, скільки правил спрацює, а не залежно від того, куди вони вказують
Це точно формула центра мас тіла з фізики, тільки масу замінює ступінь належності.
00,51 0102030405060708090100 65,9 75,3 85,9 оберти вентилятора (%) ступінь належності μ (0–1)
Вихід вентилятора для 27 °C і 60 % та три методи дефазифікації центр вагибісектрисасереднє максимумів

Для нашого входу центр ваги дає 65,9 %, бісектриса 75,3 % і середнє максимумів 85,9 %. Різниця в тому, скільки голосу отримує слабше правило R1 («повільно» із силою 0,2): центр ваги враховує його повністю, середнє максимумів — зовсім ні. Центр ваги використовують найчастіше, бо вихід змінюється плавно. Але він має ваду: ніколи не досягає країв діапазону. Навіть коли спрацює лише правило «швидко», центр ваги його трапеції лежить на 83 %, а не на 100 %.

Приклад — центр ваги, бісектриса і середнє максимумів вручну

Вихідна множина з розділу про кроки складається з прямокутників і трикутників, тож інтеграли обчислимо зі знаних площ і центрів ваги (центр ваги прямокутного трикутника лежить на третині від його вертикальної сторони):

ВідрізокФормаПлощаЦентр вагиПлоща · центр ваги
[0; 40]прямокутник висотою 0,2820160
[40; 45]трикутник, спадає0,541,6720,83
[55; 71,67]трикутник, зростає5,5666,11367,28
[71,67; 100]прямокутник висотою 2/318,8985,831 621,30
разом32,942 169,41
  • Центр ваги: y* = 2 169,41 / 32,94 ≈ 65,85 %. Комп’ютер у src/fuzzyrizeni.js замінює інтеграл сумою з кроком 0,1 % і отримує 65,87 — обидва значення округлюються до 65,9 %.
  • Бісектриса: половина площі — 16,47. До точки 71,67 набирається 8 + 0,5 + 5,56 = 14,06, бракує 2,41; на плато висотою 2/3 це 2,41 / (2/3) ≈ 3,62 далі, тобто y* ≈ 75,3 %.
  • Середнє максимумів: максимум 2/3 досягається на всьому [71,67; 100], середнє країв — (71,67 + 100)/2 ≈ 85,8 %. Комп’ютер усереднює точки сітки від 71,7 і вище, тому 85,9 %.

4. Такаґі–Суґено

Дефазифікація центром ваги означає обчислювати інтеграл — 1985 року на малому процесорі пральної машини чи камери це дорога річ. Тому Томохіро Такаґі та Мітіо Суґено запропонували правила, які одразу повертають число.

Означення — регулятор Такаґі–Суґено

Правило має вигляд ЯКЩО x1 є A1 і … і xn є An, ТО y = f(x1, …, xn). У Суґено нульового порядку f — константа, у першого порядку — лінійна функція c0 + c1x1 + … + cnxn.

Вихід — зважене середнє висновків, вагами є сили правил: y* = ∑i αi fi / ∑i αi.

Простими словами

Кожне правило каже не «оберти швидко» (нечітка множина), а «оберти 90 %» (число). Результат — середнє пропозицій усіх правил, зважене тим, наскільки кожне правило справджується. Жодного інтеграла, лише кілька множень і одне ділення.

Дамо вентилятору ті самі правила, тільки з константними висновками: повільно = 15 %, середньо = 50 %, швидко = 90 %. При 27 °C і вологості 60 % вихід дорівнює (0,2 · 15 + 2/3 · 90) / (0,2 + 2/3) = 63 / 0,867 ≈ 72,7 %.

y* = ∑i αi · fi / ∑i αi

y*
чіткий вихід — одразу, без вихідної нечіткої множини і без дефазифікації
αi
сила правила, така сама, як у Мамдані, — визначає, скільки голосу отримує правило
fi
пропозиція правила — число (0-й порядок) або лінійна функція входів (1-й порядок); замінює всю форму «швидко» одним представником
∑i
підсумовування голосів усіх правил — правила, які не справджуються (αi = 0), додають нуль
∑i αi
нормування — ваги αi / ∑ αk у сумі дають 1, тож результат є середнім пропозицій і не залежить від того, наскільки сильно справджуються всі правила разом
Інтеграл центра ваги тут звузився до суми за правилами — замість тисячі точок сітки чотири доданки.
Теорема — Суґено нульового порядку досягає країв

Якщо справджується хоча б одне правило (∑ αi > 0), вихід Суґено нульового порядку лежить між найменшою і найбільшою константою правил, які справджуються: min fi ≤ y* ≤ max fi. Якщо справджуються лише правила з однаковою константою c, то y* = c точно.

Доведення: позначмо λi = αi / ∑k αk. Тоді λi ≥ 0, ∑ λi = 1, і y* = ∑ λi fi — опукла комбінація, яка не може вийти за межі [min fi, max fi]. Якщо всі fi з λi > 0 дорівнюють c, то y* = c ∑ λi = c. ∎

Центр ваги Мамдані такої гарантії не має: навіть сам висновок «швидко» на повній висоті має центр ваги 83 %, бо до середнього входить і його зростаюче ребро від 55 %.

5. Поверхня керування

Регулятор — це функція двох змінних, тож його можна намалювати повністю. Кожна клітинка — одна комбінація температури й вологості, яскравість показує, як швидко обертається вентилятор:

Мамдані (центр ваги) 02040 050100 температура T (°C) відносна вологість (%) Суґено (константи) 02040 050100 температура T (°C) відносна вологість (%)
Поверхні керування вентилятора: Мамдані та Суґено

Обидві поверхні схожі — нижче 20 °C повільно, у теплі й вологості швидко — і переходять плавно, без стрибків. Різняться вони на краях. При 35 °C і вологості 90 % Суґено дає рівно 90 %, Мамдані лише 82,2 %; у прохолоді 15 °C Суґено дає 15 %, Мамдані 18,4 %. Це та сама вада центра ваги: регулятор Мамдані ніколи не доходить до країв. Посередині, де правила перекриваються, обидва поводяться по-різному, бо усереднюють пропозиції різної форми.

Означення — поверхня керування

Поверхня керування регулятора з двома входами — це графік функції R: [0; 40] °C × [0; 100] % → [0; 100] %, тобто множина {(T, h, R(T, h))}. Рисунок обчислює її на сітці з 41 температури (з кроком 1 °C) × 26 вологостей (з кроком 4 %).

Приклад — кут поверхні: 35 °C і 90 %

спекотно(35) = (35 − 30) / (36 − 30) = 5/6 ≈ 0,83, тепло(35) = 0 (трикутник закінчується в 34), приємно й холодно дорівнюють 0. Справджується єдине правило R4 (спекотно → швидко) із силою 0,83.

  • Суґено: y* = 0,83 · 90 / 0,83 = 90 % — точно, згідно з теоремою вище.
  • Мамдані: «швидко», обрізане на 5/6, — це трикутник на [55; 75,83] (площа ½ · 20,83 · 5/6 ≈ 8,68, центр ваги 55 + ⅔ · 20,83 ≈ 68,89) і прямокутник на [75,83; 100] (площа 24,17 · 5/6 ≈ 20,14, центр ваги 87,92). y* = (8,68 · 68,89 + 20,14 · 87,92) / (8,68 + 20,14) ≈ 82,2 %.

У другому куті, 15 °C і 30 %, приємно(15) = (15 − 10) / (17 − 10) ≈ 0,71 і справджується лише R1; Суґено дає рівно 15 %, центр ваги обрізаного «повільно» — 18,4 %.

6. Нечіткий маятник

У частині про нейроеволюцію жердину на візку балансувала мережа, ваги якої знайшла еволюція. Тепер спробуємо правила, які написала б людина. Входом є кут жердини та його швидкість, обидва з трьома термами — від’ємний, нуль і додатний; виходом — сила від −10 до +10 Н, Суґено нульового порядку:

кут \ кутова швидкістьпадає ліворучстоїтьпадає праворуч
нахилена ліворуч−10 Н−5 Н0 Н
вертикально−5 Н0 Н+5 Н
нахилена праворуч0 Н+5 Н+10 Н

Дев’ять правил на кшталт «ЯКЩО жердина нахилена праворуч І падає праворуч, ТО сильно штовхни візок праворуч». Логіка та сама, що й у мітли на долоні: рука їде під жердину туди, куди жердина падає.

Означення — нечіткий регулятор маятника

Стан — (x, ẋ, θ, θ̇), як у частині про нейроеволюцію, крок 0,02 с. Терми кута θ (у градусах): нуль — трикутник (−6, 0, 6), додатний — трапеція (0, 6, 90, 90) — зростає від 0° до 6° і далі дорівнює 1, — від’ємний дзеркально. Терми кутової швидкості θ̇ (°/с) мають таку саму форму з 40 замість 6 (і 900 замість 90).

Сила правила з термами a (кут) і b (швидкість) дорівнює wab = min(μa(θ), μb(θ̇)), висновок cab — число з таблиці, а сила на візок F = ∑ wab cab / ∑ wab, обрізана до [−10; 10] Н.

Приклад — жердина нахилена на 2° і падає праворуч зі швидкістю 10 °/с

Кут: нуль(2) = (6 − 2)/6 = 2/3, додатний(2) = 2/6 = 1/3. Швидкість: нуль(10) = (40 − 10)/40 = 0,75, додатна(10) = 10/40 = 0,25. Від’ємні терми дорівнюють 0, тож справджуються чотири правила:

  • вертикально і стоїть: w = min(2/3; 0,75) = 2/3, висновок 0 Н,
  • вертикально і падає праворуч: w = min(2/3; 0,25) = 0,25, висновок +5 Н,
  • праворуч і стоїть: w = min(1/3; 0,75) = 1/3, висновок +5 Н,
  • праворуч і падає праворуч: w = min(1/3; 0,25) = 0,25, висновок +10 Н.

F = (2/3 · 0 + 0,25 · 5 + 1/3 · 5 + 0,25 · 10) / (2/3 + 0,25 + 1/3 + 0,25) = 5,417 / 1,5 ≈ 3,61 Н праворуч — візок їде під жердину.

лише жердина (Суґено 0-го порядку) 22,0 с жердина і візок (Суґено 1-го порядку) 24,0 с+
Нечіткий регулятор маятника: перші 24 секунди

Жердина стоїть — за кілька секунд кут практично нульовий. Проте візок повільно від’їжджає, бо правила нічого не кажуть про візок, і через 22 секунди він з’їжджає з колії. З трьох стартів із частини про нейроеволюцію регулятор протримався 22, 12,9 і 15,7 с.

Виправимо це Суґено першого порядку: до кожної константи в таблиці додамо 1 · x + 2 · ẋ, де x — положення візка, а ẋ — його швидкість. Тепер регулятор утримує жердину з усіх трьох стартів цілу хвилину, а візок віддаляється від центру щонайбільше на 0,58 м. Цікавий знак: коли візок від’їжджає праворуч, регулятор підштовхує його ще більше праворуч. Через це жердина нахиляється ліворуч — і правила про жердину потім відвозять візок назад. «Інтуїтивні» протилежні знаки, які штовхали б візок прямо до центру, валять жердину за п’ять секунд. Отже, правила досвідченого оператора цінні саме тому, що кодують досвід, якого непосвячений не вигадав би.

F = ∑ wab cab / ∑ wab + kx x + kv ẋ

F
сила на візок (до обрізання до ±10 Н)
∑ wab cab / ∑ wab
початковий Суґено нульового порядку — дев’ять правил про жердину; тримає жердину вертикально, про візок нічого не знає
kx x
реакція на положення візка, kx = 1 Н/м — без неї візок безкарно з’їхав би з колії; додатний знак ніби посилає візок назовні, але цим нахиляє жердину досередини, і правила про жердину потім повертають візок
kv ẋ
реакція на швидкість візка, kv = 2 Н·с/м — демпфування; лише з положенням (kv = 0) візок коливається навколо центру дедалі сильніше і з усіх трьох стартів з’їжджає з колії за 32–53 с
Чому лінійну частину можна винести: кожен висновок — це cab + kxx + kvẋ з однаковими k, а зважене середнє константи kxx + kvẋ — це знову вона сама (ваги в сумі дають 1).

У прикладі вище з візком 0,3 м праворуч, який їде 0,1 м/с праворуч, отже, виходить F = 3,61 + 1 · 0,3 + 2 · 0,1 ≈ 4,11 Н.

7. Мамдані чи Суґено?

МамданіСуґено
Висновок правиланечітка множина («швидко»)число або лінійна функція
Вихіддефазифікація, зазвичай центр вагизважене середнє
Обчисленняінтеграл за виходомкілька множень
Зрозумілістьправила як реченнячисла у висновках
Краї діапазонуцентр ваги їх не досягаєдосягає
Навчання з данихскладнепараметри висновків можна налаштувати — див. ANFIS

Мамдані підходить там, де правила пишуть і читають люди. Суґено — там, де важить швидкість обчислення і де ми хочемо налаштовувати регулятор за виміряними даними, — цьому присвячена остання частина модуля.

8. Нечіткі регулятори на практиці

  • Цементна піч данської фірми F. L. Smidth близько 1980 року стала одним із перших промислових застосувань — піч важко моделювати, але оператори керували нею з досвіду.
  • Метро в Сендаї (1987) розганяється і гальмує за нечіткими правилами; їзда плавніша, і виробник повідомляв також про економію енергії.
  • Побутова техніка. Близько 1990 року японські фірми пропонували пральні машини, які за каламутністю води й кількістю білизни вибирали програму, та камери з нечітким фокусуванням і стабілізацією зображення.
  • Сьогодні більшість промислового керування забезпечують ПІД-регулятори та прогнозне керування. Нечіткі правила використовують радше «над ними» — вони перемикають налаштування залежно від режиму роботи — і всюди, де цінніше швидко записати досвід, ніж побудувати точну модель.

9. Підсумок

  • Нечіткий регулятор має три кроки: фазифікацію, виведення за правилами і дефазифікацію.
  • Дефазифікація перетворює вихідну нечітку множину на число; для вентилятора центр ваги дає 65,9 %, бісектриса 75,3 % і середнє максимумів 85,9 %.
  • Суґено має у висновках числа або лінійні функції, а вихід — зважене середнє: 72,7 % для того самого входу, без інтеграла.
  • Поверхня керування показує весь регулятор одразу; центр ваги ніколи не досягає країв діапазону.
  • Дев’ять правил про жердину її втримують, але візок від’їжджає; Суґено першого порядку з положенням і швидкістю візка втримує обидва цілу хвилину.

Хочете помацати це власноруч? Попросіть AI-агента написати нечіткий термостат для змодельованої кімнати із запізненням опалення і перевірте, скільки правил вистачить, щоб температура не коливалася.

Маєте іншу думку? Напишіть на support@coden-app.com.

Агент на вашому комп’ютері, керований з телефона