I wandered over here from StackOverflow and my understanding of advanced mathematics is limited, so bear with me…
A standard, BINGO game card has 24 numbers arranged in a 5×5 format. The center of the card has a free space. The numbers range from 1 to 75. Each column has 1/5 of the numbers (1-15, 16-30, etc). Every round results in a single number being called. To win, a player must have 5 numbers in a row, column, or diagonal for a total of 12 possible ways to win.
My understanding is that a single player will on average call bingo in 41.36 rounds. See Wizard of Odds.
- As the number of players increase, does the average rounds to win decrease?
- Would proportionally increasing the number range (e.g. 1-85 instead of 1-75) cancel the effect of the increased number of players? If so, how is it related?
GOAL: Given a fixed set of players P and a desired number of rounds R, how large should the set of numbers N be?
Example: For 100 players, how large should the set of numbers be for the game to last, on average, 50 rounds?
Best Answer
Yes, but it can not be made arbitrarily small. As the number of players increases, the expected number of turns to finish the game will approach $4$.
Yes it would, the average game length can be made arbitrarily long if enough numbers are used for the balls. The exact relationship is probably very complicated.
I've opted for a numerical approach, since the probabilities for BINGO are extremely not obvious. I wrote a Python program which (approximately) answers the question: "How many total numbers do we need to make a game last
Nturns
given that we haveNplayers
people playing?" Note that the number of numbers needs to be a multiple of $5$, otherwise one column would be biased. Since $50$ turns seems to be a good average length for a game, if we just set $R = 50$, I've found an experimental fit for $1\leq P \leq 100$. See this graph:Note that to answer your example question, the model gives $N \approx 256.5$, so we probably need $255$ numbers. Here is the program if you want to compute some results more accurately; simply change the arguments of
how_many_numbers(Nplayers, Nturns)
.