2.2 Adaptive und selbst

Download Report

Transcript 2.2 Adaptive und selbst

Aktuelle Themen bei Eingebetteten Systemen –
Organic Computing
SS 2010
Prof. Dr. Uwe Brinkschulte
Teil 2
Selbstorganisation
und Emergenz
Organic Computing – Teil 2, Folie 1 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2. Selbstorganisation und
Emergenz
2.1 Definition und Grundlagen der Selbstorganisation
2.2 Adaptive und Selbstorganisierende Systeme
2.3 Selbst-X Eigenschaften
2.4 Definition von Emergenz
2.5 Negative und positive Emergenz
2.6 Herausforderungen
Organic Computing – Teil 2, Folie 2 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
Was ist Selbstorganisation?
Einige Definitionen:
"The ability of certain non-equilibrium systems to develop
structures and patterns in the absence of external control or
manipulation"
www.geos.ed.ac.uk/homes/mnaylor/glossary.html
Organic Computing – Teil 2, Folie 3 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
"A process of attraction and repulsion in which the internal
organization of a system, normally an open system, increases
in complexity without being guided or managed by an outside
source"
En.wikipedia.org/wiki/self-organisation
"The essence of self-organization is that system structure
often appears without explicit pressure or involvement from
outside the system. …resulting from the interaction among
the components…"
http://www.calresco.org/sos/sosfaq.htm
Organic Computing – Teil 2, Folie 4 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
Zusammengefasst:
Selbstorganisation bezieht sich auf einen Prozess, bei dem
sich die interne Ordnung eines Systems selbsttätig und
ohne äußeren Eingriff erhöht.
Selbstorganisation benutzt üblicherweise vier grundlegende
„Zutaten“:

Positive Rückkopplung

Negative Rückkopplung

Gleichgewicht von Nutzung und Erforschung

Vielfältige Interaktionen
Organic Computing – Teil 2, Folie 5 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation

In der Biologie ist Selbstorgansiation meist verbunden mit:




Morphogenese, (Entwicklung und Wachstum lebender
Organismen)
Homeostase (Selbsterhaltende Natur von Systemen von
der Zelle bis zum Organismus)
Schwarmverhalten (Vögel, Fische, ...)
Selbstorganisation findet sich auch in der Physik:
z.B. Strukturbildung in der Astrophysik (Sterne,
Galaxien, ...)
Organic Computing – Teil 2, Folie 6 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
Beispiele:
Vogelschwärme
Ameisenkolonien
Organic Computing – Teil 2, Folie 7 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
Beispiele:
Fischmuster
Galaxien
Organic Computing – Teil 2, Folie 8 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
Beispiele:
Internet
Verkehrsstau
Organic Computing – Teil 2, Folie 9 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
Beispiel: Ameisenstrassen
Zwei Wege
Unbekannte
Entfernung
Nest
Ameisen sehen
schlecht
Trotzdem finden
sie den kürzeren
Weg
Futterquelle
Organic Computing – Teil 2, Folie 10 - Prof. Dr. Uwe Brinkschulte
Wie?
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
Beispiel: Ameisenstrassen
Nest
Sie erforschen
beide Wege
Sie benutzen
Pheromone zur
Markierung
(Rückweg)
Auf dem kürzeren
Weg sammeln sich
mehr Pheromone
Ameisen folgen den
stärkeren Pheromonen
Immer mehr
Ameisen nehmen
den kürzeren Weg
Futterquelle
Organic Computing – Teil 2, Folie 11 - Prof. Dr. Uwe Brinkschulte
Die Pheromone auf dem
längeren Weg verblassen
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
Dies ist Selbstorganisation, da

eine einzelne Ameise niemals den kürzesten Weg finden
würde

sie nur auf ihre sichere Rückkehr ins Nest bedacht ist
(Pheromone)

sie hierzu einfachen lokalen Regeln folgt

sich nur in der Gruppe der Effekt des Findens kürzester
Wege ergibt
Organic Computing – Teil 2, Folie 12 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
Wann ist etwas selbstorganisiert?
Das kann eine Frage des Betrachtungs-Standpunktes sein.
Scheduling-Beispiel:
In einem System sollen Aufträge nach ihrer Wichtigkeit
(Priorität) geordnet werden
2
8
1
5
3
1
2
3
5
8
=> die Ordnung des Systems soll erhöht werden
Organic Computing – Teil 2, Folie 13 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
1. Zentraler Scheduler außerhalb des Systems
System
System
2
8
1
5
3
1
3
5
8
Scheduler
Scheduler
Selbstorganisation?
2
Nein!
Organic Computing – Teil 2, Folie 14 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
2. Zentraler Scheduler innerhalb des Systems
System
System
2
8
1
5
3
1
Scheduler
Selbstorganisation?
2
3
5
8
Scheduler
Vielleicht?
Organic Computing – Teil 2, Folie 15 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.1 Definition und Grundlagen
der Selbstorganisation
3. Dezentrales Scheduling durch Kommunikation der Aufträge
untereinander
System
System
2
8
1
5
Selbstorganisation?
3
1
2
3
5
8
Ja!
=> wir brauchen eine präzisere Definition!
Organic Computing – Teil 2, Folie 16 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Definition eines Systems1)

