 THE CLASSICAL BIRTHDAY PROBLEM:

Find the probability that of 23 randomly selected people, at least two share the same birthday.

Most of the people start solving this problem making combinations with the product (1/365)*(1/365), because the year has 365 days. Because this product is so small, the first conclusion is that the probability should be very small. As a matter of fact, for two randomly selected persons, the probability that their birthday is, let's say, January 1st, is exactly this product: (1/365)*(1/365). But that is not the question we asked before. We did not specified any day, so we have 365 different options. This is a factor that magnify the probability of the event.

I have developed a method to solve this problem that is not very complicated. Instead of thinking about how many possible combinations we can have with repeated numbers, we should think about how many combinations we could have where there are not repeated numbers! The probability we are looking for (P), will be the complement of this not repeated event probability that we will call (Q). It is clear that Q=1-P.

P2 = 365/(3652) , and     Q2 = 1 - 365/(3652)= (365)*(364)/(3652)

For three persons:

Q3 = (365)*(364)*(363)/(3653), and P3 = 1 - Q3

For four persons:

Q4 = (365)*(364)*(363)*(362)/(3654), and P4 = 1 - Q4

and so on. I can generalize to n persons:

Qn = (365)*(364)*(363)*(362)*....*(365-(n-1))/(365n), and Pn = 1 - Qn

We can rewrite this formula using the factorial function:

Qn = (365!)/[(365-n)!(365n)]

In the following table I am including calculated values of the probability (PE) for different values of n. Also, I am including the experimental results(Po) obtained by simulation ( find the program for the TI-83,TI-84, TI-89 at the end). The experiments were repeated 1000 times for each value.

 n PE PO 10 0.117 0.117 15 0.253 0.261 20 0.411 0.424 25 0.569 0.543 30 0.706 0.718 40 0.891 0.878

 Program for Simulation in TI-89: Birthday() Prgm Disp "Number of People=" Prompt p Disp "Number of trials=" Prompt t 0 -> n For k,1,t clrlist (list1,list2) randInt(1,365,p) -> list1 SortA list1 list1 -> temp For j,2,p If list1[j] = temp Then n+1 -> n GoTo j1 EndIf list1[j] -> temp EndFor Lbl j1 EndFor Disp "Total = ", n EndPrgm

 Program for Simulation in TI-83-84: Birthday() Input "T=",TInput "P=",P0 -> NFor (I,1,T) ClrList L1 randInt(1,365,P) -> L1 SortA(L1) Prgm ANY If M > 0 N+1 -> N END Disp NProgram: ANY 0 -> M 0 -> C L1(1) -> X For (J,2,P) If L1(J) = X THEN M+1 -> M ELSE L1(J) -> X END

BACK