How many people must be there in a room to make the probability 100% that at-least two people in the room have same birthday?
Answer: 367 (since there are 366 possible birthdays, including February 29).
The above question was simple. Try the below question yourself.
How many people must be there in a room to make the probability 50% that at-least two people in the room have same birthday?
The number is surprisingly very low. In fact, we need only 70 people to make the probability 99.9 %.
Let us discuss the generalized formula.
What is the probability that two persons among n have same birthday?
Let the probability that two people in a room with n have same birthday be P(same). P(Same) can be easily evaluated in terms of P(different) where P(different) is the probability that all of them have different birthday.
P(same) = 1 – P(different)
P(different) can be written as 1 x (364/365) x (363/365) x (362/365) x …. x (1 – (n-1)/365)
How did we get the above expression?
Persons from first to last can get birthdays in following order for all birthdays to be distinct:
The first person can have any birthday among 365
The second person should have a birthday which is not same as first person
The third person should have a birthday which is not same as first two persons.
The n’th person should have a birthday which is not same as any of the earlier considered (n-1) persons.
Approximation of above expression
The above expression can be approximated using Taylor’s Series.
provides a first-order approximation for ex for x << 1:
To apply this approximation to the first expression derived for p(different), set x = -a / 365. Thus,
The above expression derived for p(different) can be written as
1 x (1 – 1/365) x (1 – 2/365) x (1 – 3/365) x …. x (1 – (n-1)/365)
By putting the value of 1 – a/365 as e-a/365, we get following.
p(same) = 1- p(different)
An even coarser approximation is given by
By taking Log on both sides, we get the reverse formula.
Using the above approximate formula, we can approximate number of people for a given probability. For example the following C++ function find() returns the smallest n for which the probability is greater than the given p.
Implementation of approximate formula.
The following is program to approximate number of people for a given probability.
1) Birthday Paradox is generally discussed with hashing to show importance of collision handling even for a small set of keys.
2) Birthday Attack
This article is contributed by Shubham. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- New Algorithm to Generate Prime Numbers from 1 to Nth Number
- Shortest path from source to destination such that edge weights along path are alternatively increasing and decreasing
- Find the position of box which occupies the given ball
- Find sum of factorials in an array
- Maximum money that can be withdrawn in two steps
- Minimum steps to color the tree with given colors
- Highest power of 2 that divides a number represented in binary
- Number of ways to arrange K different objects taking N objects at a time
- Check if the frequency of any character is more than half the length of the string
- Find the minimum sum of distance to A and B from any integer point in a ring of size N
- Find the value of N when F(N) = f(a)+f(b) where a+b is the minimum possible and a*b = N
- Find maximum product of digits among numbers less than or equal to N
- Highest power of a number that divides other number
- Minimum value of X to make all array elements equal by either decreasing or increasing by X