Ein System erzeugt eine Ausgabe aus gegenwärtigen und
vergangenen Eingaben.

Das Verhalten des Systems, welche diese Ausgabe aus den
Eingaben erzeugt, kann sich hierbei über die Zeit ändern
1)
Die folgenden Definitionen lehnen sich an Gero Mühl (On the Definitions of Self-Managing and SelfOrganizing Systems, SAKS 2007) und Hartmut Schmeck (Tutorial on Organic Computing, SASO 2009) an
Organic Computing – Teil 2, Folie 17 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Formal:

Ein System ist gekennzeichnet durch ein Tripel bestehend
aus der Eingabe I, der Ausgabe O und dem Verhalten B
BIxO
I
o(t) = b(t, i(0 ... t))
B
mit
O
b  B, o  O und i  I
Organic Computing – Teil 2, Folie 18 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Beispiel:
System „Wegsteuerung“ eines autonomen Fahrzeugs berechnet
aus den Eingabedaten von Kameras (Sensoren) Ausgabedaten
an Motoren (Aktoren), um einen bestimmten Weg zu fahren
Kameradaten
Wegsteuerung
Organic Computing – Teil 2, Folie 19 - Prof. Dr. Uwe Brinkschulte
Motordaten
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Definition eines adaptiven Systems

Ein adaptives System ist ein System, bei dem das Ein/Ausgabeverhalten variablen Erwartungen entspricht

Das heißt, ein adaptives System passt sich an geänderte
Erwartungen an
Formal:
b(t)  E(t)
mit Erwartung E(t)  I x O
Organic Computing – Teil 2, Folie 20 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Beispiel:
Eine Erwartung an die Wegsteuerung des vorigen Beispiels ist
die Präzision. Diese kann sich bei einem adaptiven System
mit der Zeit ändern, z.B. bei Einfahrt in schwieriges Gelände
t < t1:
Präzision = 20 cm
t  t1:
Präzision = 5 cm
Organic Computing – Teil 2, Folie 21 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Bei adaptiven Systemen ist es durchaus möglich, dass das
Ein-/Ausgabeverhalten auch erst verzögert wieder den
Erwartungen entspricht.
Das heißt, es kann eine Zeitspanne geben, in der das
Verhalten nicht den Erwartungen entspricht:
b(t)  E(t)
b(t)  E(t)
b(t)  E(t)
t
t1
t2
E(t) ändert sich
Organic Computing – Teil 2, Folie 22 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Es stellt sich nun die Frage, woher das adaptive System von
den geänderten Erwartungen erfährt?
Offensichtlichste Methode: die Erwartungen sind Teil der
Eingabe
Organic Computing – Teil 2, Folie 23 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Definition eines managbaren Systems

Ein managbares System ist ein adaptives System, bei dem
das Systemverhalten über die Eingabe gezielt geändert
werden kann

Man unterscheidet nun zwischen regulärer Eingabe, welche
Eingabe des Systemverhaltens ist und Steuerungseingabe,
welche das Systemverhalten verändert
Organic Computing – Teil 2, Folie 24 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Formal:

Ein managbares System ist gekennzeichnet durch ein Tripel
bestehend aus der Eingabe I, der Ausgabe O und dem
Verhalten B, wobei sich die Eingabe I unterteilt in die
reguläre Eingabe R und die Steuerungseingabe C
I=RC
I
R
C
o(t) = b(t, i(0 ... t))
B
mit
O
b  B, o  O und i  I
Organic Computing – Teil 2, Folie 25 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Beispiel:
Die gewünschte Präzision wird der Wegsteuerung durch eine
Steuerungsvariable mitgeteilt
Kameradaten
Präzision
Wegsteuerung
Organic Computing – Teil 2, Folie 26 - Prof. Dr. Uwe Brinkschulte
Motordaten
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Es stellt sich als nächstes die Frage, wie die Steuerungseingaben erzeugt werden?
Diese können durch externes Wissen (z.B. durch den
Menschen) erzeugt oder aber auch aus den regulären zur
Verfügung stehenden Eingaben sowie den Ausgaben
abgeleitet werden.
Organic Computing – Teil 2, Folie 27 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Definition eines Selbstmanagbaren Systems

Ein selbstmanagbares System ist ein managbares System,
bei dem die Steuereingaben allein aus gegenwärtigen oder
vergangenen regulären Eingaben abgeleitet werden können
Formal:
c(t) = F(r(0 ... t), o(0 … t))
mit
Organic Computing – Teil 2, Folie 28 - Prof. Dr. Uwe Brinkschulte
F: Controller-Funktion
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Beispiel:
Die gewünschte Präzision kann aus gegenwärtigen und
vergangenen Kameraeingaben sowie Motordaten selbst
ermittelt werden, d.h. schwieriges Gelände wird auf Grund von
Kamera- und Motordaten erkannt.
Kameradaten
Präzisionserkennung
Präzision
Wegsteuerung
Organic Computing – Teil 2, Folie 29 - Prof. Dr. Uwe Brinkschulte
Motordaten
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Definition eines Selbstgemanagten Systems

Ein selbstgemanagtes System ist ein selbstmanagbares
System, bei dem die Controller-Funktion inhärenter
Bestandteil des Systems ist.
Formal:
B‘
C=0
R
B‘
O
R
Organic Computing – Teil 2, Folie 30 - Prof. Dr. Uwe Brinkschulte
C
R
F
B
O
O
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Beispiel:
Präzisionserkennung ist Bestandteil der Wegsteuerung.
Präzisionserkennung
Kameradaten
Wegsteuerung
Organic Computing – Teil 2, Folie 31 - Prof. Dr. Uwe Brinkschulte
Motordaten
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Bisher: Blackbox Ansatz
Zur Definition von Selbstorganisation müssen wir jedoch in
das System hineinschauen:
Selbstorganisation bedeutet, dass sich auch die Struktur des
Systems sich den Erwartungen anpasst
Organic Computing – Teil 2, Folie 32 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Definition eines Selbstorganisierenden Systems1)

Ein selbstorganisierendes System ist ein selbstmanagendes
System, dessen Struktur sich den Erwartungen anpasst.

Die Steuerung von Selbstmanagement und
Strukturanpassung ist hierbei dezentral.
1)
Nach Gero Mühl (On the Definitions of Self-Managing and Self-Organizing Systems, SAKS 2007)
Organic Computing – Teil 2, Folie 33 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Beispiel:
Die Softwarekomponenten der Wegsteuerung und Präzisionserkennung verteilen sich selbstständig und dezentral auf die zur
Verfügung stehenden Prozessoren
Präzisionserkennung
Kameradaten
Wegsteuerung
Prozessor 1
Motordaten
Prozessor n
...
Organic Computing – Teil 2, Folie 34 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Hierarchie von adaptiven bis selbstorganisierenden Systemen:
Selbstorganisierende Systeme
Selbstgemanagte Systeme
Selbstmanagbare Systeme
Managbare Systeme
Adaptive Systeme
Organic Computing – Teil 2, Folie 35 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Kann man Selbstorganisation quantifizieren?
Kann man einen Grad der Selbstorganisation definieren?
z.B.
zu 100% selbstorganisiert
zu 50% selbstorganisiert
zu 10% selbstorganisiert
zu 0% selbstorganisiert
Organic Computing – Teil 2, Folie 36 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Definition des Grades der Selbstorganisation/Selbstmanagements1)
B‘
Ce
R
F
Ci
R
B
O
O
Erweiterung des selbstgemanagten, selbstorganisierenden
Systems: externe (Ce) und interne (Ci) Steuerungseingaben
1)
Angelehnt an Hartmut Schmeck (Tutorial on Organic Computing, SASO 2009)
Organic Computing – Teil 2, Folie 37 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Es sei nun:
Vi :
interne Variabilität des Systems,
also die Anzahl Bits der internen Steuerungseingabe Ci
(= ld(Anzahl interner Systemzustände))
Ve :
externe Variabilität des Systems,
also die Anzahl Bits der externen Steuerungseingabe Ce
(= ld(Anzahl externer Systemzustände))
mit Vi ≥ Ve gilt
R: Reduktion der Komplexität, R = Vi - Ve
Organic Computing – Teil 2, Folie 38 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Damit lässt sich für statische Systeme (konstante Variabilität)
der Grad der Selbstorganisation bzw. des Selbstmanagements
definieren:
S:
Grad von SO/SM, S = (Vi - Ve) / Vi = R / Vi
Beispiel:
Vi = 12 Bit, Ve = 5 Bit => S = (12 - 5) / 12 = 0.58 = 58%
Organic Computing – Teil 2, Folie 39 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Dies lässt sich auch auf dynamische Systeme (veränderliche
Variabilität) erweitern. Es sei:
vi(t):
interne Variabilität zum Zeitpunkt t
ve(t): externe Variabilität zum Zeitpunkt t
vi
Beispiel:
t
ve
t
Organic Computing – Teil 2, Folie 40 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Die Reduktion der Komplexität über einen Zeitraum t1 … t2
definiert sich zu:
t2
r ( t 1, t 2 )   v i ( t )  v e ( t ) dt
t1
vi /ve
t
t1
t2
Der Grad von SO/SM über einen Zeitraum t1 … t2 definiert sich
zu:
t2
s ( t 1, t 2 )  r ( t 1, t 2 ) /  v i ( t ) dt
t1
Organic Computing – Teil 2, Folie 41 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.2 Adaptive und selbstorganisierende Systeme
Für zeitdiskrete Systeme mit einer Abtastperiode t ergibt sich
die Reduktion der Komplexität in einem Zeitraum n1t ... n2t :
n2
r ( n 1, n 2 )  (  v i ( n )  v e ( n ))  t
n1
Der Grad von SO/SM definiert sich zu:
n2
s ( n 1, n 2 )  r ( n 1, n 2 ) /(  v i ( n ))  t
n1
Organic Computing – Teil 2, Folie 42 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Wichtige Selbst-X Eigenschaften für Organic Computing
1. Selbstkonfiguration

