Evolution in verteilten Systemen Der Evolutionäre Trader

Slides:



Advertisements
Ähnliche Präsentationen
Systemische Evolutionstheorie und Gefallen-wollen-Kommunikation
Advertisements

Memetische Algorithmen …der Versuch einer Einordnung
INZEST- und INZUCHTVERPAARUNGEN
Die Entstehung neuer Arten
Körperbau und Verhalten geben Hinweise auf die Evolution
Genetische Algorithmen für die Variogrammanpassung
On a Buzzword: Hierachical Structure David Parnas.
Genetische Algorithmen
Genetische Algorithmen
Genetische Algorithmen
Wolf Singer Max Planck Institut für Hirnforschung Frankfurt
3.4 Genetische und evolutionäre Algorithmen
Die moderne Evolutionstheorie
Biochemische Netzwerke und ihre Evolution
Übersicht Einführung (cb, mh)
Evolutionspsychologie und Genetik der Entwicklung
Schneider & Wilkening Kapitel 10
3. März 2000LS VI Workshop: Kalibrierung und Optimierung1/20 Kalibrierung und Optimierung in simulierten Multiagentensystemen Christoph Oechslein.
Definition: Anlage - Umwelt
Ernst Mayr *05. Juli 1904, † 03. Februar 2005
Theorie soziotechnischer Systeme – 12 Thomas Herrmann Informatik und Gesellschaft FB Informatik Universität Dortmund iundg.cs.uni-dortmund.de.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
PowerPoint-Folien zur 2. Vorlesung „Evolutionsstrategie II“
Algorithmus der (1 + 1) – ES mit 1/5-Erfolgsregel in der Minimalform { {
Ingo Rechenberg PowerPoint-Folien zur 7. Vorlesung Evolutionsstrategie I Von der (1 + 1) - ES mit 1/5 - Erfolgsregel zur (1, ) - ES mit mutativer Schrittweitenregelung.
The Emergence of a Language in an Evolving Population of Neural Networks Angelo Cangelosi, Domenico Parisi.
Ich und Freiheit Präsentation der langwierigen Recherchen von Daniela Tatjana Müller & Martin Böss "Hattest du schon einmal einen Traum der dir vollkommen.
Evolutionäre Strategien
Passwort für Dateien zur Vorlesung Allgemeine Biologie: Allgemein
Theodizee-Problem – die atheistische Anfrage
Artenvielfalt Seba Esma. Definition Artenvielfalt ist ein Maß für die Vielfalt der biologischen Arten innerhalb eines Lebensraumes oder geographischen.
Ingo Rechenberg PowerPoint-Folien zur 2. Vorlesung Evolutionsstrategie II Auf dem Weg zu einer ES-Algebra - Kalkül der geschachtelten Evolutionsstrategien.
Autoren: Ingo Paenke, Bernhard Sendhoff, Jon Rowe,
Die Evolution Präsentation von Heinz Ernst
Bewegungsorientierte Gesundheitserziehung Dr. Heinz Recla
Mutation und Selektion
Stehen Schöpfungsglaube und Evolutionstheorie im Widerspruch?
Evolutionäre Algorithmen AS1-7
Fundamente der Computational Intelligence
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Intelligent Design und Darwinismus
Warum sind Geschwister nicht genetisch identisch?
„Von nichts kommt nichts!“ Oder doch? Evolution im Computer
EINFÜHRUNG Ziele: Wissen was die Biologie als Naturwissenschaft ist
One plus One Evolutionary Optimizer
LK BIOLOGIE ?!.
KINSHIP BEHAVIOR Seminar aus angewandter Spieltheorie Christian Artner.
Der Prozess der Artbildung
Synthetische Biologie
Berechenbares Chaos - unvorhersehbare Wirklichkeit
Evolutionäre Algorithmen AS1-7
Ilka Rehr, Geodätisches Institut, Leibniz Universität Hannover
ANN - Simulator Rainer Trummer Ferdinand Schober Christian Spielberger.
LK BIOLOGIE ?!.
Seminar: Software-Architektur Einführender Vortrag
Evolutionärer Entwurf neuronaler Netze
Haas Isabella Holzmüller Eva
Evolutionäre Algorithmen Rüdiger Brause
Design und Optimierung optischer Systeme durch Neuronale Netze und Genetische Algorithmen.
Programmierung von CNC-Messgeräten mit genetischen Algorithmen Simeon Perlov.
Biopsychosoziale Entwicklung (1) Anlage oder Umwelt?
Evolutionäre Algorithmen. Anwendung evolutionärer Algorithmen.
Evolutionstheorien.
Evolution.
Was aber ist eine Art? Man kann nicht einfach sagen, das was anders aussieht, ist eine andere Art zunächst einmal nach Merkmalen: Aber nach welchen Merkmalen?:
ÖBFV Führungskräfteseminar 2017
LK BIOLOGIE ?!.
Genetische Algorithmen
LK BIOLOGIE ?!.
 Präsentation transkript:

Evolution in verteilten Systemen Der Evolutionäre Trader Markus Völter, MATHEMA AG markus.voelter@mathema.de

Überblick Evolution in der Biologie, Prinzipien Beispiel: Biston Betularia Softwaresysteme und Evolution Abgrenzung zu genetischen Algorithmen Service Evolution Der evolutionäre Trader Anwendungsbeispiele Erweiterungsmöglichkeiten

Evolution in der Biologie mit Unterstützung von Jens Tränkle

Evolution in der Biologie Evolution ist der Motor der Entwicklung Sämtliche biologische Entwicklung beruht auf Evolution Offensichtlich funktioniert das! Prinzipien Mutation Fitness Selektion (Separation, gen. Isolation) Randbedingungen Population (Genpool) Umwelt

Prinzipien: Mutation Ein Lebewesen ändert sich „zufällig“ in seiner Genstruktur Es ist unklar, ob diese Änderung ...sich durchsetzt ...von Vorteil ist, oder von Nachteil ...oder überhaupt keinen Einfluss hat Hängt ab von Fitness/Umwelt

Randbedingung: Umwelt Eine Spezies befindet sich in einer bestimmten Umwelt Diese Umwelt ändert sich möglicherweise im Laufe der Zeit Umwelt erzeugt den Selektionsdruck

Prinzipien: Fitness Fitness definiert die Eignung eines Lebewesens, mit der gegebenen Umwelt zurecht zu kommen. Sie kann explizit festgelegt werden: In Relation zum idealen Phänotyp Man erkennt die Fitness an der Überlebensquote (bzw. der Fortpflanzungswahrscheinlichkeit bzgl. Des Genpools)

Prinzipien: Population Eine Menge „gleicher“ Lebewesen, deren interne genetische Struktur aber leicht unterschiedlich ist. Änderungen treten auf entweder an einem Individuum (üblicherweise Krankheit) bei Fortpflanzung wichtige (und dauerhafte) Änderungen treten durch die Genfrequenz auf, d.h. eine Population entwickelt sich im Laufe von Generationen

Prinzipien: Selektion Basierend auf der Fitness überleben Lebewesen mit einer bestimmten Genstruktur (Genotyp) eher, als andere. Für das Überleben ist der Phänotyp verantworlich, d.h. die nach aussen sichtbaren Konsequenzen den Genotyps. Fittere bringen ihre Gene mit höherer Frequenz in die nächste Generation ein Selektion sorgt also dafür, dass die für eine bestimmte Umwelt besser geeigneten Lebewesen „bevorzugt“ werden, und die anderen verdrängt werden und letztlich aussterben.

Beispiel: Biston Betularia (Englische Motte) Zwei verschiedene Arten: Dunkel und Hell Dunkel/Hell abh. von einem Gen 1848: <2% dunkel 1898: 95% aller Motten dunkel, in industrialisierten Gebieten Deutlich weniger in ländlichen Gebieten Änderung der Häufigkeit im Genpool der Population: Evolution

Beispiel: Biston Betularia (fortgesetzt) Änderung der Häufigkeit von 2% auf 95% aufgrund von Selektion: Industrielle Revolution Bäume dunkel vom Rauch Vögel konnten die hellen besser sehen, und fraßen daher mehr helle. Die dunklen hatten daher mehr Nachfahren: Selektion

Definition Evolution Biologie: Veränderung des Genpools einer Population im Laufe von Generationen Allgemeiner: Änderung der Eigenschaften in einer Menge von Entitäten Schrittweise: Eigenschaften mutieren (zufällig) Individuen werden selektiert (aufgrund Fitness bzgl. der Umwelt; Selektionsdruck) Populationen entwickeln sich weiter

Softwaresysteme und Evolution

Traditionelles Vorgehen Analyse – Design – Impementierung Software wird für eine bestimmte Umwelt (Systemlandschaft) entwickelt Änderungen bedürfen erneuter Analyse Iterative Prozesse Ziel ist immer noch ein System für eine Systemlandschaft

Schwachstellen des traditionellen Ansatzes Moving Target Problem: Die Anforderungen ändern sich während der Entwicklung System wird nie „fertig“ Instabil Analyse ist teuer und zeitaufwendig

Ziel: Entwickeln für eine sich ändernde Umwelt Frameworks Variable Stellen können „konfiguriert“ werden Nachteil: Variable Stellen müssen von vornherein bekannt sein Systemfamilien Familie von Systemen ist Ziel der Entwicklung Ziel sind verschiedene, aber statische Umgebungen Nachteil: Auch hier müssen die Unterscheidungs-merkmale vorher bekannt sein

Gegenhypothese: „Mob Software“ Richard P. Gabriels Vortrag auf der OOPSLA 2000 Planung im Rahmen von SW-Entwicklung ist nicht möglich Anarchie ist besser geeignet um zu „schönen“ Ergebnissen zu kommen Linux Entwicklung: Viele Leute arbeiten „unkontrolliert“ an der Weiterentwicklung Ergebnis entsteht aus dieser „chaotischen“ Entwicklung durch „Selektion“

Genetische Algorithmen Anderes Ziel Nicht die „genetische“ Erstellung von Software ist das Ziel, sondern: Verwendung von explizit programmierten genetischen Vorgehensweisen zur Lösung eines Problems Üblicherweise Such- oder Optimierungsprobleme Funktioniert nur, wenn es nicht nur die Lösung gibt, sondern verschiedene akzeptable Lösungen (Kontinuum)

Genetische Algorithmen (Beispiel)

Service Evolution

Definition Service Eine Softwarekomponente erbringt einen bestimmten Dienst Dieser wird mittels eines Interfaces spezifiziert Client ist nur gegen Interface programmiert, kennt die Implementierung nicht Beispiele: Java Interface - Object CORBA oder RMI Objekte Enterprise Java Beans Jini

Definition Service (II) Service spezifiziert üblicherweise nur die Signatur von Operationen und (in Prosa) deren Bedeutung Es wird nicht spezifiziert: Qualität des Services, z.B. Reaktionszeit Genauigkeit Zuverlässigkeit Verfügbarkeit ...

evolutionäre Verbesserung der Qualität eines Services. Service Evolution ...ist die evolutionäre Verbesserung der Qualität eines Services.

evolutionäre Verbesserung der Qualität eines Services. Service Evolution evolutionäre Verbesserung der Qualität eines Services. evolutionär: schrittweise, ungeplante Veränderung einer Menge von Individuen

evolutionäre Verbesserung der Qualität eines Services. Service Evolution evolutionäre Verbesserung der Qualität eines Services. Verbesserung: Selektionsverfahren sorgt dafür, dass Service später besser an die Umwelt angepasst ist als vorher.

evolutionäre Verbesserung der Qualität eines Services. Service Evolution evolutionäre Verbesserung der Qualität eines Services. Qualität des Services: Alle Freiheitsgrade, die die Spezifikation des Services noch ermöglicht. z.B. Performanz, Genauigkeit, Zuverlässigkeit, ...

Merkmale: Service Evolution „Service“ muss durch eine Menge von individuellen Service-Instanzen repräsentiert werden. Jede Instanz muss sich verändern können. Es muss eine Art Rückmeldung (Selektion) durch die Umgebung passieren. Die Service-Instanzen wissen nicht unbedingt, warum sie von der Umwelt bevorzugt werden.

Der evolutionäre Trader

Trader (I): Was ist das? Trader liefert Dienstinstanzen basierend auf einer beschreibenden Anfrage eines Clients

Trader (II): Eigenschaften Beschreibung besteht aus Interface des Dienstes Einer Menge an Properties Auch „komplexere“ Queries sind prinzpiell möglich Trader entscheidet, welche Instanz zurückgeliefert wird, wenn mehrere auf die Suchanfrage passen

Trader (III): Vorteile Entkopplung der Provider von ihren Benutzern Neue Dienstprovider können dynamisch registriert und zurückgezogen werden Lastverteilung ist möglich Round Robin Basierend auf Lastauskunft Basis für Failover Wenn Dienst stirbt, dann kann Client sich einen neuen holen Findet Anwendung u.a. in: CORBA Trader Service Jini‘s Lookup Service

Der evolutionäre Trader Population Mehrere Provider pro Dienst Umwelt muss vorhanden sein  Clients Selektion der Dienste  Rückmeldung der Clients, Policy des Traders Zufällige Mutation  „Fehler“ des Traders Weiterentwicklung  Veränderung im Dienst

Evolutionärer Trader: Anfrage Client stell Anfrage an den Trader

Evolutionärer Trader: Referenz-Lieferung Trader liefert Referenz auf Service zurück, plus ein VotingTicket

Evolutionärer Trader: Verwendung der Srv. Client verwendet den Service, ohne den Trader zu benötigen

Evolutionärer Trader: Voting Danach wendet sich der Client an den Trader und bewertet den Service; dazu benötigt er das VotingTicket

Evolutionärer Trader: Voting II Speichert sich die Bewertung in einer Datenbank ab

Evolutionärer Trader: Voting III Trader führt Statistiken über die „Bewertung“ der Services durch die Clients

Evolutionärer Trader: Anfrage (II) Client stell Anfrage an den Trader Der Service mit dem besten Rating wird zurückgeliefert

Evolutionärer Trader: Information Trader informiert die Services regelmässig über ihre Qualität, und die der anderen (anonym)

Evolutionärer Trader: Entwicklungsphase Die Services können sich nun verändern, wenn sie wissen, dass ihre Qualität schlecht ist Sie wissen aber nicht wie sie sie verbessern können; Annahmen sind möglich

Evolutionärer Trader: Anfrage (III) Trader liefert manchmal auch den nicht-besten Dienst zurück; dieser kann sich ja in der Zwischenzeit verbessert haben!

Evolutionärer Trader: Anfrage (IV) Wenn sehr viele clients den besten Service bekommen, wird dessen Belastung möglicherweise höher; Damit wird sein Rating schlechter. Andere Services bekommen wieder eine Chance.

Evolutionärer Trader: Benefits Alle Vorteile des Traders Kein Koordinationsaufwand über die Art der Bewertung Diese Koordination ist grosses Problem!! Extrem lose Kopplung Services entwickeln sich zufällig weiter Chance für unerwartete Veränderung Dynamische, schrittweise Anpassung an eine sich verändernde Umwelt Clients bestimmen die Qualitäten der Services, allerdings indirekt

Evolutionärer Trader: Nachteile Je nach Szenario, langsame Anpassung an sich verändernde Umwelt Nicht jeder Client bekommt immer den besten Service Qualität der „Dienste“ kann sich ändern, auch nach unten

Anwendungsbeispiele

Beispiel: Matrix Calculation Service Dienst zur Berechnung von Matrixoperationen multiplizieren, dividieren, addieren, ... Qualitätsaspekte: Genauigkeit Performanz Rating: z.B. Zahl zwischen 0 und 100 Weiterentwicklung: Verbesserung dieser Aspekte durch Programmierung

Beispiel: Radarstellungen Radarstellung bietet Dienst: Scannen eines Geibietes Überschneiden: Also mehrere „gleiche“ Dienste Untersch. Qualität: Wetter, Jamming, Position Rating durch die CCC Clients Verbesserung d. Qual.: Anderes Band Reparatur Verlegung

Erweiterungsmöglichkeiten

Erweiterung: Verhungern lassen Wenn die verschiedene Dienste unter der Kontrolle des Traders laufen, können den schlechteren Diensten die Resourcen beschränkt werden: Handler Threads Thread Priorität, etc.

Erweiterung: „Sozialhilfe“ Trader kann den schlechten Diensten mit Absicht bessere Ratings zukommen lassen, um im Falle von Ausfällen des besten noch ein Backup zu haben. Insbesondere interessant im Zusammenhang mit „Verhungern lassen“

Erweiterung: Benachrichtigung bei Änderung Trader liefert manchmal auch die nicht-optimalen Provider zurück, da die sich potentiell geändert haben können. Evolution ist sehr langsam. Neue Services (oder geänderte) benachrichtigen den Trader über die Änderung Trader gibt denen gezielt mehr Chancen

Das war‘s! Vielen Dank. Fragen? Kritik? Anregungen?