Zum Inhalt springen
coden

Fuzzy-Regelung: Mamdani und Sugeno vom Ventilator bis zum Pendel auf dem Wagen

Regler und Rückkopplung, Fuzzifizierung, Inferenz und Defuzzifizierung, Schwerpunkt, Bisektor und Mittelwert der Maxima, der Takagi-Sugeno-Regler, Regelflächen und ein Fuzzy-Regler, der den Stab auf dem Wagen hält.

14 Minuten Matěj Žalmánek 2026-10-15

Serie KI-Grundlagen Teil 35 von 52
  1. Landkarte der künstlichen Intelligenz: was was ist und wie alles zusammenpasst
  2. Eine kurze Geschichte der künstlichen Intelligenz: von Turing bis zu Sprachmodellen
  3. Daten, Modell, Training, Inferenz: die Grundbegriffe an einem einzigen Beispiel
  4. Mathematische Notation lesen: Symbole, Indizes, Summen und Quantoren
  5. Mengen und Relationen: der Baukasten, aus dem Definitionen in der KI bestehen
  6. Funktionen und Abbildungen: warum jedes KI-Modell eine Funktion ist
  7. Logik und Beweise: die Regeln, nach denen KI schließt
  8. Graphen und Bäume: die Struktur, auf der Suche und neuronale Netze stehen
  9. Lineare Algebra für maschinelles Lernen: Vektoren, Matrizen und warum KI vor allem multipliziert
  10. Ableitungen, Gradient und Kettenregel: wie ein Modell herausfindet, in welche Richtung es lernen soll
  11. Gradientenabstieg: wie ein Modell lernt
  12. Was ist Wahrscheinlichkeit: vom Würfelwurf zu den Kolmogorow-Axiomen
  13. Bedingte Wahrscheinlichkeit und der Satz von Bayes: wie du deine Einschätzung änderst, wenn du etwas Neues erfährst
  14. Zufallsvariable und Verteilungsfunktion: eine Funktion, die alles über eine Verteilung verrät
  15. Dichtefunktion und Wahrscheinlichkeitsfunktion: warum eine stetige Zufallsvariable in einem Punkt die Wahrscheinlichkeit null hat
  16. Erwartungswert, Varianz und Kovarianz: wo eine Verteilung liegt, wie breit sie ist und was womit zusammenhängt
  17. Überblick über Wahrscheinlichkeitsverteilungen: Bernoulli-, Binomial-, Poisson-, Gleich-, Normal- und Exponentialverteilung
  18. Gesetz der großen Zahlen und zentraler Grenzwertsatz: Warum sich Durchschnitte so vorhersagbar verhalten
  19. Statistik und Parameterschätzung: Maximum Likelihood, MAP und Konfidenzintervalle
  20. Informationstheorie: Entropie, Kreuzentropie und KL-Divergenz — woher Verlustfunktionen kommen
  21. Zustandsraumsuche: BFS, DFS, UCS und A* mit Animationen
  22. Spiele und Gegner: Minimax, Alpha-Beta-Suche und Monte Carlo Tree Search
  23. Constraint Satisfaction: Backtracking, Constraint-Propagierung und AC-3 an Sudoku und einer Karte tschechischer Regionen
  24. Logik und wissensbasierte Systeme: Vorwärts- und Rückwärtsverkettung, Resolution und Expertensysteme
  25. Planung: STRIPS, die Blockwelt, Heuristiken aus Relaxierung und Planung in KI-Agenten
  26. Lokale Suche und simulierte Abkühlung: ein Handlungsreisender durch die tschechischen Regionalhauptstädte
  27. Genetische Algorithmen: Population, Kreuzung, Mutation und Selektion am Rucksack für die Wanderung
  28. Evolutionsstrategien und genetische Programmierung: von der 1/5-Erfolgsregel zum Keplerschen Gesetz
  29. Ameisenkolonieoptimierung: wie eine Pheromonspur einen kurzen Weg findet
  30. Partikelschwarmoptimierung: Trägheit, eigene Erfahrung und die Erfahrung des Schwarms
  31. Neuroevolution: Evolution der Gewichte und der Gestalt neuronaler Netze und der Algorithmus NEAT
  32. Fuzzy-Mengen und Zugehörigkeitsfunktionen: wie man „etwas warm“ aufschreibt
  33. Fuzzy-Logik und Wahrscheinlichkeit: warum „etwas warm“ nicht „wahrscheinlich warm“ bedeutet
  34. Fuzzy-Logik: t-Normen, Implikationen und WENN–DANN-Regeln
  35. Fuzzy-Regelung: Mamdani und Sugeno vom Ventilator bis zum Pendel auf dem Wagen
  36. Fuzzy-Clustering: der Algorithmus fuzzy c-means und Punkte zwischen den Clustern
  37. Neuro-Fuzzy-Systeme (ANFIS): Fuzzy-Regeln, die aus Daten lernen
  38. Markow-Ketten: Übergangsmatrix, stationäre Verteilung und PageRank
  39. Hidden-Markov-Modelle: der Viterbi-Algorithmus und das unehrliche Kasino
  40. Bayessche Netze: warum das Gras nass ist und was das für den Rasensprenger bedeutet
  41. Der Kalman-Filter: wie man aus ungenauen Messungen schätzt, wo ein Auto ist und wie schnell es fährt
  42. Arten des maschinellen Lernens: überwacht, unüberwacht, halbüberwacht und mehr
  43. Prompts, Kontext und RAG: wie man einem Modell die richtigen Informationen gibt
  44. Variational Autoencoder (VAE): neue Bilder aus einem stetigen latenten Raum
  45. Generative Adversarial Networks (GAN): der Fälscher gegen den Detektiv
  46. Diffusionsmodelle: wie aus reinem Rauschen ein Bild wird
  47. Markow-Entscheidungsprozesse: Zustände, Aktionen, Belohnungen und Bellman-Gleichungen
  48. Q-Learning und DQN: den Wert von Aktionen lernen, von der Tabelle bis zum neuronalen Netz
  49. Policy Gradient und PPO: die Strategie direkt lernen
  50. Wie ein KI-Agent funktioniert: ein Sprachmodell in einer Schleife mit Werkzeugen
  51. Programmieren mit KI-Agenten: Auftrag, Tests und Kontrolle
  52. Bewertung und Sicherheit von KI-Systemen: wie man misst und wie man überwacht

