The Birthday Paradox poses the following question: "How many people do you need in a room for there to be a greater than 50% probability of two people having the same birthday?"

At first guess - it feels big. There are 365 days in a year - so the answer must fall somewhere in the hundreds. (You can read more about the problem on the wikipedia page)

Let's fire up clojure to solve this problem:

C:\clojure-1.1.0>java -cp clojure.jar clojure.main

Clojure 1.1.0

user=> (def +year-size+ 365)

#'user/+year-size+

user=> (defn birthday-problem [probability number-of-people] (let [new-probability (* (/ (- +year-size+ number-of-people) +year-size+) probability)] (if (< new-probability 0.5 (+ 1 number-of-people) (birthday-problem new-probability (+ 1 number-of-people)))))

#'user/birthday-problem

user=> (birthday-problem 1.0 1)

23

The answer: 23 people! Which when you think about it - rings true when you think of classes at school. There was at least one person who had the same birthday as someone else.

(If you were thinking of a number greater than 100 then you were probably thinking of the number of people you'd need for someone to have

*the same birthday as you*- which is a problem for another day.)
## No comments:

## Post a Comment