Ausgang von Schachturnieren mit Monte-Carlo-Simulation bestimmen

Mit einer Monte-Carlo-Simulation kann man Pi durch das Werfen von Nadeln bestimmen oder die Wahrscheinlichkeiten fĂĽr den Ausgang eines Schachturniers berechnen.

Artikel verschenken
vorlesen Druckansicht 1 Kommentar lesen
Viele Nägel fallen auf ein Schachbrett.

(Bild: Jessica Nachtigall / KI / heise medien)

Lesezeit: 14 Min.
Inhaltsverzeichnis

Für einen normalen Spielwürfel gibt es sechs mögliche Ergebnisse: 1, 2, 3, 4, 5 oder 6. Die Wahrscheinlichkeit für jede Zahl liegt bei genau einem Sechstel. Möchte man die Wahrscheinlichkeit experimentell herausfinden, um zu testen, ob der Würfel fair ist, kann man ihn tausende Male werfen und die einzelnen Ausgänge zählen.

Im Grunde tut genau das die Monte-Carlo-Simulation: Sie nutzt den Zufall, um ein bestimmtes Szenario binnen kürzester Zeit auf dem PC millionenfach zu simulieren und eine Schätzung über mögliche Ausgänge zu geben. Ein bekanntes Beispiel für einen solchen Algorithmus haben wir 2022 mit dem Miller-Rabin-Primzahltest vorgestellt, der mit Zufallszahlen und tausenden Wiederholungen versucht, Primzahlen zu detektieren. Wegen der zentralen Rolle des Zufalls, von der der Erfolg abhängt, trägt die Simulation den Namen des Stadtbezirks von Monaco, in dem sich das berühmte Casino befindet.

c’t kompakt
  • Monte-Carlo-Simulationen nutzen den Zufall aus, um schwer zu berechnende Wahrscheinlichkeiten abzuschätzen.
  • Eine solche Simulation zeigen wir anhand des Nadelexperiments von Buffon, bei dem man die Konstante Pi aus dem Werfen von Nadeln berechnet.
  • FĂĽr ein Schachturnier kann man mögliche Ausgänge simulieren und daraus Gewinnwahrscheinlichkeiten ableiten.
Programmieren mit Python

Das Beispiel eines Würfelwurfes ist für Demonstrationszwecke ein bisschen zu simpel, daher widmen wir uns in diesem Artikel zuerst einer der bekanntesten historischen Monte-Carlo-Simulation: dem Nadelproblem von Buffon – bei dem man Pi aus dem Werfen von Nadeln bestimmen kann. Danach zeigen wir am praktischen Beispiel des kürzlich geendeten Schach-Kandidatenturniers, wie man den gesamten Turnierverlauf in Python simuliert. Das Modell schätzte dabei die Chancen des späteren Siegers sehr gut ein, auch wenn der Ausgang aus der Turniersituation noch nicht so offensichtlich war.

Das war die Leseprobe unseres heise-Plus-Artikels "Ausgang von Schachturnieren mit Monte-Carlo-Simulation bestimmen". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.