Beschreibt die Eigenschaft eines Systems, selbsttätig eine
initiale, funktionsfähige Konfiguration zu finden.

Diese muss nicht optimal sein, aber einen ordnungsgemäßen
Betrieb ermöglichen

Selbstkonfiguration kann zentral durch einen im System
enthaltenen Konfigurationsmanager oder dezentral durch
Interaktion der Systemkomponenten erfolgen (vgl. vorige
Betrachtung zur Selbstorganisation
Organic Computing – Teil 2, Folie 43 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Beispiel: initiale Taskzuordnung in einem verteilten System
Task
1
Task
2
Prozessor 1
Task
3
...
Task
4
Prozessor 2
Task
m
Prozessor n
...
Organic Computing – Teil 2, Folie 44 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Taskzuordnung erfolgt z.B. nach:

Verfügbarkeit von Ressourcen (Schnittstellen, Geräten, …)

Eignung der Prozessoren (Taktrate, Speicher, …)

Auslastung der Prozessoren (Taskanzahl, …)

…
Prozessor 1
Task
1
Task
3
Prozessor 2
Task
2
Task
m
Prozessor n
...
Organic Computing – Teil 2, Folie 45 - Prof. Dr. Uwe Brinkschulte
Task
4
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
2. Selbstoptimierung

Beschreibt die Eigenschaft eines Systems, selbsttätig eine
bessere Konfiguration als die gegenwärtige zu finden.

Dies kann entweder dazu dienen, bestimmte
Systemparameter zu verbessern (z.B. Performanz,
Energieverbrauch, …) oder einem drohenden Defekt zuvor
zukommen (z.B. Hotspots)

Selbstkonfiguration kann zentral oder dezentral erfolgen
Organic Computing – Teil 2, Folie 46 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Beispiel: Optimierung der Taskzuordnung in einem verteilten
System
Entlastung von Prozessor 2 zur
Vermeidung eines Hotspots
Prozessor 1
Task
1
Task
3
Prozessor 2
Task
2
Task
m
Prozessor n
...
Organic Computing – Teil 2, Folie 47 - Prof. Dr. Uwe Brinkschulte
Task
4
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Taskverschiebung erfolgt z.B. nach:

Performanz

Energievorrat

Temperatur

…
Prozessor 1
Task
1
Task
3
Prozessor 2
Task
2
Prozessor n
...
Organic Computing – Teil 2, Folie 48 - Prof. Dr. Uwe Brinkschulte
Task
4
Task
m
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
3. Selbstheilung

Beschreibt die Eigenschaft eines Systems, selbsttätig Defekte
auszugleichen und wieder eine ablauffähige Konfiguration
herzustellen.

Defekte können in der Hardware oder Software auftreten.

Selbstheilung kann zentral oder dezentral erfolgen, allerdings
birgt die zentrale Variante das Risiko eines Single-Point-ofFailure

Bei Ausfall eines zentralen Selbstheilungsmanagers verliert
das System die Fähigkeit zur Selbstheilung => redundante
Ausfallmanager oder dezentrale Lösung
Organic Computing – Teil 2, Folie 49 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Beispiel: Selbstheilung durch neue Taskzuordnung bei Ausfall
eines Prozessors
Prozessor 1
Task
1
Task
3
Prozessor 2
Task
2
Prozessor n
...
Organic Computing – Teil 2, Folie 50 - Prof. Dr. Uwe Brinkschulte
Task
4
Task
m
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Problemstellung bei der Selbstheilung:

Erkennung von Defekten/Fehlern

Verlust bzw. Rettung von Zustandsinformation

Beseitigung von Störquellen

kein Nachwachsen wie bei biologischen Systemen

...
Prozessor
Task 1
2
Task
1
Task
3
Prozessor 2
Prozessor n
...
Organic Computing – Teil 2, Folie 51 - Prof. Dr. Uwe Brinkschulte
Task
4
Task
m
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
4. Selbstschutz

Beschreibt die Eigenschaft eines Systems, sich selbsttätig vor
Angriffen zu schützen.

Angriffe können von innen oder außen erfolgen.

Selbstschutz kann passiv (Unempfindlichkeit gegen
bestimmte Angriffe) oder aktiv (Gegenmaßnahmen zur
Neutralisierung des Angriffs/Angreifers) erfolgen.

Selbstschutz kann zentral oder dezentral erfolgen, allerdings
birgt die zentrale Variante das Risiko eines Single-Point-ofAttack
Organic Computing – Teil 2, Folie 52 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Beispiel: Erkennung und Abweisung fremder Tasks
Task
2
Task
x
fremd/eigen ?
fremd/eigen ?
fremd/eigen ?
Prozessor 1
Prozessor 2
Prozessor n
Task
1
Task
3
...
Organic Computing – Teil 2, Folie 53 - Prof. Dr. Uwe Brinkschulte
Task
4
Task
m
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Möglichkeiten des Selbstschutzes

Aufbau von Barrieren und Rechten

Fremd/eigen-Erkennung (Tasks, Nachrichten,
Komponenten, …)

Ausfiltern unbekannter Objekte

Erkennung von Anomalien (Datenaufkommen,
Speichernutzung, …)

Anlehnung an das Immunsystem in der Biologie
Organic Computing – Teil 2, Folie 54 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
5. Selbstbewusstsein

Beschreibt die Eigenschaft eines Systems, sich seiner eigenen
Eigenschaften und Fähigkeiten bewusst zu sein.

Dies ist eine notwendige Grundlage für viele andere Selbst-X
Eigenschaften.

Ohne Kenntnis der eigenen Fähigkeiten (z.B.
Speicherkapazität, Rechenleistung, verfügbare Schnittstellen,
Energieverbrauch, Energievorrat, …) ist Selbstkonfiguration,
Selbstoptimierung oder Selbstheilung kaum durchführbar.

Fähigkeiten und Eigenschaften können hierbei statisch (z.B.
Rechenleistung) oder dynamisch (z.B. Energievorrat) sein
Organic Computing – Teil 2, Folie 55 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Beispiel: Selbstbewusstsein bei Selbstkonfigurierung
Task
1
Benutzt im wesentlichen
Festkomma-Arithmetik
Task
m
Gleitkomma-intensive
Berechnungen
Prozessor 1
(FestkommaHardware)
Prozessor 2
(GleitkommaHardware)
Prozessor n
...
Organic Computing – Teil 2, Folie 56 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
6. Selbsterklärung

Beschreibt die Eigenschaft eines Systems, Vorgänge,
Maßnahmen und Entscheidungen gegenüber den Benutzern
zu erklären.

Dies erhöht die Akzeptanz beim Benutzer.

Die Grundlagen und Entscheidungskriterien für vom System
getroffenen Veränderungen können veröffentlicht werden.

Dies erfolgt in einer für den Menschen verständlichen Form
(z.B. schwierig bei neuronalen Netzen)
Organic Computing – Teil 2, Folie 57 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.3 Selbst-X Eigenschaften
Beispiel: Taskverlagerung (Selbstoptimierung)
Erklärung des Grundes für die Verlagerung:
Temperatur auf Prozessor 2 überschreitet kritische
Grenze von 85°
Prozessor 1
Task
1
Task
3
Prozessor 2
Task
2
Task
m
Prozessor n
...
Organic Computing – Teil 2, Folie 58 - Prof. Dr. Uwe Brinkschulte
Task
4
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Was ist Emergenz?
Einige Definitionen:
"In philosophy, systems theory, science,
Termiten-Kolonie
and art, emergence is the way complex
systems and patterns arise out of a
multiplicity of relatively simple interactions. Emergence is
central to the theories of integrative levels and of complex
systems." (Engl. Wikipedia, http://en.wikipedia.org/wiki/Emergence)
Organic Computing – Teil 2, Folie 59 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
"Emergenz (lat. emergere: auftauchen,
hervorkommen, sich zeigen), gemäß
Aristoteles auch Übersummativität, ist
die spontane Herausbildung von
Eigenschaften oder Strukturen auf der
Makroebene eines Systems auf der
Eis Kristall
Grundlage des Zusammenspiels seiner
Elemente. Dabei lassen sich die emergenten Eigenschaften des
Systems nicht - oder jedenfalls nicht offensichtlich - auf
Eigenschaften der Elemente zurückführen, die diese isoliert
aufweisen."
(Deutsches Wikipedia, http://de.wikipedia.org/wiki/Emergenz)
Organic Computing – Teil 2, Folie 60 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Emergenz in der Wahrnehmung
Die Wahrnehmung des Dalmatiners emergiert aus den Punkten
Quelle: Deutsches Wikipedia, http://de.wikipedia.org/wiki/Emergenz
Organic Computing – Teil 2, Folie 61 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Zusammengefasst:
Emergenz ist ein mögliches Resultat von Selbstorganisation
Emergenz heisst, lokale Interaktionen können zu vollständig
neuen globalen Eigenschaften führen
Wechselwirkungen auf der Mikroebene führen zu
überraschenden Resultaten auf der Makroebene
Das Ganze ist mehr als die Summe seiner Teile
Grundlegende Frage: kann man Emergenz messen bzw.
quantifizieren?
Organic Computing – Teil 2, Folie 62 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Quantifizierung von Emergenz mittels der Entropie1)
Entropie ist ein Maß für Ordnung bzw. Unordung
 Je höher die Entropie, desto kleiner die Ordnung
 Je kleiner die Entropie, desto höher die Ordnung
