First-Player Advantage

Pig is a folk jeopardy dice game with simple rules: Two players race to reach 100 points. Each turn, a player repeatedly rolls a die until either a 1 ("pig") is rolled or the player holds and scores the sum of the rolls (i.e. the turn total). At any time during a player's turn, the player is faced with two decisions:

Problem:  There is an advantage to going first in Pig, but how big an advantage is it for “hold at 20 or goal” play?  We wish to estimate the probability of a first-player win with a hold-at-20-or-goal play policy.  Simulate a given number of two-player Pig games where a player rolls until a 1 ("pig") is rolled, or the turn total is greater than or equal to 20, or the score plus the turn total is greater than or equal to 100.  Report the fraction of games won by the first player.

Input Format:  Enter a single positive integer indicating the number of games simulated.  (Larger numbers will tend to yield better estimations.)

Output Format:

Sample Transcript:

Highlight the transcript in the space immediately below to check your result (your approximation will vary in latter decimal places):

Games? 1000000
Probability of first player win: 0.534951

Non-transcript note: The actual value is approximately .5347.

Common Error:  When creating nested loops, perform loop initialization directly before the relevant loop.  Note:

<loop 1 initialization>
<loop 1>
        <loop 2 initialization>
        <loop 2>

is not the same as

<loop 1 initialization>
<loop 2 initialization>
<loop 1>   
        <loop 2>

In the latter case, <loop 2> is not properly initialized each time.


Todd Neller