mini|Fuzzylogik einer Temperaturregelung
Fuzzylogik ( ‚verwischt‘, ‚verschwommen‘, ‚unbestimmt‘; fuzzy logic, fuzzy theory ‚unscharfe Logik‘ bzw. ‚unscharfe Theorie‘) oder Unschärfelogik ist eine Theorie, welche in der Mustererkennung zur „präzisen Erfassung des Unpräzisen“ (Zadeh) entwickelt wurde, sodann der Modellierung von Unschärfe von umgangssprachlichen Beschreibungen von Systemen dienen sollte, heute aber überwiegend in angewandten Bereichen wie etwa der Regelungstechnik eine Rolle spielt.
Anders als die herkömmliche boolesche Logik basiert Fuzzylogik auf unscharfen Mengen, den Fuzzy-Mengen. Eine Eigenschaft eines Gegenstands wird in beiden Modellen als die Zugehörigkeit zu einer Menge gefasst, aber in der Fuzzylogik wird die Zugehörigkeit nicht durch eine ja/nein-Unterscheidung scharf definiert, sondern ist graduell abgestuft. Das geschieht durch Zugehörigkeitsfunktionen, die jedem Element einen numerischen Wert aus einem Intervall als Zugehörigkeitsgrad zuordnen. Die so eingeführten neuen Mengenoperationen definieren die Operationen eines zugehörigen Logikkalküls, der die Modellierung von Inferenzprozessen erlaubt.
Motivation Das folgende Beispiel verdeutlicht den Ansatz der Fuzzy-Logik:James C. Bezdek: Fuzzy Models - What Are They, and Why? In: IEEE Transactions on Fuzzy Systems, 1993, Eine Person in der Wüste bekommt zwei Flaschen mit Flüssigkeit. Der Inhalt der einen Flasche hat eine 90%ige Wahrscheinlichkeit, reines Trinkwasser zu sein, und eine 10%ige Wahrscheinlichkeit, giftig zu sein. Die andere ist dagegen eine „Fuzzy-Flasche“, deren Inhalt einen Zugehörigkeitswert von 0,9 in nicht-giftigen Flüssigkeiten aufweist. Sie enthält nämlich Sumpfwasser. Dies verdeutlicht, dass in der Wahrscheinlichkeitsbetrachtung Zuweisungen zu klar abgegrenzten Mengen involviert sind (lediglich ungewiss), während die Zugehörigkeitsfunktionen zu Fuzzymengen die Ähnlichkeit eines Elements zu einer Klasse ausdrücken.
Historische Entwicklung Die Überlegungen zu einer Logik der Unschärfe reichen zurück in die griechische Antike. Bereits der Philosoph Platon postulierte, dass zwischen den Begriffen wahr und falsch ein dritter Bereich liege. Dies stand ganz im Gegensatz zu seinem Zeitgenossen Aristoteles, welcher die Präzision der Mathematik darin begründete, dass eine Aussage nur entweder wahr oder falsch sein kann.
Bezüge zum modernen Begriff der Unschärfe hat auch der von Georg Wilhelm Friedrich Hegel geprägte Begriff der Gedoppelten Mitte.
Die Fuzzy-Set-Theorie, also die unscharfe Mengenlehre, wurde 1965 von Lotfi Zadeh an der University of California, Berkeley entwickelt.Zadeh, L. A.: Fuzzy sets. Information and Control, 8, 1965: 338–353
Die Fuzzy-Set-Theorie nahm in den 1980er Jahren vor allem in Japan ihren Aufschwung mit der sogenannten japanischen Fuzzy-Welle. Die Fuzzy-Set-Theorie wurde als Fuzzy-Regler erfolgreich in industriellen Prozessen eingesetzt. Ein historisches Beispiel ist die Regelung der vollautomatischen U-Bahn Sendai, die erste erfolgreiche Großanwendung mit Fuzzylogik in der Praxis. Später fand die Fuzzylogik auch in Geräten der Unterhaltungselektronik breite Anwendung. Die europäische Fuzzy-Welle kam erst Mitte der 1990er Jahre, als die Grundsatzdiskussionen über die Fuzzylogik verebbten. Zu den deutschen Pionieren gehört Harro Kiendl.
Fuzzy-Set-Theorie Die Fuzzy-Set-Theorie ist von der mehrwertigen Logik zu unterscheiden, die in den 1920er Jahren von dem polnischen Logiker Jan Łukasiewicz beschrieben wurde. Im engeren Sinne kann die so genannte Fuzzylogik zwar als eine mehrwertige Logik gedeutet werden, und insofern gibt es eine gewisse Nähe zur mehrwertigen Logik, für deren Wahrheitswert einer logischen Aussage Zahlen aus dem reellen Einheitsintervall [0, 1] (die reellen Zahlen von 0 bis 1) verwendet werden. Allerdings fasst Lotfi Zadeh die Fuzzy-Set-Theorie als Formalisierung von unbestimmten Begriffsumfängen im Sinne einer referenziellen Semantik auf, was ihm erlaubt, die Unschärfe der Zugehörigkeit von Objekten als Elemente der zu definierenden Mengen graduell über numerische Werte zwischen 0 und 1 anzugeben. Damit eröffnete sich eine weitergehende, linguistische Interpretation der Fuzzy-Set-Theorie als Basis einer Logik der Unschärfe. Die Bezeichnung Fuzzy Logic wurde zunächst auch nicht von Zadeh, sondern erst später von dem ebenfalls in Berkeley lehrenden Linguisten George Lakoff benutzt, nachdem Joseph Goguen, ein Doktorand Zadehs, eine Logik unscharfer BegriffeJ. A. Goguen: The logic of inexact concepts. Synthese 19 (3/4) 1969, S. 325–373. eingeführt hatte.
In der linguistischen Semantik wird heute die Fuzzylogik aber mehrheitlich als nicht geeignet angesehen, um ein Modell für Vagheit und ähnliche Phänomene der natürlichen Sprache zu liefern.Ein klassischer Aufsatz zu diesem Thema ist: Hans Kamp, Barbara H. Partee: Prototype theory and compositionality. Cognition, 57 (1995), S. 129–191. Für eine Suche nach Kompromissmöglichkeiten: Uli Sauerland: Vagueness in Language: The Case Against Fuzzy Logic Revisited. In P. Cintula, C. Fermüller, L. Godo, P. Hájek (Hrsg.): Understanding Vagueness – Logical, Philosophical, and Linguistic Perspectives (Studies in Logic 36). College Publications, London 2011, S. 185–198. Anstatt einer unbestimmten Aussage einen Wahrheitswert zuzuweisen, der eine reelle Zahl zwischen 0 (falsch) und 1 (wahr) ist, wird die Methode der Supervaluation bevorzugt, bei der die Zuweisung eines klassischen Wahrheitswertes (0;1) aufgeschoben ist, weil sie von Parametern abhängt, die durch Information aus dem Kontext belegt werden müssen bzw. je nach Kontext unterschiedliche Werte annehmen.Siehe Kamp & Partee (1995: 148ff.) (siehe vorhergehende Fußnote). Eine einführende Darstellung dieser Idee, allerdings ohne die Bezeichnung „Supervaluation“, findet sich in: Sebastian Löbner: Semantik. Eine Einführung. 2. Auflage. De Gruyter, Berlin 2015, e-ISBN 978-3-11-035090-6, Kapitel 11.4 Die Unschärfe besteht also darin, dass für eine Präzisierung hin zu einer 0/1-Entscheidung je nach Kontext unterschiedliche Kriterien zum Tragen kommen. Das zugrundeliegende Modell bezeichnet man als eine partielle Logik (die in einem klaren Gegensatz zu mehrwertigen Logiken steht).
Unscharfe Mengen
350px|mini|UND-ODER-NICHT-Operatoren zur Verknüpfung von Zugehörigkeitsfunktionen (Teilmengen).
Grundlage der Fuzzylogik sind die sogenannten unscharfen Mengen (engl.: fuzzy sets). Im Gegensatz zu traditionellen Mengen (im Kontext der Fuzzylogik auch scharfe Mengen genannt), in denen ein Element einer vorgegebenen Grundmenge entweder enthalten oder nicht enthalten ist, wird eine unscharfe (fuzzy) Menge nicht durch die Objekte definiert, die Elemente dieser Menge sind (oder nicht sind), sondern über den Grad ihrer Zugehörigkeit zu dieser Menge.
Das geschieht durch Zugehörigkeitsfunktionen μA: X → [0,1], die jedem Element der Definitionsmenge X eine Zahl aus dem reellwertigen Intervall [0,1] der Zielmenge zuordnen, welche den Zugehörigkeitsgrad μA(x) jeden Elements x zur so definierten unscharfen Menge A angibt. Damit wird jedes Element zum Element jeder unscharfen Menge, aber mit jeweils unterschiedlichen, eine bestimmte Teilmenge definierenden Zugehörigkeitsgraden.
Zadeh erklärte hierzu neue Mengenoperationen, die als Operationen eines neuen Logikkalküls die mehrwertige Fuzzylogik begründen und sie als eine Verallgemeinerung der zweiwertigen, klassischen Logik ausweisen, welche als Spezialfall in ihr enthalten ist. Diese Operationen auf unscharfen Mengen sind wie auf scharfen Mengen definierbar, wie z. B. die Bildung von Schnittmengen (UND), Vereinigungsmengen (ODER) und Komplementmengen (NICHT). Zur Modellierung der logischen Operatoren der Konjunktion (UND), der Disjunktion (ODER) und der Negation (NICHT) bedient man sich der Funktionsklassen der T-Norm und T-Conorm.
Negation Die Negation in der Fuzzylogik erfolgt durch Subtraktion der Eingabewerte von 1. Also NOT(A)=1-A
Nicht ausschließende-ODER-Schaltung Die Adjunktion erfolgt durch Wahl des jeweils höheren Wertes der Eingabewerte. Also OR(A;B)=A wenn A>B B wenn A<=B
UND-Schaltung Die Konjunktion erfolgt durch Wahl des jeweils niedrigeren Wertes der Eingabewerte. Also AND(A;B)=A wenn A<B B wenn A>=B
Ausschließende-ODER-Schaltung + Fuzzy XOR! x \ y 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0.0 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0.1 0.1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.9 0.2 0.2 0.2 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.8 0.8 0.3 0.3 0.3 0.3 0.3 0.4 0.5 0.6 0.7 0.7 0.7 0.7 0.4 0.4 0.4 0.4 0.4 0.4 0.5 0.6 0.6 0.6 0.6 0.6 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.6 0.6 0.6 0.6 0.6 0.6 0.5 0.4 0.4 0.4 0.4 0.4 0.7 0.7 0.7 0.7 0.7 0.6 0.5 0.4 0.3 0.3 0.3 0.3 0.8 0.8 0.8 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.2 0.2 0.9 0.9 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.1 1.0 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0
Für die Disjunktion komplementiert man den kleineren zweier Werte und wählt den kleineren der beiden. Für mehr als zwei Eingabewerte setzt man das Ergebnis der letzten Operation rekursiv mit dem jeweils nächsten Eingabewert ein. Einfacher: man nimmt die Differenz des weniger Extremen von dem ihm gegenüberliegenden Extremwert. Also XOR(A;B)=A wenn A>B und A<(1-B) 1-B wenn A>B und A>=(1-B) B wenn B>=A und B<(1-A) 1-A wenn B>=A und B>=(1-A)
Fuzzyfunktionen Zusammenfassungen einzelner Zugehörigkeitsfunktionen ergeben die Fuzzyfunktionen. Ein Beispiel dafür ist eine Fuzzyfunktion für das Alter eines Menschen. Diese könnte aus mehreren dachförmigen Dreiecken bestehen, die ihrerseits für verschiedene Alterstypen stehen und Zugehörigkeitsfunktionen dieser einzelnen Alterstypen darstellen. Jedes Dreieck deckt einen Bereich von mehreren Jahren des Menschenalters ab. Ein Mensch mit 35 Jahren hätte so die Eigenschaften: jung mit der Wertung 0,75 (das ist noch relativ viel), mittleres Alter mit der Wertung 0,25 (das ist ein bisschen) und von den übrigen Funktionen nichts. Anders ausgedrückt: mit 35 ist man ziemlich viel jung und ein bisschen mittel. Die Fuzzyfunktion ordnet jedem Alterswert eine ihn charakterisierende Zugehörigkeitsfunktion zu.
Diese Dreiecksgestalt ist allerdings keineswegs zwingend, generell können die Werte von Fuzzy-Funktionen beliebige Gestalt haben, solange deren Funktionswerte im Intervall [0,1] bleiben. In der Praxis werden solche Dreiecksfunktionen aufgrund ihrer einfachen Berechenbarkeit jedoch gerne verwendet. Relativ weit verbreitet sind noch Trapeze (nicht notwendigerweise spiegelsymmetrisch), aber auch Halbkreise finden sich in einigen Anwendungen. Auch können sich prinzipiell mehr als zwei Abschnitte einer Fuzzy-Funktion überlappen (beim hier betrachteten Beispiel scheint das aber nicht sinnvoll zu sein).
In vielen Fällen werden Fuzzyfunktionen über Tabellen aus statistischen Erhebungen erzeugt. Diese können auch von der Anwendung selbst erhoben werden soweit eine Rückkopplung gegeben ist, wie in der Fahrstuhlsteuerung. Praktisch bedeutsam ist auch, die Erfahrungen und Intuitionen eines Experten auf dem jeweiligen Gebiet in eine Fuzzyfunktion mit einfließen zu lassen, insbesondere dann, wenn überhaupt keine statistischen Aussagen vorhanden sind, beispielsweise dann, wenn es sich um ein komplett neu zu beschreibendes System handelt.
Beispiel für eine nicht-lineare Fuzzy-Funktion Ein Beispiel für eine nicht-lineare Zugehörigkeitsfunktion bildet die folgende Sigmoidfunktion:
Die Kurve drückt durch die Form des Buchstabens S eine ansteigende Zugehörigkeit zu der jeweils beschriebenen Menge durch einen Wert im Wertebereich [0,1] aus. Je nach Anwendungsfall lässt sich eine abnehmende Zugehörigkeit durch eine entsprechende Z-Kurve ausdrücken:
Der Parameter gibt hierbei den Wendepunkt der S-Kurve an, der Wert bestimmt die Neigung der Kurve. Je größer gewählt wird, desto flacher wird der Verlauf der resultierenden Funktion.
mini|hochkant=1.5|Fuzzyfunktion für das Alter eines Menschen