(Math notation is generally the
same as that used in Microsoft's Excel. The
MathNotation
link will also give examples of the notation as used
here.)
The key to calculating Bingo statistics is the
Single Board Cumulative Probability of getting Bingo on or
before the "Nth" number is called. These are the numbers that
appear in Column 3 of the statistics table.
First, we
will show how to calculate the other columns once you have
the Column 3 data.
For any number of boards (1, 50, or other), the
probability of getting a Bingo when the Nth number is called
is the difference between the cumulative probability for the
Nth number and the (N-1)th number.
Example - single board (refer to the table): The
probability of getting a Bingo when the 20th number is called
is the cumulative probability for 20 numbers (0.022874) minus
the cumulative probability for 19 numbers (0.017993). The
result of 0.022874 minus 0.017993 is the 0.004881 probability
that appears in the table.
Example - 50 boards (again refer to the table):
The probability that (at least) one of the 50 boards will get
a Bingo when the 20th number is called is the cumulative
probability for 20 numbers (0.685574) minus the cumulative
probability for 19 numbers (0.596608). The result of 0.685574
minus 0.596608 is the 0.088966 probability that appears in the
table.
How to
calculate the Column 5 data
The Cumulative Probability column for any
number of boards can be calculated once the Cumulative
Probability for a single board is known. If we let "K" equal
the number of boards, and let Cp[N] equal the single board
Cumulative Probability after N numbers have been called, then
the "K" boards Cumulative Probability after N numbers have
been called is:
1 - ((1 -
Cp[N])^K) (^ is the
power function e.g. 2^3 = 8)
For example: If we have the Single Board Probability after 25
numbers have been called (look up 0.063961 in the table), the
50 board Cumulative Probability after 25 numbers is:
1 -((1 - 0.063961)^50) =
1 -(0.936039^50)
=
1 -
0.036703
= 0.963297 (You
can cross check this with the table.)
Note: A precision error will be noticeable when using smaller
values of "N")
Calculating
the single board cumulative probability values
Up to now we have been making easy calculations
using the single board Cumulative Probabilities. So where do
these numbers come from? Unfortunately this will require some
serious computer number crunching. The Single Board Cumulative
Probability that at least one Bingo exists given that "N"
numbers have been called is the sum of the probabilities for
the following conditions:
Of the N numbers called, 4 have been matched on the card, and
these 4 have formed a Bingo,
Of the N numbers called, 5 have been matched on the card, and
these 5 have formed a Bingo,
Of the N numbers called, 6 have been matched on the card, and
these 6 have formed a Bingo, etc.
Of the N numbers called, K have been matched on the card, and
these K have formed a Bingo, etc.
There will be two parts to the calculations. For
each of the above lines, we need to know the probability of
having K matches out of the N numbers that have been called.
We also need to know the probability of having at least one
Bingo given that K numbers have hit the board.
Part 1. Calculating the probability of having
at least 1 Bingo
given that you have "K" hits on the Bingo Card
(Warning: If you don't like to play with the bits in "C" or
"C++" programs, you aren't going to like this.)
There are 25 cells on a Bingo card that are
organized into a 5 x 5 square. The center space is free which
leaves 24 spaces that may or may not have been matched in the
course of a game. This leaves 2^24 = 16,777,216 different
patterns that may or may not have at least 1 Bingo. Each of
these is an equally likely pattern. For each of the 16,777,216
of these patterns, we are going to have to count how many
spaces are occupied and if the pattern contains a Bingo. For
example: there are COMBIN(24,10) = 1,961,256 different ways we
can hit 10 different spaces on the Bingo Board. We will have
to count how many of these 1,961,256 have at least one Bingo.
Then we can divide this count by 1,961,256, which will give us
the probability of having a Bingo.
The general algorithm we will
use will look like:
For each of the 16,777,216 patterns
Count the number of Bingo board spaces that
have hits (Min = 0 Max = 24)
Check this pattern to see if it has at least
one bingo
If "Yes" then add one to the count for this
number of board hits
Repeat the loop for the next pattern.
There's a little catch in here. How do you tell a
computer how to recognize a "Bingo"? (And you better find an
efficient way since we will be doing it 16,777,216 times.)
Let's number the spaces on a Bingo card as follows:
4
3 2 1 0
9 8 7 6 5
13
12 * 11 10
18
17 16 15 14
23
22 21 20 19
We have 24 spaces numbered from 0 to 23. We also note that
integer numbers in a computer are expressed as binary numbers.
The table below compares the first few decimal numbers with
their binary
equivalents.
Decimal
Binary
0
0
1
1
2
10
3
11
16,777,215 111111111111111111111111
(There are 24 1's)
Thus, if a computer counts from 0 to 16,777,215
the 0's and 1's in the binary numbers will generate all
possible patterns for the bingo card. (Let "1" represent a
"Called space" and "0" a not called space). If we use this
same rule of applying a "1" for a hit and "0" for no hit, then
we could express a Bingo for the first row by using "11111"
for 5 hits across the row. Similarly the second row forms a
Bingo if we have a pattern of "11111xxxxx". Here, the 1's are
positions in 5-9 (We count positions from right to left
starting with "0") while the x's occupy whatever garbage
might be in the first row. We can continue this process for
all 12 possible Bingo patterns. When we run our computer
program, we just compare the 12 patterns with each of the
16,777,215 numbers. If all the 1's in any of the 12 tests have
corresponding 1's in the binary number, then we have a Bingo.
(In patterns that use the central free space, only four 1's
are in the Bingo pattern). The actual computer instruction
uses a bitwise "AND" test for the test.
Finally, we can write the computer code.
for (i = 16777215; i;
i--) {
/* Count from 2^24-1 to
1
*/
NbrBits =
0;
/* Will
count the number of 1's
*/
j =
i;
/* Get a work version of the
number */
do
{
/* Will rotate
the number to the right */
NbrBits += (j &
1);
/* Will add
1 each time a "1" is found */
j >>= 1;
/*
Shift everything for the next test. */
} while(j);
/* Repeat until nothing left to look
at */
for (j = 12; j; j--) {
/* Now check the 12 Bingo
patterns */
if ((i & Bingos[j]) == Bingos[j]) {
/* If one of the patterns
matches
*/
NbrBingos[NbrBits]++;
/* then increment the count for
this */
break;
/*
number of hits.
*/
/* (Don't have
to search further) */
}
}
/*
Else check next bingo
pattern
*/
}
/*
Repeat all 16777215 possible patterns. */
We can output the results here and show the probability of
having a Bingo given you have "N" hits on your bingo card.
Number of
Nbr. of hits
Comb.with
Total
Probability
there is at
on the
card a Bingo
Combinations
least 1 Bingo(Col.2 / Col.3)
---------------------------------------------------------------
0
0
COMBIN(24,
0) =
1
0.000000
1
0
COMBIN(24,
1) =
24
0.000000
2
0
COMBIN(24,
2) =
276
0.000000
3
0
COMBIN(24,
3) = 2,024
0.000000
4
4
COMBIN(24,
4) = 10,626
0.000376
5
88
COMBIN(24,
5) = 42,504
0.002070
6
912
COMBIN(24,
6) = 134,596 0.006776
7
5,928
COMBIN(24,
7) = 346,104 0.017128
8
27,102
COMBIN(24,
8) = 735,471 0.036850
9
92,520
COMBIN(24,
9) = 1,307,504 0.070761
10
244,092 COMBIN(24,10)
= 1,961,256 0.124457
11
507,696 COMBIN(24,11)
= 2,496,144 0.203392
12
841,100 COMBIN(24,12)
= 2,704,156 0.311040
13
1,113,360
COMBIN(24,13) = 2,496,144 0.446032
14
1,174,620
COMBIN(24,14) = 1,961,256 0.598912
15
981,424 COMBIN(24,15)
= 1,307,504 0.750609
16
644,445 COMBIN(24,16)
= 735,471 0.876234
17
331,056 COMBIN(24,17)
= 346,104 0.956522
18
133,428 COMBIN(24,18)
= 134,596 0.991322
19
42,480 COMBIN(24,19) =
42,504 0.999435
20
10,626 COMBIN(24,20) =
10,626 1.000000
21
2,024 COMBIN(24,21) =
2,024
1.000000
22
276 COMBIN(24,22) =
276
1.000000
23
24 COMBIN(24,23) =
24
1.000000
24
1 COMBIN(24,24) =
1
1.000000
From here it gets "easier". If we want to find
the cumulative probability that we have a Bingo after 10
numbers have been called, we just sum the following:
The probability that 4 of the 10 numbers are on
the card times the probability that these 4 hits form a Bingo,
plus the probability that 5 of the 10 numbers are on the card
times the probability that these 5 hits form a Bingo, etc.
through all 10 numbers are on the card. This comes out to:
COMBIN(24, 4) * COMBIN(51, 6) / COMBIN(75,10) * 0.000376 =
0.000087
COMBIN(24, 5) * COMBIN(51, 5) / COMBIN(75,10) * 0.002070 =
0.000249
COMBIN(24, 6) * COMBIN(51, 4) / COMBIN(75,10) * 0.006776 =
0.000275
COMBIN(24, 7) * COMBIN(51, 3) / COMBIN(75,10) * 0.017128 =
0.000149
COMBIN(24, 8) * COMBIN(51, 2) / COMBIN(75,10) * 0.036850 =
0.000042
COMBIN(24, 9) * COMBIN(51, 1) / COMBIN(75,10) * 0.070761 =
0.000006
COMBIN(24,10)* COMBIN(51, 0) / COMBIN(75,10) * 0.124457 =
0.000000
Total
=
0.000808
(Which is the value shown for the single board cumulative
probability after 10 numbers have been called. Calculations
for all the other single board cumulative probabilities are
similar.)
Return to the
Bingo main page
Web page generated via Sea Monkey's Composer
within a Linux Cinnamon Mint 18 operating system.
(Goodbye Microsoft)