Prof. Dr. Uwe Brinkschulte

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Eine dynamische Menge, die diese Operationen unterstützt,
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Projektumfeld Gesellschaftliche Strömungen Strukturen/ Gliederung
Finale Semantik und beobachtbares Verhalten
Theorie psychometrischer Tests, III
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
On a Buzzword: Hierachical Structure David Parnas.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Kapitel 5 Stetigkeit.
1/25 UNIVERSITY OF PADERBORN Projektgruppe KIMAS Projektgruppe KIMAS MultiAgenten-Systeme Andreas Goebels.
Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
§9 Der affine Raum – Teil 2: Geraden
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Information und Kommunikation
Endliche Automaten Informatik JgSt. 13, Abitur 2009
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation
Information und Kommunikation
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
§3 Allgemeine lineare Gleichungssysteme
Christian Scheideler Institut für Informatik Universität Paderborn
Kapitel 16 Ökonometrische Modelle
Wahrscheinlichkeitsrechnung
Wahrscheinlichkeitsrechnung
Empirische Softwaretechnik
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
ENDLICHE KÖRPER RSA – VERFAHREN.
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Parallelisierung für Multiprozessor-Maschinen
Statistik – Regression - Korrelation
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Kapitel 3: Erhaltungssätze
Hier wird Wissen Wirklichkeit Organic Computing – Teil 1, Folie 1 - Prof. Dr. Uwe Brinkschulte Teil 1 Einführung und Problemstellung Aktuelle Themen bei.
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,
Prof. Dr. Uwe Brinkschulte
Gliederung der Vorlesung
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Binärbäume.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
Lineare Optimierung Nakkiye Günay, Jennifer Kalywas & Corina Unger Jetzt erkläre ich euch die einzelnen Schritte und gebe Tipps!
 Präsentation transkript:

Prof. Dr. Uwe Brinkschulte 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

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

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

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

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

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

2.1 Definition und Grundlagen der Selbstorganisation Beispiele: Vogelschwärme Ameisenkolonien Organic Computing – Teil 2, Folie 7 - Prof. Dr. Uwe Brinkschulte

2.1 Definition und Grundlagen der Selbstorganisation Beispiele: Fischmuster Galaxien Organic Computing – Teil 2, Folie 8 - Prof. Dr. Uwe Brinkschulte

2.1 Definition und Grundlagen der Selbstorganisation Beispiele: Internet Verkehrsstau Organic Computing – Teil 2, Folie 9 - Prof. Dr. Uwe Brinkschulte

2.1 Definition und Grundlagen der Selbstorganisation Beispiel: Ameisenstrassen Zwei Wege Unbekannte Entfernung Ameisen sehen schlecht Trotzdem finden sie den kürzeren Weg Wie? Nest Futterquelle Organic Computing – Teil 2, Folie 10 - Prof. Dr. Uwe Brinkschulte

2.1 Definition und Grundlagen der Selbstorganisation Beispiel: Ameisenstrassen 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 Die Pheromone auf dem längeren Weg verblassen Nest Futterquelle Organic Computing – Teil 2, Folie 11 - Prof. Dr. Uwe Brinkschulte

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

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 => die Ordnung des Systems soll erhöht werden 2 8 1 5 3 1 2 3 5 8 Organic Computing – Teil 2, Folie 13 - Prof. Dr. Uwe Brinkschulte

2.1 Definition und Grundlagen der Selbstorganisation 1. Zentraler Scheduler außerhalb des Systems System System 2 8 1 5 3 1 2 3 5 8 Scheduler Scheduler Selbstorganisation? Nein! Organic Computing – Teil 2, Folie 14 - Prof. Dr. Uwe Brinkschulte

2.1 Definition und Grundlagen der Selbstorganisation 2. Zentraler Scheduler innerhalb des Systems System System 2 8 1 5 3 1 2 3 5 8 Scheduler Scheduler Selbstorganisation? Vielleicht? Organic Computing – Teil 2, Folie 15 - Prof. Dr. Uwe Brinkschulte

