„Can’t Stop!“ oder „Pig“

Can’t Stop!“ ist ein alter Spieleklassiker von Sid Sackson, der immer wieder in neuen Auflagen auf den Markt  gebracht wird. Das Grundprinzip des Spieles wird von vielen anderen Spielen genutzt, so auch vom Würfelspiel „Pig“, das in etwas abgewandelter Form mehrfach bei „Schlag den Raab“ gespielt wurde.

Was ist das Spielprinzip?

Ein Spieler kann während seines Zuges eine zufallsbedingte Aktion „beliebig“ oft durchführen oder seinen Zug beenden und seinen Status absichern. Führt man eine Aktion durch, so hat sie als Ergebnis entweder eine Verbesserung der Spielposition zur Folge oder  die Beendigung des Zuges mit Verlust aller in diesem Zug erworbenen Vorteile.

Betrachten wir hier das Beispiel aus der Fernsehsendung „Schlag den Raab“:

Das Ziel dieses 2-Personenspieles ist es, als erster 50 Punkte zu erreichen.

Ein  Zug jedes Spielers besteht aus dem mehrmaligen  Würfeln eines normalen 6-seitigen Würfels. Beide Spieler wechseln sich nacheinander ab, bis einer mit 50 Punkten das Spiel gewinnt.

Während des Zuges eines Spielers hat dieser nach dem Würfelwurf immer 2 Möglichkeiten: Beenden des Zuges oder noch einmal Würfeln – mit diesen Ergebnismöglichkeiten:

1)      Der Spieler hat eine 6 gewürfelt: der Zug ist sofort beendet und der Gegner ist am Zug. Die gesamte Zwischensumme dieses Zuges ist verloren!

2)      Der Spieler hat 1..5 gewürfelt: Der Wurf  wird zur Zwischensumme dieses Zuges addiert. Der Spieler hat das Recht, noch einmal zu würfeln.

3)      Falls der Spieler aber nicht noch einmal würfeln sondern seinen Zug beenden will, so wird die Zwischensumme dieses Zuges zu seinen Siegpunkten hinzugezählt und der Gegner ist am Zug. Diese Siegpunkte können jetzt nicht mehr verloren gehen!

Bei dieser Art von Spiel steht man also ständig vor dem „Can’t Stop!“ Dilemma: Soll ich jetzt meinen Zug abbrechen und mein bisheriges Ergebnis absichern, oder soll ich doch noch ein oder zwei weitere Würfelwürfe riskieren??

Ich möchte in diesem Artikel die Vorgehensweise für die Entwicklung einer optimalen Strategie für den „Canīt Stop! Effekt“ darlegen:

Wir werden diese Strategie weiter unten entwickeln und erkennen müssen, dass die exakte, optimale Strategie manchmal recht umfangreich und komplex sein kann. Hat man allerdings die exakte Strategie, so kann man daraus dann eine verbesserte Faustregel ableiten!

Daher wollen wir als erstes eine ganz einfache und nachvollziehbare Faustregel für das oben beschriebene Würfelspiel entwickeln.

Fakten:

- ich kann pro Wurf im Mittel 3 Punkte gewinnen ( = (1+2+3+4+5) / 5 )

- ich riskiere bei jedem Wurf meine aktuelle Zwischensumme

- meine Gewinnchancen stehen 5:1

Bei einer Wette mit Gewinnchancen von 5:1 kann ich also bis zu  15 Punkte einsetzen um im Mittel jeweils 3 Punkte zusätzlich zu gewinnen!!

Die einfache Faustregel heißt also:

Falls deine Zwischensumme weniger als 15 Punkte beträgt, so würfle noch einmal; anderenfalls beende deinen Zug sofort!

Was bewirkt diese Faustregel nun und warum ist sie nicht optimal?

Einfach ausgedrückt:

Diese Regel maximiert den Ertrag pro einzelnem Zug – sie maximiert aber nicht die Gewinnwahrscheinlichkeit des Spielers!

Dies erkennt man leicht an folgendem Beispiel:

Spieler1 ist am Zug und hat noch keinen Siegpunkt; sein Gegner hat aber schon 49 Punkte. Man sieht leicht ein, dass man hier viel mehr als nur 15 Punkte riskieren sollte, da der Gegner schon so nahe am Sieg ist. Bei optimaler Strategie sollte man hier tatsächlich versuchen ohne abzubrechen in einem Zug die 50 Punkte zu erreichen! (Aber auch das kann man nicht verallgemeinern: Manchmal ist es auch bei einem großen Vorsprung des Gegners besser, nicht zuviel auf einmal zu versuchen ...)

In Einzelfällen weicht die Faustregel also extrem von der optimalen Strategie ab – im Mittel über viele Spiele erzielt sie aber nur etwa 5% schlechtere Gewinnwahrscheinlichkeiten!

Um nun die optimale Strategie zu berechnen, vereinfachen wie die Spielregeln noch ein klein wenig:

1)      Der Spieler hat eine 6 gewürfelt: der Zug ist sofort beendet und der Gegner ist am Zug. Die gesamte Zwischensumme dieses Zuges ist verloren!

wird geändert zu

1a) Der Spieler hat eine 6 gewürfelt: der Zug ist sofort beendet und der Gegner ist am Zug. Der Spieler bekommt einen Siegpunkt gutgeschrieben(auch wenn er ohne zu Würfeln abbricht)!

Wir machen diese Änderung im Moment deshalb, um Zyklen zu vermeiden; wir gelangen also im Laufe des Spieles nie zu einem früheren Zustand zurück.

Jetzt können wir uns daran machen und die Gewinnwahrscheinlichkeiten eines Spielers zu maximieren, wenn er am Zug ist; sei

P(i,j,k)      = Wahrscheinlichkeit zu gewinnen, wenn ich <i> Siegpunkte habe, mein Gegner <j> Siegpunkte hat und meine aktuelle Zwischensumme <k> beträgt.

P(i,j,k,W) =   Wahrscheinlichkeit zu gewinnen, wenn ich mich entschieden habe, noch einmal zu Würfeln (i,j,k wie oben).

P(i,j,k,S)   = Wahrscheinlichkeit zu gewinnen, wenn ich mich entschieden habe, NICHT noch einmal zu Würfeln, also zu Stoppen,  (i,j,k wie oben). Ich habe dann i+k Siegpunkte.

Zu jedem Entscheidungszeitpunkt wähle ich die Aktion W oder S mit der höheren Gewinnwahrscheinlichkeit P(i,j,k,W) oder P(i,j,k,S), also

P(i,j,k) = MAX{ P(i,j,k,W) , P(i,j,k,S) }

Wenn ich stoppe, kommt mein Gegenspieler(der die gleiche Strategie nutzt) dran und ich gewinne nur dann, wenn er verliert:

P(i,j,k,S) = 1 – P(j,i+k,0)   , k > 0

               = 1 – P(j,i+1,0)   , k = 0

Wenn ich weiter würfle, gilt:

P(i,j,k,W) = 1/6 * [ P(i,j,k+1) + P(i,j,k+2) + P(i,j,k+3) + P(i,j,k+4) + P(i,j,k+5) + ( 1 – P(j,i+1,0))]

denn wenn ich eine 1..5 würfle hat sich meine Zwischensumme entsprechend erhöht; wenn ich eine 6 würfle, bekomme ich einen Siegpunkt gutgeschrieben und mein Gegner ist dran, der mit P(j,i+1,0) gewinnt.

Bei den Summanden auf den rechten Seiten der Gleichungen für P(i,j,k,S) und P(i,j,k,W) ist nun entweder der Parameter <k> größer geworden bei gleichem <i> und <j> oder die Summe der Parameter <i> und <j> ist größer geworden! Man kann also die Werte für P(i,j,k,S) und P(i,j,k,W) nacheinander rückwärts berechnen; zuerst die Werte mit maximalem i+j und maximalem k, dann das nächst kleinere k bis k=0, dann die Summe i+j um 1 reduzieren , usw. (Dieses Verfahren nennt man in der Mathematik „dynamische Programmierung“).

Im Beispiel:

P(49,49,0) =          1    (man bekommt ja mindestens einen Punkt und gewinnt)

P(49,j,k) =             1      (dito)

P(48,49,2) =          1   (ich habe ja 48+2 Punkte beim Stoppen)

P(48,49,1,S) =       1 – P(49,49,0) = 1 – 1 = 0

P(48,49,1,W) =     1/6 * [ 1+1+1+1+1+ ( 1 – P(49,49,0)] = 5/6

Also P(48,49,1) = MAX { 0 , 5/6} = 5/6

P(48,49,0,S) =       0  (wenn der Gegner dran kommt, macht er aus 49 Punkten mindestens 50)

P(48,49,0,W) =     1/6 * [P(48,49,1) + 1+1+1+1+ ( 1 – P(49,49,0) ] = 1/6 * [ 5/6 + 4 ] = 29/36

also P(48,49,0) =   29/36 !

usw.

Diese Berechnungen sind langwierig und aufwendig, daher gibt es am Ende auch ein kleines Programm, mit welchem man diese Strategien berechnen und testen kann!

Zuguterletzt möchte ich nun die Regel 1a) von oben wieder fallen lassen und zurück auf Regel 1) gehen. Wir können jetzt tatsächlich auch Schleifen bekommen:

P(i,j,k,W) = 1/6 * [ P(i,j,k+1) + P(i,j,k+2) + P(i,j,k+3) + P(i,j,k+4) + P(i,j,k+5) + ( 1 – P(j,i,0))]

Die Summe der Parameter <i> und <j> auf der rechten Seite ist jetzt größer oder gleich der Summe auf der linken Seite. Trotzdem kann man diese Gleichungen (wenn auch aufwendiger) lösen; ein mögliches (Näherungs-)Verfahren hierzu ist die Werte-Iteration. Wir werden dieses Verfahren hier nicht näher erklären, da das etwas zu weit führen würde; das Programm am Ende dieses Artikels benutzt aber dieses Verfahren.

Im Beispiel:

P(49,49,1) =          1

P(49,49,0,S) =       1  - P(49,49,0);

P(49,49,0,W) =     1/6 * [ 1+1+1+1+1+ ( 1 – P(49,49,0))]  = 1 – 1/6 * P(49,49,0)

P(49,49,0) =          MAX { 1 – P(49,49,0) , 1 – 1/6 * P( 49,49,0)} = 1 – 1/6 * P(49,49,0)

Also P(49,49,0) = 6/7  !  ( und damit P(49,49,S) = 1/7 )

(es ist natürlich klar, dass ich immer mindestens einmal Würfeln muss!)

Ein weiteres, kleines Münzwurf-Beispiel:

Eine Münze wird geworfen: Bei Zahl erhält man einen Siegpunkt in die Zwischensumme; bei Kopf geht die komplette Zwischensumme verloren und der Mitspieler ist am Zug. Man kann jederzeit stoppen; wer zuerst 3 Siegpunkte hat, gewinnt!

Anbei alle Wahrscheinlichkeiten P(i,j,k,S) und P(i,j,k,W);

Wahrscheinlichkeiten: I=Ich, G=Gegner, Z=Zwischensumme

I-G-Z == W(Stop)--W(Wurf)

2-2-0 == 33,3%--66,7% 

2-1-0 == 60,0%--80,0% 

2-0-0 == 77,8%--88,9% 

1-2-1 == 33,3%--60,0% 

1-2-0 == 20,0%--40,0% 

1-1-1 == 60,0%--71,4% 

1-1-0 == 42,9%--57,1% 

1-0-1 == 77,8%--81,8% 

1-0-0 == 63,6%--72,7% 

0-2-2 == 33,3%--55,6% 

0-2-1 == 20,0%--33,3% 

0-2-0 == 11,1%--22,2% 

0-1-2 == 60,0%--63,6% 

0-1-1 == 42,9%--45,5% 

0-1-0 == 27,3%--36,4% 

0-0-2 == 77,8%--72,7%----- nur hier

0-0-1 == 63,6%--61,6%----- und hier sind W(Stop) > W(Wurf)

0-0-0 == 45,5%--54,5% 

 

Nur für den Startspieler ganz am Anfang beim Stand 0:0 lohnt es sich nach dem Wurf einer Zahl zu stoppen; ansonsten sollte man immer weiter spielen!

Damit bin ich nun am Ende; die vollständige Strategie-Beschreibung für das „Schlag den Raab“ Beispiel findet ihr unter diesem Link <HIER>. Hieraus kann man sich selbst verbesserte Faustregeln generieren; z.B. in den in der folgenden Tabelle aufgeführten Fällen weiterwürfeln – sonst stoppen:

Ich

Gegner

Zwischensumme

>= 30

Egal

Egal

20 ... 30

>= 20

Egal

20 ... 30

< 20

<=10

10 ... 20

> 30

Egal

10 ... 20

<= 30

<= 17

0 ... 10

> 35

Egal

0 ... 10

20 ... 35

<= 20

0 ... 10

< 20

<= 17

(diese Strategie ist im Mittel etwa 1% schlechter als die optimale Strategie)

Mit dem folgenden kleinen Programm könnt ihr Strategien berechnen und gegen den Computer spielen (Genauigkeit der Berechnungen: 0,1%; Strategien können in diesem Rahmen also minimal vom Optimum abweichen)!

Die folgenden Parameter kannst du nur vor dem Start eines neuen Spieles ändern:

Dann den Start/Reset Button drücken - ein neues Spiel wird begonnen! (beim ersten Spiel mit neuen Parametern kann dies etwas dauern, da die Computerstrategien neu berechnet werden) Drücke den "Würfeln"-Button, solange du weiterwürfeln möchtest. Möchtest du abbrechen und deine Zwischensumme sichern, so drücke den "Stop!"-Button.

Falls du die "Würfelzahl für Abbruch" gewürfelt hast, so wird dein Zug automatisch beendet - du mußt aber noch den "Stop!"-Button drücken, damit dann der Computer seinen Zug beginnt.

Unter "Wurfserie" wird immer die letzte Wurfserie der Spieler angezeigt. Deine aktuell gewürfelte Zahl und deine Gewinnwahrscheinlichkeit(bei optimalen Folgezügen) wird links neben dem Würfel-Button angezeigt.

Java not supported!

Links:

1) T.W. Neller, C.G.M. Presser: Optimal Play of the Dice Game Pig

2) Pig Visualizations

3) T.W. Neller, ...: Pedagogical Possibilities for the Dice Game Pig

Kommentare lesen/schreiben ";

Đ2009, Westpark Gamers