Teil 3 Grundlegende Techniken und Architekturen
description
Transcript of Teil 3 Grundlegende Techniken und Architekturen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 1 - Prof. Dr. Uwe Brinkschulte
Teil 3
Grundlegende Techniken und Architekturen
Aktuelle Themen bei Eingebetteten Systemen –Organic Computing
SS 2010
Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 2 - Prof. Dr. Uwe Brinkschulte
3. Grundlegende Techniken und Architekturen
3.1 Observer/Controller Architekturen
3.2 Der MAPE Zyklus
3.3 Learning Classifier Systems
3.4 Evolutionäre und Genetische Algorithmen
3.5 Organic Computing und Middleware
3.6 Multi-Agenten-Systeme und Auktionen
3.7 Künstliche Hormonsysteme
3.8 Verteilung abhängiger Aufgaben
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 3 - Prof. Dr. Uwe Brinkschulte
Angestrebte EigenschaftenRobustheitFlexibilitätAnpassungsfähigkeitMeistern unbekannter SitatutionenLernfähigkeitVorhersage künftigen Verhaltens
Wie festgestellt müssen selbstorganisierende Systeme beobachtet und kontrolliert werden, um das gewünschte Verhalten zu erreichen
3. Grundlegende Techniken und Architekturen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 4 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Entwickelt am KIT (H. Schmeck) und der Universität Hannover (C. Müller-Schloer)
System unter Beobachtung und Kontrolle(System under Observation and Control - SuOC)
SuOC
Eingabe AusgabeZustand
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 5 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Das System unter Beobachtung und Kontrolleist ein beliebig komplexes Systemkann unabhängig von externer Beobachtung und Kontrolle arbeitenkann alle Eigenschaften eines komplexen Systems haben
Eingabe: alle Informationen, auf die das System reagiert, die es aber nicht kontrolliere kann
Ausgabe: alle Informationen, die das System erzeugt und die von aussen sichtbar sind
Zustand: alle Informationen, die das Gedächtnis des Systems bilden, Teile des Zustandes können als Ausgabe von aussen sichtbar sein
Ausgabe
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 6 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Beispiel:
Roboterschwarm zur Erforschung eines GeländesKomplexes System aus einer Vielzahl von RoboternJeder Roboter folgt lokalen RegelnRoboter interagieren
Eingabe: Sensorinformationen der Robotor (z.B. über Temperatur, Druck, Strahlung an der jeweiligen Roboter-Position)
Ausgabe: geeignete Position eines Stützpunktes
Zustand: Position der jeweiligen Roboter, Bewegungsmuster, bereits gesammelte Informationen, …
Ausgabe
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 7 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
SuOC
EingabeDruck, Temperatur, Strahlung
Ausgabegeeignete Stützpunkt-Koordinaten
ZustandPosition,
Bewegung, Informatione
n der Roboter
Lokale Regel, Interaktion: Fahre geradeaus, bis du auf ein Hindernis oder einen anderen
Roboter triffst. Dann drehe um einen zufälligen Wert und fahre wieder
geradeaus
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 8 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Dieses System• ist dezentral• ist selbstorganisierend• besitzt Selbst-X Eigenschaften (zumindest Selbst- Konfiguration und Selbst-Heilung, da ein begrenzter Ausfall von Robotern durch andere kompensiert werden kann)• kann emergente Effekte zeigen
Zur gleichmäßigen Erforschung ist möglichst eine Gleichverteilung der Roboter erwünscht Eine Bündelung an einem Ort reduziert die Performanz => negative Emergenz
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 9 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Günstige (erwünschte) Roboterverteilung
n
i
ii ppH1
2 )(log
Entropie:
17.3))9/1(log9/19( 2 H
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 10 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Ungünstige (unerwünschte) Roboterverteilung
n
i
ii ppH1
2 )(log
Entropie:
)9/3(log9/3( 2H
)9/4(log9/4 2
53.1))9/2(log9/2 2
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 11 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Wie bereits in Kapitel 2 gesehen kann die Zunahme der (hier unerwünschten) Emergenz durch Abnahme der Entropie erkannt werden:
Hmax = log2(n) = log2(16) = 4
Mgünstig = Hmax - Hgünstig = 4 – 3.17 = 0.83
Mungünstig = Hmax – Hungünstig = 4 – 1.53 = 2.47
=> Einführung eines Beobachters
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 12 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
SuOC
Eingabe AusgabeZustand
Observer Ergebnis
Der Beobachter (Observer)• erhält alle Informationen über das SuOC (Eingabe, Ausgabe, Zustand)• identifiziert und charakterisiert das gegenwärtige Verhalten• schätzt künftiges Verhalten ab
Beobachtung
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 13 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
SuOC
EingabeDruck, Temperatur, Strahlung
Ausgabegeeignete Stützpunkt-Koordinaten
ZustandPosition,
Bewegung, …
Observer Ergebnis M = 0.83
Beobachtung Roboterposition
Im Beispiel
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 14 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
SuOC
EingabeDruck, Temperatur, Strahlung
Ausgabegeeignete Stützpunkt-Koordinaten
ZustandPosition,
Bewegung, …
Observer Ergebnis M = 2.47
Beobachtung Roboterposition
Im Beispiel
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 15 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Auf Basis der vom Beobachter gelieferten Ergebnisse kann in das SuOC eingegriffen werden
In unserem Beispiel: steigt die Emergenz M über einen Schwellwert, werden die Regeln im SuOC geändert, etwa: triffst du auf einen anderen Roboter, drehe um 180°
Auch eine zentrale Instanz, welche bestimmten Robotern Fahranweisungen gibt, um einer drohenden Bündelung entgegenzuwirken, ist möglich
=> Einführung eines Controllers
t
M
Schwellwert
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 16 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
SuOC
Eingabe AusgabeZustand
Observer
Ergebnis
Der Controller• beeinflusst und konfiguriert das SuOC gemäß der gewünschten Ziele• unterdrückt unerwünschtes Verhalten so schnell und effizient wie möglich
Beobachtung
Controller
Kontrolle
Ziele
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 17 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
SuOC
EingabeDruck, Temperatur, Strahlung
Ausgabegeeignete Stützpunkt-Koordinaten
ZustandPosition,
Bewegung, …
Observer
Ergebnis M = 0.83
Beobachtung Roboterposition
Im Beispiel
Controller
Kontrollealles ok
Ziele
schnelleErforschung
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 18 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
SuOC
EingabeDruck, Temperatur, Strahlung
Ausgabegeeignete Stützpunkt-Koordinaten
ZustandPosition,
Bewegung, …
Observer
Ergebnis M = 2.47
Beobachtung Roboterposition
Im Beispiel
Controller
KontrolleRegeländerung
Ziele
schnelleErforschung
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 19 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
SuOC
EingabeDruck, Temperatur, Strahlung
Ausgabegeeignete Stützpunkt-Koordinaten
ZustandPosition,
Bewegung, …
Observer
Ergebnis M = 0.83
Beobachtung Roboterposition
Im Beispiel
Controller
Kontrollealles wieder ok
Ziele
schnelleErforschung
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 20 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
M
Schwellwert
M
Schwellwert
t
t
eigenständiges Verhalten des SuOC
Verhalten des SuOC mit Observer/Controller
Observer beobachtet
Controller greift ein
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 21 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
SuOC
Eingabe AusgabeZustand
Observer
Ergebnis
Selbstorganisierendes System mit Observer/Controller Architektur
Beobachtung
Controller
Kontrolle
Ziele
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 22 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Einige Anmerkungen zum Zusammenspiel von Observer und Controller:
• Je nach Implementierung kann mehr Funktionalität in den Observer oder Controller gelegt werden
• Der Observer kann die beobachteten Informationen mehr oder weniger bearbeitet an den Controller geben (Aggregation)
• Der Controller kann hierbei auch Art und Grad der Aggregation steuern
• Er ändert somit das Beobachtungsmodell des Observers
• Er kann dadurch je nach gerade aktuellen Zielen die relevanten Daten auswählen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 23 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
SuOC
Eingabe AusgabeZustand
Observer
Ergebnis
Selbstorganisierendes System mit Observer/Controller Architektur
Beobachtung
Controller
Kontrolle
Ziele
Beobachtungsmodell
SuOC
Eingabe AusgabeZustand
Observer
Ergebnis
Beobachtung
Controller
Kontrolle
Beobachtungsmodell
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 24 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Das Beobachtungsmodell ist hierbei verantwortlich für:
• die Auswahl der Daten-Attribute, welche beobachtet werden (z.B. eine kleine Auswahl oder die vollständige Menge)
• die Auswahl geeigneter Analyse-Techniken und Methoden je nach den gegebenen Zielen (in unserem Beispiel: Minimierung der Emergenz bei schneller Erforschung, Maximierung der Emergenz bei genauer Untersuchung einzelner Punkte im Gelände)
• die Auswahl geeigneter Vorhersagemodelle (z.B. lineare
Vorhersage)
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 25 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Exemplarischer Aufbau eines Observers1):
1)nach Müller-Schloer/Schmeck
Monitor Log
Rohdaten
Monitor:• Beobachtet die gegenwärtige Situation• Sammelt Rohdaten gemäß dem aktuellen Beobachtungsmodell (Attribute, Abtastperiode, …)Log:• Speichert die beobachteten
Daten (z.B. für spätere Analyse, Vorhersage, …)
Rohdaten
ZeitAbtastperiode
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 26 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Exemplarischer Aufbau eines Observers:
Monitor Log
Rohdaten
Präprozessor:• Führt einige Vorbearbeitungen durch (z.B. Filter)• Berechnet neue AttributeRohdaten
ZeitAbtastperiodePräprozessor
Geglättete Daten
Abtastperiode Zeit
Filter
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 27 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Exemplarischer Aufbau eines Observers:
Monitor Log
Rohdaten
Analysator:• Wendet eine Reihe von Detektoren auf die vorverarbeiteten Daten an• Erkennt Muster in Zeit und Raum wie z.B. Cluster, statistische Werte, emergente Effekte (was immer gerade relevant ist)
Präprozessor
Analysator(Erkennung von
Mustern in Zeit und Raum, verschiedene
Emergenz-Detektoren, …)
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 28 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Exemplarischer Aufbau eines Observers:
Monitor Log
Rohdaten
Vorhersage:• Betrachtet Daten des Prä- prozessors und Analysators über ein Zeitfenster• Macht Mustervorhersagen• Dies reduziert die Reaktionszeit des Observers und erlaubt proaktive Kontrolle
Präprozessor
Analysator(Erkennung von
Mustern in Zeit und Raum, verschiedene
Emergenz-Detektoren, …)
Vorhersage
(Vorhersage von Mustern in
Zeit und Raum)
Daten
Zeit
jetzt
Vorhersage
Zeitfenster
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 29 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Exemplarischer Aufbau eines Observers:
Monitor Log
Rohdaten
Aggregator:• aggregiert die Daten des Präprozessors, Analysators und der Vorhersage• filtert und bewertet die Ergebnisse und sendet sie an den Controller
Präprozessor
Analysator(Erkennung von
Mustern in Zeit und Raum, verschiedene
Emergenz-Detektoren, …)
Vorhersage
(Vorhersage von Mustern in
Zeit und Raum)
Aggregator
Aggregierte Daten für den Controller
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 30 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Exemplarischer Aufbau eines Observers:
Monitor Log
Rohdaten
Präprozessor
Analysator(Erkennung von
Mustern in Zeit und Raum, verschiedene
Emergenz-Detektoren, …)
Vorhersage
(Vorhersage von Mustern in
Zeit und Raum)
Aggregator
Aggregierte Daten für den Controller
Beobachtungsmodell
Das vom Controller gewählte Be-obachtungsmodell beeinflusst die ein-zelnen Komponenten (z.B. Wahl von Attributen, Emergenzdetektoren, …)
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 31 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Exemplarischer Aufbau eines Controllers:
Aggr.Daten
Beob.-modell
ZieleZiele,
Systemstatus
Aktionsauswahl(Abbildung Bedingung –> Regel -> Aktion)
Aktion
Aktionsauswahl:• wählt aufgrund der empfang- enen Daten und Ziele eine Aktion aus• schnelle Reaktion in Echtzeit
Bedingungen
Regeln
Aktionen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 32 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Exemplarischer Aufbau eines Controllers:
Aggr.Daten
Beob.-modell
ZieleZiele,
Systemstatus
Aktionsauswahl(Abbildung Bedingung –> Regel -> Aktion)
Aktion
Online-Lernen:• Die Aktionen und daraus resultierenden Situationen werden evaluiert• Damit werden die Abbildungsregeln angepasst• Durch die Evaluation vergangener Aktionen wird die „Fitness“ der einzelnen Regeln dynamisch geändert, um bessere zukünftige Aktionen zu erhalten
Online-Lernen
Anpassung
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 33 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Exemplarischer Aufbau eines Controllers:
Aggr.Daten
Beob.-modell
ZieleZiele,
Systemstatus
Aktionsauswahl(Abbildung Bedingung –> Regel -> Aktion)
Aktion
Offline-Lernen:• erzeugt neue Regeln und simuliert deren Auswirkungen• Hierbei werden entweder bestehende Regeln verändert oder gänzlich neue generiert• Regeln, die sich in der Simulation als nützlich erweisen, werden in die Aktionsauswahl übernommen
Online-Lernen
Anpassung
Offline-Lernen
Simulation
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 34 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Varianten von Observer/Controller Architekturen
Zentral: ein Observer/Controller für das gesamte System. Das gesamte System ist selbstgemanaged, Teile
davon (das SuOC) können auch selbstorganisierend sein
SuOC
Observer
Controller
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 35 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Varianten von Observer/Controller Architekturen
Verteilt: ein Observer/Controller für jede Systemkomponente.
Das gesamte System ist organisierend, unkontrollierte emergente Effekte im Gesamtsystem sind möglich
SuOC
Observer
Controller
SuOC
Observer
Controller
SuOC
Observer
Controller
SuOC
Observer
Controller
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 36 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Varianten von Observer/Controller Architekturen
Hierarchisch: ein Observer/Controller für jede Systemkompo-
nente sowie für das Gesamtsystem. Kontrollierte Selbstorganisation
SuOC
Observer
Controller
SuOC
Observer
Controller
SuOC
Observer
Controller
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 37 - Prof. Dr. Uwe Brinkschulte
3.1 Observer/Controller Architekturen
Mögliche Aktionen des Controllers:
• Beeinflussung der Struktur des Systems (Hardware-Rekonfiguration, Task-Verteilung, …)
• Beeinflussung des Verhaltens von Komponenten (Software-Update, Prioritäten, Ziele, Fähigkeiten, …)
• Beeinflussung der Kommunikation zwischen Komponenten und Umgebung (Botschaften, Nachbarschaftsbeziehungen, Bandbreiten, …)
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 38 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
MAPE Zyklus (Monitor Analyze Plan Execute)
Grundbestandteil von Autonomic Computing, vorgeschlagen von IBM
Grundidee:
Eigenschaften des autonomen Nervensystems auf die Wartung und den Betrieb von Serversystemen übertragen(z.B autonome Kontrolle des Herzschlags <=> autonome Kontrolle von Serverressourcen wie z.B. Warteschlangen, Kommunikation, …)
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 39 - Prof. Dr. Uwe Brinkschulte
Übertragung der
Eigenschaften
3.2 Der MAPE Zyklus
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 40 - Prof. Dr. Uwe Brinkschulte
Autonome Systeme (Autonomic Systems) bestehen aus einer interaktiven Ansammlung von autonomen Elementen (Autonomic Elements)
Autonome Elemente sind individuelle Systeme und
• enthalten Ressourcen
• stellen Dienste für den Menschen oder andere autonome Elemente bereit
• enthalten anpassbare bzw. veränderbare Parameter
Ziel: Entlastung des Systemadministrators von der Aufgabe
des Einstellens dieser Parameter, Erreichen der höchst möglichen Systemleistung
3.2 Der MAPE Zyklus
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 41 - Prof. Dr. Uwe Brinkschulte
Autonome Elemente und damit autonome Systeme sollen selbstmanagend sein.
Avisierte Selbst-X Eigenschaften:
• Selbstkonfiguration
• Selbstoptimierung
• Selbstheilung
• Selbstschutz
3.2 Der MAPE Zyklus
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 42 - Prof. Dr. Uwe Brinkschulte
Autonome Elemente bestehen üblicherweise aus einem gemanagten Element sowie einem Autonomic Manager
3.2 Der MAPE Zyklus
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Das gemanagte Element kann sein:• eine einzelne Hardware-Ressource• eine einzelne Software-Ressource• eine Kombination aus beiden bis hin zu einer vollständigen Anwendung
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 43 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Das gemanagte Element• enthält einstellbare Parameter (ist managbar)• erlaubt eine Änderung dieser Parameter von außen mittels Aktoren (Hardware oder Software) • ermöglicht eine Beobachtung seines inneren Zustandes mittels Sensoren (Hardware oder Software)
Beispiel: Kommunikationskanal• Einstellbare Parameter: Bandbreite, Prioritäten der Botschaften, …• Änderung dieser Parameter durch Steuerbefehle• Beobachtung von Zustandsinformation: Kanalauslastung, Transportzeit der Botschaften, …
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 44 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Beispiel: Kommunikationskanal
Gemanagtes Element:Kommunikationskanal
Botschaften Botschaften
Sensoren messen:• Kanalauslastung• Transportzeit• Fehlerrate• …
Aktoren beeinflussen:• Bandbreite• Übertragungsrate• Prioritäten• …
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 45 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Autonomic Manager: automatisiert die Einstellungen der Parameter des gemanagten Systems
Wesentliche Funktionen:Monitor: beobachten des
gemanagtes SystemsAnalyze: Analyse der
beobachteten DatenPlan: Planung geeigneter
MaßnahmenExecute: Ausführung der
geplanten Maßnahmen
Knowledge: Wissen über gegenwärtige und vergangene Daten, Strategien, etc., um das System erfolgreich zu managen
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 46 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Beispiel: Kommunikationskanal
Monitor
Analyze Plan
Execute
Knowledge
Kommunikationskanal
Sensoren Aktoren
Autonomic Manager Aktuelle Parameter des Kanals:
Sender 1: Priorität hoch
Sender 2: Priorität niedrig
Übertragen
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 1
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 2
t t = 0 1 2 3 4 5 6 7 8 9 10
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 47 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Monitor:
Monitor
Analyze Plan
Execute
Knowledge
Kommunikationskanal
Sensoren Aktoren
Autonomic Manager
Übertragen
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 1
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 2
t t = 0 1 2 3 4 5 6 7 8 9 10
Sender 1: Botschaft 1, 4 Pakete1),
tSende= 3, tEmpf = 3
Botschaft 2, 4 Pakete,
tSende= 9, tEmpf = 9
Sender 2: Botschaft 1, 1 Paket1), tSende= 1, tEmpf = 4
Botschaft 2, 1 Paket, tSende= 6, tEmpf = 10
1) tSende, tEmpf bezieht sich auf das jeweils letzte Paket der Botschaft
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 48 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Analyze:
Monitor
Analyze Plan
Execute
Knowledge
Kommunikationskanal
Sensoren Aktoren
Autonomic Manager
Übertragen
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 1
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 2
t t = 0 1 2 3 4 5 6 7 8 9 10
Sender 1: Botschaft 1, 4 Pakete, tTransport = 0
Botschaft 2, 4 Pakete, tTransport = 0
Kanalauslastung: 8/11
Sender 2: Botschaft 1, 1 Paket, tTransport= 3
Botschaft 2, 1 Paket, tTransport= 4
Kanalauslastung: 2/11
Kanalauslastung: 10/11
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 49 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Plan:
Monitor
Analyze Plan
Execute
Knowledge
Kommunikationskanal
Sensoren Aktoren
Autonomic Manager
Knowledge: Kurze Botschaften mit niedriger Auslastung profitieren von höherer Priorität, ohne andere wesentlich zu stören
=> Plan: Tausch der Prioritäten
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 50 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Execute:
Monitor
Analyze Plan
Execute
Knowledge
Kommunikationskanal
Sensoren Aktoren
Autonomic Manager
Übertragen
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 1
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 2
t t = 0 1 2 3 4 5 6 7 8 9 10
Geänderte Parameter des Kanals:
Sender 1: Priorität niedrig
Sender 2: Priorität hoch
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 51 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Ergebnis:
Monitor
Analyze Plan
Execute
Knowledge
Kommunikationskanal
Sensoren Aktoren
Autonomic Manager
Übertragen
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 1
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 2
t t = 0 1 2 3 4 5 6 7 8 9 10
Sender 1: Botschaft 1, 4 Pakete1),
tSende= 3, tEmpf = 4
Botschaft 2, 4 Pakete,
tSende= 9, tEmpf = 10
Sender 2: Botschaft 1, 1 Paket1), tSende= 1, tEmpf = 1
Botschaft 2, 1 Paket, tSende= 6, tEmpf = 6
1) tSende, tEmpf bezieht sich auf das jeweils letzte Paket der Botschaft
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 52 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Ergebnis:
Monitor
Analyze Plan
Execute
Knowledge
Kommunikationskanal
Sensoren Aktoren
Autonomic Manager
Übertragen
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 1
t t = 0 1 2 3 4 5 6 7 8 9 10
Botschaften Sender 2
t t = 0 1 2 3 4 5 6 7 8 9 10
Sender 1: Botschaft 1, 4 Pakete, tTransport = 1
Botschaft 2, 4 Pakete, tTransport = 1
Kanalauslastung: 8/11
Sender 2: Botschaft 1, 1 Paket, tTransport= 0
Botschaft 2, 1 Paket, tTransport= 0
Kanalauslastung: 2/11
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 53 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Autonome Elemente gibt es auf allen Ebenen einer Systems:
Untere Ebene: Kommunikationskanäle, Plattenlaufwerke,
Drucker, …Mittlere Ebene: Notebooks, PCs, WorkstationsObere Ebene: Das komplette automatisierte Unternehmen
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Geräte
Rechner
Anwendung
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 54 - Prof. Dr. Uwe Brinkschulte
3.2 Der MAPE Zyklus
Observer/Controller vs. MAPE
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
SuOC
Eingabe AusgabeZustand
Observer
Ergebnis
Beobachtung
Controller
Kontrolle
Beobachtungsmodell
• spezifiziert Komponenten
• Selbstorganisation und Selbstmanagement
• Variable Objektiven werden von einer höheren Instanz definiert
• On- und Offline Lernen
• Verstreutes Wissen
• spezifiziert eine Abfolge
• Selbstmanagement
• Objektiven sind i.A. fest vorgegeben (Performanz, …)
• Online Lernen
• Zentrales Wissen
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 55 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Lernen ist ein wesentlicher Bestandteil in Organic Computing• Anpassung an sich ändernde Umgebungen• Anpassung an interne Änderungen (z.B. Fehler, Defekte)• Verbesserung der eigenen Leistungsfähigkeit
Observer/Controller benötigtein lernendes Auswahlverfahren,um Aktionen auswählen zu können
Im MAPE-Zyklus benötigt der Planerein lernendes Auswahlverfahren fürdie Execute Phase
Ziele, Systemstatus
Aktionsauswahl(Abbildung Bedingung –>
Regel -> Aktion)
Aktion
Online-Lernen Anpassung
Offline-Lernen Simulation
Monitor
Analyze Plan
Execute
Knowledge
Gemanagtes Element
Sensoren Aktoren
Autonomic Manager
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 56 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Ein Beispiel für ein lernendes Auswahlverfahren sindLearning Classifier Systems (LCS)
Eingeführt von John Henry Holland 1976
LCS bestehen aus• einer Menge von Regeln (Classifier)• einer erwarteten Belohnung für die jeweiligen Regeln
gemäß der wirklichen Belohnung wird die erwartete Belohnung nach der Anwendung von Regeln aktualisiert => Lernen, welche Regeln in welcher Situation geeignet sind
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 57 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Grundlegender Ablauf:
Regelmenge
(Rule Set)
Treffermenge
(Match Set)
Aktionsmenge
(Action Set)
Sensor
Umgebung
Aktor
1. Bedingung
2. Auswahl passender Regeln
3. Auswahl der besten Aktion
4. Aktion5. Belohnung
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 58 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Einfachste Form von LCS: Stärke-basierte Belohnung
Es wird diejenige Aktion ausgewählt, welche die höchste Belohnung verspricht
Aufbau einer Regel (Classifier):
Bedingung Aktion Erwartete Belohnung
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 59 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Beispiel:
Bedingung Aktion Erwartete BelohnungTemperatur<30° Keine 20<30° Kühlung 10<30° Heizung 3030° - 50° Keine 3030° - 50° Kühlung 1030° - 50° Heizung 10>50° Keine 20>50° Kühlung 30>50° Heizung 10
Rule Set
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 60 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Beispiel:
Bedingung Aktion Erwartete BelohnungTemperatur<30° Keine 20<30° Kühlung 10<30° Heizung 3030° - 50° Keine 3030° - 50° Kühlung 1030° - 50° Heizung 10>50° Keine 20>50° Kühlung 30>50° Heizung 10
Gemessene Bedingung: Temperatur = 20°
Match Set
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 61 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Beispiel:
Bedingung Aktion Erwartete BelohnungTemperatur<30° Keine 20<30° Kühlung 10<30° Heizung 3030° - 50° Keine 3030° - 50° Kühlung 1030° - 50° Heizung 10>50° Keine 20>50° Kühlung 30>50° Heizung 10
Action Set
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 62 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Beispiel:
Bedingung Aktion Erwartete BelohnungTemperatur<30° Keine 20<30° Kühlung 10<30° Heizung 4030° - 50° Keine 3030° - 50° Kühlung 1030° - 50° Heizung 10>50° Keine 20>50° Kühlung 30>50° Heizung 10
Aktualisiertes Rule Set
Temperaturanstieg gemessen, Belohnung 40
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 63 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Als Bedingungen werden oft auch binäre Ausdrücke verwendet:1: logische 1 trifft zu0: logische 0 trifft zu#: logische 1 und 0 trifft zu
Beispiel:
Bedingung Aktion Erwartete Belohnung
#######1 001 20
011##10# 010 23
##110#00 010 17
#1110100 011 11
1000#### 100 24
gemessen: 01110100
Match Set
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 64 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Etwas präziser Definition des Ablaufs: Rule Set: R
enthält Regeln (Classifier): class
Regeln bestehen aus:
Bedingung (Condition): c
Aktion (Action): a
Erwarteter Belohnung (Expected Reward): er
Gemessene Bedingung (Messured Condition): mc
Ausgewählte Aktion (Selected Action): sa
Erhaltene Belohnung: (Reward): r
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 65 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
• Erstellung des Match Set M:
Auswahl aller Regeln class R, für die gilt mc c
• Erstellung des Action Set A:
Auswahl der Aktion a mit der höchsten gemittelten erwarteten Belohnung aus dem Match Set M :
a
erp a
a
)(max aa psa
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 66 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Erstellung des Match Set
c a er
#######1 001 20
011##10# 010 23
##110#00 010 17
#1110100 011 11
1000#### 100 24
R
M
01110100 011##10#
01110100 ##110#00
01110100 #1110100mc : 01110100
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 67 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Erstellung des Action Set
R
M
a = 010: pa = (23 + 17) / 2 = 20
a = 011: pa = 11 / 1 = 11
=> max(20 , 11) = 20 => sa = maxa = 010
c a er
#######1 001 20
011##10# 010 23
##110#00 010 17
#1110100 011 11
1000#### 100 24
A
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 68 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
• Aktualisierung der Belohnung er:
Für alle Mitglieder des Action Set class A wird die neue Belohnung er wie folgt zugewiesen:
0 1 gibt hierbei die Lernrate an
Je größer desto größer der Einfluss der wirklichen Belohnung auf die erwartete Belohnung
)(: errerer
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 69 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Aktualisierung der Belohnung
R
M
c a er
#######1 001 20
011##10# 010 23
##110#00 010 17
#1110100 011 11
1000#### 100 24
A
011##10#: er := 23 + 0.5(20 - 23) = 21.5
011##10#: er := 17 + 0.5(20 - 17) = 18.5
mit = 0.5 und r = 20 (z.B. gemessene Emergenz)
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 70 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Aktualisierung der Belohnung
R
M
c a er
#######1 001 20
011##10# 010 21.5
##110#00 010 18.5
#1110100 011 11
1000#### 100 24
A
011##10#: er := 23 + 0.5(20 - 23) = 21.5
##110#00: er := 17 + 0.5(20 - 17) = 18.5
mit = 0.5 und r = 20 (z.B. gemessene Emergenz)
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 71 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Erweitere Form von LCS: Genauigkeits-basierte Belohnung
=> eXtended Classifier Systems (XCS)
Die Belohnung wird mit der Genauigkeit der Vorhersage , also dem Unterschied zwischen vorhergesagter und wirklicher Belohnung, gewichtet
Je höher die Genauigkeit, desto größer das Gewicht der Regel
Aufbau einer erweiteren Regel (Extended Classifier):
Bedingung Aktion Erwartete Fehler Fitness Erfahrung Genauigkeit
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 72 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Fehler : gibt die Abweichung von vorhergesagter und wirklicher Belohnung an
= |er - r|
Fitness f : gibt die Fitness der Regel an, wird aus abgeleitet (siehe später)
Erfahrung e: gibt an, wie oft eine Regel im Action Set enthalten war (wird zur Erzeugung neuer Regeln benutzt, siehe später)
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 73 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
• Erstellung des Match Set M:
Wie bisher: Auswahl aller Regeln class R, für die gilt mc c
• Erstellung des Action Set A:
Auswahl der Aktion a mit der höchsten gemittelten erwarteten Belohnung gewichtet mit der Fitness f aus dem Match Set M : a
erfp a
a
)(max aa psa
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 74 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
• Berechnung der absoluten Genauigkeit g: (wird zur Berechnung der Fitness benötigt)
0 : Toleranz, Schwelle ab der Fehler ignoriert werden
sonst
falls 1
0
0
/εεg
• Berechnung der relativen Genauigkeit g':
Die relative Genauigkeit setzt die absolute Genauigkeit im Verhältnis zur Genauigkeit aller Elemente des Action Set
Ax
xggg /'
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 75 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
• Aktualisierung der Fitness f:
Die Fitness basiert auf der Entwicklung der relativen Genauigkeit der Elemente im Action Set:
• Aktualisierung der erwarteten Belohnung er :
wie bisher
)'(: fgff
)(: errerer
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 76 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Erstellung des Match Set
c a er f e
#######1 001 20 5 0.4 17
011##10# 010 23 2 0.4 21
##110#00 010 17 3 0.5 28
#1110100 011 11 8 0.2 14
1000#### 100 24 9 0.3 5
R
M
01110100 011##10#
01110100 ##110#00
01110100 #1110100mc : 01110100
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 77 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Erstellung des Action Set
R
M
a = 010: pa = (0.4 * 23 + 0.5 * 17) / 2 = 8.85
a = 011: pa = 0.2 * 11 / 1 = 2.2
=> max(8.85 , 2.2) = 8.85 => sa = maxa = 010
c a er f e
#######1 001 20 5 0.4 17
011##10# 010 23 2 0.4 21
##110#00 010 17 3 0.5 28
#1110100 011 11 8 0.2 14
1000#### 100 24 9 0.3 5
A
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 78 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Bestimmung des Fehlers
R
M
c a er f e
#######1 001 20 5 0.4 17
011##10# 010 23 2 0.4 21
##110#00 010 17 3 0.5 28
#1110100 011 11 8 0.2 14
1000#### 100 24 9 0.3 5
A
011##10#: = |23 - 21| = 2
##110#00: = |17 - 21| = 4
mit r = 21
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 79 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Bestimmung des Fehlers
R
M
c a er f e
#######1 001 20 5 0.4 17
011##10# 010 23 2 0.4 21
##110#00 010 17 4 0.5 28
#1110100 011 11 8 0.2 14
1000#### 100 24 9 0.3 5
A
011##10#: = |23 - 21| = 2
##110#00: = |17 - 21| = 4
mit r = 21
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 80 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Aktualisierung der Fitness
R
M
c a er f e
#######1 001 20 5 0.4 17
011##10# 010 23 2 0.4 21
##110#00 010 17 4 0.5 28
#1110100 011 11 8 0.2 14
1000#### 100 24 9 0.3 5
A
011##10#: g = 1 / 2 g' = (1 / 2) / (1 / 2 + 1 / 4) = 0.666 f := 0.4 + 0.5(0.666 - 0.4) = 0.533
##110#00: g = 1 / 4 g' = (1 / 4) / (1 / 2 + 1 / 4) = 0.333 f := 0.5 + 0.5(0.333 - 0.5) = 0.416
mit = 0.5 und r = 21 und 0 = 1
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 81 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Aktualisierung der Fitness
R
M
c a er f e
#######1 001 20 5 0.4 17
011##10# 010 23 2 0.533 21
##110#00 010 17 4 0.416 28
#1110100 011 11 8 0.2 14
1000#### 100 24 9 0.3 5
A
011##10#: g = 1 / 2 g' = (1 / 2) / (1 / 2 + 1 / 4) = 0.666 f := 0.4 + 0.5(0.666 - 0.4) = 0.533
##110#00: g = 1 / 4 g' = (1 / 4) / (1 / 2 + 1 / 4) = 0.333 f := 0.5 + 0.5(0.333 - 0.5) = 0.416
mit = 0.5 und r = 21 und 0 = 1
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 82 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Aktualisierung der Belohnung
R
M
c a er f e
#######1 001 20 5 0.4 17
011##10# 010 23 2 0.533 21
##110#00 010 17 4 0.416 28
#1110100 011 11 8 0.2 14
1000#### 100 24 9 0.3 5
A
011##10#: er := 23 + 0.5(21 - 23) = 22
##110#00: er := 17 + 0.5(21 - 17) = 19
mit = 0.5 und r = 21
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 83 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Aktualisierung der Belohnung
R
M
c a er f e
#######1 001 20 5 0.4 17
011##10# 010 22 2 0.533 21
##110#00 010 19 4 0.416 28
#1110100 011 11 8 0.2 14
1000#### 100 24 9 0.3 5
A
011##10#: er := 23 + 0.5(21 - 23) = 22
##110#00: er := 17 + 0.5(21 - 17) = 19
mit = 0.5 und r = 21
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 84 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Im Beispiel: Aktualisierung der Erfahrung
R
M
c a er f e
#######1 001 20 5 0.4 17
011##10# 010 22 2 0.533 22
##110#00 010 19 4 0.416 29
#1110100 011 11 8 0.2 14
1000#### 100 24 9 0.3 5
A
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 85 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Anmerkungen:• Die Fitness wird nur lokal im Action Set verwendet, um präzisere Regeln (mit weniger Belohnungs-Fehlvorhersagen) zu bevorzugen• Sie muss daher nur lokal im Action Set vergleichbar sein• Viele Regeln im Aktion Set führen zu kleineren Fitness-Werten (Relative Genauigkeit dividiert die absolute Genauigkeit durch die Summe aller absoluten Genauigkeiten im Action Set)• Viele Regeln im Aktion Set führen aber auch zu viel Belohnung (jede Regel im Aktion Set erhält eine Belohnung)• Dies bildet eine Art "natürlichen Ausgleich" zwischen zu viel und zu wenig Regeln mit der selben Aktion
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 86 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Anmerkungen:• Die angegebenen Formeln zur Berechnung von neuer erwarteter Belohnung, Fitness, etc. können auch in veränderter bzw. erweiteter Form angewendet werden.
Beispiel: Aktualisierung der erwarteten Belohnung
bisher:
erweitert:
mit avga(er): Mittelwert der erwarteten Belohnung im Action Set, 0 1 : Gewicht früherer Belohnungen
)(: errerer
))((: ereravgrerer a
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 87 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Beispiel: Berechnung der absoluten Genauigkeit
bisher:
erweitert:
mit 0 1 und v > 0 : bestimmen den Grad der Genauigkeitsabnahme, falls ≥ 0 ist
sonst )(
falls 1
0
0
v/εεg
sonst
falls 1
0
0
/εεg
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 88 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Bisher gehen wir von einem festen Rule Set aus, das Lernen betrifft lediglich die Parameter der Regeln
Noch offene Fragen: wie entstehen die Regeln, wie kommen neue hinzu und wie werden bestehende Regeln entfernt ?
• Basis Rule Set: Von Hand mit "vernünftigen" initialen Werten (Erfahrung des Entwicklers)
• Einfaches Entfernen schlechter Regeln: Auswertung der Erfahrung e im Rule Set. Nach einiger Zeit werden Regeln mit e < e0 entfernt
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 89 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
• Covering: trifft keine Regel auf eine gemessene Bedingung zu, so wird eine neue Regel erzeugt, deren Bedingung bis auf eine zufällige Zahl von # Stellen der gemessenen Bedingung entspricht. Die zugehörige Aktion wird zufällig gewählt
• Extension: neue Regel wird aus alter Regel durch zufällige Erweiterung der Bedingung (mehr # Stellen) erzeugt
• Genetische Algorithmen: die umfassendste und vollständigste Art, neue Regeln zu gewinnen. Das Rule Set wird evolutionär nach den Prinzipien der Genetik weiter entwickelt
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 90 - Prof. Dr. Uwe Brinkschulte
3.3 Learning Classifier Systems
Vollständiges Bild:
Regelmenge
(Rule Set)
Treffermenge
(Match Set)
Aktionsmenge
(Action Set)
Sensor
Umgebung
Aktor
1. Bedingung
2. Auswahl passender Regeln
3. Auswahl der besten Aktion
4. Aktion5. Belohnung
Genetik
Änderung