Chapter 197
I’d Like To Use My Riddler Lifeline
Riddler Express
You are a contestant on a game show. You hold a guaranteed $250,000 and have the option to answer up to two more questions. Get the first right and you reach the $500,000 tier, get the second right and you reach $1,000,000; any wrong answer drops you to $10,000. You have two lifelines left. The 50/50 takes the four answer choices and keeps the correct one plus one randomly chosen from the three wrong choices. Ask the Audience polls the studio audience; among four choices the correct answer is the audience plurality of the time, second-most-picked of the time, third and last ; among two choices the audience plurality is correct of the time. You assess yourself as guessing blindly on the last two questions. What is the strategy that maximises your expected winnings?
The Riddler, FiveThirtyEight, September 7, 2018(original post)
Solution
The walking-away option is worth $250,000 with no risk, so we keep that as the floor and only attempt a question if its expected payoff (including possibly walking away after) clears $250,000.
Compare attacks on the $500,000 question. Conditional on attempting it, every lifeline used cuts the cost of a wrong answer to nothing extra (you would have lost the same money anyway). So a rational plan uses every available lifeline on the question we choose to attack first. Consider three orderings.
Plan A: 50/50 alone. The 50/50 leaves two answers and we guess at random; success probability is .
Plan B: 50/50 then Ask the Audience. After the 50/50 there are two answers and the audience polls correctly of the time. We follow the audience plurality. Success probability is .
Plan C: Ask the Audience then 50/50. Now the order matters and we have to track both lifelines together. Suppose the correct answer is the audience’s rank- pick (where , with probabilities ). The 50/50 then keeps the correct answer and one uniformly random wrong answer; we pick whichever of the two surviving answers ranked higher with the audience.
If the audience plurality was correct (, prob ), the surviving pair is rank- and one of ranks , , . Rank- is correct and is the higher-ranked of the two, so we win with probability .
If the correct answer was rank- (, prob ), the survivor pair is rank- and one of ranks , , uniformly. We pick the higher rank: only when the other survivor was rank- do we get it wrong. Win probability .
If (prob ), the survivor pair is rank- and one of ranks , , uniformly. Win iff the other survivor was rank-, probability .
If (prob ), the survivor pair is rank- and one of ranks , , , all of which outrank it. Win probability .
Total success probability for Plan C: The three plans give , , for the $500,000 question.
Stop or press on for $1M? If we get $500,000, we have no lifelines and the $1M question is a blind guess: success . Pressing on gives expected , well below $500,000. So we stop at $500,000.
Could splitting one lifeline per question beat Plan C plus stop? Use Ask the Audience on Q1 (success by picking the plurality) and 50/50 on Q2 (success ). Joint success , expected . The other ordering, 50/50 on Q1 then Ask the Audience on Q2, has the same joint success: , expected . Both are dominated by Plan C plus stop.
Could the player attempt Q1 with no lifeline? Blind-guess Q1: success . If correct, attempt Q2 with both lifelines (Plan C, success ). Otherwise drop to . Expected ? Wait: if Q1 wrong, drop to $10,000 and stop. If Q1 right, attempt Q2 with Plan C; success gives $1M, failure drops to $10,000. Expected . Far worse than walking away.
The expected payoffs are
The computation
Re-encode the game by simulating the strategy directly over a randomised correct-answer position. The audience-rank of the correct answer is drawn from the distribution; the 50/50 keeps the correct answer and one of the remaining three uniformly; the player picks the higher of the two surviving ranks.
Sample the rank of the correct answer with the stated probabilities.
Sample uniformly which of the other three is kept by the 50/50.
Pick the higher-ranked surviving answer; record success.
Average over a million trials and confirm .
import random
random.seed(0)
ranks = [1, 2, 3, 4]
probs = [0.50, 0.30, 0.15, 0.05]
def trial():
k = random.choices(ranks, weights=probs, k=1)[0]
others = [r for r in ranks if r != k]
survivor = random.choice(others)
# pick lower number = higher rank (rank 1 = best)
return min(k, survivor) == k
N = 1_000_000
wins = sum(trial() for _ in range(N))
p = wins / N
print(f"Plan C success rate: {p:.4f} (target 0.7500)")
print(f"E[$ with Plan C then stop] = ${p*500_000 + (1-p)*10_000:,.0f}")
The script prints a frequency near and an expected payoff near $377,500.
Riddler Classic
Your child is collecting Riddler League cards. The Silver set has cards numbered to . Packs cost $1, each pack contains random distinct cards drawn uniformly from the , and the child’s allowance is $10 per week. How many weeks should you expect it to take to complete the Silver set? What about the Gold set of different cards?
The Riddler, FiveThirtyEight, September 7, 2018(original post)
Solution
This is a coupon-collector problem in which each "draw" is a pack of distinct cards from total, instead of a single card. The classic single-coupon collector has expected length where is the harmonic number; the batched version is similar in spirit but does not factor so cleanly. We set up a Markov chain on the number of distinct cards owned and solve it numerically.
Let be the expected number of packs to reach a complete set given the collector currently has distinct cards. The pack contributes new cards, where is hypergeometric: among cards there are unowned, and the pack of size is sampled without replacement. Hence for . Let denote the chance the pack is a complete duplicate. Conditioning on the next pack, This is a back-substitution from downward. The number we want is .
The early packs barely repeat themselves: the first pack is guaranteed all new; the second has expected new; and so on, with the expected new in pack landing at where is the running unique count. The harder the chase becomes at the end is the entire cost of the collector problem.
Solving the recurrence numerically (see The computation) for gives packs, that is about packs in expectation, or The same code with gives packs, that is Across both sets the running tally of cards bought sits near : for Silver, for Gold. The factor is the batched-coupon equivalent of the harmonic scaling: and , so predicts roughly to a week per cards in the chase, with the long tail dominating.
The computation
Re-encode the recurrence directly. We compute for using the hypergeometric pack-distribution exactly. As a sanity check, we Monte Carlo the actual pack-buying process and compare.
Iterate from down to ; for each enumerate from to ; compute exactly with .
Set .
Report for and .
import random
from math import comb
def expected_packs(N, K):
T = [0.0] * (N + 1)
total = comb(N, K)
for m in range(N - 1, -1, -1):
s = 0.0
p0 = comb(m, K) / total if m >= K else 0.0
for j in range(max(1, K - m), min(K, N - m) + 1):
p = comb(N - m, j) * comb(m, K - j) / total
s += p * T[m + j]
T[m] = (1 + s) / (1 - p0)
return T[0]
print(f"Silver (N=100, K=10): E[packs] = {expected_packs(100, 10):.2f}")
print(f"Gold (N=300, K=10): E[packs] = {expected_packs(300, 10):.2f}")
# Sanity check by Monte Carlo
random.seed(0)
def mc(N, K, trials):
total = 0
for _ in range(trials):
owned = set()
packs = 0
while len(owned) < N:
owned.update(random.sample(range(N), K))
packs += 1
total += packs
return total / trials
print(f"MC Silver: {mc(100, 10, 5000):.2f}")
print(f"MC Gold: {mc(300, 10, 1000):.2f}")
The exact recurrence prints and ; the Monte Carlo agrees to two significant digits. Five weeks for Silver, nineteen weeks for Gold.