Das Gefangenen-Dilemma

Kennen Sie das Gefangenen-Dilemma?
Sicher, das Thema klingt etwas düster, aber weder habe ich den Namen noch dieses Dilemma erfunden. Auch Herr Hofstadter nicht, der in seinem Buch “Metamagicum” darüber schreibt.
Falls Sie gerade zusammen mit einem Partner, mit dem Sie sonst weiter nichts verbindet, ohne Möglichkeit zur Kontaktaufnahme in Untersuchungshaft sitzen, könnte sich für Sie folgendes Problem ergeben:

Ihnen beiden wird - jeweils einzeln - die Situation so dargestellt: Leugnen Sie beide den gegen Sie erhobenen Tatvorwurf, werden Sie aufgrund von Indizien zu jeweils zwei Jahren Haftstrafe verurteilt. Gestehen Sie die Tat und helfen Sie dabei der Anklagebehörde, Ihren Partner zu überführen, gehen Sie straffrei aus (Kronzeuge!), während Ihr Partner zu fünf Jahren verurteilt wird. Gestehen Sie aber alle beide, so bekommen Sie jeweils vier Jahre aufgebrummt. Die Kronzeugenregelung funktioniert eben nur, solange es auch Nicht-Kronzeugen gibt.

Überlegen Sie selbst: Wenn Sie schweigen, müssen Sie, je nachdem, wie sich Ihr Partner verhält, zwei oder fünf Jahre sitzen. Wenn Sie aber singen, dann sind Sie frei, oder Sie bekommen nur vier Jahre. Die zweite Alternative ist die attraktivere, sagt uns unsere Logik. Da aber wohl beide Beteiligten nach dieser Logik handeln werden, führt genau diese Logik dazu, daß beide vier statt nur zwei Jahre im Gefängnis sitzen werden, wie es bei unlogischem Verhalten möglich wäre.

Die Liebe

Nun sind zwar nicht alle Menschen im Gefängnis Kriminelle; auch sind nicht alle Kriminellen im Gefängnis, aber falls Ihnen die beschriebene Situation doch zu fremd sein sollte, habe ich noch eine andere anzubieten:

Sie entdecken eine gewisse Zuneigung zu einem anderen Menschen, und auch dieser Mensch scheint von Ihnen angetan. Sie sind sich aber noch fremd und der Gefühle der Partnerin unsicher. Wenn Sie nun zu den Menschen gehören, bei denen die Liebe nicht so einfach nur durch den Bauch geht, sondern den Umweg über den Kopf nimmt, könnten Sie ins Grübeln kommen:

Was ist, wenn die Zuneigung Ihrer Partnerin nicht besonders tief geht? Es würde Ihnen wohl ganz schön weh tun, wenn Sie sich da einfach fallenlassen. Vielleicht wäre es in diesem Fall besser, die eigenen Gefühle etwas unter Kontrolle zu halten.

Was aber, wenn die Liebe Ihrer Partnerin doch groß und echt ist? Nun, dann brauchen Sie die obige Strategie zunächst nicht zu ändern: Sie bekommen ja, was Sie wollen, und können sich immer noch öffnen, wenn Sie sicher genug sind.

Dieses Vorgehen ist sicherlich nicht besonders spontan, aber logisch: Es bewahrt (wenn es klappt) vor Schmerz. Das Dumme ist nur, daß die Partnerin auch nicht auf den Kopf gefallen ist: Warum sollte sie sich nicht die gleichen Gedanken machen? Nach derselben Logik wird sie sich also auch nicht zu viel engagieren, und damit ist diese Liebe entweder zum Scheitern verurteilt, oder sie entwickelt sich zu einer langwierigen und schwierigen Geschichte. Da beide ihre eigentlichen Gefühle nicht äußern und sich selbst als eher unsichere Partie darstellen, wird auch keiner das Vertrauen des anderen erringen.

Das heißt: Die vernünftigen Überlegungen, die die beiden Partner vor Unglück bewahren sollen, sind gerade der Grund dafür, daß beider Glück verhindert wird.

Was nun? Ist Logik Unsinn?

Überhaupt, werden Sie sagen, habe ich diese Zeitschrift nicht als Fachblatt für allgemeine Lebensberatung gekauft, sondern weil ich etwas über EDV wissen will. Ich bitte noch um ein wenig Geduld.

Zunächst unterscheidet Hofstadter die Dilemma-Situationen danach, ob sie einmalig auftreten oder sich wiederholen (sollen). Es ist halt ein Unterschied, ob ich mit einem Fremden ein einmaliges Geschäft vorhabe, oder ob ich noch weitere Geschäfte mit ihm tätigen will. Im zweiten Fall muß ich zwar auch ständig damit rechnen, daß mein Partner aussteigt (schlechte Ware liefert oder mit ungedeckten Schecks bezahlt), was mir nahelegt, nicht zu vertrauensselig zu sein. Aber wenn ich nicht kooperiere, also selbst nicht vereinbarungsgemäß handele, ist die Geschäftsbeziehung zumindest nachhaltig gestört, wenn nicht beendet, was auch nicht in meinem Interesse lag.

Sodann formalisiert Hofstadter das Problem, indem er das mögliche Verhalten der Beteiligten in nur zwei Gruppen einteilt: “Kooperation” und “Ausstieg”. Aus diesen beiden Möglichkeiten lassen sich die unterschiedlichsten Strategien entwickeln: von totaler Kooperation über zufälliges Verhalten und Reaktion auf das Verhalten des Partners bis zu totalem Ausstieg.