2.1 Definition und Grundlagen der Selbstorganisation 3. Dezentrales Scheduling durch Kommunikation der Aufträge untereinander System System 2 8 1 5 3 1 2 3 5 8 Selbstorganisation? Ja! => wir brauchen eine präzisere Definition! Organic Computing – Teil 2, Folie 16 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende 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 Self- Organizing Systems, SAKS 2007) und Hartmut Schmeck (Tutorial on Organic Computing, SASO 2009) an Organic Computing – Teil 2, Folie 17 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende Systeme Formal: Ein System ist gekennzeichnet durch ein Tripel bestehend aus der Eingabe I, der Ausgabe O und dem Verhalten B B  I x O I B O o(t) = b(t, i(0 ... t)) mit b  B, o  O und i  I Organic Computing – Teil 2, Folie 18 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende Systeme Beispiel: System „Wegsteuerung“ eines autonomen Fahrzeugs berechnet aus den Eingabedaten von Kameras (Sensoren) Ausgabedaten an Motoren (Aktoren), um einen bestimmten Weg zu fahren Kamera- daten Weg-steuerung Motordaten Organic Computing – Teil 2, Folie 19 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende 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 R I B O C o(t) = b(t, i(0 ... t)) mit b  B, o  O und i  I Organic Computing – Teil 2, Folie 25 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende Systeme Beispiel: Die gewünschte Präzision wird der Wegsteuerung durch eine Steuerungsvariable mitgeteilt Kamera- daten Weg-steuerung Motordaten Präzision Organic Computing – Teil 2, Folie 26 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende Systeme Es stellt sich als nächstes die Frage, wie die Steuerungs-eingaben 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

2.2 Adaptive und selbst- organisierende 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 F: Controller-Funktion Organic Computing – Teil 2, Folie 28 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende 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. Kamera- daten Weg-steuerung Motordaten Präzisionserkennung Präzision Organic Computing – Teil 2, Folie 29 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende 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 F R B‘ O C R B O R O Organic Computing – Teil 2, Folie 30 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende Systeme Beispiel: Präzisionserkennung ist Bestandteil der Wegsteuerung. Präzisionserkennung Kamera- daten Weg-steuerung Motordaten Organic Computing – Teil 2, Folie 31 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende Systeme Beispiel: Die Softwarekomponenten der Wegsteuerung und Präzisions-erkennung verteilen sich selbstständig und dezentral auf die zur Verfügung stehenden Prozessoren Präzisionserkennung Kamera- daten Weg-steuerung Motordaten Prozessor 1 Prozessor n . . . Organic Computing – Teil 2, Folie 34 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende Systeme Definition des Grades der Selbstorganisation/Selbstmanagements1) B‘ F Ce Ci B O O R R 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

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende 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

2.2 Adaptive und selbst- organisierende 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 Beispiel: vi t ve t Organic Computing – Teil 2, Folie 40 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende Systeme Die Reduktion der Komplexität über einen Zeitraum t1 … t2 definiert sich zu: vi /ve t Der Grad von SO/SM über einen Zeitraum t1 … t2 definiert sich zu: t1 t2 Organic Computing – Teil 2, Folie 41 - Prof. Dr. Uwe Brinkschulte

2.2 Adaptive und selbst- organisierende Systeme Für zeitdiskrete Systeme mit einer Abtastperiode t ergibt sich die Reduktion der Komplexität in einem Zeitraum n1t ... n2t : Der Grad von SO/SM definiert sich zu: Organic Computing – Teil 2, Folie 42 - Prof. Dr. Uwe Brinkschulte

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

2.3 Selbst-X Eigenschaften Beispiel: initiale Taskzuordnung in einem verteilten System . . . Task 1 Task 2 Task 3 Task 4 Task m Prozessor 1 Prozessor 2 Prozessor n . . . Organic Computing – Teil 2, Folie 44 - Prof. Dr. Uwe Brinkschulte

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 Prozessor 2 Prozessor n . . . Task 1 Task 3 Task 2 Task m Task 4 Organic Computing – Teil 2, Folie 45 - Prof. Dr. Uwe Brinkschulte

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

2.3 Selbst-X Eigenschaften Beispiel: Optimierung der Taskzuordnung in einem verteilten System Entlastung von Prozessor 2 zur Vermeidung eines Hotspots Prozessor 1 Prozessor 2 Prozessor n . . . Task 1 Task 3 Task 2 Task m Task 4 Organic Computing – Teil 2, Folie 47 - Prof. Dr. Uwe Brinkschulte

2.3 Selbst-X Eigenschaften Taskverschiebung erfolgt z.B. nach: Performanz Energievorrat Temperatur … Prozessor 1 Prozessor 2 Prozessor n . . . Task 1 Task 3 Task 2 Task 4 Task m Organic Computing – Teil 2, Folie 48 - Prof. Dr. Uwe Brinkschulte

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-of- Failure 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

2.3 Selbst-X Eigenschaften Beispiel: Selbstheilung durch neue Taskzuordnung bei Ausfall eines Prozessors Prozessor 1 Prozessor 2 Prozessor n . . . Task 1 Task 3 Task 2 Task 4 Task m Organic Computing – Teil 2, Folie 50 - Prof. Dr. Uwe Brinkschulte

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 1 Prozessor 2 Prozessor n Task 2 . . . Task 1 Task 3 Task 4 Task m Organic Computing – Teil 2, Folie 51 - Prof. Dr. Uwe Brinkschulte

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-of- Attack Organic Computing – Teil 2, Folie 52 - Prof. Dr. Uwe Brinkschulte

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 Task 4 Task m Organic Computing – Teil 2, Folie 53 - Prof. Dr. Uwe Brinkschulte

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

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 2.3 Selbst-X Eigenschaften Organic Computing – Teil 2, Folie 55 - Prof. Dr. Uwe Brinkschulte

