Skip to content

Pythonsimulation des wiederholten Gefangenendilemmas zur Erklärung stillschweigender Kooperation in Oligopolmärkten

Notifications You must be signed in to change notification settings

binEpilo/simulation-wiederholtes-gefangenendilemma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Simulation des wiederholten Gefangenendilemmas

Beschreibung

Dieses Projekt enthält eine Pythonsimulation des wiederholten Gefangenendilemmas, welche erklärt, wie stillschweigende Kooperation (tacit collusion) in Oligopolmärkten entsteht und warum sie stabil ist.

Der Fokus liegt hierbei auf der Analyse der Interaktion verschiedener spieltheoretischer Strategien auch unter dem Einfluss von Missverständnissen (noise).

Theoretischer Hintergrund

Das wiederholte Gefangenendilemma ist ein zentrales Modell der Spieltheorie. Während im einmaligen Spiel Nichtkooperation rational ist, kann sich bei wiederholter Interaktion kooperatives Verhalten durchsetzen.

Implementierte Strategien

  1. Always Cooperate kooperiert immer.
  2. Always Defect kooperiert nie.
  3. Random Choice entscheidet sich zufällig.
  4. Tit for Tat beginnt kooperativ und imitiert dann den letzten Zug des Gegners.
  5. Grim Trigger kooperiert bis zur ersten Nichtkooperation des Gegners, dann dauerhaft nicht.
  6. Tit for two Tats bestraft erst bei zweimaliger Nichtkooperation des Gegners.
  7. Generous Tit for Tat vergibt mit kleiner Wahrscheinlichkeit.
  8. Generous Tit for two Tats bestraft erst bei zweimaliger Nichtkooperation des Gegners und vergibt gleichzeitig mit kleiner Wahrscheinlichkeit.

Simulation

Jede Strategie spielt mehrfach gegen jede andere Strategie ein wiederholtes Spiel mit fester Auszahlungsmatrix, mehreren tausend Runden pro Spiel und einem festen Noiselevel.

Die Simulation gibt dann ein Gesamtranking aller Strategien mit der durchschnittlichen Auszahlung pro Runde und eine paarweise Auszahlungstabelle im Markdownformat aus.

Im Code sind zwei Durchläufe definiert. Der erste ohne Noise, der zweite mit Noise und zusätzlichen Strategien.

Ausführung

python code.py

Der gesamte Code befindet sich in der Datei code.py, der zugehörige Output in output.md.

Um ihn auszuführen, ist neben einer aktuellen Installation von python3 zusätzlich die Bibliothek numpy nötig.

Zentrale Ergebnisse

  1. Kooperative, aber strafende Strategien schneiden langfristig am besten ab.
  2. In noisefreien Umgebungen ist der Grim Trigger sehr erfolgreich.
  3. Bei Noise sind jedoch vergebende Strategien stabiler.
  4. Stillschweigende Kooperation kann ohne explizite Absprachen entstehen.

→ Die Simulation zeigt also exemplarisch, warum sich in Oligopolmärkten trotz fehlender Absprachen dauerhaft hohe Preise und kooperatives Verhalten einstellen können.

About

Pythonsimulation des wiederholten Gefangenendilemmas zur Erklärung stillschweigender Kooperation in Oligopolmärkten

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages