The Price is Right optimal play
I'll look at the two player version, although IIRC the TV show was for three players. Also, instead of the values being 5 to 100 in steps of 5, WLOG just consider the wheel to be 1 to 20.
Well I believe the first thing to figure out is, if player one retires with value $x$, what is probably that player two wins? He can get either more than $x$ on his first roll, or with two rolls:
- hit $y$ on the first roll
- hit more than $x - y$ but no more than $20 - y$ on the second roll
The chance of second player Winning in one roll is then
$$\sum_{y=x+1}^{20}\frac{1}{20} = \frac{20 - x}{20}$$
and winning in two rolls is
$$\sum_{y=1}^x\overbrace{\frac{1}{20}}^\text{Chance of hitting y} \times \underbrace{\sum_{z=x - y + 1}^{20-y}\frac{1}{20}}_\text{Chance of hitting a winning second roll}$$
$$=\frac{1}{20\times 20}\sum_{y=1}^x \sum_{z=x - y + 1}^{20-y} 1$$
$$=\frac{1}{20\times 20}\sum_{y=1}^x 20 - x$$
$$=\frac{20x - x^2}{20\times 20}$$
So if player 1 retires with $x$, then the chance that player two wins is $p_2(x) = \frac{20 - x}{20} + \frac{20x - x^2}{20\times 20} = \boxed{1 - \frac{x^2}{400}}$
Ok so now we have to answer the second part: if you are player 1, and you roll $x$, should you reroll? For this you calculate the chance of winning if you reroll, and the chance of winning if you won't reroll, and choose which one is larger.
If you reroll, in order to win:
- roll value $z$ between $1$ and $20 - x$ inclusive
- player 2 must lose with player 1 retiring on $x + z$
$$\begin{align} \text{reroll win chance} &= \sum_{z = 1}^{20 - x} \frac{1}{20} (1 - p_2(x + z)) \\ &= \frac{1}{20} \sum_{z = 1}^{20 - x} \frac{(x+z)^2}{400} \\ &= \frac{1}{20^3} \sum_{z = 1}^{20 - x} x^2+2xz +z^2 \\ &= \frac{1}{20^3} \left((20-x)x^2+2x\frac{(20 - x)^2 + (20 - x)}{2} +\frac{(20-x)((20-x)+1)(2(20-x)+1)}{6} \right)\\ &= \frac{17220 - x - 3x^2 -2x^3}{48000} \end{align}$$
If you don't reroll, the chance of your winning is $1 - p_2(x) =\frac{x^2}{400}$.
So summarized:
$$ \newcommand{\cent}{{\mathrm{c}\mkern-6.5mu{\mid}}} \begin{array} {|c|c|c|} \text{Player 1 first roll} & \text{Winning chance if reroll} & \text{Winning chance if stay} \\ 5 \cent & 0.358625 & 0.0025 \\ 10 \cent & 0.358125& 0.01 \\ 15 \cent & 0.357 & 0.0225 \\ 20 \cent & 0.355 & 0.04 \\ 25 \cent & 0.351875& 0.0625 \\ 30 \cent & 0.347375& 0.09 \\ 35 \cent & 0.34125 & 0.1225 \\ 40 \cent & 0.33325 & 0.16 \\ 45 \cent & 0.323125& 0.2025 \\ 50 \cent & 0.310625& 0.25 \\ \hline 55 \cent & 0.2955 & 0.3025 \\ 60 \cent & 0.2775 & 0.36 \\ 65 \cent & 0.256375& 0.4225 \\ 70 \cent & 0.231875& 0.49 \\ \hline 75 \cent & 0.20375 & 0.5625 \\ 80 \cent & 0.17175 & 0.64 \\ 85 \cent & 0.135625& 0.7225 \\ 90 \cent & 0.095125& 0.81 \\ 95 \cent & 0.05 & 0.9025 \\ 100 \cent & 0 & 1 \end{array}$$
So player 1 should reroll if he gets anything less than $x=11$ or 55 cents. But unless he gets at least 75 cents, he's probably going to lose anyway. That's a pretty unfair game, player 1 only has a ${6 \over 20}$ chance of winning overall.
Long story short: She should not roll again.
Supposing Girl A does not spin again, we have the following possibilities.
Case 1: It is clear that there is an $\frac{8}{20}=\frac{2}{5}=40$% chance that Girl B rolls (strictly) higher than 60 (in which case, Girl B wins). In this case, Girl B holds (and presumably wins).
Case 2: Girl B rolls less than or equal to 60. This outcome is $60$% likely. Then, Girl B must roll again to beat girl A. Note that if Girl B rolls a $5n$ on her first attempt, where $n\in \{1,...,12\}$, the probability of her rolling "over" is $5n$%. What Girl B needs to roll enough so that her score is greater than 60 (and not exceeding 100) is $\{60-5(n-1),...,100-5n\}$. This occurs $\frac{8}{20}=40$% of the time.
Putting all of this together, if Girl A remains at 60, then Girl B has a $.4+.6\cdot.4 =.4+.24=.64=64$% chance of getting a higher score than Girl A.
Now, if Girl A decides to roll again, she has a $60$% of rolling over (or losing right away). Given this new score, say $5m$ (that is not a roll over), we have that Girl B can either win on her first roll or roll again. Note that $m\in \{13,...,20\}$.
Case 1: Girl B rolls greater than Girl A (in the case where $m\neq 20$) we have this is $100-5m$%.
Case 2: Girl B rolls less than or equal to than Girl A. This has probability $5m$%. Suppose that Girl B rolls $5t$. Then, the probability that Girl B, on her second turn, gets higher than Girl A, but not rolling over, we have $\{5m-5(t-1),...,100-5t\}$.
Now, we need to put these together to arrive at our final answer: The probability of Girl A not rolling over and Girl B beating her is $(.4)(\sum_{i=1}^8(.1)(\frac{8-i}{20}))=(.4)(\frac{7}{50})=(.4).14=0.056$. Therefore, the probability of Girl A losing is $.6+0.056=.656=65.6$%.
In conclusion, Girl A is in a very tough position. There is a $65.6$% chance of her losing if she rolls again and only a $64$% chance of losing if she chooses to not roll. Therefore, it's very close, but she shouldn't roll again.
I made a python function to test this problem.I will put the code at the bottom and you may test it at this site.
Please note that I used a 1 to 100 system rather than a 1 to 20 system.
Scroll to bottom for conclusion
I found that when the first number that is spun gets to 50 the odds of you winning and losing are approximately equal.
However, as the number you first spin gets higher, the average amount you gain drops.
Here are 3 test each with 100,000 spins.(Please note these are just approximations)
When the number you have spun on your first spin is 40.
Wins:59473
Losses:40527
Average gain:30.46
When the number you have spun on your first spin is 50.
Wins:49593
Losses:50407
Average gain:25.505
When the number you have spun on your first spin is 60.
Wins:39597
Losses:60403
Average gain:20.466727277318988
As you can see, every time the number we spun at first is increased by 10, the average amount gained goes down by 5.
The obvious conclusion is that if you rolled a 60, you should definitely not spin again. The highest roll were the odds would be in your favor would be a 45.
from random import randint
def test(spin):
w=0
l=0
gain=0
wins=0
tests=1000
for i in range(tests):
new=spin+randint(1,101)
if new>100:
l+=1
else:
w+=1
gain+=new-spin
wins+=1
return ("Wins:"+str(w)+"\nLosses:"+str(l)+"\nAverage gain:"+str(gain/wins))
#Set This equal to the number the person spun first
first_spin=50
print(test(first_spin))