Da Emergenz Strukturen (= Ordnung) in einem System
erzeugt, erscheint die Entropie als sinnvolles Maß für die
Emergenz
1)
Angelehnt an C. Müller-Schloer und M. Mnif
Organic Computing – Teil 2, Folie 63 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Statistische Definition der Entropie eines Systems mit binärer
Informationsdarstellung nach Shannon:
 Ein Ereignis i trete mit der Wahrscheinlichkeit pi auf
1)
 Das Auftreten von Ereignis i entspricht somit der Auswahl
von einem aus 1/pi gleichwahrscheinlichen Ereignissen
 Beispiel:
Ein Ereignis trete mit der Wahrscheinlichkeit 0.5 auf. Dies
entspricht der Auswahl von einem aus 1/0.5 = 2
gleichwahrscheinlichen Ereignissen
1)
Ein Ereignis ist in Shannons Originalarbeit das Auftreten eines Zeichens in einem Übertragungskanal
Organic Computing – Teil 2, Folie 64 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Statistische Definition der Entropie eines binären
Informationssystems nach Shannon:
 Um 1/pi Ereignisse in einem binären System unterscheiden
zu können, benötigt man log2(1/pi) = -log2(pi) Bits
 Das Auftreten eines Ereignisses i mit Wahrscheinlichkeit pi
