Tom K. answered 10/31/20
Knowledgeable and Friendly Math and Statistics Tutor
For the probability of getting exactly one match, we calculate 1 - P(no match)
The number of ways to have no matches when choosing 5 from 16 would mean you matched 5 of the remaining 11 = C(11,5). For the middle row, there would be C(12,4), The number of possible selections of 5 from 16 is C(16,5) and the number of selections of 4 from 16 is C(16,4)
C(16,5)4C(16,4) = 6.62524444 * 1017
Then, the number of ways to have no selections is
C(11,5)4C(12,4) = 22551378862320
Thus, the probability of no selections is 1 - C(11,5)4C(12,4)/(C(16,5)4C(16,4)) = 1 - (11/104)^4*99/364 =
1 - 1449459/42582851584 = 42581402125/42582851584 = 0.999965961438793
For the probability of 7 matches, I came up with two ways. One is to find out all ways to add up to 7 (looking at the middle row separately), find the number of ways to get a pattern in one order (for example, 5 from the first row, 2 from the second row, 0 from the third through 5th), determining the number of ways to get 5, 2, 0, 0, and 0 = 1*C(11,3)*Combin(5,2)*Combin(12,4)*combin(11,5)*combin(11,5), and then determining that there are 4*3 = 12 ways to get 5, 2, 0, 0, 0 in different orders (0 in row 3)
It turns out that there are 31 different patterns.
Excel files don't paste well here.
The other way is to write a program where we loop through the number of matches for the five rows and add when the sum is 7.
The program is below.
We get 134966548526116128 for 7 and the total is 662524444712632320 (matching the total above)
134966548526116128/662524444712632320 = .2037
Interestingly, 7 is the most likely result.
The program is below (I actually wrote out counts for 0 through 24 matches; you can check the program by seeing that count2 is the denominator listed previously- there are some mathematical precision issues that have to be taken into account - if you only want seven change the loop to 7:7 from 0:24.
The program is in R, but the coding is simple, so you can easily change into other languages.
choose is R's function for combinations. If you can't find the function, you can use the factorial function.
C(n,r) = n!/(r!(n-r)!)
count2 <- 0
for(z in 0:24){
counts <- 0
for(a in 0:5){
for(b in 0:5){
for(c in 0:4){
for(d in 0:5){
for(e in 0:5){
if((a+b+c+d+e) == z){
counts <- counts + choose(11,5-a)*choose(5,a)*
choose(11,5-b)*choose(5,b)*
choose(11,5-d)*choose(5,d)*
choose(11,5-e)*choose(5,e)*
choose(12,4-c)*choose(4,c)}
}}}}}
print(paste(z,counts),sep=',')
count2 <- count2 + counts}
print(paste("Total: ",count2,sep=""))
Panda S.
Wow, this is really great! When I got those two bingo cards I thought it was rare to get seven duplicates, but it turns out that is one of the most likely amounts of duplicates to happen given the parameters. Thank you very much for your time and response Tom K.!10/31/20