Evaluo - Ein Programm, das aus Zufallszahlen Strategien entwickelt und diese optimiert.


Als ich die ersten Überlegungen zu diesem Programm anstellte, sollte es eigentlich ein Programm werden, das die Entstehung von Chemotaxis bei bestimmten Bakterien, wie etwa den Coli-Bakterien, verständlich macht. Chemotaxis ist ein primitives intelligentes Verhalten, das man bei Bakterien beobachten kann, die über einen primitiven Bewegungsapparat verfügen, z. B. über Flimmerhärchen oder über eine sich drehende Geißel.

Solche Bakterien bewegen sich etwa in der hier gezeigten Form auf einen Lockstoff zu oder sie meiden einen Schreckstoff. Lockstoffe sind dabei häufig, aber nicht immer, Substanzen mit denen sich das Bakterium ernährt. Es leuchtet ein, dass ein Bakterium, das sich bewegen kann, gleichzeitig ein Problem hat. Es kann sich innerhalb einer im Wasser gelösten Nahrungssubstanz die z. B. von einer verfaulenden Alge stammt, von dieser Nahrungsquelle entfernen und hat damit eine geringere Teilungsrate als Bakterien, die sich ständig in der Nähe der Nahrungsquelle aufhalten. Der chemische Apparat des Bakteriums muss also durch den Kontakt mit der Nahrungssubstanz so gesteuert werden, dass es sich wenigstens eher annähert als entfernt. Für das Bakterium ist es ein Evolutionsvorteil, wenn es statt der vom Zufall abhängigen  Bewegungsstrategie über eine auf die Nahrung hin ausgerichtete Bewegungsstrategie verfügt. Bei sinkendem Nahrungsangebot werden jene Bakterien selektiert, die über eine solche Strategie verfügen.

Nun wäre es natürlich zu langweilig gewesen, wenn sich am Bildschirm ein paar Punkte bewegen. Daher habe ein Spiel ausgewählt, das ich selbst mit etwa 10 Jahren gespielt habe. Das Spiel gibt es heute noch zu kaufen. Allerdings nicht als Zahlenspiel, sondern mit einem Bild oder Muster versehen. Die insgesamt 16 Teile des Spielfelds können jeweils auf das freie Feld verschoben werden. Wobei in diesem Fall eines der Teile nur auf das leere Feld außerhalb des Spielfelds verschoben werden kann. Ansonsten gibt es bei jedem Spielzug zwei bis vier Bewegungsmöglichkeiten, je nachdem, wo sich das leere Feld gerade befindet. Für eine Strategie, bei der eines der kleinen Quadrate zu einem Zielpunkt bewegt werden soll, genügt es nach jedem Spielzug die Entfernung dieses Spielteils zu seinem Zielpunkt zu messen und bei Annäherung sich diese Zugfolge erst mal für diese Spielsituation zu merken. Die Ausgangsspielsituation ist dabei durch das leere Feld, das Zielfeld und die augenblickliche Lage des Spielteils, das bewegt werden soll, gekennzeichnet. Die Zahl der möglichen Strategien ist damit auf 16x16x16 = 4096 Strategien begrenzt. Ein Maß zur Verbesserung der Strategie ist die Länge der Strategie und die Annäherung an den Zielpunkt. Will man die Teile in eine bestimmte Reihenfolge bringen muss zusätzlich der Spielbereich eingeschränkt werden. Bei einem zeilenweisen Vorgehen, darf eine Zeile, die einmal geordnet ist nicht mehr verändert werden, mit Ausnahme der vorletzten Zeile.

Das paradoxe bei diesen Zufallsstrategien ist, dass die Wahrscheinlichkeit, dass die Strategie das Problem löst, umso größer ist, je länger die Strategie ist. Das ist vielleicht auch eine Erklärung dafür, warum biologische Mechanismen so kompliziert sind. Bei einem langsamen Wachstum des genetischen Materials ist es einfach die erste Möglichkeit, bei der es nach einer Reihe sinnloser Mutationen dem sich entwickelnden Organismus gelungen ist eine Funktion zu seinem Vorteil zu nutzen.

