Lade Inhalt...

Fuzzylogic - Demonstration praktischer Beispiele am PC

Seminararbeit 2000 10 Seiten

Informatik - Angewandte Informatik

Leseprobe

1 Einleitung

Es soll vorweggenommen werden, dass diese Hausarbeit vielleicht etwas anders aussieht, als der Leser es sich eventuell anhand des Titels vorstellt.

Grundgedanke des Autors war, Endanwender-Anwendungen zu finden, die vom ,,normalen" PC-Benutzer am PC genutzt werden. Also nicht von Systementwicklern, nicht im professionellen Datenbank-Bereich etc. Eine solche Software konnte aber im Rahmen des Seminars nicht gefunden werden; es gibt zwar Software, die mit dem Wort ,,Fuzzy" wirbt (zum Beispiel den später noch vorgestellten E-Media-Navigator, der die c't-CD-ROMs durchsucht), gerade aber im Bereich Wortähnlichkeiten sind Zweifel angebracht, ob die verwendete Technologie tatsächlich ,,Fuzzylogic" im Sinne der in der im Seminar Fuzzylogic kennengelernten mathematischen Definition ist. Dem Autor bekannte Alternativ- Technologien werden kurz angerissen werden, um darzustellen, dass nicht alles, was ,,weich" ist, unbedingt ,,Fuzzylogic" sein muss.

Aufgrund dieses Mangels an demonstrierbarer Endanwender-Software gibt die Hausarbeit einen Überblick über den weiter gefassten Bereich der tatsächlichen Anwendungen und Anwendbarkeit von Fuzzylogic: Dabei wurde der Bereich Embedded-Systems, professionelle Datenbank-Anwendungen, Anwendungen im wissenschaftlichen Bereich und EntwicklerSoftware untersucht, die Code für Embedded-Systems erzeugt.

2 Einsatzgebiete von Fuzzylogic

2.1 Embedded-Systems

Haupteinsatzgebiet für Fuzzylogic dürften nach wie Embedded-Systems sein, also Reglungen und Schaltungen, die in Hardware stecken und die für den Anwender transparent zu bedienen sind, das heißt der Endanwender sieht einen Hebel (beispielsweise beim Automatikgetriebe) oder einen Knopf (zum Beispiel auf der Waschmaschine), der bestimmte (meist Automatik- )Funktionen ausführt. Der Nutzer hat somit keinen direkten Kontakt mit dem Thema ,,Fuzzy", sondern freut sich darüber, wie die Hardware ihm (vielleicht eleganter und komfortabler als früher) Arbeit abnimmt.

Beim Aufkommen von Fuzzylogic in der Unterhaltungselektronik und bei weißer Ware (Haushaltsgeräte) in den 80er Jahren konnte man auf vielen Geräten einen großen Fuzzylogic- Aufkleber finden. Dem Autor in Erinnerung geblieben sind zum Beispiel ein Videorekorder, der die Spurlage der Videoköpfe (damit die Schärfe und Qualität des Bildes) einstellte und ein Fotoapparat, welcher die Belichtung mit Fuzzylogic regelte. Es gab dort die Auswahlmöglichkeit zwischen ,,manuell" und ,,Fuzzylogic"; man beachte, dass der Begriff ,,Auto(matik)" zugunsten des schickeren Fuzzylogic verbannt wurde.

Sucht man heute, beispielweise im Online-Angebot des Neckermannversandes1, nach dem Begriff Fuzzy, erhält man etwa 40 Treffer, darunter eine (veraltete) Videokamera, einen Fotoapparat, in der Mehrzahl aber Waschmaschinen und Spülmaschinen:

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Ergebnis der Suche nach ,,fuzzy" beiwww.neckermann.de

Gemäß der Beschreibung implementieren die Waschmaschinen mit Fuzzylogic eine

Automatik, die die eingelegte Menge Wäsche und deren Verschmutzungsgrad erkennt und damit Wassermenge, Energiemenge und Menge des benötigen Waschmittels optimal (das heißt: minimal) regelt. Die zugehörige Matrix könnte etwa so aussehen:

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2: Wassermenge einer Spülmaschine (hypothetisch)

Einsatzgebiete, die sich anbieten, sind unter anderem Automatikgetriebe in Autos (mit ,,harten" Ausgängen; vier bis fünf Gänge), Tempomaten (mit ,,weichen" Ausgängen; beliebige Stellung des Gaspedals), Gebäudeleittechnik (Temperaturregelung, Jalousien, Klimaanlagen) etc.

Es hat sich als schwierig herausgestellt, konkrete aktuelle Anwendungen in diesen Bereichen zu entdecken. Das lässt vermuten, dass Fuzzylogic nicht mehr der Modebegriff ist, der er noch in den 80er Jahren war. Vielmehr dürfte sich Fuzzy ganz selbstverständlich in vielen Embedded-Systems befinden, ohne dass damit geworben wird oder diese Technologien in Datenblättern oder im Internet extra erwähnt wird.

Auf den Webseiten von Siemens erhält man zum Thema ,,fuzzy" etwa 750 Treffer, alle im Bereich Regelungs- und Steuerungstechnik. Dies stärkt die Vermutung, dass Fuzzylogic ,,hinter den Kulissen" seinen Einsatzbereich findet. Von Siemens stammt auch die Software, die im Abschnitt 3 ausführlicher vorgestellt wird.

2.2 Akademischer Einsatz

Die zweithöchste Trefferanzahl bei einer Recherche mit den bekannten Suchmaschinen erzielen Verweise auf Fuzzylogic in der Wissenschaft. Die Uni Magdeburg unterhält zum Beispiel einen eigenen Lehrstuhl ,,Neuronal Networks und Fuzzy Systems"2. Hier findet sich allerdings ausschließlich Software zur Entwicklung von Fuzzy-Anwendungen, weshalb hier auf eine nähere Beschreibung verzichtet wird.

Die Universität arbeitet vor allem im Bereich Embedded-Systems zum Beispiel mit Autoherstellern zusammen, und für solche Einsätze sind die angebotenen Entwicklungsumgebungen gedacht.

2.3 Einsatz in Datenbanken

Für große Datenbank-Systeme gibt es Add-ons, die mit dem Schlagwort ,,Fuzzy" werben, beispielsweise von der MIT GmbH3. Der Einsatz von Fuzzylogic ist hier vor allem im Bereich Data Mining sinnvoll. Ein Einsatzbeispiel ist die Selektion von Adressen aus einer riesigen Adressdatenbank für ein Mailing. Wenn beispielsweise ein Luxusartikel für Kinder beworben werden soll, könnte die Anforderung des Marketing sein: ,,Alle jungen Männer, die viel Geld verdienen und Kinder haben." Eine scharfe Suche (Geschlecht=männlich, Alter >20 und <40, Kinder >=1, Gehalt > 80.000) hätte nun zur Folge, dass die Rechtsanwältin, die ihr einziges Kind alleine erzieht und sehr viel Geld hat (somit auch zur Zielgruppe für Luxusspielzeug gehört) aus dem Raster herausfällt, ebenso der reiche Über-40-jährige. Mit in das Mailing kommt aber der Familienvater mit 5 Kindern, der gerade 80.000 DM verdient (und vermutlich dann eher nicht ein teures Spielzeug kauft). Hat man darüber hinaus auch noch Vergleichsdaten derjenigen, die ein solches Spielzeug bereits gekauft haben, lassen sich mit Data Mining (und dem zugrundeliegenden Fuzzy-Modell) über sogenannte ,,Score- Werte" diejenigen Adressen herausfinden, bei denen die Wahrscheinlichkeit für erfolgreiche Werbemaßnahmen am größten sind - ohne dass lukrative Personen aufgrund eines zu starren Rasters herausfallen.

Die zugrundeliegenden realen Modelle bei einer Adressselektion sind (der Autor konnte kurze Erfahrungen dazu im zweiten Praxissemester sammeln) allerdings weit komplexer und bedürfen einer langen Einarbeitungszeit. Die im Web verfügbare Demonstrationssoftware (etwa der Fuzzy-Online AG4) würde bereits den Rahmen dieser Arbeit sprengen, da sie auf laufenden Datenbanksystemen aufsetzt.

2.4 Wortsuche (Suchmaschinen)

Es mag verwundern, dass keine der großen Suchmaschinen wie altavista, fireball, hotbot etc. Fuzzylogic oder auch nur unscharfe Suche verwendet. Die Technologie ist immer noch darauf ausgerichtet, Seiten zu finden, in denen der eingegebene Suchbegriff auch tatsächlich vorkommt - und diese der besseren Genauigkeit nach verschiedenen Relevanzkriterien zu sortieren.

Die Metasuchmaschine schenke.net5 stellt die Ergebnisse einer normalen Suchmaschinen- Abfrage dem mit Fuzzy-Technologien bearbeiteten Ergebnis gegenüber. Einige Versuche anhand realer Beispiel ergaben jedoch kein bessere Ergebnis. So führte etwa die Suche nach ,,Günther Eisele" nur durch die ,,normalen" Suchmaschinen zu Dokumenten von und mit diesem Namen, die Fuzzy-Ergebnisse zeigten lediglich auf ,,Eisele"-Dokumente, ohne zum Beispiel Dokumente von und mit ,,Gunther" oder ,,Guenther" oder ,,Gunter" Eisele nach vorne zu sortieren. An der Suchmaschine scheint aber noch gearbeitet zu werden, zumindest theoretisch müssten sich durchaus gute Ergebnisse erzielen lassen.

Der E-Media-Navigator von der Computerzeitschrift c't wird vom Verlag Heinz Heise sowohl in einer abgewandelten Version im Web eingesetzt, liegt aber auch jeder Shareware- und Jahresinhalts-CD bei. Die Suche nach ,,Snickers" findet dann etwa Dokumente, in denen das Wort ,,Wiekers" oder ,,Clickers" vorkommt. Wie beim Vortrag von einem Kollegen bemerkt, kann dieses Verhalten natürlich unter Umständen recht lästig sein, es lässt sich aber auch abschalten.

Da der Autor im zweiten Praxissemester einige Techniken zur unscharfen Suche (nach Namen in einer großen Adressdatenbank) kennengelernt hat, die ebennichtfuzzy waren, kann aber auch bei dieser Datenbanksuche angezweifelt werden, ob die dahinterstehende Technologie tatsächlich die Fuzzylogic ist, deren Definition wir in den vorhergehenden Seminarstunden kennengelernt haben.

Eine solche Technologie komprimiert beispielsweise Namen nach bestimmten (je nach Sprache unterschiedlichen) Regeln. Im Deutschen werden beispielsweise Doppellaute durch Einzellaute ersetzt, ch durch k, Ph durch f etc. Dieses komprimierte Wort wird als zusätzliches Datenfeld in der Datenbank abspeichert. Bei einer Benutzereingabe wird eben dieser Algorithmus zur Wortkomprimierung wieder angewandt, und anschließend das Ergebnis mit dem Eintrag des neuen Datenfeldes verglichen - keine Fuzzylogic im Definitionssinne, wohl aber fuzzy für den Anwender, denn dem kommt es auf die unscharfe Suche an.

Folgerung: Wo fuzzy draufsteht muss nicht zwingend fuzzy drin sein; fuzzy könnte auch als umschreibender Begriff für ,,unscharfe Suche" verwendet werden.

3 Anwendungserstellung

Als Beispiel für einen Codegenerator für Embedded-Systems soll hier - kurz, da sich bereits Kommilitonen diesem Thema gewidmet haben - eine Software von Siemens vorgestellt werden, FuzzyControl++6. Grafisch, nur mit Grundkenntnissen der Fuzzylogic versehen, können hier Fuzzyregeln eingegeben werden, der Ablauf kann simuliert werden, die Fuzzyregeln können in einer 3D-Grafik dargestellt werden.

Im Beispiel wird eine Markisensteuerung simuliert, welche je nach Tageszeit und einfallender Sonne die Markise ein- oder ausfährt oder in Mittelstellung bringt sowie die Neigung der Markise regelt:

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3: FuzzyControl++, Grundkonfiguration

Abbildung drei zeigt die Grundkonfiguration, zwei Eingänge, zwei Ausgänge.

Die Regeln können in einer Matrix oder einer Tabelle eingegeben werden, die Definitionen für die Eingänge (Licht und Tageszeit) wurden zuvor grafisch unterstützt eingegeben:

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4: Regeln in FuzzyControl++

3D-grafisch kann man sich das Modell (jeweils entweder für die Ausgänge MarkiseoderStellung, da es vier Dimensionen gibt) nun visualieren lassen:

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 5: 3D-Darstellung des Markisen-Beispiels

Deutlich ablesbar (der Nullpunkt ist rechts unten; dort beginnt die Uhrzeit bei 6 Uhr morgens): Mittags (bei steil stehender Sonne) wird die Markise weit ausgefahren, ebenso nachmittags bei viel Licht. Morgens wird die Markise selbst bei vollem Lichteinfall maximal zur Hälfte ausgefahren. Kleine Schwäche des Modells (und auch der Visualisierung eines Ablaufes, der Kürze wegen weggelassen): Die Grafik zeigt, dass eine Markise in jede beliebige Stellung gebracht werden kann (also nicht nur eingefahren, ausgefahren, halb) - das mag theoretisch machbar sein, in der Praxis wäre ein ständig arbeitender Motor aber unsinnig, entsprechende Schwellenwerte müssen eingebaut werden. Diese werden vom Grundmodell übrigens auch vorgesehen, ,,weiche" Ausgänge (wie beim schon erwähnten Tempomaten, der das Gaspedal in jede beliebige Stellung bewegen darf) sind nicht vorgesehen.

Die Software kann nun C++-Code erzeugen, welcher in ein Steuergerät von Siemens übertragen werden kann.

4 Demo-Anwendungen für den PC

Der Lehrer Georg Heinrichs, der auf seinen Webseiten7 unter anderem ein ,,Fuzzy-Diplom" anbietet, hat einige Anwendungen programmiert, die die Arbeitsweise von Fuzzylogic verdeutlichen sollen. Die hier vorgestellten Anwendungen Mondlandung und LKW- Rangieren machen für den Anwender am PC allerdings wenig Sinn, sie dienen Demonstrationszwecken.

4.1 Mondlandung

Die Software simuliert eine Mondlandung; Eingänge sind Höhe in Metern und Geschwindigkeit, Ausgang ist die sogenannte ,,Abbrandgeschwindigkeit", also der Gegenschub, den die Triebwerke auslösen können. Man kann das Modell nun sowohl von Hand steuern als auch die Fuzzyregelung wirken lassen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 6: Anwendung ,,Mond.exe" von G. Heinrichs

Ziel des Modells ist es, das Raumschiff mit möglichst wenig Geschwindigkeit aufsetzen zu lassen (damit es nicht kaputt geht), dabei wiederum möglichst wenig Treibstoff zu verbrauchen. Interessant ist zu beobachten, wie die Fuzzyregelung wirkt. Es handelt sich ja nicht um ein lineares Modell, das - vorberechnet - einer bestimmten Geschwindigkeit und Anfangshöhe einen konstanten Schub zuordnet. Die Fuzzyregelung berechnet den notwendigen Schub vielmehr ständig neu, was sich an einem ständig sich ändernden Schub- Balken zeigt. Während der Landung eintretende Ereignisse können so mit einberechnet werden.

Mit etwas Geduld kann man übrigens auch mit der Handsteuerung eine erfolgreiche Landung schaffen, nach Erfahrungen des Autors wird allerdings entweder mehr Zeit oder mehr Treibstoff, meist beides, verbraucht.

4.2 LKW rangieren

Ebenfalls von Georg Heinrichs stammt die Simulation ,,LKW rangieren", die etwas weniger spektakulär zu Werke geht. Ein LKW soll rechts unten parallel zur Straße einparken. Gut zu sehen ist im laufenden Beispiel, dass wiederum die Fuzzylogic den Einschlag des Zugwagen ständig neu berechnet.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 7: Anwendung ,,Rangiere" von Georg Heinrichs.

Im Screenshot sieht man den LKW kurz vor dem Ziel. Er kam von links oben, machte eine Kurve nach rechts und zum Zeitpunkt des Screenshots machte er wieder einen kurzen ,,Schlenker" nach links. Wäre die gesamte Strecke vorberechnet, würde dieser letzte Schlenker nicht auftauchen. So korrigiert die Fuzzyregelung aber den am Schluss - von sich selbst - verursachten etwas zu großen Lenkeinschlag; ebenso würde es ein nicht ganz gut geübter Fahrer machen.

Sehr gut demonstriert wird an diesem Beispiel, dass die Fuzzylogic nicht vollständig ,,richtig" arbeiten muss; sie ist vielmehr in der Lage, Fremdeinflüsse oder auch selbst begangene Fehlerzur Laufzeitzu erkennen und wie im Beispiel ,,Rangiere" rechtzeitig zu korrigieren. Es leuchtet ein, dass ein im Voraus gerechnetes Modell (welches ohne unbekannte Einflüsse sicherlich auch richtig arbeiten würde), solche zur Laufzeit auftretenden Störungen nicht beseitigen könnte. Ein Vergleich zum starren Audi-Automatik-Modell sei hier angebracht. Einmal auf der falschen Fährte, kann nicht mehr korrigiert werden.

5 Fazit

Leider konnte nichtdiePC-Applikation für den Endanwender gefunden werden, die Fuzzylogic in der im Seminar gegebenen Definition einsetzt (und dies dem Autor nachvollziehbar gemacht hätte). Es sollte aber deutlich geworden sein, worin der Hauptnutzen und die Hauptanwendung der Fuzzylogic in der Praxis liegt: in den vielen Chips, die uns mehr oder weniger transparent im Haushalt, im Auto, in der Unterhaltungselektronik mit komfortablen Automatiken das Leben erleichtern, indem sie Energie sparen, den Gas- und den Kupplungsfuß entlasten, scharfe Bilder und saubere Wäsche liefern.

Dabei muss ,,fuzzy" nicht immer auch gleich ,,Fuzzylogic" sein; der Nutzen für den Anwender kann aber durchaus derselbe sein. Die schwarz/weiß- oder 0/1-Maschine gleich sich damit der ,,grauen" (oder bunten) Umwelt des Menschen an.

1 http://www.neckermann.de

2 http://fuzzy.cs.uni-magdeburg.de/

3 http://www.mitgmbh.de/

4 http://www.fuzzy-online.de/

5 http://www.schenke.net/

6 http://www.ad.siemens.de/fuzzycontrol/index_00.htm

7 http://www.g-heinrichs.de/

Details

Seiten
10
Jahr
2000
Dateigröße
599 KB
Sprache
Deutsch
Katalognummer
v97504
Institution / Hochschule
Hochschule für Technik, Wirtschaft und Gestaltung Konstanz
Note
1,7
Schlagworte
Fuzzylogic Demonstration Beispiele Lehrveranstaltung

Autor

Teilen

Zurück

Titel: Fuzzylogic - Demonstration praktischer Beispiele am PC