Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Merten Gaubatz Geändert vor über 10 Jahren
1
Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski
2
Übersicht Motivation Tierra Genetische Programmierung Avida Physis
3
Motivation Definition von Artificial Life: „Das Studieren von Leben mit Hilfe von menschengeschaffenen Analogien zu lebenden Systemen“ Begriffsprägung: Konferenz „Artificial Life I“ (1987)
4
Motivation zwei Ausprägungen von Artificial Life
strong alife: Leben ist unabhängig vom Medium weak alife: Leben existiert nur auf Kohlenstoffbasis
5
Motivation Das Spiel Core War (Scientific American, Mai 1984)
Assemblerprogramme kämpfen um Hauptspeicher Kampfstrategie: Stein-Schere-Papier Sieg: Gegner wird nicht mehr ausgeführt keine Mutationen
6
Motivation spezielle Programmiersprache: Redcode
wenige verschiedene Befehle kurze Befehle alle Speicherzugriffe modulo Speichergröße keine externen Register
7
Motivation Weiterentwicklung: Core World
Mutationen: zufällige Codeänderungen keine Evolution von stabilen oder komplexen Programmen wegen schlechter Unterstützung durch Programmiersprache; Mutationen meist nicht lebensfähig
8
Motivation Erfahrungen durch Core world Programmiersprache:
nur relative Sprungadressen (Touring-)Vollständigkeit Abgeschlossenheit Interpreter besser als direkte Ausführung, wenn auch langsamer virtuelle Welt: keine Sprünge außerhalb reserviertem Speicherbereich (Modulo-Arithmetik)
9
Übersicht Motivation Tierra Genetische Programmierung Avida Physis
10
Tierra ab Ende 1989 von Tom Ray entwickelt
Motivation: Beobachtung von Leben abseits von Kohlenstoffverbindungen “Our current knowledge of life and evolution is based on a sample size of one: life on Earth.”
11
Tierra neuer Befehlssatz Mutationen und Rekombination
Fitness = Fortpflanzungs- und Überlebensfähigkeit Fast alle Versuche, den evolutionären Aspekt von Tierra zu verbessern, sind gescheitert
12
Tierra Eigene Welt: virtual machine führt Maschinenbefehle aus
Code flexibel genug für Evolution: unterstützt Mutation (bitweise Änderung) und Rekombination (Austausch von Programmsegmenten) mutierter Code oft genug ausführbar Topologie: Entfernung = Zugriffszeit
13
Tierra Eigenes „darwinistisches“ Betriebssystem
verwaltet RAM (Material, Soup) und CPU (Energie) Reaper „tötet“ bei Bedarf älteste Programme schafft freie Speicherbereiche für Nachwuchs Slicer teilt Prozessen Zeitscheiben zu (nicht-deterministisch) verwaltet (virtuellen) Prozessor
14
Wirt-Parasit-Experiment
viele Wirte (rot) kurz nach der Injektion: einige Parasiten (gelb) vorhanden
15
Wirt-Parasit-Experiment
Parasiten haben sich stark vermehrt Wirte in Bedrängnis erstes Auftreten von resistenten Wirten (blau)
16
Wirt-Parasit-Experiment
Parasiten werden räumlich verdrängt nicht-resistente Wirte schwinden weiter resistente Wirte vermehren sich und verdrängen Parasiten
17
Wirt-Parasit-Experiment
Parasiten werden selten (sterben bald aus) nicht-resistente Wirte schwinden weiter resistente Wirte dominante Lebensform
18
Tierra dank Tierra erstmalig beobachtet:
zielgerichtete und erfolgreiche Evolution von Programmen Bedeutung von Koevolution im (virtuellen) Evolutionsprozess
19
Tierra ABER: keine Einflussnahme auf Evolutionsziel
alle Prozesse im gleichen Speicher ⇒ Ergebnisse nicht reproduzierbar
20
Übersicht Motivation Tierra Genetische Programmierung Avida Physis
21
Genetische Programmierung
Aufgabe: Generierung eines Computerprogramms anhand von Trainingsdaten Weiterentwicklung von Evolutionären Algorithmen: nicht die Lösung wird entwickelt, sondern der Lösungsweg Spezialfall von Genetischen Algorithmen: Der Algorithmus entsteht direkt in einer (Pseudo-)Programmiersprache
22
Genetische Programmierung
Programmiersprache: z.B. LISP Lesbarkeit einfache Struktur Darstellung des Codes: Baum innere Knoten: Funktionen Blätter: Terminale Maximalhöhe
23
Genetische Programmierung
Mutation: spontane Veränderung der Knoten / Blätter Rekombination: Austausch von Teilbäumen (Crossover)
24
Genetische Programmierung
Ansprüche an die Fitnessfunktion möglichst exakte Erfassung der Qualität auch differenzierte Bewertung von Teillösungen evtl. mehrere Kriterien Berücksichtigung von Laufzeit/Komplexität Fitness im „darwinistischen“ Sinne
25
Genetische Programmierung
Abbruchbedingung: bestimmte Anzahl von Generationen exakte Lösung hinreichend genaue Lösung
26
Genetische Programmierung
mögliche Selektionskriterien: immer fitteste Individuen nehmen stochastischer Prozess: auch schlechter angepasste Individuen können überleben meistens: zufällige Auswahl einer Gruppe, dann Selektion mit Fitnessfunktion (Ziehen mit Zurücklegen)
27
Genetische Programmierung
Algorithmus:
28
Genetische Programmierung
Effizienzverbesserungen: bessere Sprachen (auf Kosten der Lesbarkeit) ADFs (automatisch definierte Funktionen) Analogie zum klassischen Programmieren: Unterprogrammaufrufe Festlegungen bezüglich Struktur Aufwand schwer abschätzbar
29
Genetische Programmierung
Problembezogen / Ergebnisorientiert Replikation nicht Bestandteil des Algorithmus kein Artificial Life wichtig: Reproduktion/Aufbereitung des Ergebnisses muss möglich sein!!
30
Übersicht Motivation Tierra Genetische Programmierung Avida Physis
31
Avida Artificial Life + genetische Programmierung
32
Avida Anlehnung an Tierra, aber: getrennter Speicher für Programme
eigene virtuelle CPU für jedes Programm modifizierbare Fitnessfunktion (Belohnung für erwünschte Eigenschaft)
33
Avida Die virtuelle CPU: Genom Register Instruction Pointer Puffer
Köpfe Stack
34
Avida Befehlssatz: Anforderungen: individuelle Auswahl möglich
evtl. selbstdeklarierte Funktionen Anforderungen: Vollständigkeit (auch: alles lässt sich ohne großen Aufwand berechnen) Robustheit: Anweisungen führen in jedem Kontext (sinnvolle) Aktionen aus möglichst geringe Redundanz
35
Avida wichtiges Konzept: „nop“-Anweisungen
keine Aktion zur Ausführungszeit verändern u.U. den vorangehenden Befehl 3 „Befehlsklassen“ bilden Labels (Sprungziele) im Code komplementäre nops: nop-A & nop-B nop-B & nop-C nop-C & nop-B
36
Avida Befehlssatz (Ausschnitt) Befehl Auswirkung h-alloc
Reserviere Speicher für einen Nachkommen h-search Finde ein komplementäres Muster und platziere den Flow-Head dahinter mov-head Bewege den ?IP? an die gleiche Stelle wie den Flow-Head h-copy Kopiere einen Befehl vom Lese- zum Schreibkopf und schiebe beide eine Position weiter if-label Führe die nächste Instruktion nur dann aus, wenn das Komplement zum gegebenen Muster als letztes kopiert worden ist h-divide Trenne einen Nachkommen zwischen Lese- und Schreibkopf heraus
37
Avida ein einfachstes Genom (nur selbstreproduzierend) # --- Setup --
h-alloc # Allocate extra space at the end of the genome to copy the offspring into. h-search # Locate an A:B template (at the end of the organism) and place the Flow-Head after it nop-C # nop-A # mov-head # Place the Write-Head at the Flow-Head (which is at beginning of offspring-to be). nop-C # [ Extra nop-C commands can be placed here w/o harming the organism! ] # --- Copy Loop -- h-search # No template, so place the Flow-Head on the next line (to mark the beginning of the copyloop) h-copy # Copy a single instruction from the read head to the write head (and advance both heads!) if-label # Execute the line following this template only if we have just copied an A:B template. h-divide # Divide off offspring! (note if-statement above!) mov-head # Otherwise, move the IP back to the Flow-Head at the beginning of the copy loop. nop-A # End label. nop-B # End label.
38
Avida Nachteil: Der Benutzer bestimmt den Befehlssatz und legt damit auch die (virtuelle) Hardware fest
39
Übersicht Motivation Tierra Genetische Programmierung Avida Physis
40
Physis Information über den ausführenden Prozessor ist Teil des Genoms
entwickelt ab 2000 Ähnlich zu Tierra und Avida, aber universeller einsetzbar
41
Physis Universelle Prozessorarchitektur, auf der viele Prozessortypen implementiert werden können Interaktion zwischen Prozessen möglich (z.B. Parasitismus) detaillierte Messungen und Beobachtungen möglich
42
Physis Standard-Prozessor (mit festem Befehlssatz)
43
Physis Nach der Evolution:
1. Nachbau des Prozessors gemäß der Beschreibung
44
Physis Nach der Evolution:
2. Programmcode auf dem neuen Prozessor ausführen
45
Physis Tatsächlich: Laufzeitvorteile
46
Noch Fragen??? ? ? ?
47
Literatur Volker Nissen: Einführung in Evolutionäre Algorithmen (vieweg 1997) Tierra: Physis: physis.sourceforge.net/ physis.sourceforge.net/old/index.html Avidad: Richard E. Lenski, et al: The evolutionary origin of complex features (nature 2002)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.