Q: Two men want to do a fair coin toss but don't have any coins with them. They can see cars occasionally drive by on a street and have a stop watch. How do they do it?
Introduction to Probability Theory
A: The number of cars driving by a street in a given interval of time is a great example of a Poisson process which follows a distribution given by
$$f(k,\lambda) = \frac{(\lambda t)^{k}e^{-(\lambda t)}}{k!}$$
where \(k\) is the number Poisson events occurring in an interval of time \(t\) where the average rate of such events is \(\lambda\) per unit time (say minutes). The probability that an interval of time \(t\) would pass by without any events (i.e. \(k=0\) ) is
$$ P(\text{no event}) = e^{-\lambda t} $$
This implies that the probability of an event happening after time \(t\) is
$$F(t) = 1 - e^{-\lambda t}$$
The p.d.f of waiting times between events is
$$P(t) = \lambda e^{-\lambda t}$$
This is known as the exponential distribution and is good one to model arrival times of a Poisson process. There is an interesting fact about the exponential process. The number of events happening in a given interval of time is only dependent on that interval of time and is not dependent on whether it has occurred or will occur in the future. This is known as the Markov property or the memoryless property. The proof for this is quite easy to follow and I leave it up to the reader.
Coming back to the problem: If we make the reasonable assumption that cars arrive as a Poisson process and thus the probability of a car being seen on the street is the same given the interval of time, the men could do the following.
Note, the cool thing about this algorithm is that we needn't know the arrival rate of cars \(\lambda\) on that street. The uniformity of the outcome is independent of \(\lambda\) ! That said, the algorithm could take a while to select a winner if \(\lambda\) is small.
Some good books on probability
Fifty Challenging Problems in Probability with Solutions (Dover Books on Mathematics)
This book is a great compilation that covers quite a bit of puzzles. What I like about these puzzles are that they are all tractable and don't require too much advanced mathematics to solve.
Introduction to Algorithms
This is a book on algorithms, some of them are probabilistic. But the book is a must have for students, job candidates even full time engineers & data scientists
The Mathematics of Poker
Good read. Overall Poker/Blackjack type card games are a good way to get introduced to probability theory
Bundle of Algorithms in Java, Third Edition, Parts 1-5: Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms (3rd Edition) (Pts. 1-5)
An excellent resource (students/engineers/entrepreneurs) if you are looking for some code that you can take and implement directly on the job.
Data Mining: Practical Machine Learning Tools and Techniques, Third Edition (The Morgan Kaufmann Series in Data Management Systems) This one is a must have if you want to learn machine learning. The book is beautifully written and ideal for the engineer/student who doesn't want to get too much into the details of a machine learned approach but wants a working knowledge of it. There are some great examples and test data in the text book too.
Discovering Statistics Using R
This is a good book if you are new to statistics & probability while simultaneously getting started with a programming language. The book supports R and is written in a casual humorous way making it an easy read. Great for beginners. Some of the data on the companion website could be missing.
Introduction to Probability Theory
A: The number of cars driving by a street in a given interval of time is a great example of a Poisson process which follows a distribution given by
$$f(k,\lambda) = \frac{(\lambda t)^{k}e^{-(\lambda t)}}{k!}$$
where \(k\) is the number Poisson events occurring in an interval of time \(t\) where the average rate of such events is \(\lambda\) per unit time (say minutes). The probability that an interval of time \(t\) would pass by without any events (i.e. \(k=0\) ) is
$$ P(\text{no event}) = e^{-\lambda t} $$
This implies that the probability of an event happening after time \(t\) is
$$F(t) = 1 - e^{-\lambda t}$$
The p.d.f of waiting times between events is
$$P(t) = \lambda e^{-\lambda t}$$
This is known as the exponential distribution and is good one to model arrival times of a Poisson process. There is an interesting fact about the exponential process. The number of events happening in a given interval of time is only dependent on that interval of time and is not dependent on whether it has occurred or will occur in the future. This is known as the Markov property or the memoryless property. The proof for this is quite easy to follow and I leave it up to the reader.
Coming back to the problem: If we make the reasonable assumption that cars arrive as a Poisson process and thus the probability of a car being seen on the street is the same given the interval of time, the men could do the following.
- Each person takes turns to clock 1 minute on the stop watch and observes the street.
- The first person to see a car drive by during his watch when the other had no cars drive by during his watch, wins.
Note, the cool thing about this algorithm is that we needn't know the arrival rate of cars \(\lambda\) on that street. The uniformity of the outcome is independent of \(\lambda\) ! That said, the algorithm could take a while to select a winner if \(\lambda\) is small.
Some good books on probability
Fifty Challenging Problems in Probability with Solutions (Dover Books on Mathematics)
This book is a great compilation that covers quite a bit of puzzles. What I like about these puzzles are that they are all tractable and don't require too much advanced mathematics to solve.
Introduction to Algorithms
This is a book on algorithms, some of them are probabilistic. But the book is a must have for students, job candidates even full time engineers & data scientists
The Mathematics of Poker
Good read. Overall Poker/Blackjack type card games are a good way to get introduced to probability theory
Bundle of Algorithms in Java, Third Edition, Parts 1-5: Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms (3rd Edition) (Pts. 1-5)
An excellent resource (students/engineers/entrepreneurs) if you are looking for some code that you can take and implement directly on the job.
Data Mining: Practical Machine Learning Tools and Techniques, Third Edition (The Morgan Kaufmann Series in Data Management Systems) This one is a must have if you want to learn machine learning. The book is beautifully written and ideal for the engineer/student who doesn't want to get too much into the details of a machine learned approach but wants a working knowledge of it. There are some great examples and test data in the text book too.
Discovering Statistics Using R
This is a good book if you are new to statistics & probability while simultaneously getting started with a programming language. The book supports R and is written in a casual humorous way making it an easy read. Great for beginners. Some of the data on the companion website could be missing.
To have an experiment which finishes after a fixed number of cars, time the interval between the first and second car and between the second and third cars. Heads if the first interval is longer, tails is the second interval is longer.
ReplyDeleteTo adapt these ideas to a busy road, just downsample. You can ignore all but every fifth car, or pay attention only to Red cars, or pay attention only to Prii (plural of Prius).
ReplyDeleteChoose a time period after which many cars can have been expected to pass (for example 5 minutes). Count the cars that pass. If the number is even, heads it is; if odd, then tails wins.
ReplyDelete