2.3 Selbst-X Eigenschaften Beispiel: Selbstbewusstsein bei Selbstkonfigurierung Task 1 Benutzt im wesentlichen Festkomma-Arithmetik Task m Gleitkomma-intensive Berechnungen Prozessor 1 (Festkomma-Hardware) Prozessor 2 (Gleitkomma-Hardware) Prozessor n . . . Organic Computing – Teil 2, Folie 56 - Prof. Dr. Uwe Brinkschulte

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

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 Prozessor 2 Prozessor n . . . Task 1 Task 3 Task 2 Task m Task 4 Organic Computing – Teil 2, Folie 58 - Prof. Dr. Uwe Brinkschulte

2.4 Definition von Emergenz Was ist Emergenz? Einige Definitionen: "In philosophy, systems theory, science, 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) Termiten-Kolonie Organic Computing – Teil 2, Folie 59 - Prof. Dr. Uwe Brinkschulte

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 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) Eis Kristall Organic Computing – Teil 2, Folie 60 - Prof. Dr. Uwe Brinkschulte

2.4 Definition von Emergenz Emergenz in der Wahrnehmung 2.4 Definition von Emergenz 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

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

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

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

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

2.4 Definition von Emergenz Statistische Definition der Entropie eines binären Informationssystems nach Shannon: Gegeben sei nun ein System mit n unabhängigen Ereignissen 1). Die Entropie des System nach Shannon ist nun definiert als der mittlere Informationsgehalt dieser Ereignisse: 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

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

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))) = 2.52 H = -(3/7 * log2(3/7)) + 4/7 * log2(4/7)) = 0.98 Organic Computing – Teil 2, Folie 68 - Prof. Dr. Uwe Brinkschulte

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 => 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

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

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

2.4 Definition von Emergenz Vor Anwendung des Ameisenhaufen-Algorithmus Nach Anwendung des Ameisenhaufen-Algorithmus Mabsolut(t1) = 3.16 - 2.52 = 0.64 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

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 Fahrstuhl- anforderung 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

2.4 Definition von Emergenz 5 Stockwerke  5 Ereignisse Hmax = log2(5) = 2.32 H(t1) = -(4 * (1/4 * log2(1/4)) = 2 Mabsolut(t1) = 2.32 - 2 = 0.32 Stockwerk 5 Stockwerk 4 H(t2) = -(3/4 * log2(3/4) + 1/4 * log2(1/4))) = 0.81 Mabsolut(t2) = 2.32 - 0.81 = 1.15 Mrelativ(t1,t2) = 2 - 0.81 = 1.19 Stockwerk 3 Stockwerk 2 Stockwerk 1 t = t1 t = t2 Fahrstuhl 1 Fahrstuhl 2 Fahrstuhl 3 Fahrstuhl 4 Organic Computing – Teil 2, Folie 74 - Prof. Dr. Uwe Brinkschulte

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

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

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

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

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änger- und Nachfolger-Fahrzeug Fahrzeug teilt seinem Nachfolger eigene Geschwindigkeits- änderung mit Fahrzeug teilt seinem Nachfolger gewünschten Sicherheits- abstand mit Organic Computing – Teil 2, Folie 79 - Prof. Dr. Uwe Brinkschulte

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

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

Organic Computing – Teil 2, Folie 82 - Prof. Dr. Uwe Brinkschulte 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

Organic Computing – Teil 2, Folie 83 - Prof. Dr. Uwe Brinkschulte 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

Organic Computing – Teil 2, Folie 84 - Prof. Dr. Uwe Brinkschulte 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

Organic Computing – Teil 2, Folie 85 - Prof. Dr. Uwe Brinkschulte 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

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

Akzeptables Verhalten Nicht-akzeptables Verhalten 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

2.6 Herausforderungen Flexibles Verhalten eines selbstorganisierenden Systems: Gegeben sei eine Änderung des akzeptables Verhaltens b Stark flexibles Verhalten bezüglich b Akzeptables Verhalten (alt) Schwach flexibles Verhalten bezüglich b Akzeptables Verhalten (neu) Übergangsverhalten Nicht flexibles Verhalten bezüglich b Nicht-akzeptables Verhalten Organic Computing – Teil 2, Folie 88 - Prof. Dr. Uwe Brinkschulte

Organic Computing – Teil 2, Folie 89 - Prof. Dr. Uwe Brinkschulte 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