Der ganze Lehrplan der Serie 52 von 83 Themen fertig

Was du mitnimmst
  • Wie ein Fuzzy-Regler eine Messung in einen Eingriff verwandelt: Fuzzifizierung, Inferenz und Defuzzifizierung.
  • Worin sich die Regler nach Mamdani und nach Sugeno unterscheiden und warum der Schwerpunkt die Ränder des Bereichs nicht erreicht.
  • Wie neun Regeln den Stab auf dem Wagen halten — und warum sie, um auch den Wagen zu halten, noch ein lineares Glied brauchen.

Vorher gut zu wissen: Fuzzy-Logik: t-Normen, Implikationen und WENN–DANN-Regeln

Im Jahr 1974 saß Ebrahim Mamdani in einem Londoner Labor vor einer kleinen Dampfmaschine, die sich mit klassischen Methoden nicht regeln ließ. Ein erfahrener Bediener steuerte sie dabei problemlos — nach Regeln wie „wenn der Druck etwas hoch ist und steigt, nimm etwas Dampf weg“. Mamdani und sein Student Sedrak Assilian schrieben diese Regeln in Fuzzy-Logik auf und ließen sie die Maschine steuern. Es funktionierte. Zehn Jahre später regelten Fuzzy-Regler Zementöfen, ein paar Jahre danach U-Bahnen und Waschmaschinen. Im letzten Teil haben wir gelernt, Regeln auszuwerten; jetzt bauen wir aus ihnen einen Regler, der eine einzige Zahl ausgibt — und lassen ihn einen Stab balancieren.

Baut auf den Teilen Fuzzy-Logik: t-Normen, Implikationen und WENN–DANN-Regeln und Neuroevolution auf, aus dem wir uns das Pendel auf dem Wagen ausleihen.

1. Regler und Rückkopplung

Definition — Regler

Sei X die Menge der möglichen gemessenen Zustände des Systems (typischerweise X ⊆ ℝn, wobei n ≥ 1 die Anzahl der gemessenen Größen ist) und U die Menge der zulässigen Stelleingriffe (typischerweise U ⊆ ℝm, m ≥ 1). Ein Regler (ohne inneres Gedächtnis — so sind alle Regler in diesem Teil) ist eine Abbildung

R : X → U,   x ↦ u = R(x),

die jedem gemessenen Zustand x ∈ X genau einen Eingriff u ∈ U zuordnet. Der Regler entscheidet also nur nach der aktuellen Messung. Im geschlossenen Regelkreis (genau in der nächsten Definition) wirkt der Eingriff auf das System, dieses ändert sich, wird erneut gemessen, und der Regler greift erneut ein — typischerweise zehn- bis tausendmal pro Sekunde.

Einfach gesagt

Ein Thermostat misst die Temperatur und schaltet die Heizung ein; die Temperatur ändert sich, der Thermostat misst sie erneut. Ein Regler ist die Regel „was tun, wenn ich das hier sehe“. Die klassische Regelungstheorie entwirft ihn aus den Gleichungen des Systems. Ein Fuzzy-Regler setzt ihn aus Regeln zusammen, so wie sie ein erfahrener Mensch formulieren würde.

Definition — geschlossener Regelkreis in diskreter Zeit

Seien X und U die Mengen der Zustände und Eingriffe und R : X → U ein Regler wie in der vorigen Definition. Ferner sei Δt > 0 die Schrittlänge (der Computer misst und greift einmal pro Δt ein), F : X × U → X die Abbildung, die aus dem Zustand und dem Eingriff am Anfang eines Schritts den Zustand an seinem Ende bestimmt (sie ergibt sich aus den Bewegungsgleichungen des Systems), und x0 ∈ X der Anfangszustand. Der geschlossene Regelkreis in diskreter Zeit ist das Paar der Folgen von Zuständen (xk)k ≥ 0 und Eingriffen (uk)k ≥ 0, bestimmt durch die Rekursion

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

