Expected value of median of rolling three fair dice

AI Thread Summary
The expected value of the median when rolling three fair dice is calculated to be 7/2, based on symmetry arguments. This conclusion arises from the invariant nature of the probability distribution under reflection, indicating that the median and mean must align at the center of the distribution. A participant initially misunderstood the calculation, thinking the median could exceed the maximum die value of 6, but later clarified their understanding through a Python simulation. The simulation confirmed that the expected median value aligns with the theoretical result. The discussion emphasizes the role of symmetry in deriving the expected median of multiple dice rolls.
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, x =\frac{7}{2} . "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 Delta2
Physics news on Phys.org
The median of three dice would be ##21/2## by the same symmetry argument.
 
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 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 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 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.
 
  • #10
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.
 
Back
Top