INTRODUCING 5 - days-a-week problem solving session for Math Olympiad and ISI Entrance. Learn More 

April 24, 2020

Elchanan Mossel's Dice Paradox | ISI MStat 2018 PSB Problem 6

This problem from ISI MStat 2018 PSB (Problem 6) is called the Elchanan Mossel's Dice Paradox. The problem has a paradoxical nature, but there is always a way out.


A fair 6 -sided die is rolled repeatedly until a 6 is obtained. Find the expected number of rolls conditioned on the event that none of the rolls yielded an odd number.


  • Geometric Distribution
  • Conditional Probabilty
  • Conditional Expectation
  • Expectation Smooting Property \( E_X(E_Y(Y|X)) = E(Y)\)
  • Common Sense


The Wrong Solution

Let \(X_{1}, X_{2}, \cdots\) be the throws of a die. Let
{T}=\min\{{n: X_{n}=6}\}

Then \(T\) ~ Geo(\(p =\frac{1}{6}\))

But, here it is given that none of the rolls are odd numbers. So,

{T}=\min\{{n: X_{n}=6} | X_n = \text{even}\} = \min\{{n: X_{n}=6} | X_n = \{2, 4, 6\}\}

Then \(T\) ~ Geo(\(p =\frac{1}{3}\)) Since, there are three posibilities in the reduced (conditional) sample space.

So, \(E(T) =3\).

Obviously, this is false. But you are not getting why it is false right? Scroll Down!

Where it went wrong?

It went wrong in observing the given condition of the problem. Observe that it is given that none of the rolls are odd till the roll you got success, not for all the rolls beyond that also.

So, $$
{T}=\min\{{n: X_{n}=6} | X_n = \text{even}, n \leq T\} = \min\{{n: X_{n}=6} | X_n = \{2, 4, 6\}, n \leq T\}

So, we are essentially seeing that the sample space didn't get reduced all along, it got reduced till that point of the roll. This is where the paradox marches in.

We are thinking of the experiment as we are picking up only \( \{ 2, 4, 6\} \) in the experiment and rolling. No!

The Elegant One Liner Solution

The idea is to think from a different perspective as with the case of every elegant solution. Let's reconstruct the experiment in a different way. It is like the following. Remember, we need to exclude the odd numbers, so just throw them away and start anew.


If you get \(\{1, 3, 5\}\), start counting the number of rolls again from the beginning. Stop when you get 6. This is the exact formulation of the waiting time to get a 6 without getting any odd numbers till that toss. We will show that our success is when we get \(\{1, 3, 5, 6\}\) in this experiment.

Mathematical Form

Let \(\tau\) be the time required to get an outcome different from \(\{2,4\}\) Then \(E(\tau | X_{\tau}=j)\) is independent of \(j\) for \(j \in \{1,3,5,6\}\) because it is same for all \( j\). Thus, by the smooting property of \(E\left(\tau | X_{\tau}=j\right)=E(\tau)\).

Observe, \(\tau\) ~ Geo( \( p = \frac{4}{6}\)). Hence, \( E(\tau) = \frac{3}{2}\).

The Bigger Bash Solution

\(T=\min \{n: X_{n}=6\}\)
We need to calculate \( \mathbb{E}(T | X_{1}, \cdots, X_T \in \{2,4,6\})\).

For that we need to find out the conditional probabilities \(\mathrm{P}\left(\mathrm{T}=\mathrm{k} | \mathrm{X}{1}, \cdots, \mathrm{X}{\mathrm{T}} \in{2,4,6}\right)\) and that is given by
\frac{\mathrm{P}\left(\mathrm{T}=\mathrm{k} \cap\left(\mathrm{X}_{1}, \cdots, \mathrm{X}_{\mathrm{T}} \in \{2,4,6\}\right)\right)}{\mathrm{P}\left(\mathrm{X}_{1}, \cdots, \mathrm{X}_{\mathrm{T}} \in \{2,4,6\} \right)}=\frac{\mathrm{P}\left(X_{\mathrm{k}}=6, \mathrm{X}_{1}, \cdots, \mathrm{X}_{\mathrm{k}-1} \in \{2,4\} \right)}{\mathrm{P}\left(\mathrm{X}_{1}, \cdots, \mathrm{X}_{\mathrm{T}} \in \{2,4,6\} \right)}=\frac{1}{6}\left(\frac{1}{3}\right)^{\mathrm{k}-1} \frac{1}{\alpha}
where \(\alpha=\mathrm{P}\left(\mathrm{X}_{1}, \cdots, \mathrm{X}_{\mathrm{T}} \in \{2,4,6\} \right)\) . Thus \(\mathrm{T} |\left(\mathrm{X}_{1}, \cdots, \mathrm{X}_{\mathrm{T}} \in \{2,4,6\} \right)\) follows a geometric distribution with parameter \(\frac{2}{3}\) and consequently its expectation is \(\frac{3}{2}\).

Stay Tuned! Stay Blessed!

Click here for Detailed Discussion

Simulation in Python

import random

times = 0 #number of times a successful (all-even) sequence was rolled
rolls = 0 #total of all number of rolls it took to get a 6, on successful sequences
curr = 0
alleven = True

for x in range(0, 100000):

  num = random.randint(1,6)
  if num % 2 != 0:
    alleven = False
    if num == 6:
      if alleven:
        times += 1
        rolls += curr + 1
      curr = 0
      alleven = True
      curr += 1

print(rolls * 1.0 / times)

Source: mathstackexachange

Stay Tuned! Stay Blessed!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Cheenta. Passion for Mathematics

Advanced Mathematical Science. Taught by olympians, researchers and true masters of the subject.