Wie das Neue in die Welt kommt
und warum Egoisten so freundlich sind
Quelloffenes Simulations-Programm (Java) zur Evolution der Kooperation

Timm Grams, Hochschule Fulda, http://www.hs-fulda.de/~grams

Worum es geht

Egoisten sind nach landläufiger Meinung ziemlich verachtenswerte Geschöpfe. Anerkennung genießt, wer sich für andere aufopfert. Dumm ist nur, dass er nicht lange lebt. Diese Art ist zum Aussterben verurteilt. Es sei denn, Opfer zahlen sich irgendwie doch aus. Und dann haben wir es wieder mit Egoismus zu tun: Weitwinkel-Egoismus.

Egoismus ist das Einzige, worauf man sich verlassen kann. Und diese Erkenntnis ist schon seit Jahrtausenden quasi in Stein gemeißelt: „Du sollst deinen Nächsten lieben wie dich selbst“ heißt es in der Bibel (3. Mose 19, 18).

Egoismus ist überall. Doch kennen wir Rücksichtnahme, Fürsorglichkeit und sogar aufopferndes Verhalten. Wie lässt sich das erklären? Wie kann Altruismus - oder wenigstens kooperatives Verhalten - allein auf der Basis der Evolutionsmechanismen in einer Welt mit lauter Egoisten entstehen?

Das Problem

Wenn es sich erst einmal etabliert hat, ist kooperatives Verhalten durchaus konkurrenzfähig und kann den brutalen Selektionsprozess unter Betrügern und Listenreichen sehr gut überstehen. Das hat Robert Axelrod schon vor über zwei Jahrzehnten mit seinen Computerturnieren gezeigt. Sein Modell ist von verblüffender Einfachheit. Und es lässt weit reichende Schlüsse zu.

Die Interaktionen sind in seinem Modell auf die Situation des Gefangenen-Dilemmas reduziert und im Wettbewerb der Charaktere (Strategien) kann jeder auf jeden anderen treffen.

Was unter diesen Bedingungen einfach nicht gelingen will, ist der schöpferische Prozess: Das Gute kann so nicht entstehen. Es sind immer zu viele feindlich gesinnte Seelen, mit denen das Neue zu tun hat. Das sind die Folgen des globalen Wettbewerbs.

Kurzbeschreibung des Programms

Das Problem lässt sich lösen, wenn nicht mehr jeder auf jeden gehetzt wird, sondern wenn man die Ortsgebundenheit der Individuen als weiteres Element der Evolution hinzunimmt. So kann sich unter Nachbarn Vertrauen aufbauen. Und gemeinsam werden diese dann stark genug für die Auseinandersetzung mit den anderen.

Das Java-Programm KoopEgo kombiniert die Grundideen von Axelrods Computerturnieren (1984) mit dem Ansatz der Kugelspiele (Manfred Eigen und Ruthild Winkler, 1975). Es macht die Bedingungen sichtbar, unter denen in einer Welt aus Egoisten kooperatives Verhalten entstehen und sich behaupten kann.


Ergebnisse

Das linke Bild zeigt, wie sich aus einem recht chaotischen Anfangszustand heraus nach einer Weile die Welt aufgrund der überall anzutreffenden Betrüger (grün und cyan) nahezu entvölkert hat  (leere Plätze sind schwarz). Aber es sind auch schon erste Ansätze für Kolonien der Kooperation erkennbar (rot, magenta und blau). Der gutmütige Trottel (gelb) ist blind kooperativ und bei so viel Bosheit rundum auf der Verliererspur.

Etwas später hat sich das Bild gründlich geändert: Die Betrüger sind auf dem Rückzug. Restbestände sind nur noch in der Nähe gutmütiger Trottel zu finden. Übrig bleiben die freundlichen Strategen, die sich gegen Betrüger zu wehren wissen, beispielsweise Tit for Tat (rot), aber auch der konsequente Vergelter (magenta) und der Pawlow-Stratege (blau). Sogar einige gutmütige Trottel sind gerettet. Wir finden sie inmitten von wehrhaften, aber grundsätzlich freundlichen Strategen.

Im Programm KoopEgo gibt es nicht nur die Grundstrategien. Über Eingabeparameter ist eine Vielzahl von Evolutionsbedingungen darstellbar.

 

So kommen Sie an das Programm heran

Wollen Sie etwas mehr über das Programm und damit erzielte Ergebnisse wissen, dann lesen Sie am besten den einen oder anderen Abschnitt der Dokumentation KoopEgo.pdf. Sie enthält auch den Quelltext des Programms (den Sie aber getrost überschlagen können).

Wollen Sie mit dem Programm ein wenig experimentieren, dann gibt es für Sie das lauffähige Java-Archiv KoopEgo.jar.  Übertragen Sie das Archiv in ein lokales Verzeichnis Ihres Rechners und packen Sie es dort aus (mit WinZip oder dergleichen). Jetzt kann das Programm durch Doppelklick auf KoopEgo.jar gestartet werden, vorausgesetzt, die Java Laufzeitumgebung ist installiert.

Da auch die Quelltexte mitgeliefert werden, steht es Ihnen frei, das Programm zu verbessern und nach Geschmack zu erweitern. Angemessenes Hilfsmittel ist die BlueJ-Entwicklungsumgebung. Die entsprechenden Projektdateien sind dabei. (Die korrekten Angaben zur Urheberschaft nicht vergessen!)

Als Gegenleistung bitte ich um eine Rückmeldung per E-Mail, vorzugsweise auch mit Kritik, Verbesserungsvorschlägen, Erfahrungsberichten und Anregungen.

Nun: Viel Spaß!


© Timm Grams, 30. April 2008