1
$\begingroup$

The setup of the game involves three players and a fair, six-sided die. The rules are: If a player rolls a six, they win the game, if they roll an odd number, they pass the die to the player on their right, and if they roll an even number other than six, they pass the die to the player on their left.

The question: What is the probability that the first person to roll the die wins?

Attempt: Broke this up into different cases, suspecting a geometric distribution. Probability that person who rolled first wins on 1st roll is 1/6, probability of winning on the 2nd roll is 0, probability of winning on the 3rd roll is 1/18, and so on. However, I couldn't establish any clear geometric pattern, is this approach a dead end?

$\endgroup$
1
  • $\begingroup$ You can set this up as a Markov chain with two absorbing states, and use the results listed here on the Wikipedia page to get the absorbing probabilities. There might be an easier way though. $\endgroup$
    – angryavian
    Commented Feb 21, 2019 at 6:44

1 Answer 1

4
$\begingroup$

Let $X$ be the event in which player $1$ wins the game, and $T$ denote the person whose turn it is to throw the die. We then find:

$$P(X | T = 1) = \frac{1}{6} + \frac{2}{6} P(X | T = 2) + \frac{3}{6} P(X | T = 3)$$

We know that:

$$P(X | T = 2) = \frac{3}{6} P(X | T = 1) + \frac{2}{6} P(X | T = 3)$$

$$P(X | T = 3) = \frac{2}{6} P(X | T = 1) + \frac{3}{6} P(X | T = 2)$$ $$= \frac{2}{6} P(X | T = 1) + \frac{3}{6} \left(\frac{3}{6} P(X | T = 1) + \frac{2}{6} P(X | T = 3)\right)$$ $$\iff P(X | T = 3) = \frac{21}{30} P(X | T = 1)$$

As such, it follows that:

$$P(X | T = 1) = \frac{1}{6} + \frac{2}{6} \left(\frac{3}{6} P(X | T = 1) + \frac{2}{6} P(X | T = 3)\right) + \frac{3}{6} P(X | T = 3)$$ $$= \frac{1}{6} + \frac{2}{6} \left(\frac{3}{6} P(X | T = 1) + \frac{2}{6} \frac{21}{30} P(X | T = 1)\right) + \frac{3}{6} \frac{21}{30} P(X | T = 1)$$ $$\iff P(X | T = 1) = \frac{30}{73} \approx 0.4110$$

This result can be confirmed using the following Python code:

from random import randint

s = [0, 0, 0]
n = 1000000
for _ in range(n):
    p = 0
    while True:
        t = randint(1, 6)
        if t == 6:
            s[p % 3] += 1.0 / n
            break
        elif t == 2 or t == 4:
            p += 2
        else:
            p += 1
print(s)

An example run returned:

[0.411106, 0.300798, 0.288096]
$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .