Download - Digitales Leben
![Page 1: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/1.jpg)
Digitales Leben
Tierra, Avida & Physis
Autor: Donald Barkowski
![Page 2: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/2.jpg)
ÜbersichtMotivationTierraGenetische ProgrammierungAvidaPhysis
![Page 3: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/3.jpg)
MotivationDefinition von Artificial Life:
„Das Studieren von Leben mit Hilfe von menschengeschaffenen Analogien zu lebenden Systemen“
Begriffsprägung:Konferenz „Artificial Life I“ (1987)
![Page 4: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/4.jpg)
Motivationzwei Ausprägungen von Artificial
Lifestrong alife: Leben ist unabhängig
vom Mediumweak alife: Leben existiert nur auf
Kohlenstoffbasis
![Page 5: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/5.jpg)
MotivationDas Spiel Core War (Scientific
American, Mai 1984)Assemblerprogramme kämpfen um
HauptspeicherKampfstrategie: Stein-Schere-PapierSieg: Gegner wird nicht mehr
ausgeführtkeine Mutationen
![Page 6: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/6.jpg)
Motivationspezielle Programmiersprache:
Redcodewenige verschiedene Befehlekurze Befehlealle Speicherzugriffe modulo
Speichergrößekeine externen Register
![Page 7: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/7.jpg)
MotivationWeiterentwicklung: 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
![Page 8: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/8.jpg)
MotivationErfahrungen durch Core world
Programmiersprache:nur relative Sprungadressen(Touring-)VollständigkeitAbgeschlossenheitInterpreter besser als direkte Ausführung, wenn
auch langsamervirtuelle Welt:
keine Sprünge außerhalb reserviertem Speicherbereich (Modulo-Arithmetik)
![Page 9: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/9.jpg)
ÜbersichtMotivationTierraGenetische ProgrammierungAvidaPhysis
![Page 10: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/10.jpg)
Tierraab Ende 1989 von Tom
Ray entwickeltMotivation: Beobachtung
von Leben abseits von Kohlenstoffverbindungen
“Our current knowledge of life and evolution is based on a sample size of one: life on Earth.”
![Page 11: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/11.jpg)
Tierraneuer BefehlssatzMutationen und RekombinationFitness = Fortpflanzungs- und
Überlebensfähigkeit
Fast alle Versuche, den evolutionären Aspekt von Tierra zu verbessern, sind gescheitert
![Page 12: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/12.jpg)
TierraEigene Welt: virtual machine
führt Maschinenbefehle ausCode flexibel genug für Evolution:
unterstützt Mutation (bitweise Änderung) und Rekombination (Austausch von Programmsegmenten)
mutierter Code oft genug ausführbarTopologie: Entfernung = Zugriffszeit
![Page 13: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/13.jpg)
TierraEigenes „darwinistisches“ Betriebssystem
verwaltet RAM (Material, Soup) und CPU (Energie)
Reaper„tötet“ bei Bedarf älteste Programmeschafft freie Speicherbereiche für Nachwuchs
Slicerteilt Prozessen Zeitscheiben zu (nicht-
deterministisch)verwaltet (virtuellen) Prozessor
![Page 14: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/14.jpg)
Wirt-Parasit-Experiment
viele Wirte (rot) kurz nach der Injektion: einige Parasiten (gelb) vorhanden
![Page 15: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/15.jpg)
Wirt-Parasit-Experiment
Parasiten haben sich stark vermehrt Wirte in Bedrängnis erstes Auftreten von resistenten Wirten (blau)
![Page 16: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/16.jpg)
Wirt-Parasit-Experiment
Parasiten werden räumlich verdrängt nicht-resistente Wirte schwinden weiter resistente Wirte vermehren sich und verdrängen Parasiten
![Page 17: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/17.jpg)
Wirt-Parasit-Experiment
Parasiten werden selten (sterben bald aus) nicht-resistente Wirte schwinden weiter resistente Wirte dominante Lebensform
![Page 18: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/18.jpg)
Tierradank Tierra erstmalig beobachtet:
zielgerichtete und erfolgreiche Evolution von Programmen
Bedeutung von Koevolution im (virtuellen) Evolutionsprozess
![Page 19: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/19.jpg)
TierraABER:
⊖keine Einflussnahme auf Evolutionsziel
⊖alle Prozesse im gleichen Speicher⇒ Ergebnisse nicht reproduzierbar
![Page 20: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/20.jpg)
ÜbersichtMotivationTierraGenetische ProgrammierungAvidaPhysis
![Page 21: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/21.jpg)
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
![Page 22: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/22.jpg)
Genetische Programmierung
Programmiersprache: z.B. LISPLesbarkeiteinfache Struktur
Darstellung des Codes: Bauminnere Knoten:
FunktionenBlätter: TerminaleMaximalhöhe
![Page 23: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/23.jpg)
Genetische Programmierung
Mutation: spontane Veränderung der Knoten / Blätter
Rekombination: Austausch von Teilbäumen (Crossover)
![Page 24: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/24.jpg)
Genetische Programmierung
Ansprüche an die Fitnessfunktionmöglichst exakte Erfassung der
Qualitätauch differenzierte Bewertung von
Teillösungenevtl. mehrere Kriterien
Berücksichtigung von Laufzeit/KomplexitätFitness im „darwinistischen“ Sinne
![Page 25: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/25.jpg)
Genetische Programmierung
Abbruchbedingung:bestimmte Anzahl von Generationenexakte Lösunghinreichend genaue Lösung
![Page 26: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/26.jpg)
Genetische Programmierung
mögliche Selektionskriterien:immer fitteste Individuen nehmenstochastischer Prozess: auch schlechter
angepasste Individuen können überleben
meistens: zufällige Auswahl einer Gruppe, dann Selektion mit Fitnessfunktion (Ziehen mit Zurücklegen)
![Page 27: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/27.jpg)
Genetische Programmierung
Algorithmus:
![Page 28: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/28.jpg)
Genetische Programmierung
Effizienzverbesserungen:bessere Sprachen (auf Kosten der
Lesbarkeit)ADFs (automatisch definierte
Funktionen)Analogie zum klassischen
Programmieren: UnterprogrammaufrufeFestlegungen bezüglich StrukturAufwand schwer abschätzbar
![Page 29: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/29.jpg)
Genetische Programmierung
Problembezogen / ErgebnisorientiertReplikation nicht Bestandteil des
Algorithmuskein Artificial Lifewichtig: Reproduktion/Aufbereitung
des Ergebnisses muss möglich sein!!
![Page 30: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/30.jpg)
ÜbersichtMotivationTierraGenetische ProgrammierungAvidaPhysis
![Page 31: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/31.jpg)
Avida
Artificial Life+
genetischeProgrammierung
![Page 32: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/32.jpg)
AvidaAnlehnung an Tierra, aber:
getrennter Speicher für Programmeeigene virtuelle CPU für jedes
Programmmodifizierbare Fitnessfunktion
(Belohnung für erwünschte Eigenschaft)
![Page 33: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/33.jpg)
AvidaDie virtuelle CPU:
Köpfe
Genom Register
Stack
Instruction Pointer Puffer
![Page 34: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/34.jpg)
AvidaBefehlssatz:
individuelle Auswahl möglichevtl. selbstdeklarierte Funktionen
Anforderungen:Vollständigkeit (auch: alles lässt sich ohne
großen Aufwand berechnen)Robustheit: Anweisungen führen in jedem
Kontext (sinnvolle) Aktionen ausmöglichst geringe Redundanz
![Page 35: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/35.jpg)
Avidawichtiges Konzept: „nop“-Anweisungen
keine Aktion zur Ausführungszeitverändern u.U. den vorangehenden Befehl
3 „Befehlsklassen“bilden Labels (Sprungziele) im Codekomplementäre nops:
nop-A & nop-Bnop-B & nop-Cnop-C & nop-B
![Page 36: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/36.jpg)
AvidaBefehlssatz (Ausschnitt)
Befehl Auswirkungh-alloc Reserviere Speicher für einen Nachkommenh-search Finde ein komplementäres Muster und platziere
den Flow-Head dahintermov-head Bewege den ?IP? an die gleiche Stelle wie den
Flow-Headh-copy Kopiere einen Befehl vom Lese- zum Schreibkopf
und schiebe beide eine Position weiterif-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
![Page 37: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/37.jpg)
Avidaein 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. nop-C # nop-A # 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.
![Page 38: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/38.jpg)
AvidaNachteil: Der Benutzer bestimmt
den Befehlssatz und legt damit auch die (virtuelle) Hardware fest
![Page 39: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/39.jpg)
ÜbersichtMotivationTierraGenetische ProgrammierungAvidaPhysis
![Page 40: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/40.jpg)
PhysisInformation über
den ausführenden Prozessor ist Teil des Genoms
entwickelt ab 2000Ähnlich zu Tierra
und Avida, aber universeller einsetzbar
![Page 41: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/41.jpg)
PhysisUniverselle Prozessorarchitektur,
auf der viele Prozessortypen implementiert werden können
Interaktion zwischen Prozessen möglich (z.B. Parasitismus)
detaillierte Messungen und Beobachtungen möglich
![Page 42: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/42.jpg)
PhysisStandard-Prozessor (mit festem
Befehlssatz)
![Page 43: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/43.jpg)
Physis
Nach der Evolution:1. Nachbau des Prozessors gemäß
der Beschreibung
![Page 44: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/44.jpg)
Physis
Nach der Evolution:2. Programmcode auf dem neuen
Prozessor ausführen
![Page 45: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/45.jpg)
PhysisTatsächlich: Laufzeitvorteile
![Page 46: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/46.jpg)
Noch Fragen???
? ? ?
![Page 47: Digitales Leben](https://reader035.vdocuments.pub/reader035/viewer/2022062315/56815dd2550346895dcbfcf1/html5/thumbnails/47.jpg)
LiteraturVolker Nissen: Einführung in
Evolutionäre Algorithmen (vieweg 1997)Tierra: www.his.atr.jp/~ray/tierra/Physis: physis.sourceforge.net/
physis.sourceforge.net/old/index.htmlAvidad: http://dllab.caltech.edu/avida/www.wikipedia.orgRichard E. Lenski, et al: The evolutionary
origin of complex features (nature 2002)