Teil 3 Grundlegende Techniken und Architekturen

90
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 1 - Prof. Dr. Uwe Brinkschulte Teil 3 Grundlegende Techniken und Architekturen ktuelle Themen bei Eingebetteten Systemen – Organic Computing SS 2010 Prof. Dr. Uwe Brinkschulte

description

Aktuelle Themen bei Eingebetteten Systemen – Organic Computing SS 2010 Prof. Dr. Uwe Brinkschulte. Teil 3 Grundlegende Techniken und Architekturen. 3. Grundlegende Techniken und Architekturen. 3.1 Observer/Controller Architekturen 3.2 Der MAPE Zyklus - PowerPoint PPT Presentation

Transcript of Teil 3 Grundlegende Techniken und Architekturen

Page 1: 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

Page 2: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 3: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 4: Teil 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

Page 5: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 6: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 7: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 8: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 9: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 10: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 11: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 12: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 13: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 14: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 15: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 16: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 17: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 18: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 19: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 20: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 21: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 22: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 23: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 24: Teil 3 Grundlegende Techniken  und Architekturen

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)

Page 25: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 26: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 27: Teil 3 Grundlegende Techniken  und Architekturen

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, …)

Page 28: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 29: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 30: Teil 3 Grundlegende Techniken  und Architekturen

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, …)

Page 31: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 32: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 33: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 34: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 35: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 36: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 37: Teil 3 Grundlegende Techniken  und Architekturen

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, …)

Page 38: Teil 3 Grundlegende Techniken  und Architekturen

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, …)

Page 39: Teil 3 Grundlegende Techniken  und Architekturen

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3a, Folie 39 - Prof. Dr. Uwe Brinkschulte

Übertragung der

Eigenschaften

3.2 Der MAPE Zyklus

Page 40: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 41: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 42: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 43: Teil 3 Grundlegende Techniken  und Architekturen

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, …

Page 44: Teil 3 Grundlegende Techniken  und Architekturen

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• …

Page 45: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 46: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 47: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 48: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 49: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 50: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 51: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 52: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 53: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 54: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 55: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 56: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 57: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 58: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 59: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 60: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 61: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 62: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 63: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 64: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 65: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 66: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 67: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 68: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 69: Teil 3 Grundlegende Techniken  und Architekturen

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)

Page 70: Teil 3 Grundlegende Techniken  und Architekturen

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)

Page 71: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 72: Teil 3 Grundlegende Techniken  und Architekturen

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)

Page 73: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 74: Teil 3 Grundlegende Techniken  und Architekturen

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 /'

Page 75: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 76: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 77: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 78: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 79: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 80: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 81: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 82: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 83: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 84: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 85: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 86: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 87: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 88: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 89: Teil 3 Grundlegende Techniken  und Architekturen

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

Page 90: Teil 3 Grundlegende Techniken  und Architekturen

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