# Chance of rolling highest after removing highest and lowest?

The problem: Say two people each roll 3 20-sided dice (a total of 6 dice). Person 1, only keeps the lowest die from the throw. Person 2, only keeps the highest die from the throw. What is the chance that person 1 rolls higher (not equal) than person 2?

Furthermore: I am going to check what happens to the percentage if they roll 4,5,6 dice instead of 3.

Solution: Obviously I am interested in all the help I can get. I would like a solution/approach that can be used with different amounts of rolls, and give an answer, preferable something like change x for amount of dice in each roll. I don't study math in university.

My attempts: I have tried to calculate it in Excel, but my math/excel skills were not great enough for me to get beyond a scenario where person 1 rolls 2 dice, and keeps the lowest and checks if it is higher than person 2, without removing the highest. I check before posting if I could find the answer in this site.

• It seems to me that the following approach should work. For the moment, forget about who's rolling which die. Just take $6~20-$sided dice and roll them. What is the probability that there is a tie for the median roll? Assuming that hasn't happened, determine the probability (which will be $1/20$) that the three highest rolls belonged to the first player. Apr 6 '19 at 14:45
• Thank you! (: @RobertShore Apr 28 '19 at 19:45

@RobertShore's Comment may lead you to an analytic solution. Meanwhile, it is easy to get an approximate answer by simulation.

In R statistical software, sample(1:20, 3, rep=T) simulates three rolls of a 20-sided die. So the following program finds the proportion of plays out of a million in which the first player wins. For the parameters you specify, the answer is $$0.043 \pm 0.0004.$$ (If each person rolls 6 dice, the probability drops to about $$0.0008.)$$

set.seed(406)    # for reproducibility (omit this line for fresh simulation)
m = 10^6;  f = 20;  r = 3
w1 = replicate( m, min(sample(1:f,r,rep=T)) > max(sample(1:f,r,rep=T)) )
mean(w1)
[1] 0.04303
2*sd(w1)/sqrt(m)
[1] 0.0004058675


Notes: You can install R to run under most operating systems with a free download from www.r-project.org. On my ageing computer the simulation takes less than 15 sec.