hat somit einen Informationsgehalt Ii = -log2(pi)
 Beispiel: Der Informationsgehalt des Ereignisses "Zahl" bei
einem Münzwurf beträgt log2(2) = -log2(0.5) = 1 Bit 1
Shannon
 Je geringer die Wahrscheinlichkeit eines Ereignisses, desto
höher ist sein Informationsgehalt
Organic Computing – Teil 2, Folie 65 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Statistische Definition der Entropie eines binären
Informationssystems nach Shannon:
 Gegeben sei nun ein System mit n unabhängigen
1)
Ereignissen .
 Die Entropie des System nach Shannon ist nun definiert als
der mittlere Informationsgehalt dieser Ereignisse:
n
H    p i log 2 ( p i )
i 1
1)
In Shannons Originalarbeit sind die n unabhängigen Ereignisse das Alphabet, d.h. die Menge unterschiedlicher
Zeichen, die übertragen werden können
Organic Computing – Teil 2, Folie 66 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Beispiel: Abfolge von zwei Ereignissen A und B
Ereignisfolge 1: A A B A B B A B
H = -(4/8 * log2(4/8) + 4/8 * log2(4/8)) = 1
Ereignisfolge 2: A A A B A A A A
H = -(7/8 * log2(7/8) + 1/8 * log2(1/8)) = 0.54
Je gleichverteilter die Häufigkeit der Ereignisse, desto höher ist
die Unordnung/Entropie
Die konkrete Reihenfolge spielt bei dieser Definition der
Entropie jedoch keine Rolle, die Ereignisfolge A A A A B B B B
liefert ebenfalls H = 1
Organic Computing – Teil 2, Folie 67 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Sie ist jedoch trotzdem ein brauchbares Maß, um Strukturen zu
erkennen.
Beispiel: Verteilung von 7 Stöckchen auf einem Raster
(9 Felder  9 Ereignisse)
4/7
1/7
1/7
1/7
2/7
3/7
1/7
1/7
H = -(5*(1/7 * log2(1/7)) + 1*(2/7 * log2(2/7)))
H = -(3/7 * log2(3/7)) + 4/7 * log2(4/7))
= 2.52
= 0.98
Organic Computing – Teil 2, Folie 68 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Wie groß ist die maximal mögliche Entropie in einem System?
Maximale Entropie liegt bei Gleichverteilung vor, d.h. pi = 1/n
n
=>
H
max
 
i 1
1
1
log 2 ( )  log 2 ( n )
n
n
Im Beispiel mit den Ereignissen A und B ergibt sich also Hmax = log2(2) = 1
Im Beispiel mit den Stöckchen ergibt sich Hmax = log2(9) = 3.16
Organic Computing – Teil 2, Folie 69 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Wie quantifiziert man nun Emergenz mittels Entropie?
Emergenz ist die Abnahme der Entropie:
M = H
Dies kann man nun absolut oder relativ berechnen:
Mabsolut(t) = Hmax - H(t)
Mrelativ(t1,t2) = Mabsolut(t2) - Mabsolut(t1) = H(t1) - H(t2)
Organic Computing – Teil 2, Folie 70 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Wieder zurück zum Beispiel mit den Stöckchen:
Ameisenhaufen-Algorithmus
Die Ameisen folgen einfachsten Regeln:
 Wann immer eine Ameise, die gerade kein Stöckchen trägt,
ein Stöckchen findet, nimmt sie es mit.
 Wann immer eine Ameise, die gerade ein Stöckchen trägt,
auf ein weiteres Stöckchen trifft, lässt sie ihr Stöckchen fallen
Dies führt zu einem emergenten Effekt:
Auf einem zweidimensionalen Feld (Raster) zufällig verteilte
Stöckchen sammeln sich zu Haufen
Organic Computing – Teil 2, Folie 71 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Vor Anwendung des
Ameisenhaufen-Algorithmus
Mabsolut(t1) = 3.16 - 2.52 = 0.64
Nach Anwendung des
Ameisenhaufen-Algorithmus
Mabsolut(t2) = 3.16 - 0.98 = 2.18
Mrelativ(t1,t2) = 2.52 - 0.98 = 1.54
Organic Computing – Teil 2, Folie 72 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Weitere Beispiele für emergente Effekte:
Mehrere parallele Fahrstühle in einem Gebäude
Jeder einzelne Fahrstuhl folgt einer einfachen lokalen Regel:
 Stoppe auf dem nächsten Stockwerk mit Fahrstuhlanforderung in Fahrtrichtung
Dies führt zu einem Bündelungseffekt
Mehrere Fahrstühle tendieren dazu, sich gleichförmig zu
bewegen und auf den selben Stockwerken zu halten
Organic Computing – Teil 2, Folie 73 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Stockwerk 5
5 Stockwerke  5 Ereignisse
Hmax = log2(5) = 2.32
H(t1) = -(4 * (1/4 * log2(1/4)) = 2
Stockwerk 4
Mabsolut(t1) = 2.32 - 2 = 0.32
Stockwerk 3
H(t2) = -(3/4 * log2(3/4) +
1/4 * log2(1/4))) = 0.81
Mabsolut(t2) = 2.32 - 0.81 = 1.15
Stockwerk 2
Mrelativ(t1,t2) = 2 - 0.81 = 1.19
Stockwerk 1
Fahrstuhl 1
Fahrstuhl 2
Fahrstuhl 3
Fahrstuhl 4
t = t21
Organic Computing – Teil 2, Folie 74 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.4 Definition von Emergenz
Weitere Beispiele für emergente Effekte:
Stau aus dem Nichts
Autos auf Kreisbahn, jeder Fahrer
folgt einer einfachen lokalen Regel:
 Fahre wenn möglich mit 20 km/h,
halte sicheren Abstand zum
Vordermann
Auch dies führt zu einem
Bündelungseffekt => Sto and Go Welle
Quelle: New Journal of Physics 10, 2008
Organic Computing – Teil 2, Folie 75 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.5 Negative und positive
Emergenz
Emergenz ist ein Effekt, der bei selbstorganisierenden
Systemen auftreten kann.
Man kann zwischen negativen (unerwünschten) und positiven
(erwünschten) emergenten Effekten unterscheiden.
Beispiele für negative Emergenz:
 Stau aus dem Nichts (Verringerung des Verkehrsdurchsatzes)
 Bündeleffekt bei Aufzügen (Verlängerung der Wartezeit, die
Aufzüge verhalten sich wie ein großer Aufzug)
Organic Computing – Teil 2, Folie 76 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.5 Negative und positive
Emergenz
Beispiele für positive Emergenz:
 Ameisenhaufen-Algorithmus (Dezentrales paralleles
Bündeln/Sortieren)
 Ameisenstrassen-Algorithmus( Dezentrales paralleles Finden
kürzester Wege)
=> Aufgabe bei selbstorganisierenden Eingebetteten Systemen:
Unterdrückung negativer und Förderung positiver Emergenz
Organic Computing – Teil 2, Folie 77 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.5 Negative und positive
Emergenz
Beispiele für die Unterdrückung negativer Emergenz:
Bündelungseffekt bei Aufzügen:
 Zentrale Aufzugsteuerung (Nachteil: Verlust der Dezentralität,
kompletter Aufzugsausfall bei Ausfall der zentralen Steuerung)
 Dezentrale Lösung zur Unterdrückung bzw. zumindest
Schwächung des negativen emergenten Effektes
 Veränderung der lokalen Regeln für einen Aufzug
 Einführung von lokaler Kommunikation des Aufzugs mit den
beiden Nachbaraufzügen
 Wenn einer der Nachbaraufzüge bereits auf dem nächst
angeforderten Stockwerk halten wird, überspringe diese
Anforderung. Wenn hierdurch kein Halt mehr in
Fahrtrichtung, ändere die Fahrtrichtung
Organic Computing – Teil 2, Folie 78 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.5 Negative und positive
Emergenz
Beispiele für die Unterdrückung negativer Emergenz:
Stau aus dem Nichts
 Zentrale Steuerung hier praktisch nicht möglich
 Dezentrale Lösung: Veränderung der lokalen Regeln für ein
Fahrzeug
 Einführung von lokaler Kommunikation mit dem Vorgängerund Nachfolger-Fahrzeug
 Fahrzeug teilt seinem Nachfolger eigene Geschwindigkeitsänderung mit
 Fahrzeug teilt seinem Nachfolger gewünschten Sicherheitsabstand mit
