Blog durchsuchen
Profil

Martin Bäker ist Physiker.
Er hat in Hamburg studiert und über die Simulation von Elementarteilchenprozessen promoviert. Seit 1996 erforscht er an der TU Braunschweig das mechanische Verhalten moderner Werkstoffe.
Wie Cäsar über sich in der dritten Person zu schreiben, findet er ein wenig seltsam.

« vorheriger Beitrag  · nächster Beitrag »

05.02.11 · 19:10 Uhr

Noch mehr genetische Algorithmen zum Ausprobieren

Kategorie: Naturwissenschaften  ·  Kommentare: 4

Die Auto-Evolution neulich hat ja einigen von euch ganz gut gefallen. ich habe eben mal ein bisschen nach ähnlichen Dingen gestöbert:

Das einfache Evolution java applet lässt vier Amöben in einem Aquarium herumschwimmen - ab und zu senden sie böse Fühler aus, die andere Amöben umbringen.
amoebenEvolution.jpg
Im Laufe der Zeit werden die Fühler länger und die Amöben drehen sich viel schneller, um die anderen zu erwischen. Ganz nett zum angucken, aber so richtig mitreißend ist es nicht.

Wer genetische Algorithmen verstehen will, der sollte vielleicht mit dem Java-Genitor anfangen: Dort wird eine Landschaft generiert (man spricht ja immer gern von "Fitness-Landschaft"), in der die "Käfer" (eigentlich nur kleine Punkte) den höchsten Punkt suchen. Man sieht sehr schön, wie Mutation und Selektion wirken, mit entsprechendem Knopf kann man sich das Wirken anzeigen lassen. Als Einführung in genetische Algorithmen sicher ganz praktisch.

Eaters lässt kleine, zweidimensionale Tierchen über eine Landschaft laufen. Die Landschaft ist mit "Pflanzen" bedeckt, die von den "Eaters" gefressen werden.
eaters.jpg
Die Eaters haben eine einfache Steuerung: Sie können ihre Richtung ändern und durch die Gegend laufen. Was sie als nächstes tun, hängt davon ab, ob sie gerade eine Pflanze gefressen haben oder nicht und was sie im letzten Schritt gemacht haben. Damit sind sie sehr einfache Turingmaschinen . Allerdings stoßen sie relativ schnell an ihre Grenzen, weil die Programmierung kein "Gedächtnis" vorsieht - sie können sich also nicht merken, ob sie irgendwo schon einmal gewesen sind.

Das Programm hat sehr viele Einstellmöglichkeiten für die Verteilung der Pflanzen, die Geschwindigkeit und vieles andere. (Ich fand es besonders interessant, die Pflanzen in reihen oder nur unten wachsen zu lassen, dann lässt sich die "Strategie" der eaters besser verfolgen.) Besonders praktisch ist, dass es einen Superschnell-Modus gibt, in dem keine Zeit mehr für die grafische Ausgabe verschwendet wird. Da kann man ein paar hundert Generationen rechnen lassen und dann das Ergebnis wieder langsamer laufen lassen. Eigentlich ziemlich nett (und sehr ähnlich zu einer Idee, die ich vorhin hatte und von der ich dachte, vielleicht hat es ja schon jemand anderes programmiert...)

Ein bisschen kompliziert ist "Irreducibly complex". Hier codiert der genetische Code der Lebewesen eine Spielfläche, auf der diese Wesen dann herumlaufen und nach bestimmten Regeln Punkte sammeln. Das Spiel ist sehr hübsch anzuschauen, weil die Mutations- und Rekombinationsschritte schön animiert werden.
irrcomp.jpg

Sehr nett, weil schön einfach, ist auch "Elegant tiefstapeln" (Oben rechts auf "Packproblem-Applet" klicken, um es zu starten.) Hier muss ein Lastwagen mit Kisten befüllt werden.
tiefstapeln.jpg
Am Anfang gibt man vor, welche Kisten untergebracht werden müssen, der Algorithmus versucht dann, die optimale Packung zu finden. Man kann mit Populationsgrößen, Mutationsfrequenzen etc. herumspielen.

Guardlets sieht irgendwie interessant aus, aber ich hab's nicht wirklich verstanden...

Falls noch jemand interessante Varianten gefunden hat, könnt ihr sie ja in die Links schreiben.

Nils hat sich übrigens neulich auch mit Evolutionsspielchen befasst.

 

Autor: MartinB· 4 Kommentare· Permalink· Trackback-URL

Tags: · · · ·

Kommentare (4)

Kommentar-Direktlink BreitSide· 06.02.11 · 00:25 Uhr

:-))))))))))))))

Kommentar-Direktlink Philipp Bayer· 06.02.11 · 02:04 Uhr

Wer sich genetische Algorithmen zum Selberlernen mal anschauen möchte, dem empfehle ich die Python-Bibliothek pygene. Die steckt zwar noch in Kindesschuhen, dafür kommen ca. 8 Beispiel-Programme mit, die von Evolution von einem String zu einem vorgegebenen String bis zum Travelling-Salesman-Problem gehen.

Kommentar-Direktlink Gluecypher· 06.02.11 · 15:28 Uhr

BTW: ich suche schon läger nach einem "Methinks it's a weasel"-Applet. Hat da jemand einen Link?

Kommentar-Direktlink MartinB· 06.02.11 · 15:52 Uhr

@Gluecypher
http://lmgtfy.com/?q=evolution+applet+weasel
;-))

Kommentar schreiben

Netiquette·AGB

 

ScienceBlogs.com

mehr auf www.scienceblogs.com »