Der Zustand xk beschreibt das System zur Zeit k · Δt. Der Regler sieht also weder die Zukunft noch die Gleichungen F — nur die aktuelle Messung. Beim Pendel am Ende des Teils ist Δt = 0,02 s, eine Minute Regelung sind also 3 000 Schritte des Regelkreises.

2. Drei Schritte eines Fuzzy-Reglers

eingabe 27 °C60 % fuzzifizierung warm 0,83feucht 0,67 inferenz R1: 0,2R3: 0,67 defuzzifizierung ausgabe 65,9 %
Fuzzy-Regler eines Ventilators Schritt für Schritt
  1. Fuzzifizierung wandelt scharfe Messwerte in Zugehörigkeitsgrade um: 27 °C ist zu 0,2 „angenehm“ und zu 0,83 „warm“, eine Feuchte von 60 % ist zu 0,67 „feucht“.
  2. Inferenz wertet die Regeln aus, wie im letzten Teil gezeigt: Jede Regel hat eine Stärke und schneidet ihre Folgerung ab; die Folgerungen werden per Maximum vereinigt.
  3. Defuzzifizierung macht aus der resultierenden Fuzzy-Menge eine einzige Zahl, die an den Motor geht.
Beispiel — Fuzzifizierung von 27 °C und 60 %

Terme aus dem letzten Teil: angenehm ist ein Trapez (10, 17, 23, 28), warm ein Dreieck (22, 28, 34), heiß ein Trapez (30, 36, 40, 40); trocken ist ein Trapez (0, 0, 30, 50), feucht (40, 70, 100, 100). Auf der fallenden Flanke des Trapezes (a, b, c, d), d. h. für c ≤ x ≤ d, ist μ(x) = d − x/d − c, auf der steigenden (a ≤ x ≤ b) ist μ(x) = x − a/b − a; das Dreieck (a, b, c) ist das Trapez (a, b, b, c).

  • angenehm(27) = 28 − 27/28 − 23 = 1/5 = 0,2,
  • warm(27) = 27 − 22/28 − 22 = 5/6 ≈ 0,83 (27 liegt auf der steigenden Flanke),
  • kalt(27) = heiß(27) = 0 — 27 liegt außerhalb ihrer Träger,
  • feucht(60) = 60 − 40/70 − 40 = 2/3 ≈ 0,67, trocken(60) = 0 (der Träger endet bei 50).

Die Inferenz nach Mamdani ist eine einzige Formel, die die Ausgabe-Fuzzy-Menge aus den abgeschnittenen Folgerungen zusammensetzt:

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

μout(y)
Ausgabe-Fuzzy-Menge — sagt für jeden möglichen Ausgabewert y, wie stark ihn die Regeln stützen; sie ist eine ganze Funktion, keine Zahl, deshalb muss danach noch die Defuzzifizierung kommen (im Bild unten ist das die grüne Fläche)
αi
Stärke der i-ten Regel — die t-Norm T (hier das Minimum) verknüpft die „und“-Bedingungen; eine Regel kann nicht stärker gelten als ihre schwächste Bedingung
μBi(y)
Folgerung der Regel, etwa „schnell“ — die Form, die die Ausgabe hätte, wenn die Regel voll gälte
min
Abschneiden — die Folgerung darf nur so weit gestützt werden, wie die Voraussetzung gilt; eine schwache Regel ergibt so ein niedriges „Plateau“
maxi
Vereinigung der Regeln — die Regeln werden als Alternativen („oder“) verstanden, der Wert y wird also so stark gestützt, wie ihn die stärkste Regel stützt
Beispiel — Ausgabemenge des Ventilators

Stärken der Regeln (Farben nach der Formel oben): R1 (kalt oder angenehm → langsam) hat α1 = max(0; 0,2) = 0,2; R2 (warm und trocken → mittel) α2 = min(5/6; 0) = 0; R3 (warm und feucht → schnell) α3 = min(5/6; 2/3) = 2/3; R4 (heiß → schnell) α4 = 0.

Langsam ist ein Trapez (0, 0, 20, 45), abgeschnitten in Höhe 0,2: ein Plateau von 0,2 bis y = 40 (dort fällt die fallende Flanke 45 − y/25 auf 0,2) und dann ein Abfall auf null bei 45. Schnell ist ein Trapez (55, 80, 100, 100), abgeschnitten in Höhe 2/3: die Flanke y − 55/25 erreicht 2/3 bei y = 55 + 25 · 2/3 ≈ 71,67. Ergebnis:

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

Der ganze Regler als Pseudocode, mit der Ausgabeachse in ein Gitter unterteilt:

