Timm Grams, Fulda, 08.03.2007 (rev.: 24.04.08, 16.05.08, 16.03.09, 27.12.10)

Das Java-Programm "KoopEgo" realisiert einen Evolutionsprozess. Es geht um die Frage, wie es in einer Welt des Gen-Egoismus zur Evolution kooperativen Verhaltens kommt.

DETAILLIERTE PROAGRAMMBESCHREIBUNG

  KoopEgo.pdf

EINGABEPARAMETER

Fuer jeden Parameter ist ein Default-Wert voreingestellt. Durch die Parametereingabe kann diese Standardeinstellung
veraendert werden.

  mode	  Betriebsmodi (siehe unten)
  n       Spielfeldgroesse: n-mal-n (maximal: n=120)
  a       Vorbelegungswahrscheinlichkeit je Feld
  as      Vorbelegungswahrscheinlichkeit je Bit (Wahr-
          scheinlichkeit, dass der Wert des Bits 1 ist)
  k       Umgebungsparameter ("k-Umgebung")
  h       Anzahl der Spielzuege bis zum Halt
  b       Geburtswahrscheinlichkeit
  d       Sterbewahrscheinlichkeit
  p       Mutationswahrscheinlichkeit je Bit (Bitfehler-
          wahrscheinlichkeit)
  f       Wahrscheinlichkeit fuer Interaktionsfehler
  q       Daempfungsfaktor fuer die Lebenskraft
  
  Die Parameter der Gewinnmatrix: kk, kd, dk, dd

STEUERUNG DES PROGRAMMS

Die Eingabeparameter werden nach Druecken des Eingabe-Buttons aus einer Textdatei in ein Textfenster geladen. Der Text ist editierbar. Die Syntax der Eingabesprache:

  <Parametername> = <Wert>
  <Parametername> = <Wert>
  ...

Das Gleichheitszeichen ist durch Leerzeichen vom Parameternamen und vom Wert zu trennen. Fehlt fuer einen Parameter die Eingabe, wird ein Default-Wert verwendet. Kommentare beginnen mit /* und enden mit */. Sie werden beim Rueckspeichern automatisch erzeugt.

Mit dem Start-Button wird die aktualisierte Textdatei abgespeichert und die Simulation des Evolutionsprozesses initialisiert (Vorbelegung der Welt).

Mit dem dem Stop-and-Go-Button wird die Simulation gestartet oder fortgesetzt.

Nach jeweils h Spielzuegen (meist sind das Interaktionen) wird die Simulation angehalten und die grafische Darstellung des Zustands der "Welt" aktualisiert.

Erneutes Druecken des Stop-and-Go-Buttons setzt die Simulation mit dem naechsten Lauf fort.

Der Weiter-Button startet eine Folge von Laeufen.

Die Simulation wird mit den Halt-Button angehalten. Danach kann der Eingabetext geaendert werden.

Druecken des Ende-Buttons beendet die Simulation.

Jeder Farbpunkt repraesentiert einen Bewohner der Welt.Durch Mausklick auf einen solchen Farbpunkt wird ein Fenster mit der Detailinformation ueber das zugehoerige Wesen geoeffnet. Es enthaelt die ausfuehrliche Information ueber die Strategie in vier Bitgruppen: fuer die Erinnerungstiefe 0 (1 Bit), fuer die Erinnerungstiefe 1 (2 Bits), fuer die Erinnerungstiefe 2 (4 Bits) und fuer die volle Erinnerung der Tiefe 3 (8 Bits).

LOGFILE

Bei jedem Haltepunkt vor und nach den einzelnen Simulationslaeufen werden die statistischen Daten des Zustands der Welt in die Datei LogFile.txt geschrieben. Diese Datei kann mit einem Tabellenkalkulationsprogramm, beispielsweise Excel, aufbereitet werden.

BETRIEBSMODI

Der Default-Wert des Parameters mode ist 0. In dieser Betriebsart werden fuer die Anfangsbelegung zufaellige Strategien gewaehlt. Das Existenzminimum, an dem sich entscheidet, ob die Lebenskraft fuer Nachkommen reicht oder ob das Wesen geloescht werden kann, ist durch die mittlere Lebenskraft der Umgebung bestimmt.

In den anderen Modi kann das Existenzminimum auf einen bestimmten konstanten Wert gesetzt werden. Anstelle der Anfangsbelegung mit zufaelligen Strategien ist eine Belegung mit den Standardstrategien waehlbar.

Der Wert von mode ist fuer die veschiedenen Betriebsarten in der folgenden Tabelle definiert.

  Existenzminimum |Anfangsbelegung       | mode
  ----------------|----------------------|-----
  Mittelwert      |Zufaellige Strategien |  0
  ----------------|----------------------------
  Mittelwert      |Standardstrategien    |  1
  ----------------|----------------------|-----
  (kd+dk)/2       |Zufaellige Strategien |  2
  ----------------|----------------------|-----
  (kd+dk)/2       |Standardstrategien    |  3

Bei Auswahl der Standardstrategien werden alle mit gleicher Wahrscheinlichkeit erzeugt. Eine andere Anfangsverteilung der Standardstrategien laesst sich durch Parametereingabe mit dem Schluesselwort "stan" nach diesem Format erzeugen:

  stan = <TfT> <Vergelter> <Immer K> <Pawlow> <Immer D> <Hinterlist>

Dabei steht <TfT> fuer eine nichtnegative ganze Zahl, die das Gewicht der Strategie Tit for Tat angibt. Die Eingabe kann verkuerzt sein. Beispielsweise liefert die Eingabe

  stan = 3 0 1

eine Anfangsbelegung der Welt mit 75% Tit-for-Tat- und mit 25% Immer-K-Strategen.
