Fuzzy-Logik: t-Normen, Implikationen und WENN–DANN-Regeln
Wahrheitsgrade, t-Normen und t-Konormen (Minimum, Produkt, Łukasiewicz), welche klassischen Gesetze überleben, residuierte Implikationen und die Auswertung von Regeln an einem Ventilator, der nach Temperatur und Feuchte gesteuert wird.
Serie KI-Grundlagen Teil 34 von 52
- Landkarte der künstlichen Intelligenz: was was ist und wie alles zusammenpasst
- Eine kurze Geschichte der künstlichen Intelligenz: von Turing bis zu Sprachmodellen
- Daten, Modell, Training, Inferenz: die Grundbegriffe an einem einzigen Beispiel
- Mathematische Notation lesen: Symbole, Indizes, Summen und Quantoren
- Mengen und Relationen: der Baukasten, aus dem Definitionen in der KI bestehen
- Funktionen und Abbildungen: warum jedes KI-Modell eine Funktion ist
- Logik und Beweise: die Regeln, nach denen KI schließt
- Graphen und Bäume: die Struktur, auf der Suche und neuronale Netze stehen
- Lineare Algebra für maschinelles Lernen: Vektoren, Matrizen und warum KI vor allem multipliziert
- Ableitungen, Gradient und Kettenregel: wie ein Modell herausfindet, in welche Richtung es lernen soll
- Gradientenabstieg: wie ein Modell lernt
- Was ist Wahrscheinlichkeit: vom Würfelwurf zu den Kolmogorow-Axiomen
- Bedingte Wahrscheinlichkeit und der Satz von Bayes: wie du deine Einschätzung änderst, wenn du etwas Neues erfährst
- Zufallsvariable und Verteilungsfunktion: eine Funktion, die alles über eine Verteilung verrät
- Dichtefunktion und Wahrscheinlichkeitsfunktion: warum eine stetige Zufallsvariable in einem Punkt die Wahrscheinlichkeit null hat
- Erwartungswert, Varianz und Kovarianz: wo eine Verteilung liegt, wie breit sie ist und was womit zusammenhängt
- Überblick über Wahrscheinlichkeitsverteilungen: Bernoulli-, Binomial-, Poisson-, Gleich-, Normal- und Exponentialverteilung
- Gesetz der großen Zahlen und zentraler Grenzwertsatz: Warum sich Durchschnitte so vorhersagbar verhalten
- Statistik und Parameterschätzung: Maximum Likelihood, MAP und Konfidenzintervalle
- Informationstheorie: Entropie, Kreuzentropie und KL-Divergenz — woher Verlustfunktionen kommen
- Zustandsraumsuche: BFS, DFS, UCS und A* mit Animationen
- Spiele und Gegner: Minimax, Alpha-Beta-Suche und Monte Carlo Tree Search
- Constraint Satisfaction: Backtracking, Constraint-Propagierung und AC-3 an Sudoku und einer Karte tschechischer Regionen
- Logik und wissensbasierte Systeme: Vorwärts- und Rückwärtsverkettung, Resolution und Expertensysteme
- Planung: STRIPS, die Blockwelt, Heuristiken aus Relaxierung und Planung in KI-Agenten
- Lokale Suche und simulierte Abkühlung: ein Handlungsreisender durch die tschechischen Regionalhauptstädte
- Genetische Algorithmen: Population, Kreuzung, Mutation und Selektion am Rucksack für die Wanderung
- Evolutionsstrategien und genetische Programmierung: von der 1/5-Erfolgsregel zum Keplerschen Gesetz
- Ameisenkolonieoptimierung: wie eine Pheromonspur einen kurzen Weg findet
- Partikelschwarmoptimierung: Trägheit, eigene Erfahrung und die Erfahrung des Schwarms
- Neuroevolution: Evolution der Gewichte und der Gestalt neuronaler Netze und der Algorithmus NEAT
- Fuzzy-Mengen und Zugehörigkeitsfunktionen: wie man „etwas warm“ aufschreibt
- Fuzzy-Logik und Wahrscheinlichkeit: warum „etwas warm“ nicht „wahrscheinlich warm“ bedeutet
- Fuzzy-Logik: t-Normen, Implikationen und WENN–DANN-Regeln
- Fuzzy-Regelung: Mamdani und Sugeno vom Ventilator bis zum Pendel auf dem Wagen
- Fuzzy-Clustering: der Algorithmus fuzzy c-means und Punkte zwischen den Clustern
- Neuro-Fuzzy-Systeme (ANFIS): Fuzzy-Regeln, die aus Daten lernen
- Markow-Ketten: Übergangsmatrix, stationäre Verteilung und PageRank
- Hidden-Markov-Modelle: der Viterbi-Algorithmus und das unehrliche Kasino
- Bayessche Netze: warum das Gras nass ist und was das für den Rasensprenger bedeutet
- Der Kalman-Filter: wie man aus ungenauen Messungen schätzt, wo ein Auto ist und wie schnell es fährt
- Arten des maschinellen Lernens: überwacht, unüberwacht, halbüberwacht und mehr
- Prompts, Kontext und RAG: wie man einem Modell die richtigen Informationen gibt
- Variational Autoencoder (VAE): neue Bilder aus einem stetigen latenten Raum
- Generative Adversarial Networks (GAN): der Fälscher gegen den Detektiv
- Diffusionsmodelle: wie aus reinem Rauschen ein Bild wird
- Markow-Entscheidungsprozesse: Zustände, Aktionen, Belohnungen und Bellman-Gleichungen
- Q-Learning und DQN: den Wert von Aktionen lernen, von der Tabelle bis zum neuronalen Netz
- Policy Gradient und PPO: die Strategie direkt lernen
- Wie ein KI-Agent funktioniert: ein Sprachmodell in einer Schleife mit Werkzeugen
- Programmieren mit KI-Agenten: Auftrag, Tests und Kontrolle
- Bewertung und Sicherheit von KI-Systemen: wie man misst und wie man überwacht
Der ganze Lehrplan der Serie 52 von 83 Themen fertig
- Was t-Normen und t-Konormen sind und warum „und“ in der Fuzzy-Logik eine ganze Familie von Operationen ist.
- Welche Gesetze der klassischen Logik für das Minimum, das Produkt und die Łukasiewicz-t-Norm gelten.
- Wie WENN–DANN-Regeln ausgewertet werden: Regelstärke, Abschneiden der Folgerung und Vereinigung per Maximum.
Vorher gut zu wissen: Fuzzy-Mengen und Zugehörigkeitsfunktionen: wie man „etwas warm“ aufschreibt, Logik und Beweise: die Regeln, nach denen KI schließt
Fuzzy-Mengen haben Wörtern wie „warm“ eine genaue Bedeutung gegeben. Jetzt wollen wir mit ihnen schließen: sie mit den Junktoren „und“, „oder“, „nicht“ verbinden und Regeln schreiben wie „wenn es warm und feucht ist, lass den Ventilator auf voller Stufe laufen“. In der klassischen Logik ist klar, was „und“ bedeutet — wahr, wenn beide Teile wahr sind. Aber was, wenn ein Teil zu 0,7 wahr ist und der andere zu 0,6? Es zeigt sich, dass es eine ganze Familie vernünftiger Antworten gibt — und jede von ihnen bewahrt andere Stücke der klassischen Logik.
Baut auf den Teilen Fuzzy-Mengen und Zugehörigkeitsfunktionen, Fuzzy-Logik und Wahrscheinlichkeit und Logik und Beweise auf.
1. Von der Zugehörigkeit zur Wahrheit
Die Aussage „es ist warm“ hat bei 25 °C den Wahrheitsgrad 0,5 — dieselbe Zahl wie die Zugehörigkeit von 25 °C zur Menge „warm“. Fuzzy-Logik ist eine Logik, in der Aussagen Wahrheitswerte aus dem ganzen Intervall [0, 1] annehmen, nicht nur 0 und 1. Junktoren sind Funktionen, die aus den Wahrheitswerten der Teile den Wahrheitswert des Ganzen berechnen. Die klassische Logik ist der Sonderfall, in dem nur die Randwerte vorkommen.
Definition — Wahrheitswert einer zusammengesetzten Aussage
Wir wählen eine t-Norm T (den Junktor „und“), eine t-Konorm S („oder“), eine Negation ¬ („nicht“) und eine Implikation I („wenn–dann“) — alle sind weiter unten definiert. Haben die Aussagen φ, ψ die Wahrheitswerte ‖φ‖, ‖ψ‖ ∈ [0, 1], so ist
- ‖φ und ψ‖ = T(‖φ‖, ‖ψ‖),
- ‖φ oder ψ‖ = S(‖φ‖, ‖ψ‖),
- ‖nicht φ‖ = ¬‖φ‖,
- ‖wenn φ, dann ψ‖ = I(‖φ‖, ‖ψ‖).
Der Wert einer atomaren Aussage „x ist A“ ist die Zugehörigkeit μA(x).
Eine zusammengesetzte Aussage wird von unten ausgewertet: zuerst die Zugehörigkeiten, dann die Junktoren einer nach dem anderen, genau wie man in der klassischen Logik eine Wahrheitstafel ausfüllt — nur setzen wir statt 0 und 1 Zahlen dazwischen ein.
Beispiel — „es ist warm und nicht feucht“ bei 27 °C und 60 %
„Warm“ ist das Dreieck (22, 28, 34), also ‖warm‖ = (27 − 22) / (28 − 22) = 5/6 ≈ 0,83. „Feucht“ steigt von 40 auf 70 %: ‖feucht‖ = (60 − 40) / (70 − 40) = 2/3 ≈ 0,67, also ‖nicht feucht‖ = 1 − 2/3 = 1/3 ≈ 0,33.
- mit dem Minimum: min(5/6; 1/3) = 0,33,
- mit dem Produkt: 5/6 · 1/3 = 5/18 = 0,28,
- mit der Łukasiewicz-t-Norm: max(0; 5/6 + 1/3 − 1) = 1/6 = 0,17.
Drei vernünftige Antworten auf dieselbe Frage — welche man wählt, darum geht es im Rest dieses Teils.
2. t-Normen: was „und“ bedeutet
Definition — t-Norm
Eine t-Norm ist eine Funktion T : [0, 1]2 → [0, 1], die
- kommutativ ist: T(a, b) = T(b, a),
- assoziativ ist: T(a, T(b, c)) = T(T(a, b), c),
- monoton ist: aus b ≤ c folgt T(a, b) ≤ T(a, c),
- und 1 als neutrales Element hat: T(a, 1) = a.
Vier vernünftige Forderungen an „und“: Die Reihenfolge spielt keine Rolle, die Klammern spielen keine Rolle, bessere Eingaben geben kein schlechteres Ergebnis, und „A und wahr“ ist dasselbe wie A. Daraus folgt auch, dass „A und falsch“ falsch ist, sodass sich jede t-Norm an den Randwerten genau wie das klassische „und“ verhält.
Die vier wichtigsten:
- Minimum (Gödel, Zadeh) T(a, b) = min(a, b) — eine Kette ist so stark wie ihr schwächstes Glied.
- Produkt T(a, b) = a · b — wie die Wahrscheinlichkeit zweier unabhängiger Ereignisse.
- Łukasiewicz T(a, b) = max(0, a + b − 1) — die untere Fréchet-Schranke aus dem vorigen Teil.
- Drastisch — b, wenn a = 1; a, wenn b = 1; sonst 0.
Am wenigsten selbstverständlich ist die Łukasiewicz-t-Norm, deshalb nehmen wir sie auseinander:
TŁ(a, b) = max(0, a + b − 1)
- TŁ(a, b)
- der Wahrheitswert von „A und B“ — wie viel Wahrheit beide Teile gemeinsam haben müssen
- a + b
- die Wahrheitswerte beider Teile zusammen — stell sie dir als zwei Abschnitte der Länge a und b vor, die in eine Strecke der Länge 1 passen sollen
- − 1
- die Länge der ganzen Strecke — was von a + b über die Eins hinausgeht, passt nicht nebeneinander hinein und muss sich überlappen; die Überlappung ist das, was gleichzeitig gilt
- max(0, …)
- wenn die Abschnitte nebeneinander passen (a + b ≤ 1), müssen sie sich gar nicht überlappen — der Wahrheitswert von „und“ ist dann 0, keine negative Zahl
Für a = 0,7 und b = 0,6 ergeben sie 0,60; 0,42; 0,30 und 0. Das Minimum ist von allen die großzügigste, die drastische die strengste — und das gilt allgemein:
Satz — Schranken der t-Normen
Für jede t-Norm T und alle a, b ∈ [0, 1] gilt TD(a, b) ≤ T(a, b) ≤ min(a, b), wobei TD die drastische t-Norm ist.
Beweis. Obere Schranke: aus der Monotonie und der neutralen Eins T(a, b) ≤ T(a, 1) = a, und dank der Kommutativität ebenso T(a, b) ≤ b. Untere Schranke: Ist a = 1, so ist T(1, b) = b = TD(1, b); ist b = 1, analog. Sonst ist TD(a, b) = 0, und T(a, b) ≥ 0 gilt immer. ∎
„A und B“ kann nie wahrer sein als der schwächere der beiden Teile (das folgt aus der Monotonie und der neutralen Eins: T(a, b) ≤ T(a, 1) = a). Alle t-Normen liegen deshalb zwischen zwei Extremen.
3. t-Konormen und Negation: „oder“ und „nicht“
Definition — t-Konorm, Negation, Dualität
Eine t-Konorm S hat dieselben Eigenschaften wie eine t-Norm, nur ist das neutrale Element 0: S(a, 0) = a. Die Standardnegation ist ¬a = 1 − a.
Zu jeder t-Norm gehört die duale t-Konorm S(a, b) = 1 − T(1 − a, 1 − b). Für ein solches Paar gelten die De-Morgan-Gesetze: ¬T(a, b) = S(¬a, ¬b).
„A oder B“ ist dasselbe wie „es stimmt nicht, dass weder A noch B“. Jedes „und“ bringt also sein „oder“ mit. Zum Minimum gehört das Maximum, zum Produkt die probabilistische Summe a + b − ab, zur Łukasiewicz-t-Norm die beschränkte Summe min(1, a + b). Für 0,7 und 0,6 ergeben sie 0,70; 0,88 und 1.
S(a, b) = 1 − T(1 − a, 1 − b)
- S(a, b)
- der Wahrheitswert von „A oder B“ — wir wollen ihn aus „und“ herleiten, nicht eigens erfinden
- 1 − a, 1 − b
- die Wahrheitswerte von „nicht A“ und „nicht B“ — „oder“ scheitert genau dann, wenn keiner der Teile gilt
- T
- die gewählte t-Norm — berechnet, wie sehr „nicht A und nicht B“ gilt, also wie sehr „oder“ scheitert
- 1 −
- die äußere Negation — macht aus „wie sehr es scheitert“ ein „wie sehr es gilt“; dank ihr gelten die De-Morgan-Gesetze für jedes Paar T, S automatisch
Beispiel — drei t-Konormen durch Dualisierung
- Minimum: 1 − min(1 − a, 1 − b) = max(a, b); das kleinere Komplement gehört zur größeren Zahl. Für 0,7 und 0,6: 1 − min(0,3; 0,4) = 1 − 0,3 = 0,70.
- Produkt: 1 − (1 − a)(1 − b) = 1 − (1 − a − b + ab) = a + b − ab. Für 0,7 und 0,6: 1 − 0,3 · 0,4 = 1 − 0,12 = 0,88.
- Łukasiewicz: 1 − max(0, (1 − a) + (1 − b) − 1) = 1 − max(0, 1 − a − b) = min(1, a + b). Für 0,7 und 0,6: 1 − max(0; 0,3 + 0,4 − 1) = 1 − 0 = 1,00.
Die probabilistische Summe hat eine bekannte Bedeutung: Für unabhängige Ereignisse ist P(A ∪ B) = P(A) + P(B) − P(A)P(B) — abgezogen wird die Überlappung, die sonst doppelt gezählt würde.
4. Welche Gesetze überleben
Die klassische Logik hat eine Menge Gesetze. In der Fuzzy-Logik kann nicht alles zugleich gelten — und jede t-Norm wählt anders. Geprüft auf dem Gitter der Werte 0; 0,05; …; 1:
| Gesetz | Minimum | Produkt | Łukasiewicz |
|---|---|---|---|
| Idempotenz: A und A = A | ja | nein | nein |
| Widerspruch: A und nicht A = 0 | nein | nein | ja |
| ausgeschlossenes Drittes: A oder nicht A = 1 | nein | nein | ja |
| De-Morgan-Gesetze | ja | ja | ja |
| Distributivität von „und“ über „oder“ | ja | nein | nein |
Das Minimum bewahrt die „Algebra“ — Idempotenz und Distributivität —, verliert aber den Satz vom Widerspruch: „warm und nicht warm“ kann bis zu 0,5 betragen. Łukasiewicz bewahrt den Satz vom Widerspruch und den vom ausgeschlossenen Dritten, aber „warm und warm“ ergibt bei 0,7 nur 0,4. Das ist ein bekanntes Ergebnis: Das Minimum ist die einzige idempotente t-Norm, und mit ihr kann der Satz vom Widerspruch nicht gelten. Die Wahl des Junktors ist also die Wahl, auf welche Eigenschaften es uns ankommt.
Satz — das Minimum ist die einzige idempotente t-Norm
Ist T eine t-Norm und T(a, a) = a für alle a ∈ [0, 1], dann ist T(a, b) = min(a, b).
Beweis. Sei a ≤ b. Aus Idempotenz und Monotonie folgt a = T(a, a) ≤ T(a, b) und aus dem Satz über die Schranken T(a, b) ≤ min(a, b) = a. Also ist T(a, b) = a; für a > b ebenso dank der Kommutativität. ∎
Folgerung. Idempotenz und der Satz vom Widerspruch (mit der Standardnegation) können nicht zugleich gelten: Idempotent ist nur das Minimum, und das ergibt im Punkt 0,5 min(0,5; 1 − 0,5) = 0,5 ≠ 0.
Beispiel — Gegenbeispiele und ein Beweis aus der Tabelle
- Łukasiewicz erfüllt den Satz vom Widerspruch für jedes a, nicht nur auf dem Gitter: TŁ(a, 1 − a) = max(0, a + 1 − a − 1) = max(0, 0) = 0. Ebenso ist min(1, a + 1 − a) = 1 der Satz vom ausgeschlossenen Dritten.
- Łukasiewicz ist nicht idempotent: TŁ(0,7; 0,7) = 0,7 + 0,7 − 1 = 0,4 ≠ 0,7.
- Das Produkt ist nicht distributiv: Für a = b = c = 0,5 ist „a und (b oder c)“ = 0,5 · (0,5 + 0,5 − 0,25) = 0,3750, aber „(a und b) oder (a und c)“ = 0,25 + 0,25 − 0,25 · 0,25 = 0,4375.
- Das Produkt verletzt den Satz vom Widerspruch: 0,5 · (1 − 0,5) = 0,25 ≠ 0.
Ein einziges Gegenbeispiel genügt, damit ein Gesetz nicht gilt. Ein „ja“ in der Tabelle ist dagegen nur auf dem Gitter geprüft — für Łukasiewiczs Satz vom Widerspruch steht oben aber auch ein allgemeiner Beweis.
5. Implikation
Definition — residuierte Implikation
Zu einer stetigen t-Norm T gehört das Residuum
I(a, b) = sup { c ∈ [0, 1] : T(a, c) ≤ b }.
Es gilt T(a, c) ≤ b genau dann, wenn c ≤ I(a, b). Für das Minimum ergibt sich die Gödel-Implikation (1, wenn a ≤ b, sonst b), für das Produkt die Goguen-Implikation (1, wenn a ≤ b, sonst b/a) und für die Łukasiewicz-t-Norm min(1, 1 − a + b).
„Wenn A, dann B“ ist die stärkste Behauptung, die zusammen mit A nicht mehr ergibt, als B wert ist. Die Implikation ist ganz wahr, wann immer die Voraussetzung nicht wahrer ist als die Folgerung — genau wie in der klassischen Logik, wo aus Falschem Beliebiges folgt. Für die Voraussetzung 0,8 und die Folgerung 0,3 ergeben die drei Implikationen 0,3; 0,375 und 0,5.
I(a, b) = sup { c ∈ [0, 1] : T(a, c) ≤ b }
- I(a, b)
- der Wahrheitswert von „wenn A, dann B“ für eine Voraussetzung mit Wahrheitswert a und eine Folgerung mit Wahrheitswert b
- c ∈ [0, 1]
- ein Kandidat für den Wahrheitswert der Implikation — wir probieren alle möglichen Werte aus
- T(a, c)
- „A und (wenn A, dann B)“ — was wir aus Voraussetzung und Implikation zusammen schließen; genau das tut der Modus ponens
- ≤ b
- die Korrektheitsbedingung — die gefolgerte Aussage darf nicht wahrer sein, als B tatsächlich ist; die Implikation darf nicht „mehr versprechen“
- sup
- der größte der korrekten Kandidaten — die Implikation soll so stark wie möglich sein, sonst wäre sie immer 0 und würde nichts aussagen
Beispiel — drei Implikationen für die Voraussetzung 0,8 und die Folgerung 0,3
Wir suchen das größte c, für das T(0,8; c) ≤ 0,3 gilt:
- Minimum: min(0,8; c) ≤ 0,3 gilt genau dann, wenn c ≤ 0,3 (weil 0,8 > 0,3), also I = 0,300,
- Produkt: 0,8 · c ≤ 0,3, also c ≤ 0,3 / 0,8, also I = 0,375,
- Łukasiewicz: max(0; 0,8 + c − 1) ≤ 0,3, also c − 0,2 ≤ 0,3 und c ≤ 0,5, also I = 0,500.
Probe mit dem Modus ponens: Wir setzen c = I zurück in T(0,8; c) ein — min(0,8; 0,3) = 0,3; 0,8 · 0,375 = 0,3; max(0; 0,8 + 0,5 − 1) = 0,3. In allen drei Fällen kommt genau die Folgerung 0,3 heraus: Die Implikation ist so eingestellt, dass sie sie trifft.
Residuen sind nicht nur elegant: Dank der Beziehung T(a, c) ≤ b ⇔ c ≤ I(a, b) gilt für sie eine Fuzzy-Version des Modus ponens — aus A mit Wahrheitswert a und aus „A ⇒ B“ mit Wahrheitswert c folgt B mit Wahrheitswert mindestens T(a, c). Darauf beruhen die formalen Fuzzy-Logiken, die in den Neunzigerjahren der tschechische Logiker Petr Hájek aufgebaut hat.
6. WENN–DANN-Regeln
In der Praxis begegnet dir Fuzzy-Logik am häufigsten in Regeln, die eine Maschine steuern. Wir wollen einen Ventilator, der sich nach Temperatur und Feuchte richtet. Die Drehzahl (0–100 %) hat die Terme langsam, mittel und schnell, die Feuchte die Terme trocken und feucht, die Temperatur die Terme aus dem Teil über Fuzzy-Mengen. Die Regelbasis:
- R1: WENN Temperatur ist kalt ODER angenehm, DANN Drehzahl ist langsam.
- R2: WENN Temperatur ist warm UND Feuchte ist trocken, DANN Drehzahl ist mittel.
- R3: WENN Temperatur ist warm UND Feuchte ist feucht, DANN Drehzahl ist schnell.
- R4: WENN Temperatur ist heiß, DANN Drehzahl ist schnell.
Definition — Auswertung einer Regel (Mamdani)
Für eine scharfe Eingabe berechnet man zuerst die Regelstärke α: die Zugehörigkeiten der Eingaben zu den Termen der Bedingung, verknüpft durch eine t-Norm („und“) oder eine t-Konorm („oder“). Die Folgerung — eine Fuzzy-Menge B am Ausgang — wird dann abgeschnitten: μ′(y) = min(α, μB(y)), oder verkleinert: μ′(y) = α · μB(y). Die Folgerungen aller Regeln werden durch das Maximum vereinigt.
Eine Regel gilt so sehr, wie ihre Bedingung gilt, und so sehr setzt sie auch ihre Folgerung durch. Eine Regel, deren Bedingung zu 0,67 gilt, darf „schnell“ höchstens bis zur Höhe 0,67 durchsetzen. Alle Regeln sprechen gleichzeitig, und das Ergebnis ist der Umriss dessen, was in welche Richtung drängt.
Eingabe: 27 °C und 60 % Feuchte. Die Temperatur ist zu 0,2 „angenehm“ und zu 0,83 „warm“, die Feuchte zu 0,67 „feucht“ und überhaupt nicht „trocken“. Die Regel R3 hat die Stärke min(0,83; 0,67) = 0,67:
Mit dem Minimum wird die Folgerung „schnell“ in der Höhe 0,67 abgeschnitten, und übrig bleibt ein flaches Trapez. Mit dem Produkt hat die Regel die Stärke 0,83 · 0,67 = 0,56, und „schnell“ wird als Ganzes verkleinert — es behält seine Form, ist nur niedriger. Beide Ansätze werden in der Praxis verwendet; der erste ist Mamdanis ursprüngliche Wahl.
Die ganze Regelbasis auf einmal:
Zwei Regeln haben gefeuert: R1 mit der Stärke 0,2 (die Temperatur ist ein wenig „angenehm“) und R3 mit der Stärke 0,67. R2 und R4 schweigen. Das Ergebnis ist eine Fuzzy-Menge über der Drehzahl — eine niedrige Stufe bei „langsam“ und eine hohe bei „schnell“. Der Motor braucht aber eine einzige Zahl. Wie man sie aus dieser Menge bekommt, ist das Thema des nächsten Teils über Fuzzy-Regelung.
μ(y) = maxr min(αr, μBr(y))
- μ(y)
- die resultierende Fuzzy-Menge über der Drehzahl — wie sehr die Regelbasis die Drehzahl y empfiehlt (in der Abbildung die grüne Fläche)
- αr
- die Stärke der Regel r — wie sehr ihre Bedingung für die heutige Eingabe gilt; eine Regel darf nicht mehr behaupten, als ihre Voraussetzung gilt
- μBr(y)
- die Folgerung der Regel — die Form eines Terms wie „schnell“: welche Drehzahlen zu ihm gehören und wie sehr (in der Abbildung der gestrichelte Umriss)
- min
- Abschneiden — die Folgerung wird in der Höhe αr gekappt, weil eine Regel, deren Bedingung zu 0,67 gilt, nichts stärker als zu 0,67 empfehlen kann (in der Abbildung die bernsteinfarbene Fläche)
- maxr
- Vereinigung der Regeln — die Regeln sind Alternativen („R1 oder R2 oder …“), daher wird eine Drehzahl so sehr empfohlen, wie die bereitwilligste Regel sie empfiehlt
Beispiel — die Regelbasis für 27 °C und 60 % Schritt für Schritt
Schritt 1 — Fuzzifizierung. Temperatur 27 °C: „kalt“ 0 (endet bei 14 °C), „angenehm“ fällt von 23 auf 28 °C, also (28 − 27) / (28 − 23) = 0,2; „warm“ (27 − 22) / 6 = 0,83; „heiß“ 0 (beginnt erst bei 30 °C). Feuchte 60 %: „trocken“ 0 (endet bei 50 %), „feucht“ (60 − 40) / 30 = 0,67.
Schritt 2 — Regelstärken. Das „oder“ innerhalb einer Bedingung berechnet die duale t-Konorm, das „und“ zwischen Bedingungen die t-Norm:
| Regel | Zugehörigkeiten in der Bedingung | α mit Minimum | α mit Produkt |
|---|---|---|---|
| R1 | 0,00 oder 0,20 | 0,20 | 0,20 |
| R2 | 0,83 und 0,00 | 0,00 | 0,00 |
| R3 | 0,83 und 0,67 | 0,67 | 0,56 |
| R4 | 0,00 | 0,00 | 0,00 |
Zum Beispiel R3 mit dem Produkt: 5/6 · 2/3 = 10/18 ≈ 0,56; R1 mit dem Maximum: max(0; 0,2) = 0,2.
Schritt 3 — Abschneiden und Vereinigen. Der Wert der Ausgangsmenge an einigen Punkten, μ(y) = max(min(0,2; μlangsam(y)), min(0,67; μschnell(y))) — R2 und R4 haben die Stärke 0 und tragen nichts bei:
| Drehzahl y (%) | 10 | 40 | 50 | 60 | 70 | 80 | 90 |
|---|---|---|---|---|---|---|---|
| μlangsam(y) | 1,00 | 0,20 | 0,00 | 0,00 | 0,00 | 0,00 | 0,00 |
| μschnell(y) | 0,00 | 0,00 | 0,00 | 0,20 | 0,60 | 1,00 | 1,00 |
| μ(y), Minimum | 0,20 | 0,20 | 0,00 | 0,20 | 0,60 | 0,67 | 0,67 |
| μ(y), Produkt | 0,20 | 0,04 | 0,00 | 0,11 | 0,33 | 0,56 | 0,56 |
Zum Beispiel bei y = 70: „schnell“ gilt dort zu (70 − 55) / (80 − 55) = 0,6, das ist weniger als die Stärke 0,67, also ändert das Abschneiden nichts und μ(70) = 0,6. Bei y = 90 gilt „schnell“ ganz (1), und das Abschneiden drückt es auf 0,67. Drehzahlen zwischen 45 und 55 % empfiehlt keine Regel.
def sila(podminky, vstup, t_norma=min):
hodnoty = []
for promenna, terminy in podminky: # Terme, verknüpft mit „oder“
hodnoty.append(max(mu[promenna][t](vstup[promenna]) for t in terminy))
vysledek = 1.0
for h in hodnoty: # Bedingungen, verknüpft mit „und“
vysledek = t_norma(vysledek, h)
return vysledek
def vystup(pravidla, vstup, y):
return max(min(sila(r.kdyz, vstup), mu_otacky[r.pak](y)) for r in pravidla)
7. Fuzzy-Logik und die heutige KI
- Logik, die man ableiten kann. t-Normen sind stetig und lassen sich daher ableiten. Neurosymbolische Ansätze wie Logic Tensor Networks bauen aus ihnen eine Verlustfunktion: Das Netz lernt nicht nur aus Beispielen, sondern auch aus Regeln wie „jeder Hund ist ein Säugetier“, deren Wahrheitswert mit Fuzzy-Junktoren berechnet wird.
- Weiche Nebenbedingungen. Probabilistic Soft Logic verwendet Łukasiewicz-Junktoren, um gewichtete Regeln zu schreiben — zum Beispiel für Empfehlungen oder für das Verknüpfen von Datensätzen über dieselbe Person.
- Lesbare Entscheidungen. Fuzzy-Regeln sind kurz und verständlich. Wo Menschen die Entscheidungsfindung überprüfen müssen, werden sie bis heute als erklärbare Alternative zur Blackbox eingesetzt.
8. Zusammenfassung
- In der Fuzzy-Logik haben Aussagen einen Wahrheitswert aus [0, 1]; Junktoren sind Funktionen auf diesen Werten.
- „Und“ ist eine t-Norm — Minimum, Produkt, Łukasiewicz und weitere; alle liegen zwischen der drastischen t-Norm und dem Minimum.
- „Oder“ ist die duale t-Konorm, „nicht“ standardmäßig 1 − a; die De-Morgan-Gesetze gelten immer, die übrigen Gesetze je nach Wahl der t-Norm.
- Die residuierte Implikation bewahrt den Modus ponens; auf ihr beruhen die formalen Fuzzy-Logiken.
- WENN–DANN-Regeln werden über die Stärke der Bedingung, das Abschneiden oder Verkleinern der Folgerung und die Vereinigung per Maximum ausgewertet — für den Ventilator bei 27 °C und 60 % feuert R1 mit der Stärke 0,2 und R3 mit der Stärke 0,67.
Willst du es selbst ausprobieren? Lass einen KI-Agenten die Gesetzestabelle aus diesem Teil für weitere t-Normen schreiben — etwa die Hamacher- oder die Frank-Familie — und finde heraus, welche der klassischen Logik am nächsten kommt.
Siehst du das anders? Schreib an support@coden-app.com.