def mamdani(vstup, pravidla, mrizka):        # mrizka = 0; 0,1; …; 100
    sily = []
    for r in pravidla:                          # 1. Fuzzifizierung + Stärke der Regel:
        sily.append(min(                        #    „und“ = Minimum, „oder“ = Maximum
            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. Abschneiden und Vereinigung per Maximum
    citatel = sum(y * m for y, m in zip(mrizka, vystup))
    jmenovatel = sum(vystup)                    # 3. Defuzzifizierung per Schwerpunkt
    return citatel / jmenovatel if jmenovatel > 0 else 50

3. Defuzzifizierung

Definition — Defuzzifizierungsmethoden

Sei [a, b] ⊂ ℝ, a < b, das Intervall der möglichen Ausgabewerte und μ : [a, b] → [0, 1] die Zugehörigkeitsfunktion der Ausgabe-Fuzzy-Menge, die integrierbar ist und eine positive Fläche hat, ∫ab μ(y) dy > 0 (mindestens eine Regel gilt). Eine Defuzzifizierung ist eine Vorschrift, die der Funktion μ eine einzige Zahl y* ∈ [a, b] zuordnet. Die drei gebräuchlichsten:

  1. Schwerpunkt (Centroid): y*T = ∫ab y · μ(y) dy/∫ab μ(y) dy.
  2. Bisektor: die Zahl y*B ∈ [a, b], für die ∫ay*B μ(y) dy = ∫y*Bb μ(y) dy. Eine solche Zahl existiert, denn die linke Seite ist eine stetige, nicht fallende Funktion der oberen Grenze, die von 0 bis zur ganzen Fläche wächst; ist μ in der Umgebung der Lösung null, ist sie nicht eindeutig.
  3. Mittelwert der Maxima: Sei h = maxy ∈ [a, b] μ(y) und M = {y ∈ [a, b] : μ(y) = h} die Menge der Punkte, in denen das Maximum angenommen wird. y*M ist der Durchschnitt der Punkte der Menge M; ist M = [m1, m2] ein Intervall (wie in allen Beispielen dieses Teils), ist y*M = m1 + m2/2.

Der Schwerpunkt ist also der gewichtete Durchschnitt aller Ausgaben mit dem Gewicht μ, der Bisektor teilt die Fläche unter μ in zwei gleiche Hälften, und der Mittelwert der Maxima schaut nur auf die am stärksten gestützten Ausgaben.

Einfach gesagt

Die resultierende Menge ist wie ein Sandhaufen, aufgeschüttet über der Drehzahlachse. Der Schwerpunkt ist die Stelle, an der der Haufen auf einem Brett im Gleichgewicht wäre; der Bisektor teilt ihn in zwei gleich große Hälften; der Mittelwert der Maxima schaut nur auf den höchsten Teil und ignoriert den Rest.

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

y*
scharfe Ausgabe — eine einzige Zahl, die an den Motor geht, denn der Motor versteht keine Fuzzy-Menge
y
Position auf der Drehzahlachse — der „Hebelarm“; jeder Wert stimmt für sich selbst
μ(y)
Stimmgewicht — Werte, die die Regeln stärker stützen, ziehen das Ergebnis stärker zu sich (grüne Fläche im Bild)
∫ μ(y) dy
Gesamtfläche — durch die Division wird aus der gewichteten Summe ein gewichteter Durchschnitt; ohne sie würde das Ergebnis damit wachsen, wie viele Regeln feuern, nicht danach, wohin sie zeigen
Das ist genau die Formel für den Schwerpunkt eines Körpers aus der Physik, nur ersetzt der Zugehörigkeitsgrad die Masse.
00,51 0102030405060708090100 65,9 75,3 85,9 Drehzahl des Ventilators (%) Zugehörigkeitsgrad μ (0–1)
Ausgabe des Ventilators für 27 °C und 60 % und drei Defuzzifizierungsmethoden SchwerpunktBisektorMittelwert der Maxima

Für unsere Eingabe ergibt der Schwerpunkt 65,9 %, der Bisektor 75,3 % und der Mittelwert der Maxima 85,9 %. Der Unterschied liegt darin, wie viel Stimme die schwächere Regel R1 („langsam“ mit Stärke 0,2) bekommt: Der Schwerpunkt berücksichtigt sie ganz, der Mittelwert der Maxima gar nicht. Der Schwerpunkt ist am gebräuchlichsten, weil sich die Ausgabe stetig ändert. Er hat aber einen Mangel: Er erreicht nie die Ränder des Bereichs. Selbst wenn nur die Regel „schnell“ feuert, liegt der Schwerpunkt ihres Trapezes bei 83 %, nicht bei 100 %.

Beispiel — Schwerpunkt, Bisektor und Mittelwert der Maxima von Hand

Die Ausgabemenge aus dem Abschnitt über die Schritte besteht aus Rechtecken und Dreiecken, die Integrale berechnen wir also aus bekannten Flächen und Schwerpunkten (der Schwerpunkt eines rechtwinkligen Dreiecks liegt bei einem Drittel von seiner senkrechten Seite):

AbschnittFormFlächeSchwerpunktFläche · Schwerpunkt
[0; 40]Rechteck der Höhe 0,2820160
[40; 45]Dreieck, fallend0,541,6720,83
[55; 71,67]Dreieck, steigend5,5666,11367,28
[71,67; 100]Rechteck der Höhe 2/318,8985,831 621,30
gesamt32,942 169,41

Die Spalte „Fläche“ ergibt aufsummiert den Nenner der Schwerpunktformel, die Spalte „Fläche · Schwerpunkt“ ihren Zähler (Farben nach der Formel oben).

  • Schwerpunkt: y* = 2 169,41/32,94 ≈ 65,85 %. Der Computer in src/fuzzyrizeni.js ersetzt das Integral durch eine Summe in Schritten von 0,1 % und erhält 65,87 — beides wird auf 65,9 % gerundet.
  • Bisektor: Die halbe Fläche ist 32,94/2 = 16,47. Bis zum Punkt 71,67 sammeln sich 8 + 0,5 + 5,56 = 14,06 an, es fehlen 2,41; auf dem Plateau der Höhe 2/3 sind das 2,41/2/3 ≈ 3,62 weiter, also y* ≈ 71,67 + 3,62 ≈ 75,3 %.
  • Mittelwert der Maxima: Das Maximum 2/3 gilt auf dem ganzen [71,67; 100], der Durchschnitt der Ränder ist 71,67 + 100/2 ≈ 85,8 %. Der Computer mittelt die Gitterpunkte ab 71,7 aufwärts, daher 85,9 %.

4. Takagi–Sugeno

Defuzzifizierung per Schwerpunkt bedeutet, ein Integral zu berechnen — 1985 auf dem kleinen Prozessor einer Waschmaschine oder Kamera eine teure Sache. Tomohiro Takagi und Michio Sugeno schlugen deshalb Regeln vor, die direkt eine Zahl zurückgeben.

Definition — Takagi-Sugeno-Regler

Sei n ≥ 1 die Anzahl der Eingaben, r ≥ 1 die Anzahl der Regeln und T eine t-Norm (hier das Minimum; siehe den Teil über Fuzzy-Logik). Für jedes i = 1, …, r und j = 1, …, n sei Aij eine Fuzzy-Menge auf ℝ mit der Zugehörigkeitsfunktion μAij : ℝ → [0, 1] und fi : ℝn → ℝ eine Funktion. Die i-te Regel hat die Form

WENN x1 ist Ai1 und … und xn ist Ain, DANN y = fi(x1, …, xn).

Für eine Eingabe x = (x1, …, xn) ∈ ℝn ist die Stärke der i-ten Regel αi(x) = T(μAi1(x1), …, μAin(xn)) ∈ [0, 1]. Ist ∑i=1r αi(x) > 0, ist die Ausgabe des Takagi-Sugeno-Reglers

y*(x) = ∑i=1r αi(x) · fi(x)/∑i=1r αi(x).

Der Regler ist

  1. nullter Ordnung genau dann, wenn jedes fi konstant ist: fi(x) = ci mit ci ∈ ℝ;
  2. erster Ordnung genau dann, wenn jedes fi affin ist (in der Literatur sagt man meist „linear“): fi(x) = ci0 + ci1x1 + … + cinxn mit cij ∈ ℝ.

Die Ausgabe ist also der gewichtete Durchschnitt der Vorschläge fi(x), die Gewichte sind die Stärken der Regeln.

Einfach gesagt

Jede Regel sagt nicht „die Drehzahl ist schnell“ (Fuzzy-Menge), sondern „die Drehzahl ist 90 %“ (Zahl). Das Ergebnis ist der Durchschnitt der Vorschläge aller Regeln, gewichtet danach, wie stark welche Regel gilt. Kein Integral, nur ein paar Multiplikationen und eine Division.

Geben wir dem Ventilator dieselben Regeln, nur mit konstanten Folgerungen: langsam = 15 %, mittel = 50 %, schnell = 90 %. Bei 27 °C und 60 % Feuchte gelten nur R1 (Stärke 0,2) und R3 (Stärke 2/3), und die Ausgabe ist (Farben nach der Formel unten)

y* = 0,2 · 15 + 2/3 · 90/0,2 + 2/3 = 63/0,867 ≈ 72,7 %.

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

y*
scharfe Ausgabe — direkt, ohne Ausgabe-Fuzzy-Menge und ohne Defuzzifizierung
αi
Stärke der Regel, dieselbe wie bei Mamdani — bestimmt, wie viel Stimme die Regel bekommt
fi
Vorschlag der Regel — eine Zahl (0. Ordnung) oder eine lineare Funktion der Eingaben (1. Ordnung); ersetzt die ganze Form „schnell“ durch einen einzigen Repräsentanten
∑i
Summe der Stimmen aller Regeln — Regeln, die nicht gelten (αi = 0), tragen null bei
∑i αi
Normierung — die Gewichte αi/∑k αk summieren sich zu 1, das Ergebnis ist also ein Durchschnitt der Vorschläge und hängt nicht davon ab, wie stark alle Regeln zusammen gelten
Das Schwerpunktintegral ist hier zu einer Summe über die Regeln geschrumpft — statt tausend Gitterpunkten vier Glieder.
Satz — Sugeno nullter Ordnung erreicht die Ränder

Gegeben sei ein Takagi-Sugeno-Regler nullter Ordnung mit r ≥ 1 Regeln, die die konstanten Folgerungen f1, …, fr ∈ ℝ haben, und sei x ∈ ℝn eine Eingabe, für die die Regeln die Stärken α1, …, αr ∈ [0, 1] haben und ∑i=1r αi > 0 gilt (mindestens eine Regel gilt). Bezeichne I = {i ∈ {1, …, r} : αi > 0} die Menge der geltenden Regeln. Dann gilt

  1. mini ∈ I fi ≤ y*(x) ≤ maxi ∈ I fi;
  2. gibt es ein c ∈ ℝ mit fi = c für alle i ∈ I, ist y*(x) = c.

Beweis: Setze λi = αi/∑k=1r αk. Dann ist λi ≥ 0, λi = 0 für i ∉ I, ∑ λi = 1, und y* = ∑i ∈ I λi fi ist eine Konvexkombination der Zahlen fi, i ∈ I. Mit der Abschätzung fi ≥ minI f erhalten wir y* ≥ minI f · ∑ λi = minI f, und genauso von oben. Sind alle fi mit i ∈ I gleich c, ist y* = c ∑ λi = c. ∎

Der Schwerpunkt nach Mamdani hat keine solche Garantie: Schon die Folgerung „schnell“ allein in voller Höhe hat ihren Schwerpunkt bei 83 %, weil in den Durchschnitt auch ihre steigende Flanke ab 55 % eingeht.

5. Regelfläche

Der Regler ist eine Funktion zweier Variablen, man kann ihn also ganz zeichnen. Jedes Feld ist eine Kombination aus Temperatur und Feuchte, die Helligkeit sagt, wie schnell sich der Ventilator dreht:

Mamdani (Schwerpunkt) 02040 050100 Temperatur T (°C) relative Feuchte (%) Sugeno (Konstanten) 02040 050100 Temperatur T (°C) relative Feuchte (%)
Regelflächen des Ventilators: Mamdani und Sugeno

Beide Flächen sehen ähnlich aus — unter 20 °C langsam, bei Wärme und Feuchte schnell — und gehen stetig ineinander über, ohne Sprünge. Sie unterscheiden sich an den Rändern. Bei 35 °C und 90 % Feuchte liefert Sugeno genau 90 %, Mamdani nur 82,2 %; in der Kühle bei 15 °C liefert Sugeno 15 %, Mamdani 18,4 %. Das ist der Mangel des Schwerpunkts: Mamdanis Regler fährt nie bis an die Ränder. In der Mitte, wo sich die Regeln überlappen, verhalten sich beide wiederum unterschiedlich, weil sie unterschiedlich geformte Vorschläge mitteln.

Definition — Regelfläche

Seien X1, X2 ⊆ ℝ die Wertemengen zweier Eingaben und R : X1 × X2 → ℝ ein Regler mit einer Ausgabe. Die Regelfläche des Reglers R ist der Graph der Funktion R, also die Menge

{(x1, x2, R(x1, x2)) : x1 ∈ X1, x2 ∈ X2} ⊆ ℝ3.

Beim Ventilator ist x1 = T ∈ [0; 40] die Temperatur in °C, x2 = h ∈ [0; 100] die relative Feuchte in % und R(T, h) ∈ [0; 100] die Drehzahl in %. Das Bild wertet sie auf einem Gitter aus 41 Temperaturen (in Schritten von 1 °C) × 26 Feuchtewerten (in Schritten von 4 %) aus.

Beispiel — Ecke der Fläche: 35 °C und 90 %

heiß(35) = 35 − 30/36 − 30 = 5/6 ≈ 0,83, warm(35) = 0 (das Dreieck endet bei 34), angenehm und kalt sind 0. Es gilt nur die Regel R4 (heiß → schnell) mit der Stärke 5/6. Farben nach den Formeln für Sugeno und den Schwerpunkt oben.

  • Sugeno: y* = 5/6 · 90/5/6 = 90 % — genau, nach dem Satz oben.
  • Mamdani: „schnell“, abgeschnitten bei 5/6, ist ein Dreieck auf [55; 75,83] (Fläche 1/2 · 20,83 · 5/6 ≈ 8,68, Schwerpunkt 55 + 2/3 · 20,83 ≈ 68,89) und ein Rechteck auf [75,83; 100] (Fläche 24,17 · 5/6 ≈ 20,14, Schwerpunkt 87,92). y* = 8,68 · 68,89 + 20,14 · 87,92/8,68 + 20,14 ≈ 82,2 %.

In der anderen Ecke, bei 15 °C und 30 %, ist angenehm(15) = 15 − 10/17 − 10 = 5/7 ≈ 0,71, und es gilt nur R1; Sugeno liefert genau 15 %, der Schwerpunkt des abgeschnittenen „langsam“ 18,4 %.

6. Fuzzy-Pendel

Im Teil über Neuroevolution balancierte ein Netz, dessen Gewichte die Evolution gefunden hatte, den Stab auf dem Wagen. Jetzt versuchen wir es mit Regeln, wie sie ein Mensch schreiben würde. Eingaben sind der Winkel des Stabs und seine Geschwindigkeit, beide mit drei Termen — negativ, null und positiv; die Ausgabe ist eine Kraft von −10 bis +10 N, Sugeno nullter Ordnung:

Winkel \ Winkelgeschwindigkeitfällt nach linksstehtfällt nach rechts
nach links geneigt−10 N−5 N0 N
senkrecht−5 N0 N+5 N
nach rechts geneigt0 N+5 N+10 N

Neun Regeln wie „WENN der Stab nach rechts geneigt ist UND nach rechts fällt, DANN schiebe den Wagen kräftig nach rechts“. Die Logik ist dieselbe wie beim Besen auf der Handfläche: Die Hand fährt unter den Stab dorthin, wohin der Stab fällt.

Definition — Fuzzy-Regler für das Pendel

Sei der Zustand des Systems (x, ẋ, θ, θ̇) ∈ ℝ4 wie im Teil über Neuroevolution: x ist die Position des Wagens (m), ẋ seine Geschwindigkeit (m/s), θ der Winkel des Stabs zur Senkrechten (in Grad, positiv nach rechts) und θ̇ die Winkelgeschwindigkeit (°/s); der Schritt des Regelkreises ist Δt = 0,02 s. Sei L = {negativ, null, positiv} die Menge der Terme. Der Regler ist durch folgende Angaben bestimmt:

  1. Terme des Winkels θ: μnull ist ein Dreieck (−6, 0, 6), μpositiv ein Trapez (0, 6, 90, 90) — steigt von 0° bis 6° und ist danach 1 —, μnegativ spiegelbildlich das Trapez (−90, −90, −6, 0);
  2. Terme der Winkelgeschwindigkeit θ̇: dieselben Formen mit 40 statt 6 und 900 statt 90;
  3. für jedes Paar von Termen a, b ∈ L (a für den Winkel, b für die Geschwindigkeit) eine Regel mit der Stärke wab = min(μa(θ), μb(θ̇)) und der konstanten Folgerung cab ∈ {−10, −5, 0, 5, 10} N aus der Tabelle oben;
  4. die Kraft auf den Wagen F(θ, θ̇) = max(−10, min(10, ∑a, b ∈ L wab cab/∑a, b ∈ L wab)) N, also die Ausgabe des Sugeno nullter Ordnung, begrenzt auf [−10; 10] N (wären alle Stärken null, ist F = 0).
Beispiel — Stab um 2° geneigt und mit 10 °/s nach rechts fallend

Winkel: null(2) = 6 − 2/6 = 2/3, positiv(2) = 2/6 = 1/3. Geschwindigkeit: null(10) = 40 − 10/40 = 0,75, positiv(10) = 10/40 = 0,25. Die negativen Terme sind 0, es gelten also vier Regeln (Farben nach der Takagi-Sugeno-Formel oben: w spielt die Rolle von αi, c die von fi):

  • senkrecht und steht: w = min(2/3; 0,75) = 2/3, Folgerung 0 N,
  • senkrecht und fällt nach rechts: w = min(2/3; 0,25) = 0,25, Folgerung +5 N,
  • nach rechts und steht: w = min(1/3; 0,75) = 1/3, Folgerung +5 N,
  • nach rechts und fällt nach rechts: w = min(1/3; 0,25) = 0,25, Folgerung +10 N.

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 N

Die Kraft ist positiv, zeigt also nach rechts — der Wagen fährt unter den Stab.

nur Stab (Sugeno 0. Ordnung) 22,0 s Stab und Wagen (Sugeno 1. Ordnung) 24,0 s+
Fuzzy-Regler für das Pendel: die ersten 24 Sekunden

Der Stab steht — nach ein paar Sekunden ist der Winkel praktisch null. Der Wagen driftet aber langsam weg, weil die Regeln über den Wagen nichts sagen, und nach 22 Sekunden verlässt er die Bahn. Von den drei Starts aus dem Teil über Neuroevolution hielt der Regler 22, 12,9 und 15,7 s durch.

Wir beheben das mit einem Sugeno erster Ordnung: Zu jeder Konstante in der Tabelle addieren wir 1 · x + 2 · ẋ, wobei x die Position des Wagens und ẋ seine Geschwindigkeit ist. Jetzt hält der Regler den Stab von allen drei Starts aus eine ganze Minute, und der Wagen entfernt sich höchstens 0,58 m von der Mitte. Interessant ist das Vorzeichen: Wenn der Wagen nach rechts wegfährt, schubst ihn der Regler noch weiter nach rechts. Dadurch neigt sich der Stab nach links — und die Regeln über den Stab fahren den Wagen dann zurück. Die „intuitiven“ umgekehrten Vorzeichen, die den Wagen direkt zur Mitte schieben würden, werfen den Stab innerhalb von fünf Sekunden um. Die Regeln eines erfahrenen Bedieners sind also gerade deshalb wertvoll, weil sie Erfahrung kodieren, auf die ein Laie nicht käme.

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

F
Kraft auf den Wagen (vor der Begrenzung auf ±10 N)
∑ wab cab/∑ wab
ursprünglicher Sugeno nullter Ordnung — neun Regeln über den Stab; hält den Stab senkrecht, weiß vom Wagen nichts
kx x
Reaktion auf die Position des Wagens, kx = 1 N/m — ohne sie würde der Wagen ungestraft von der Bahn fahren; das positive Vorzeichen schickt den Wagen scheinbar nach außen, neigt dadurch aber den Stab nach innen, und die Regeln über den Stab bringen den Wagen dann zurück
kv ẋ
Reaktion auf die Geschwindigkeit des Wagens, kv = 2 N·s/m — Dämpfung; mit der Position allein (kv = 0) schwingt der Wagen immer stärker um die Mitte und verlässt von allen drei Starts aus nach 32 bis 53 s die Bahn
Warum sich der lineare Teil ausklammern lässt: Jede Folgerung ist cab + kxx + kvẋ mit denselben k, und der gewichtete Durchschnitt der Konstante kxx + kvẋ ist wieder sie selbst (die Gewichte summieren sich zu 1).

Im Beispiel oben mit dem Wagen 0,3 m rechts, der mit 0,1 m/s nach rechts fährt, ergibt sich also F = 3,61 + 1 · 0,3 + 2 · 0,1 ≈ 4,11 N (Farben nach der Formel oben).

7. Mamdani oder Sugeno?

MamdaniSugeno
Folgerung der RegelFuzzy-Menge („schnell“)Zahl oder lineare Funktion
AusgabeDefuzzifizierung, meist Schwerpunktgewichteter Durchschnitt
BerechnungIntegral über die Ausgabeein paar Multiplikationen
LesbarkeitRegeln wie SätzeZahlen in den Folgerungen
Ränder des Bereichsder Schwerpunkt erreicht sie nichterreicht sie
Lernen aus DatenschwierigParameter der Folgerungen lassen sich abstimmen — siehe ANFIS

Mamdani eignet sich dort, wo Menschen die Regeln schreiben und lesen. Sugeno dort, wo es auf die Rechengeschwindigkeit ankommt und wo wir den Regler aus Messdaten abstimmen wollen — dem widmet sich der letzte Teil des Moduls.

8. Fuzzy-Regler in der Praxis

  • Der Zementofen der dänischen Firma F. L. Smidth war um 1980 einer der ersten industriellen Einsätze — der Ofen lässt sich schwer modellieren, aber die Bediener steuerten ihn nach Erfahrung.
  • Die U-Bahn in Sendai (1987) fährt an und bremst nach Fuzzy-Regeln; die Fahrt ist ruhiger, und der Hersteller gab auch eine Energieeinsparung an.
  • Haushaltsgeräte. Um 1990 boten japanische Firmen Waschmaschinen an, die das Programm nach der Trübung des Wassers und der Wäschemenge wählten, und Kameras mit Fuzzy-Fokussierung und Bildstabilisierung.
  • Heute erledigen PID-Regler und modellprädiktive Regelung den Großteil der industriellen Regelung. Fuzzy-Regeln werden eher „über ihnen“ eingesetzt — sie schalten Einstellungen je nach Betriebsart um — und überall dort, wo es wertvoller ist, Erfahrung schnell aufzuschreiben, als ein genaues Modell aufzustellen.

9. Zusammenfassung

  • Ein Fuzzy-Regler hat drei Schritte: Fuzzifizierung, Inferenz nach Regeln und Defuzzifizierung.
  • Die Defuzzifizierung wandelt die Ausgabe-Fuzzy-Menge in eine Zahl um; für den Ventilator ergibt der Schwerpunkt 65,9 %, der Bisektor 75,3 % und der Mittelwert der Maxima 85,9 %.
  • Sugeno hat in den Folgerungen Zahlen oder lineare Funktionen, und die Ausgabe ist ein gewichteter Durchschnitt — 72,7 % für dieselbe Eingabe, ohne Integral.
  • Die Regelfläche zeigt den ganzen Regler auf einmal; der Schwerpunkt erreicht nie die Ränder des Bereichs.
  • Neun Regeln über den Stab halten ihn aufrecht, aber der Wagen fährt davon; ein Sugeno erster Ordnung mit Position und Geschwindigkeit des Wagens hält beides eine ganze Minute.

Möchtest du es selbst ausprobieren? Lass einen KI-Agenten einen Fuzzy-Thermostat für einen simulierten Raum mit verzögerter Heizung schreiben, und probier aus, wie viele Regeln reichen, damit die Temperatur nicht schwingt.

Siehst du das anders? Schreib an support@coden-app.com.

Ein Agent auf deinem Rechner, vom Telefon aus gesteuert