Organic Computing – Teil 2, Folie 79 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.5 Negative und positive
Emergenz
Beispiele für die Förderung positiver Emergenz:
Ameisenstrassen
 Anpassung der Verfallszeit der Pheromone
 Zu kurze Verfallszeit: Rückweg wird nicht mehr gefunden
 Zu lange Verfallszeit: Die Zeit für das Auffinden kürzester
Wege verlängert sich
Als Grundvoraussetzung zur Förderung oder Unterdrückung von
Emergenz-Effekten muss man diese jedoch erst einmal
erkennen!
Organic Computing – Teil 2, Folie 80 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.5 Negative und positive
Emergenz
Emergente Effekte können hierbei in unterschiedlichen
Dimensionen auftreten und auch mehrdimensionalen Charakter
besitzen.
Beispiele:
 Muster in der Zeit
 Muster im Raum (1-dimensional, 2-dimensional,
3-dimensional)
 Muster in Zeit und Raum
Organic Computing – Teil 2, Folie 81 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.6 Herausforderungen
Von eingebetteten Systemen fordern wir ein definiertes
Verhalten gemäß unseren Erwartungen
Selbstorganisierende Systeme besitzen große Freiheitsgrade
und weißen ggf. emergente Effekte auf.
Ist dies nicht ein Widerspruch?
Nicht wirklich, wir müssen dem selbstorganisierenden System
aber einen Rahmen vorgeben, innerhalb dessen es arbeiten
muss
Die Einhaltung dieses Rahmens muss garantiert werden
Organic Computing – Teil 2, Folie 82 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.6 Herausforderungen
Beispiel: selbstorganisierende Ampelsteuerung an einer
Kreuzung
Die Ampelsteuerung könnte „auf die Idee kommen,
größtmöglicher Durchsatz wird erreicht, wenn alle vier
Ampeln grün zeigen“
Das muss natürlich verhindert werden
Organic Computing – Teil 2, Folie 83 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.6 Herausforderungen
Wir müssen also dafür sorgen, dass das System sich selbst
organisiert (Beherrschung von Komplexität, sich ändernde
Bedingungen, Fehler), aber trotzdem einen Rahmen (unsere
Erwartungen) einhält
Wir brauchen also:
 Eine Kontrollinstanz, die eingreift wenn das System den
Rahmen verlässt
 Eine Beobachtungsinstanz, die ein Verlassen des Rahmens
erkennt
=> Grundarchitektur für Organic Computing (siehe nächstes
Kapitel)
Organic Computing – Teil 2, Folie 84 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.6 Herausforderungen
Weiteres Beispiel für das Einhalten von Erwartungen:
Zeitverhalten bei Echtzeitsystemen
Das selbstorganisierende System muss Zeitbedingungen
einhalten.
Diese können unterschiedlich ausfallen:
 Zeitbedingungen müssen nur im stabilen Systemzustand
eingehalten werden, nicht aber während einer
Selbstkonfigurations, -optimierungs und -heilungsphase
 Zeitbedingungen müssen im fehlerfreien Systemzustand
eingehalten werden, nicht aber während einer
Selbstheilungsphase
 Zeitbedingungen müssen in jedem Systemzustand
eingehalten werden
Organic Computing – Teil 2, Folie 85 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.6 Herausforderungen
Verfeinerung des Verhaltens:
Akzeptables
Verhalten
(entspricht den
Erwartungen)
Übergangsverhalten
(entspricht nicht den Erwartungen, kann aber wieder
in erwartetes Verhalten überführt werden)
Nicht-akzeptables Verhalten
(entspricht nicht den Erwartungen, kann nicht mehr in
erwartetes Verhalten überführt werden)
Organic Computing – Teil 2, Folie 86 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.6 Herausforderungen
Robustes Verhalten eines selbstorganisierenden Systems:
Gegeben sei eine
Störung d
Schwach robustes
Verhalten bezüglich d
Akzeptables
Verhalten
Stark robustes
Verhalten bezüglich d
Übergangsverhalten
Nicht robustes
Verhalten bezüglich d
Nicht-akzeptables Verhalten
Organic Computing – Teil 2, Folie 87 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.6 Herausforderungen
Flexibles Verhalten eines selbstorganisierenden Systems:
Gegeben sei eine Änderung des akzeptables Verhaltens b
Schwach flexibles
Verhalten bezüglich b
Akzeptables
Verhalten
(alt)
Übergangsverhalten
Nicht flexibles
Verhalten bezüglich b
Stark flexibles
Verhalten bezüglich b
Akzeptables
Verhalten
(neu)
Nicht-akzeptables Verhalten
Organic Computing – Teil 2, Folie 88 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit
2.6 Herausforderungen
Je nach Anwendung ist starke oder schwache Robustheit und
Flexibilität gefordert.
Im sicherheitskritischen Bereichen muss dies garantiert werden
 Vertrauenswürdigkeit von selbstorganisierenden Systemen
Dies ist ein noch ganz junges Forschungsgebiet
Organic Computing – Teil 2, Folie 89 - Prof. Dr. Uwe Brinkschulte
Hier wird Wissen Wirklichkeit