Fuzzy in 4 Tagen


 


 

1. Tag

Fuzzy geht zurück auf den Mathematiker Lotfi Zadeh, der im Jahre 1965 mit einem neuen Mengenbegriff aufwartete. Zadeh hatte erkannt, dass menschliches Denken und Sprechen oftmals an sehr unpräzise Begriffe gebunden ist. "Das Wetter ist schön" ist eine einfache Aussage, und nach der klassischen Logik sollte man eindeutig entscheiden können, ob sie war oder falsch ist. Der Begriff "schön" ist aber gar nicht präzise gefasst. Wenn nun zwar die Sonne scheint, aber ein kühler Wind weht, wird man diese Aussage weder vollständig verneinen, noch vollständig bejahen wollen. Eher wird man sich für irgendetwas dazwischen entscheiden. Ganz ähnlich verhält es sich mit Mengen. Wir brauchen nur die Menge der schönen Tage des Jahres 1995 in München betrachten. War der 12. März ein Element dieser Menge? Natürlich taucht hier dasselbe Problem wieder auf. Das ist nicht verwunderlich, da eine enge Verwandschaft zwischen Aussagen und Mengen besteht. Nur bei den formalen Sprachen wie z.B. der Mathematik lassen sich solche Schwierigkeiten vermeiden, und hier lassen sich dann auch eindeutige Aussagen über die Zugehörigkeit von Elementen zu einer Menge machen.

Viele Mathematiklehrer kennen die Schwierigkeiten, anschauliche Beispiele für die Mengenlehre der 5. oder 6. Klasse zu finden. Immer wieder gibt es bei den Schülern Uneinigkeiten darüber, ob ein Element tatsächlich zur betrachteten Menge gehört oder nicht. Wenn es um reale Dinge geht, ist ein klares Ja-oder-Nein oft nicht möglich, meistens sogar auch gar nicht angebracht. Um solche Situationen dennoch mengenmäßig erfassen zu können, führte Zadeh nun Mengen mit teilweiser Mitgliedschaft ein; er nannte sie "fuzzy sets", zu deutsch unscharfe Mengen. Ein kühler, aber sonniger Tag könnte z.B. zu 80% zur Menge der schönen Tage gehören.

Im Folgenden soll dargelegt werden, was nun genau unter solchen Fuzzymengen zu verstehen ist (Abschnitt 1) und wie sie zur Regelung von Systemen eingesetzt werden können (Abschnitt 2).


Fuzzymengen

"George Harrison, John Lennon, Paul McCartney und Ringo Starr bilden die Menge der Beatles." Das Beispiel von den Beatles zeigt, was das Wesentliche einer Menge (nach G. Cantor, 1845-1918) ist: Von jedem Objekt x lässt sich sagen, ob es zur Menge M gehört oder nicht. Im ersten Fall sagt man x ist ein Element von M, kurz: , sonst sagt man x ist kein Element von M, kurz: . John Lennon ist also ein Element der Menge der Beatles, Michael Jackson hingegen ist kein Element dieser Menge.

Cantor zwingt uns zu einer harten Entscheidung: Entweder Schwarz oder Weiß - Grautöne sind nicht zugelassen. Dieses Prinzip hat sich für die Mathematik als sehr fruchtbar herausgestellt. So konnten z.B. viele Sachverhalte durch den Mengenbegriff systematischer (damit auch übersichtlicher) und präziser erfasst werden.

Im alltäglichen Leben, aber auch bei vielen wissenschaftlichen oder technischen Problemen ist dieses Schwarz-Weiß-Denken allerdings problematisch:

- Gehört ein 47-jähriger zur Menge der alten Menschen?

- Gehört eine 1,85 m große Person zur Menge der großen Leute?

- Gehört ein Kind mit einer kleinen Wunde am Knie zur Menge der gesunden Menschen?

- Gehört Holz zur Menge der schlechten elektrischen Leiter?

Im Gegensatz zu den klassischen Mengen ist hier eine Entscheidung über die Zugehörigkeit oft unmöglich, manchmal sogar auch unsinnig. Der Grund dafür liegt darin, dass die benutzten Begriffe "alt", "groß", "krank", "schlechter Leiter" unscharf sind. Trotz oder gerade wegen dieser Unschärfe haben sich diese Begriffe bewährt; sie sind es, die eine rasche und einfache Verständigung erst möglich machen.



Will man einen Computer ein solches unscharfes Expertenwissen benutzen lassen, braucht man eine präzise Theorie über unscharfe Mengen.

Eine solche Theorie wurde 1965 von Lotfi Zadeh entwickelt. Seine neuen Mengen nannte er Fuzzymengen. "Fuzzy" bedeutet auf deutsch "unscharf, kraus, unklar". Was versteht man nun unter einer Fuzzymenge? Am Beispiel der Fuzzymenge GR der großen Personen soll dies nun erklärt werden.

Personen mit einer Körpergröße über 2 m gehören - da sind wir uns sicherlich einig - auf jeden Fall zu dieser Menge GR, Personen unter 1,40 m auf keinen Fall. Was machen wir nun mit den "Zwischenfällen"? Wir geben ihnen Punkte zwischen 0 und 100. Unsere 1,20 m große Person bekommt natürlich 0, unser 2,20 m - Riese erhält 100 Punkte. Für die Zwischenfälle werden Experten befragt. Eine solche Umfrage kann ein Ergebnis wie in der Tabelle 1 haben.

Die Fuzzy-Logiker geben allerdings die Zugehörigkeit nicht in Punkten, sondern mit Zahlen zwischen 0 und 1 an. Aus der Tabelle und weiteren Umfragen können wir zu dem Graphen in Abb. 2 gelangen. Durch dieses Diagramm wird jeder Personengröße ein Zugehörigkeitsgrad z zugeordnet. Diese Zuordnung bezeichnet man als Zugehörigkeitsfunktion. Ihre Definitionsmenge wird Grundmenge genannt.



Eine Fuzzymenge wird also durch eine Funktion beschrieben. Messwerte, wie z.B. die Körpergröße bilden ihre Grundmenge. Ihre Funktionswerte sind aus dem Intervall [0;1]. Weil diese Funktion die wesentlichen Aspekte der Fuzzymenge erfassen, bezeichnen Fuzzy-Theoretiker sie oftmals selbst als Fuzzymenge.

Bezeichnet nun µGR die Zugehörigkeitsfunktion der Fuzzymenge der großen Personen, so ist die Zugehörigkeitsfunktion des Komplements durch gegeben. Eine 1,70 m große Person gehört dann mit jeweils z = 0,5 zu GR und zu deren Komplement; der Aristotelische Satz vom ausgeschlossenen Widerspruch gilt für Fuzzymengen nicht mehr!



 


 

2. Tag

Grundbegriffe der Fuzzyregelung

Um die Last vom Waggon auf den Truck zu befördern, muss der Kranführer sie leicht anheben und den Wagen L der Laufkatze nach rechts in Bewegung setzen. Meist gerät sie dabei ins Pendeln, und es erfordert sehr viel Geschick, sie über dem Truck zur Ruhe kommen zu lassen, so dass sie dort schließlich abgesetzt werden kann.

Wir interessieren uns nun für die Kontrolle des Wagens L der Laufkatze. Wenn wir die Pendelbewegung außer Acht lassen, könnte eine Kurzanweisung für dessen Bedienung folgendermaßen lauten:

WENN Position = fern, DANN Kraft = rechts
WENN Position = Ziel, DANN Kraft = null
WENN Position = zu weit, DANN Kraft = links




Fuzzifizierung

Die Position der Laufkatze wird durch die unscharfen Begriffe "fern", "über dem Ziel" und "zu weit" beschrieben. Da wir nun die Kontrolle einem Computer anvertrauen wollen, bilden wir zugehörige Fuzzymengen. In unserem Beispiel nehmen wir an, dass die Laufkatze sich im Bereich von -4 m bis +4 m bewegen kann. Als gemeinsame Definitionsmenge der Zugehörigkeitsfunktionen wählen wir das Intervall G = [-4;4]; dabei verzichten wir hier und im Folgenden auf die Angabe der Einheit m.

Die Begriffe "fern", "über dem Ziel" und "zu weit" bezeichnet man als Terme der Fuzzyvariablen "Position". Die gemeinsame Definitionsmenge der Zugehörigkeitsfunktionen bezeichnet man als die Grundmenge der Fuzzyvariablen.


In der Abb. 4 sind nun passende Fuzzymengen dargestellt. Natürlich sind auch andere Zugehörigkeitsfunktionen möglich. Sie ändern aber nichts an den folgenden grundlegenden Betrachtungen.

Der Position x = 1,3 sind 3 Zugehörigkeitsgrade zugeordnet:



Die Laufkatze ist danach noch ziemlich "fern" vom Truck, nämlich zum Grad 0,7. Sie steht andererseits schon ein wenig "über dem Ziel", nämlich zum Grad 0,3. "Zu weit" ist sie auf keinen Fall, der Zugehörigkeitsgrad hierfür ist 0. Die 3 Zugehörigkeitsgrade geben die Position der Laufkatze fuzzymäßig wieder. Man fasst sie zu einer (geordneten) Liste zusammen, der sogenannten Zugehörigkeitsliste:

Z = (0,7; 0,3; 0)

Auf diese Weise wird jeder Position x eine Zugehörigkeitsliste zugeordnet. Diese Zuordnung bezeichnet man als Fuzzifizierung. Offensichtlich hängt die Fuzzifizierung von der speziellen Wahl der Zugehörigkeitsfunktionen ab.

Neben den Eingangsgrößen müssen auch die Ausgangsgrößen fuzzifiziert werden. Hier ist es die Kraft auf die Laufkatze.

 

 

Inferenz

Die Regeln, nach denen die Fuzzyregelung vorgenommen werden soll, werden nun nicht direkt für die Mess- und Stellgrößen formuliert. Vielmehr benutzen sie die Terme der Fuzzyvariablen und stellen einen Zusammenhang zwischen ihnen her. In unserem Fall verknüpfen sie die Terme "fern", "Ziel" und "zu weit" der Fuzzyvariablen "Position" mit den Termen "links", "null" und "rechts" der Fuzzyvariablen "Kraft".

Wie gelangt man nun von den konkreten Messwerten, wie von den Sensoren einer Anlage geliefert werden, über solchermaßen formulierte Regeln wieder zu scharfen Stellwerten? Der Anschaulichkeit halber betrachten wir zunächst unsere Laufkatzenregelung für den konkreten Fall x = 1,2 m. Nach dem linken Diagramm der Abbildung auf der Seite 1 ist diese Position "fern" mit Zugehörigkeitsgrad 0,8 und am "Ziel" mit Zugehörigkeitsgrad 0,2. Der Zugehörigkeitsgrad für "zu weit" ist 0. Diese Zugehörigkeitsgrade geben an, in wieweit die Bedingungen unserer Regeln jeweils erfüllt sind. An diese Zugehörigkeitsgrade der Eingangsvariable werden die Zugehörigkeitsfunktionen der Ausgangsgröße nun gemäß den Regeln angepasst. Die Abbildung 6 macht deutlich, wie dies geschieht.

 

Die erste Regel lautete "WENN Position = fern, DANN Kraft = rechts". Nun hat bei unserer Position x = 1,2 m der Zugehörigkeitsgrad zu "fern" den Wert 0,8; dafür schreiben wir kurz: zfern(1,2) = 0,8. Der WENN-Teil der Regel ist also nur zu 80% erfüllt. Wir sagen: Der Erfüllungsgrad der Bedingung ist 0,8. Dementsprechend wird der DANN-Teil auch nur zu 80% eintreffen. Die Zugehörigkeitswerte von "Kraft = rechts" dürfen also 0,8 nicht überschreiten, wenn der Erfüllungsgrad der Bedingung nur 0,8 ist. Wir tragen dem Rechnung, indem wir den Maximalwert h (im Folgenden als charakteristische Größe bezeichnet) des zugehörigen Ausgangsterms "rechts" auf 0,8 setzen.