Es ist klar, dass in diesem Lösungsansatz bereits eine ganze Menge von Überlegungen stecken, die ein menschliches Bewusstsein, ein Sehvermögen, ein assoziatives Gedächtnis voraussetzen und zudem die Kenntnis von sprachlichen Begriffen wie Reihenfolge, Spielregeln, das Erkennen und Zuordnen bestimmter Muster zu einer Spielstrategie und vieles mehr. Einem Affen, der auch bereits über ein rudimentäres Bewusstsein verfügt (ein Affe erkennt sein Spiegelbild), wird man vermutlich vergeblich versuchen die Regeln und das Ziel dieses Spiels zu erklären, obwohl er gelernt hat, dass eine Banane besser schmeckt, wenn man sie auspellt, obwohl er gelernt hat auf Bäume zu klettern und sich seine Nahrung zu suchen und als soziales Wesen sogar charakterliche Eigenschaften zeigt. Bis zu einem reflektierenden menschlichen Bewusstsein ist es jedoch ein weiter evolutionsgeschichtlicher Weg.

Was hiermit gezeigt wird, ist lediglich, dass man durch das Zusammensetzen von selektiv optimierten Zufallsstrategien auch komplexe Probleme lösen kann. Es ist durchaus denkbar, dass solche ererbten Strategien hinter den Sinnesfunktionen stecken. Der menschliche Geschmackssinn unterscheidet sich von der Chemotaxis der Bakterien am Ausgangspunkt, den Geschmacksknospen auf der Zunge, nur durch die Abgabe einer Substanz, die eine Nervenzelle anregt, die ihrerseits ein Signal in eine bestimmte Region des Gehirns schickt. Ähnlich funktioniert der Geruchssinn, der Tastsinn, das Wärmeempfinden... Alles Sinne, die eine wesentliche Voraussetzung darstellen, damit wir uns in dieser Welt orientieren können.

Das unter Programm Evaluo, das man/frau sich per download (208 KB) auf seinen Rechner laden kann, ist in einer zip-Datei verpackt. Mit Programmen aus dem Internet, z. B. Winzip, kann diese Datei in einen beliebigen Ordner entpackt werden. Das Programm wurde mit dem Betriebssystem Windows98 getestet, ist aber auch unter dem Betriebssystem WindowsNT4.0 ablauffähig. das Programm startet mit einem geordneten Zahlenfeld. Rechts wird der Spielstand angezeigt.

Der Menübefehl "Spielfeld mischen" führt ca 200 Spielzüge aus, die per Programm generiert werden.

Mit der linken Maustaste können ebenfalls Spielzüge ausgeführt werden, indem man/frau mit gedrückter Maustaste eines der Spielteile neben dem leeren Feld anfasst und auf das leere Feld zieht.

Der Menübefehl "Lösung suchen" liest eine Strategie-Datei ein. Wenn man das Lesen der Strategie-Datei abbricht oder die Strategie-Datei nicht die vorgegebene Länge hat, dann erzeugt das Programm eine neue Strategie-Datei. Das Programm versucht bei jedem Spiel die bereits vorhandenen Strategien zu optimieren. Für eine Strategie werden 100 Spielzüge generiert. Im Schnitt werden bei einer Strategie ca 40 Spielzüge ausgeführt. Es wird nicht geprüft, ob der einzelne Spielzug sinnvoll ist, sondern nur, ob sich bei der Ausführung der Spielzüge insgesamt eine Annäherung jeweils eines der Zahlenfelder an seinen Zielpunkt ergibt. Nicht ausführbare Spielzüge werden ignoriert. In's Stocken kommt das Programm nur gelegentlich bei den letzten drei Feldern. Hier funktioniert die Suche nach einer Zufallsstrategie nur in seltenen Fällen, so dass hier das Programm eine andere Strategie ausführt. Es vermischt die letzten zwei Zeilen und versucht es von Neuem. Die gefundenen Strategien können gespeichert werden.

Die Lösungssuche kann mit der ESC-Taste unterbrochen werden.

Jeder Spielzug kann über den Menübefehl "Spielzug rückgängig machen" bzw. über die Tastenkombination Strg+R rückgängig gemacht werden.


Inhalt

Index

weiter