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.
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.
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.
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.
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.
Kommentare (8)