Match.com will bring more love to the planet than anything since Jesus Christ (Gary Kremen, founder of Match.com)
Sarah is a brilliant 39 years old mathematician living in Massachusetts. She lives alone and has dedicated her whole life to study. She has realized lately that theorems and books no longer satisfy her. Sarah has realized that needs to find love.
To find the love of her life, Sarah joined Match.com to try to have a date with a man every week for a year (52 dates in total). She has her own method to rate each man according his sympathy, his physical appearance, his punctuality, his conversation and his hobbies. This method allows her to compare candidates with each other. Sarah wants to choose the top-scored man but she is afraid to waste time. If she waits until having all the dates, it could be too late to call back the best candidate, especially if he was one of the first dates. So she wants to be agile and decide inmediately. Her plan is as follows: she will start having some dates only to assess the candidates and after this period, she will try to win over the first man better than any of the first candidates, according her scoring.
But, how many men should discard to maximize the probability of choosing the top-scored one? Discarding just one, probability of having a date with a better man in the next date is very high. But probably he will not be the man she is looking for. On the other hand, discarding many men makes very probable discarding also the top-scored one.
Sarah did a simulation in R of the 52 dates to approximate the probability of choosing the best man depending on the number of discards. She obtained that the probability of choosing the top-scored man is maximal discarding the 19 first men, as can be seen in the following graph:
Why 19? Because 19 is approximately 52/e. This is one of the rare places where can found the number e. You can see an explanation of the phenomenon here.
Note: This is just a story to illustrate the secretary problem without repeating the original argument of the problem. My apologies if I cause offense to someone. This is a blog about mathematics and R and this is the way as must be understood.
require(extrafont) require(ggplot2) n=52 sims=1000 results=data.frame(discards=numeric(0), triumphs=numeric(0)) for(i in 0:n) { triumphs=0 for (j in 1:sims) { opt=sample(seq(1:n), n, replace=FALSE) if (max(opt[1:i])==n) triumphs=triumphs+0 else triumphs=triumphs+(opt[i+1:n][min(which(opt[i+1:n] > max(opt[1:i])))]==n)} results=rbind(results, data.frame(discards=i, triumphs=triumphs/sims)) } opts=theme( panel.background = element_rect(fill="darkolivegreen1"), panel.border = element_rect(colour="black", fill=NA), axis.line = element_line(size = 0.5, colour = "black"), axis.ticks = element_line(colour="black"), panel.grid.major = element_line(colour="white", linetype = 1), panel.grid.minor = element_blank(), axis.text.y = element_text(colour="black", size=20), axis.text.x = element_text(colour="black", size=20), text = element_text(size=25, family="xkcd"), legend.key = element_blank(), legend.background = element_blank(), plot.title = element_text(size = 40)) ggplot(results, aes(discards, triumphs))+ geom_vline(xintercept = n/exp(1), size = 1, linetype=2, colour = "black", alpha=0.8)+ geom_line(color="green4", size=1.5)+ geom_point(color="gray92", size=8, pch=16)+ geom_point(color="green4", size=6, pch=16)+ ggtitle("How e can help you to find the love of your life")+ xlab("Discards") + ylab("Prob. of finding the love of your life")+ scale_x_continuous(breaks=seq(0, n, by = 2))+opts
Why simulate when you can compute the optimal solution?
http://en.wikipedia.org/wiki/Secretary_problem