Expected value of median of rolling three fair dice

Join the discussion
Registration is free. Start your own thread to ask a follow-up.
9 replies · 5K views
Master1022
Messages
590
Reaction score
116
Homework Statement
What is the expected value of the median of three dice rolls?
Relevant Equations
Expected Values
Hi,

I was reading this problem and I found a solution on Math Stackexchange which I don't quite understand.

Question: Calculate the expected value of the median of rolling a die three times.

Attempt:
I read the following answer on math stack exchange here
"As already noted in a comment, the result can be derived from symmetry without any calculation. The probability distribution of the die is invariant under the symmetry transformation ##x \rightarrow 7 - x##, a reflection about ##x = \frac{7}{2}##. Thus the median and the mean must also be invariant under this transformation. Thus they must be the centre of the reflection, [itex]x =\frac{7}{2}[/itex] . "I don't quite understand why this means the median of rolling three die is ##\frac{7}{2}##. I apologize if this is quite obvious, but any help would be appreciated
 
  • Like
Likes   Reactions: Delta2
Physics news on Phys.org
PeroK said:
The median of three dice would be ##21/2## by the same symmetry argument.
sure, but I thought the median was a non-linear operator, so how have we arrived at that answer?
 
Master1022 said:
sure, but I thought the median was a non-linear operator, so how have we arrived at that answer?
Symmetry!

It doesn't have to be non-linear in all cases. It's only non-linear in general.
 
  • Informative
Likes   Reactions: Master1022
PeroK said:
The median of three dice would be ##21/2## by the same symmetry argument.
Sorry, I just realized I wasn't clear. When I said 3 dice rolls, I meant as in rolling the dice three times and then calculating the median of the sequence (e.g. 1, 2, 5 --> median = 2). I think 21/2 might not be correct as it is bigger than 6 so median of the three rolls shouldn't (and I dare say can't) be that...
 
Master1022 said:
Sorry, I just realized I wasn't clear. When I said 3 dice rolls, I meant as in rolling the dice three times and then calculating the median of the sequence (e.g. 1, 2, 5 --> median = 2). I think 21/2 might not be correct as it is bigger than 6 so median of the three rolls shouldn't (and I dare say can't) be that...
Okay, of course, not added together. Then it's ##7/2## by the symmetry argument.

111 is as likely as 666
112 is as likely as 665
etc.

You ought to simulate this, with a computer script or otherwise, if you don't see it.
 
  • Like
Likes   Reactions: Master1022
PeroK said:
Okay, of course, not added together. Then it's ##7/2## by the symmetry argument.

111 is as likely as 666
112 is as likely as 665
etc.

You ought to simulate this, with a computer script or otherwise, if you don't see it.
Yes that is true, I wrote a quick python simulation to test it and it does make sense now. Thanks @PeroK !

I'll just leave the code here for any future readers:
[CODE lang="python" title="Expected Median of Three Dice Python Simulation"]# import libraries
import numpy as np

# define the number of repetitions
number_repetitions = 1000

# now make an array to store the medians
median_array = np.zeros(number_repetitions)

# start the loop
for i in range(number_repetitions):
# get the outcomes of the three dice and append median to array
median_array = np.median(np.random.randint(low = 1, high = 7, size = (1, 3)))

print('The expected value of the median of three dice rolls is', np.average(median_array))[/CODE]
 
  • Like
Likes   Reactions: PeroK
Master1022 said:
Yes that is true, I wrote a quick python simulation to test it and it does make sense now. Thanks @PeroK !

I'll just leave the code here for any future readers:
[CODE lang="python" title="Expected Median of Three Dice Python Simulation"]# import libraries
import numpy as np

# define the number of repetitions
number_repetitions = 1000

# now make an array to store the medians
median_array = np.zeros(number_repetitions)

# start the loop
for i in range(number_repetitions):
# get the outcomes of the three dice and append median to array
median_array = np.median(np.random.randint(low = 1, high = 7, size = (1, 3)))

print('The expected value of the median of three dice rolls is', np.average(median_array))[/CODE]


In your code, why did you set high = 7 not high = 6 in this line: median_array = np.median(np.random.randint(low = 1, high = 7, size = (1, 3)))? Since the die go from 1 to 6 not 7.
Thanks in advance for clarification.
 
The median of any number of die rolls is 7/2. It is expected that the number of rolls greater than this number will be equal to number less than this number.

I see to recall that any number between 6 and 7 will do.
 
Hornbein said:
The median of any number of die rolls is 7/2. It is expected that the number of rolls greater than this number will be equal to number less than this number.

I see to recall that any number between 6 and 7 will do.
I see. Thanks for your clarification.