Ebenso verfahren wir mit der zweiten Regel: Nach ihr hängt die Zugehörigkeitsfunktion des Ausgangsterms "null" von dem Eingangsterm "Ziel" ab. Da hierfür der Erfüllungsgrad 0,2 ist, wird der Graph von "null" entsprechend niedrig; seine Spitze liegt nun bei h = 0,2. Von dem Graphen zum Ausgangsterm "links" ist nichts zu sehen; schließlich besitzt diese dritte Regel "WENN Position = zu weit, DANN Kraft = links" den Erfüllungsgrad 0. Damit kommt diese Regel gar nicht zum Tragen. Man sagt in diesem Fall: Die Regel zündet nicht.

 

 

 

 

Aus dem scharfen Messwert x = 1,2 und der Fuzzyvariablen "Position" haben wir mit Hilfe der Regeln eine angepasste Fuzzyvariable "Kraft" erzeugt. Dies bezeichnet man als Inferenz. Durch die Inferenz wird also jedem Messwert ein neuer Satz von Zugehörigkeitsfunktionen der Ausgangsvariablen zugeordnet.

Defuzzifizierung

Unsere Laufkatze kann mit diesen Zugehörigkeitsfunktionen natürlich nicht unmittelbar gefüttert werden. Sie benötigt vielmehr eine eindeutige Angabe über die aufzubringende Kraft. Es gilt daher nun, aus diesen unterschiedlichen Ausgangsdiagrammen jeweils einen scharfen Stellwert zu konstruieren. Da es sich gewissermaßen um die Umkehrung zur Fuzzifizierung handelt, spricht man hier von der Defuzzifizierung.

Eine solche Defuzzifizierung lässt sich mit Hilfe der Schwerpunktskoordinate des Ausgangsdiagramms erreichen. Anschaulich ist sie folgendermaßen zu verstehen: Wir sägen aus einer Holzplatte einzelne Stücke heraus, welche die Umrisse der Graphen unseres Diagramms besitzen. Anschließend werden sie entsprechend ihrer Lage im Diagramm auf eine Leiste montiert (Abb. 7). Das Gewicht dieser Leiste soll dabei so gering sein, dass es gegenüber dem Gewicht der Holzplattenstücke vernachlässigt werden kann.

Legt man nun diese Anordnung wie in Abb. 7 auf einen Stab, so kippt sie nach links, wenn ihr Schwerpunkt links vom Stab liegt, und genauso nach rechts, wenn ihr Schwerpunkt sich rechts vom Stab befindet. Nur wenn der Schwerpunkt genau über dem Stab liegt, bleibt unsere Holzkonstruktion im Gleichgewicht. Der Stab markiert dann die Schwerpunkts-koordinate auf der horizontalen Achse.

Zur Berechnung der Schwerpunktskoordinate benötigt man Kenntnisse über den Schwerpunkt bei Dreiecken und Rechtecken, Strahlensätze sowie den gewichteten Mittelwert.

Damit ist die Einführung in die Grundlagen der Fuzzyregelung für den Fall einer einzigen Eingangsvariable abgeschlossen. Der Test mit dem Simulator des Programms Fuzzy zeigt, dass eine solche Regelung bereits funktioniert. Wesentlich bessere Resultate erzielt man allerdings, wenn zwei oder mehrere Eingangsvariablen (bei der Laufkatze z.B. die Position und der Auslenkwinkel) benutzt werden. An dieser Stelle kann leider nicht darauf eingegangen werden, wie die Inferenz in solchen Fällen durchzuführen ist.


 


 

3. Tag

Experimente zur Fuzzyregelung

Für eigene Experimente benutzen wir die Demo-Version des Programms Fuzzy. Laden Sie zunächst diese Demo-Version. Entpacken Sie die ZIP-Datei in ein Verzeichnis Ihrer Wahl; dieses Verzeichnis nennen wir im Folgenden das Fuzzy-Verzeichnis.

Unsere Experimente konzentrieren sich auf die Regelung einer Laufkatze, wie wir sie schon in der 2. Lektion kennen gelernt haben. Zunächst versuchen wir eine Handsteuerung; dadurch können wir ein Gefühl für das Regelungsproblem entwickeln - wir machen uns zu "Laufkatzen-Experten".

Wählen Sie dazu Simulation - Laufkatze - Handregelung. In dem Simulationsfenster betätigen Sie den Start-Knopf; nun können Sie über den Kraft-Balken mit der Maus die gewünschte Motor-Kraft einstellen. (Da es sich um ein Kran-Modell handeln soll, sind die Krtäfte entsprechend klein.) Wenn Sie hinreichend geübt haben; schließen Sie das Fenster wieder.

Öffnen Sie nun die Datei laufkat0.fuz. In diesem Projekt sind die Regeln und Fuzzyvariablen abgespeichert, so wie sie in der 2. Lektion behandelt wurden. Wählen Sie Simulation - Laufkatze - Fuzzyregelung und betätigen Sie den Start-Knopf. Vielleicht werden Sie über die Leistung der Fuzzy-Regelung etwas enttäuscht sein - bedenken Sie aber, dass diese Fuzzyregelung nur 3 einfache Regeln kennt!

Laden Sie nun die Datei laufkat2.fuz. Dieses Projekt berücksichtigt auch den Winkel zwischen Seil und der Vertikalen. Die Fuzzyvariablen und die Regeln können Sie sich mit Fuzzyvariable - editieren - Eingang A (bzw. Eingang B bzw. Ausgang) und Regeln - editieren anzeigen lassen. Natürlich können Sie hier auch Änderungen vornehmen. Vorher sollten Sie aber dieses Projekt in der Simulation testen. Betätigen Sie also wieder Simulation - Laufkatze - Fuzzyregelung und drücken Sie den Start-Knopf. Jetzt ist die Laufkatze schon wesentlich schneller am Ziel.

Versuchen Sie einmal das Projekt noch schneller zu machen. Ändern Sie dazu eine oder mehrere Regeln ab.

 

Wenn Sie möchten, können Sie sich auch einmal die Simulation eines invertierten Pendels anschauen: Hier ist eine lange Stange mit ihrem unteren Ende auf einem Wagen gelagert; der Wagen muss nun so bewegt werden, dass die Stange balanciert wird. Versuchen Sie es zunächst mit der Handregelung (Simulation - invertiertes Pendel - Handregelung); mit etwas Übung sollten Sie es schaffen das Pendel zu balancieren, wenn Sie die zeitlupenfunktion aktivieren (ansonsten haben Sie kaum eine Chance). Wie leistungsfähig die Fuzzyregelung hier sit, können sie mithilfe des Projekts pendel.fuz überprüfen. Die Fuzzyregelung kommt auch mit großen Startauslenkungen (z.B. 30°) zurecht (einstellen über Optionen - Parameter).

 

 


 

4. Tag

Fuzzy-Diplom

So - jetzt können Sie Ihre frisch erworbenen Kenntnisse testen. Als Belohnung winkt eine Fuzzy-geregelte Mondlandung.

Ja, ich möchte mein Fuzzy-Diplom ablegen.

 

 


 

Wollen Sie mehr zur Fuzzyregelung erfahren? Wollen Sie selbst Fuzzyregelungen für eine Mondlandefähre oder weitere Versuche konzipieren und in einer Simulation austesten? Dann sollten Sie sich mein Buch

Heinrichs, G.: Regeln mit Fuzzy, Klett, Stuttgart anschauen. Hier finden Sie ein Download.

Neben den oben schon genannten Anwendungen werden u. a. ausführlich die Inferenz bei zwei Eingangsgrößen sowie Genetische Algorithmen behandelt. Auf der beiliegende CD befinden sich nicht nur die Vollversion von Fuzzy, sondern auch Delphi-Units, mit deren Hilfe Sie eigene Fuzzy-Anwendungen schreiben können.

Zahlreiche Aufgaben helfen bei der Vertiefung des Gelernten und regen zu eigenen Untersuchungen an.

 


15.12.06

Zum Anfang der SeiteZurück zur Homepage