Suche

Selbst-organisierende, adaptive Systeme


Dozent(in): Alexander Schiendorfer, Florian Siefert, Hella Seebach
Termin: Vorlesung: Freitag, 10:00 Uhr bis 11:30 Uhr (Raum 1057 N); Globalübung: Mittwoch, 14:00 Uhr bis 15:30 Uhr (Raum 3017 N); Praktikum: Mittwoch, 15:45 Uhr bis 17:15 Uhr (Raum 3017 N);
Gebäude/Raum: Vorlesung: 1057 N; Übung und Praktikum: 3017 N
Ansprechpartner: Alexander Schiendorfer oder Florian Siefert
Anmeldung: Anmeldung über Digicampus


Inhalt der Lehrveranstaltung:

Zukünftige Softwaresysteme sind von einer stärkeren Vernetzung geprägt, deren Handhabbarkeit Techniken erfordert, die über das klassische Repertoire der Softwareentwicklung hinausgehen. Dies bewirkt vor allem eine Ablösung von manueller hin zu autonomerer Verwaltung der Systeme - man denke an autonom erkundende Roboterschwärme, intelligente Versorgungsnetze oder flexible Produktionsanlagen.

Die Natur ist voll von Systemen, die eine hohe Robustheit durch Adaptivität und Selbstorganisation aufweisen. Die Vorlesung "Selbst-organisierende, adaptive Systeme" vermittelt Kenntnisse über Beispiele aus der Biologie, Physik und anderen Bereichen.

Fischschwarm__cropped_1
Ein Fischschwarm bewegt sich zusammenhängend ohne zentrale Steuerung

Wie lassen sich ähnliche Prinzipien in der Entwicklung leistungsfähiger Softwaresysteme nutzbar machen?

Für die Modellierung und Konstruktion adaptiver Systeme in der Informatik ergeben sich dadurch neue Herausforderungen:

  • Vernetzung von heterogenen, eigennützigen Systemen (z.B. Energiewirtschaft) und Design von angemessen Anreizmechanismen zur Koordination
  • Delegation von Entscheidungen an das System -> Optimierung
  • Übergang in der Spezifikation von korrektem Systemverhalten zu optimalem (z.B. Fehlertoleranz in Produktionsanlagen)
  • Modellierung von Unsicherheit und robuste Entscheidungsfindung (nehme ich einen schnellen Flugplan mit 30 Minuten Umstiegzeit oder einen langsameren mit 1:30?) 
  • Entscheidungsfindung in Kollektiven

Im Verlauf der Veranstaltung werden verschiedene Beispiele (u.a. Zombie-Infektionen, Fischschwärme, eigennützige Router, Scheduling-Aufgaben in der Produktion) für derartige Systeme vorgestellt.

Schließlich wird ein Hauptaugenmerk auf die grundlegende Vermittlung von technischen Kompetenzen in der Algorithmik und Konzeptarbeit gelegt, die den Studierenden sowohl in ihrer Berufslaufbahn als auch in anderen Wissenschaftsdisziplinen nützlich sind.

produktionszellen-energienetz-logistik

Selbst-Organisationsmechanismen sowie das Handwerkszeug, um diese in IT-Systemen einsetzen zu können, vermittelt. In praktischen Übungsaufgaben werden die Prinzipien dann von den Studenten in Kleingruppen selbst umgesetzt. Neben der Entwicklung eines entsprechenden Systems aus der Aufgabenstellung wird dabei insbesondere die Analyse des Systemverhaltens und die Auswirkungen kleiner Änderungen im Vordergrund stehen. Jede Gruppe wird mehrmals pro Semester ihre Ergebnisse vorstellen, um einen Austausch von Ideen und Lösungsansätzen zwischen den Studenten anzuregen. Die Prüfung erfolgt mündlich am Ende des Semesters.

Lernziele:

  •  Über den Tellerrand der Informatik hinaus komplexe adaptive Systeme kennenlernen
  •  Prinzipien von verschiedenen Selbst-Organisationsmechanismen verstehen
  •  Vorteile und Probleme von Selbst-Organisation in verschiedenen Domänen verstehen
  •  Anwendungen von Selbst-Organisation für adaptive Systeme in der Informatik kennenlernen
  •  Analysen von selbst-organisierenden Systemen mit komplexem Verhalten durchführen können
  •  Modellierungstechniken und formale Methoden für selbst-organisierende Systeme kennen und anwenden können

Themen:

  • Komplexe Systeme, Chaostheorie und Selbst-Organisation
  • Zelluläre Automaten
  • Multi-Agentensysteme und Schwärme 
  • Interaktive Entscheidungstheorie
  • Koalitionstheorie
  • Computational Social Choice
  • Mechanism Design und Incentive Engineering
  • Software Engineering im Autonomic und Organic Computing
  • Diskrete Optimierung und Constraint Programming


Vorkenntnis für die Lehrveranstaltung:

  • Grundlagen Wahrscheinlichkeitstheorie
  • Kenntnisse der Java-Programmierung empfehlenswert
  • Bereitschaft zu und v.a. Interesse an algorithmischer/mathematischer Problemlösung
     


Literatur zur Lehrveranstaltung:

Empfohlene Sekundärliteratur:

  • Multiagent Systems; Algorithmic, Game-Theoretic, and Logical Foundations, Yoav Shoham and Kevin Leyton-Brown, Cambridge University Press, 2009, http://www.masfoundations.org/

  • Multiagent Systems, Gerhard Weiss, MIT Press, 2013

  • Self-organising Software: From Natural to Artificial Adaptation, Giovanna Di Marzo Serugendo, Marie-Pierre Gleizes, Anthony Karageorgos (eds), Springer 2011
  • Organic Computing — A Paradigm Shift for Complex Systems, Müller-Schloer, Christian, Schmeck, Hartmut, Ungerer, Theo (Eds.), Birkhäuser Basel, 2011
  • An Introduction to Game Theory, Martin J. Osborne, 2002, http://www.economics.utoronto.ca/osborne/igt/

Weitere Begleitliteratur inkl. relevanter Forschungsartikel zur Vorlesung bzw. Übung wird in den Veranstaltungen genannt. 

 


weitere Informationen zu der Lehrveranstaltung:

empfohlenes Studiensemester der Lehrveranstaltung: je nach Prüfungsordnung
Fachrichtung Lehrveranstaltung: Informatik (Alle Master und Diplom Hauptstudium)
Nummer der Lehrveranstaltung: 07331
Dauer der Lehrveranstaltung: 2 SWS
Typ der Lehrveranstaltung: V - Vorlesung
Leistungspunkte: 8 LP
Bereich: Softwaretechnik und Programmiersprachen
Prüfung: Mündliche Prüfung
Begleitende Lehrveranstaltung(en): 07332
Semester: WS 2014/15