- Suppose there is a game where 1000 people flip a fair coin.
- In round 1, everyone who had tails is eliminated.
- In round 2, the remaining people flip coins again, of the remaining people, everyone who had tails is out.
- This keeps going until everyone is out.
Here is my R simulation to represent this:
# pre game set up
library(dplyr)
num_players <- 1000
results <- data.frame(player = paste0("player", 1:num_players))
status <- rep("playing", num_players)
round <- 1
# simulation
while (any(status == "playing")) {
coin_flips <- ifelse(runif(num_players) > 0.5, "heads", "tails")
current_round <- ifelse(status == "playing", coin_flips, "eliminated")
status <- ifelse(status == "playing" & coin_flips == "tails", "eliminated", status)
results <- cbind(results, current_round)
colnames(results)[ncol(results)] <- paste0("round_", round)
round <- round + 1
}
The results look like this:
> head(results)
player round_1 round_2 round_3 round_4 round_5 round_6 round_7 round_8 round_9 round_10
1 player1 heads heads heads heads heads heads tails eliminated eliminated eliminated
2 player2 tails eliminated eliminated eliminated eliminated eliminated eliminated eliminated eliminated eliminated
3 player3 tails eliminated eliminated eliminated eliminated eliminated eliminated eliminated eliminated eliminated
4 player4 tails eliminated eliminated eliminated eliminated eliminated eliminated eliminated eliminated eliminated
5 player5 tails eliminated eliminated eliminated eliminated eliminated eliminated eliminated eliminated eliminated
6 player6 heads tails eliminated eliminated eliminated eliminated eliminated eliminated eliminated eliminated
I am trying to answer the following question: After the result of the simulation, can we see if this game had a unique winner? That is, was there a moment in which all other 999 players were eliminated but one player had still not been eliminated? (i.e. no ties)