Transcript
Page 1: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Digitales Leben

Tierra, Avida & Physis

Autor: Donald Barkowski

Page 2: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Übersicht

MotivationTierraGenetische ProgrammierungAvidaPhysis

Page 3: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Motivation

Definition 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 Tierra, Avida & Physis Autor: Donald Barkowski

Motivation

zwei Ausprägungen von Artificial Lifestrong alife: Leben ist unabhängig

vom Mediumweak alife: Leben existiert nur auf

Kohlenstoffbasis

Page 5: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Motivation

Das 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 Tierra, Avida & Physis Autor: Donald Barkowski

Motivation

spezielle Programmiersprache: Redcodewenige verschiedene Befehlekurze Befehlealle Speicherzugriffe modulo

Speichergrößekeine externen Register

Page 7: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Motivation

Weiterentwicklung: Core WorldMutationen: zufällige

Codeänderungenkeine Evolution von stabilen oder

komplexen Programmen wegen schlechter Unterstützung durch Programmiersprache; Mutationen meist nicht lebensfähig

Page 8: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Motivation

Erfahrungen durch Core worldProgrammiersprache:

nur relative Sprungadressen(Touring-)VollständigkeitAbgeschlossenheitInterpreter besser als direkte Ausführung, wenn

auch langsamer

virtuelle Welt:keine Sprünge außerhalb reserviertem

Speicherbereich (Modulo-Arithmetik)

Page 9: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Übersicht

MotivationTierraGenetische ProgrammierungAvidaPhysis

Page 10: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

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.”

Page 11: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Tierra

neuer BefehlssatzMutationen und RekombinationFitness = Fortpflanzungs- und

Überlebensfähigkeit

Fast alle Versuche, den evolutionären Aspekt von Tierra zu verbessern, sind gescheitert

Page 12: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Tierra

Eigene Welt: virtual machinefü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 Tierra, Avida & Physis Autor: Donald Barkowski

Tierra

Eigenes „darwinistisches“ Betriebssystemverwaltet 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 Tierra, Avida & Physis Autor: Donald Barkowski

Wirt-Parasit-Experiment

viele Wirte (rot) kurz nach der Injektion: einige Parasiten (gelb) vorhanden

Page 15: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Wirt-Parasit-Experiment

Parasiten haben sich stark vermehrt Wirte in Bedrängnis erstes Auftreten von resistenten Wirten (blau)

Page 16: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

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 Tierra, Avida & Physis Autor: Donald Barkowski

Wirt-Parasit-Experiment

Parasiten werden selten (sterben bald aus) nicht-resistente Wirte schwinden weiter resistente Wirte dominante Lebensform

Page 18: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Tierra

dank Tierra erstmalig beobachtet:zielgerichtete und erfolgreiche

Evolution von ProgrammenBedeutung von Koevolution im

(virtuellen) Evolutionsprozess

Page 19: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Tierra

ABER: ⊖keine Einflussnahme auf

Evolutionsziel⊖alle Prozesse im gleichen Speicher

⇒ Ergebnisse nicht reproduzierbar

Page 20: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Übersicht

MotivationTierraGenetische ProgrammierungAvidaPhysis

Page 21: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

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 Tierra, Avida & Physis Autor: Donald Barkowski

Genetische Programmierung

Programmiersprache: z.B. LISPLesbarkeiteinfache Struktur

Darstellung des Codes: Bauminnere Knoten:

FunktionenBlätter: TerminaleMaximalhöhe

Page 23: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Genetische Programmierung

Mutation: spontane Veränderung der Knoten / Blätter

Rekombination: Austausch von Teilbäumen (Crossover)

Page 24: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

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ät

Fitness im „darwinistischen“ Sinne

Page 25: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Genetische Programmierung

Abbruchbedingung:bestimmte Anzahl von Generationenexakte Lösunghinreichend genaue Lösung

Page 26: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

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 Tierra, Avida & Physis Autor: Donald Barkowski

Genetische Programmierung

Algorithmus:

Page 28: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

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 Tierra, Avida & Physis Autor: Donald Barkowski

Genetische Programmierung

Problembezogen / ErgebnisorientiertReplikation nicht Bestandteil des

Algorithmuskein Artificial Lifewichtig: Reproduktion/Aufbereitung

des Ergebnisses muss möglich sein!!

Page 30: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Übersicht

MotivationTierraGenetische ProgrammierungAvidaPhysis

Page 31: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Avida

Artificial Life+

genetischeProgrammierung

Page 32: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Avida

Anlehnung 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 Tierra, Avida & Physis Autor: Donald Barkowski

Avida

Die virtuelle CPU:

Köpfe

GenomRegister

Stack

Instruction Pointer Puffer

Page 34: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Avida

Befehlssatz: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 Tierra, Avida & Physis Autor: Donald Barkowski

Avida

wichtiges Konzept: „nop“-Anweisungenkeine 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 Tierra, Avida & Physis Autor: Donald Barkowski

Avida

Befehlssatz (Ausschnitt)Befehl Auswirkungh-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

Page 37: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

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. 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 Tierra, Avida & Physis Autor: Donald Barkowski

Avida

Nachteil: Der Benutzer bestimmt den Befehlssatz und legt damit auch die (virtuelle) Hardware fest

Page 39: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Übersicht

MotivationTierraGenetische ProgrammierungAvidaPhysis

Page 40: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Physis

Information über den ausführenden Prozessor ist Teil des Genoms

entwickelt ab 2000Ähnlich zu Tierra

und Avida, aber universeller einsetzbar

Page 41: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

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

Page 42: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Physis

Standard-Prozessor (mit festem Befehlssatz)

Page 43: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Physis

Nach der Evolution:1. Nachbau des Prozessors gemäß

der Beschreibung

Page 44: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Physis

Nach der Evolution:2. Programmcode auf dem neuen

Prozessor ausführen

Page 45: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Physis

Tatsächlich: Laufzeitvorteile

Page 46: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Noch Fragen???

? ? ?

Page 47: Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski

Literatur

Volker 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)


Recommended