Das Gefangenendilemma
Problembeschreibung:
Zwei Einbrecher werden bei einem Einbruch verhaftet. Beide erhalten
daraufhin eine mittlere Haftstrafe.
Es liegt jedoch die Vermutung nahe, daß sie noch weitere Straftaten
begangen haben. Um das nachzuweisen, müßte einer ein Geständnis
ablegen. Der Geständige bekommt als Kronzeuge eine Strafmilderung,
der andere eine höhere Haftstrafe.
Lohnt es sich langfristig für die Gefangenen, jeweils den anderen
zu betrügen und verraten oder zu kooperieren, also kein Geständnis
abzulegen und es bei der mittleren Strafe bewenden zu lassen.
Modellierung:
Diese Situation wird als Simulation modelliert. Zwei zufällig
ausgewählte Spieler spielen gegeneinander, diese können sich
unterschiedlich verhalten und erhalten Punkte. Derjenige mit der größten
Punktzahl hat gewonnen.
Punktverteilung:
|
gegen Nichtbetrüger |
gegen Betrüger |
1. Spieler: Nichtbetrüger |
3 Punkte |
0 Punkte |
2. Spieler: Betrüger |
5 Punkte |
1 Punkt |
Es gibt unterschiedliche Charaktere (siehe Type-Vereinbarung):
-
Kooperativ: betrügt nie
-
Betrueger: lügt immer
-
Spieler: lügt zufällig am Anfang mit einer Wahrscheinlichkeit
von 50%. Bei zu wenig erreichten Punkten erhöht sich diese Wahrscheinlichkeit.
-
Stratege1: lügt am Anfang (ersten 3 Spiele) nicht, merkt sich aber
das Verhalten seiner letzten 3 Gegner. Wurde er überwiegend betrogen,
betrügt er beim nächsten Mal auch, wurde er überwiegend
nicht betrogen, betrügt er ebenfalls nicht.
-
Stratege2: wie Stratege1, merkt sich jedoch nur das Verhalten der letzten
2 Gegner
-
Stratege3: wie Stratege1, merkt sich jedoch nur das Verhalten des letzten
Gegners
Programmierung:
-
Eingabe der Anzahl der Personen der 6 Charaktere (falsche Eingaben werden
nicht abgefangen)
-
Setzen der Anfangsbedingungen der Typen
-
zufällige Auswahl von 2 Spielern
-
Feststellen des Verhaltens dieser Spieler (function heyKo, heyBet, heySp
heyStra1 usw. liefern eine Antwort auf die Frage: Betrügt dieser Spieler?)
-
Ermitteln der Punkte für jeden der Spieler aus obiger Tabelle
-
Liefern der Informationen an die 2 jeweiligen Spieler (procedure GibKo,
gibBet, gibSp, gibStr1 usw. füllen die Komponenten der den Spielern
zugeordneten Variablen)
-
Immer nach 100 Spielen und am Ende des Gesamtspieles erfolgt eine Ausgabe
der erreichten Ergebnisse (durchschnittliche Punktzahlen der einzelnen
Typen).
Einige Ergebnisse:
-
Eine ideale Welt ist schön!
Wenn niemand betrügt (keine Betrüger oder Spieler), dann
haben alle Beteiligten gleiche Chanchen und in der Population wird niemals
gelogen.
-
Wer niemals lügt, scheißt sich selbst an!
Die Kooperativen erreichen stets die geringste Punktzahl sobald ein
Mitspieler nur 1 einziges Mal lügt.
-
1 schwarzes Schaf versaut die ganze Population! Bereits 1 Betrüger
oder Spieler bewirkt eine Benachteiligung der Kooperativen und läßt
die Strategen das Lügen lernen.
-
Nichts wirkt so stark wie ein schlechtes Beispiel!
Selbst wenn keine Lügner aber 1 Spieler in der Population vorhanden
sind, lernen alle (außer der Kooperative) das Lügen. Der Spieler
lernt das Lügen am schnellsten.
-
Du mußt ein Schwein sein!
Niemand erreicht so hohe Punktzahlen wie die Lügner.
-
Zu viel Wissen schadet!
Der Stratege2 reagiert erfolgreicher als die Strategen1 und die Strategen3
auf das Verhalten der andere Typen.
Viel Spaß bei weiteren Experimenten!
|
Benutzer: Gast
Besitzer: schwill Zuletzt geändert am:
|
|
|