Welche Strategie, meinen Sie, ist wohl die beste? Es ist klar: Im Kollektivinteresse liegt, daß alle immer kooperieren. Das Kollektivinteresse verfolgt aber niemand, es sei denn unter dem Einfluß von Moral oder Gewalt. Es würde auch wenig nützen, solange nicht alle so handeln. So stellt sich die Frage, ob Kooperation möglich und auch sinnvoll (erfolgreich) ist, wenn alle Beteiligten in eigennützigem Interesse handeln.

Ich möchte noch einmal betonen, daß es nicht darauf ankommt, besser zu sein als ein bestimmter Anderer (also: vor ihm auszusteigen, ihn hereinzulegen, zu besiegen), sondern möglichst viel für sich selbst zu erreichen (also: lange im Geschäft bleiben, viele Freunde haben oder im Spiel viele Punkte sammeln). So definiert Hofstadter einen gesunden und gesellschaftlich unschädlichen Egoismus, da er nicht darauf abzielt, andere Menschen, Organisationen oder die Natur zu schädigen oder zu vernichten, sondern im Einklang damit erfolgreich zu sein.

Ein APL-Turnier

So, jetzt kommen wir endlich zum Computer: Natürlich läßt sich diese Fragestellung mit dem Computer simulieren. Es hat in den USA auch schon Turniere zu diesem Thema gegeben. Dort sind die verschiedenartigsten Programme gegeneinander angetreten: Jedes Programm startete 200mal gegen jedes andere und sich selbst, und um den Einfluß des Zufallszahlengenerators (falls Programme damit arbeiten) möglichst auszuschalten, wurde das Ganze fünf mal durchgeführt. Das längste Programm hatte dort 152 Zeilen (Fortran), das kürzeste 4 Zeilen (BASIC).

Ich habe diese Idee in APL umgesetzt: Dafür habe ich ein einfaches “Spielfeld” vorbereitet. Die einzelnen Programme (Strategien) können einfach als Argumente eingeklinkt werden. Das “kürzeste” Programm ist auch abgebildet (in APL natürlich): Hier hat es nur 4 Zeichen. (Wie steigert man “am kürzesten” ?) Es heißt AUGE△UM△AUGE, weil es genau das tut, was das jeweilige Konkurrenz-Programm in der Runde zuvor getan hat, mit einer Besonderheit: In der ersten Runde kooperiert es.

Es mag überraschen, aber diese simple Strategie hat bisher in der Regel am besten abgeschnitten! Was nicht heißt, daß dieses Programm nicht von einem anderen hereinzulegen wäre. Es läßt sich sowieso nicht sagen, daß eine bestimmte Strategie absolut die beste ist, weil sich die Qualität einer Strategie immer in einem bestimmten Umfeld herausstellt: Der Erfolg hängt halt auch von derQualität der anderen Strategien ab. Trotzdem: AUGE△UM△AUGE scheint sich im Schnitt auf die verschiedenartigsten Strategien am besten einstellen zu können.

Das hat seine Gründe. Hofstadter hat einige Kriterien für gute Strategien herausgearbeitet:

  1. Anständigkeit”: niemals als erster aussteigen
  2. Provozierbarkeit”: auf Ausstiege des Partners reagieren
  3. Nachsichtigkeit”: nicht nachtragend sein, also nicht total aussteigen
  4. Klarheit”: nicht zu raffiniert sein, berechenbar sein

Wohlgemerkt: Es sind dies Ergebnisse aus der Analyse mehrerer Computerturniere und der beteiligten Programme. Wer dabei aber an völlig andere Situationen oder Akteure denkt, sollte das ruhig tun.

AUGE△UM△AUGE scheint diese Kriterien zu erfüllen. Interessant ist, daß AUGE△UM△AUGE gegen keinen direkten Konkurrenten gewinnt. AUGE△UM△AUGE spielt unentschieden oder verliert knapp. Aber es provoziert durch sein Verhalten ein beiderseitiges gutes Resultat (zumindest bei einem Programm, das intelligent genug ist, das zu erkennen).

Die Spielregeln

Ich lade jeden Interessierten ein, selbst ein wenig herumzutüfteln. (Allerdings habe ich keinen blassen Schimmer, wie das Spiel z.B. in Fortran zu realisieren wäre.) Die Beispielprogramme sind recht kurz und simpel, aber zum Teil doch recht effektiv. Selbstverständlich ist es auch in APL möglich, Programme mit vielen hundert Zeilen zu schreiben.

Die Spielregeln selbst sind einfach:

Je zwei Programme tun in einer Runde quasi gleichzeitig ihr Verhalten kund. D.h. sie bekommen das Ergebnis des Konkurrenten erst in der nächsten Runde mitgeteilt.

Die Punkte werden nach folgender Gewinnmatrix verteilt (siehe unten).

Die Programmierregeln sind auch ganz einfach (jedenfalls in APL):

Jedes Programm nimmt als rechtes Argument das Kooperationsverhalten des Partners aus der letzten Runde entgegen und übergibt sein eigenes Verhalten als Resultat der Funktion.

Das Kooperationsverhalten kann nur die Werte 0 und 1 annehmen:

Ausnahme: In der 1. Runde wird eine -1 übergeben als Zeichen, daß noch kein Ergebnis aus einer Vorrunde vorliegt.

Jedes Programm darf globale Variablen anlegen. Um Namenskollisionen zu vermeiden, sollten die Variablennamen aber den Namen des Programms beinhalten, von dem sie kreiert und benötigt werden (also z.B. AUGE2 und △AUGE2 oder ZUFALL und VARZUFALL).

Zwei Programme spielen gegen-, oder besser miteinander, indem sie in Hochkommata der Funktion SPIEL übergeben werden:

'AUGE2' SPIEL 'ZUFALL 10'


Wolfgang Thomas
Aus: ST-Computer 02 / 1989, Seite 91

Links

Copyright-Bestimmungen: siehe Über diese Seite