TED最近的"爱情数学"中提到的 最优停止论 的37％是如何计算的？
曾经写过一篇逗比文章，原理很简单，就是“婚恋问题”。现在贴出来供大家参考。 ———————————————————————————————————————— “表白问题”的博弈模型 摘要 本文基于博弈论原理，分析了女生接受告白的策略及男生的表白策略。 首先假定了选择的唯一性，进而说明了女生应该先拒绝n个求爱者中前k个人的基本策略，再通过数学推导求出了k与n的关系。 之后，对模型进行了分析和改进，加入了备胎元素，并说明了充当备胎成功的可能性会增大。 最后，结合整个模型分析了博弈中男生和女生各自的策略。 关键词：博弈原理  e  策略  表白 在每期《非诚勿扰》节目上，面对一位位男嘉宾，24 位单身女生要做出不止一次“艰难的决定”：到底要不要继续亮灯？要不要爆灯？把灯灭掉意味着放弃了这一次机会，继续亮灯则有可能结束节目之旅，放弃了未来更多的选择。 在现实中，面对男生们前仆后继的表白，MM 们也少不了这样的纠结。如果遇到了一个优秀的男生，应该接受还是拒绝呢？如果接受了他，万一下一个更好的话那可就亏大了；可如果为此而拒绝掉一个又一个好男人，也会面对着“过了这个村就没这个店”的风险。说不定白马王子们都已经擦肩而过，到最后就只剩下了猥琐男了，当初的拒绝明显得不偿失。 由于没人能知道真正的缘分何时到来，没人能知道下一个来求爱的男生会是什么样子，接受表白的时机早晚实在很难决定。怎么办？ 这是一个双向博弈问题。对于女生来说，过早的接受表白可能会错过优秀者，犹豫不决又可能拒绝好男人；而同样对于男生，过早的表白被拒的可能也越大，但晚了又可能被别人捷足先登。这里我们先站在女生的角度分析最佳的选择策略。 女生对每个男生的看法必须是可以量化的，她需要一些样本来估计向她告白的男生的总体水平，以后只要该男生超过了估计值就会答应他。 之后，女生就要确定一个合理的时刻，就是结束样本选取开始接受男生的时刻。 1.  假设只允许男生表白而禁止女生表白； 2.  女生会在她17-28岁之间遇到一生中所有的追求者； 3.  追求者到来时间近似服从均匀分布； 4.  女生可以知道她会遇到多少追求者，并对每个追求者有一个量化的评分，评分无重复； 5.  所有追求者类似于排队的方式向女生告白，女生只能选择接受或拒绝，不考虑与已拒绝者破镜重圆； 6.  女生的目标是接受到最优秀者的概率尽可能的大。 有n个男生排队找女生，女生拒绝掉前k个，利用前k个男生估计最佳男生的水平，之后的男生一旦达到这个水平，就接受之。现须确定其中的k与n的关系。 对每一个k，如果最佳男生在第i个位置（i在k到n之间），那么女生选中他当且仅当前i-1个男生中最优秀者在前k个中，可能性为k/(i-1),则 对女生来说，如果希望接受最佳男生的概率最大，则应拒绝前n/e的男生，然后之后的男生只要有比前边拒绝的所有男生都优秀，就接受他。其中1/e约为36%，而这也就是该策略失败的概率。即若最优秀男生在前36%，女生就会出现死等的现象，从而找不到伴侣或被迫接受最后一位求爱者。 实际应用：17+（28-17）*36%=20.96，也就是说，根据假设，女生大约在21岁时开始接受追求者。所以，不要在女生21岁前去追求，否则你就成了她的“样本”。 模型改进：由于实际生活中感情是非常复杂的，运用简单的“不可回头”式的接受-拒绝模型很难准确描述。大家都知道女生没有那么笨，很多女生都会有“备胎”（千斤顶打气筒不提）。下面我们在模型中加入备胎。 假定屌丝A在n个人之中，不幸已落入样本之中。假设他在所有人中排位为m，m>1。并假设女生不愿意死等到28，打算在26岁之前就确定。屌丝A和女神（对应）默认问备胎关系，数学语言就是假设A可以在每一个男生表白之后迅速出现并成为候选者，女生若在26岁前找不到比前36%优秀的，A就只需超过最后一位告白者即可。 当A不是备胎时，他如果恰好在女生21岁时告白，成功几率最大。他成功的要求是超过前边36%的追求者；这个概率约为16.7%。（取n=10） 而当他作备胎时，若最佳男生在前36%或26岁之后（大约82%之后），A只需要比最后一位优秀即可，考虑随机性，这个概率应该是1/2；否则几率为0，所以概率约为（36%+1-82%）*50%=27%。 女生：在前1/3左右不要轻易接受告白，之后利用前边的男生估计整个男生群体的水平，但注意备胎的存在，而且愿意当备胎也说明他更喜欢你。 男生：在女生21岁之前不要轻易告白，否则很可能成为其样本。不幸者可以充当备胎，这样仍有超过1/4成功的可能，还不考虑你的坚持对女生的感动。不过，感情要比任何可以求解的数学模型复杂，比如说在现代社会中女生追男生的情况也比较常见，男生和女生互相暗恋的也有因为没有及时表白而错失一段爱情。男生女生之间互相的评分也不可能是定值，肯定会随时间呈现函数关系的变化。所以在现实中要灵活。 参考文献 [1]同济大学数学系，高等数学（第六版）[M].上海，高等教育出版社，2007 [2]盛骤、谢式千等，概率论与数理统计[M].北京，高等教育出版社，2009. [3]赵静、但琦,数学建模与数学实验[M].北京,高等教育出版社,2008. [4]QQ空间 附录 求解程序 %用MATLAB求解最佳表白方案 e=2.718281828459; n=input('男生个数：'); A=zeros(n,1); for i=1:n A(i)=input('请输入每个男生的评分：'); end k=round(n/e); m=A(1); for i=2:k m=max(A(i),m); end while i<n i=i+1; if A(i)>=m break end end m=A(i); fprintf('选取第%d个男生，最大评分为%4.2f\n',i,m);