炮灰模型:对女生选择追求者的数学模型的建立-转
突然看到这样一个神片, 用建模方式进行分析, 绝了,故转之....
引言:
上周我的一个朋友第N 次向女生表白遭到拒绝,作为好朋友的我除了同情之外觉得应该做点什么。之前一次聊天受到 菠菜 的启发,加上出于对数学的兴趣,我对女生“选择与拒绝”的策略试着做了一个简单的建模,并得出比较有意义的结论。
摘要:
每一个女生都渴望找到自己心中的白马王子,找到自己一生的幸福。但是面对追求者们,女生应该是选择还是拒绝,怎样才能以最大的可能找到自己的Mr. Right 呢?在这篇文章中我们运用数学中概率论的知识对女生选择追求者的这一过程进行数学建模,得到女生的选择的最优策略,最后对结果进行简单的讨论。
关键词:
炮灰模型 排列 选择
模型假设:
众所周知生活中涉及到感情的事情是很复杂的,把所有可能影响的因素都考虑到几乎是不可能的。为此我们先对现实进行简化,并做出一些合理的假设,考虑比较简单的一种情况。
假设一个女生愿意在一段时间中和一位男生开始一段感情,并且在这段时间中有N 个男生追求这位女生。
说明:这里的N 不是事先确定的,每个女生根据自身条件,并结合以往的经历和经验,猜测确定这个数字N 。
比如其它各方面都相同的两个女生,一般来说,PP 的女生就要比不PP 的女生N 值相对要大一些。在适合这个女生的意义上,假设追求者中任何两个男生都是可以比较的,而且没有相等的情况。这样我们对这N 个男生从1 到N 进行编号,其中数字越大表示越适合这个女生。这样在这段时间中,女生的Mr. Right 就是男生N了。现在问题变成面对这N 个追求者应该以怎样的策略才能使得在第一次选择接受的男生就是N 的可能性最大,注意到这N 个男生是以不同的先后顺序来追求这位女生的。
为了将实际复杂的问题进行简化,我们做出下面几条合理的假设:
1、N 个男生以不同的先后顺序向女生表白,即在任一时刻不存在两个或两个以上的男生向这位女生表白的情况的发生,而且任何一种顺序都是完全等概率的。
2、面对表白后的男生,女生只能做出接受和拒绝两种选择,不存在暧昧或者其它选择。
3、任一时刻,女生最多只能和一位男生谈恋爱,不存在脚踏多船的情况。
4、已经被拒绝的男生不会再次追求这位女生。
基于上述假设,我们想要找到这样一种策略,使得女生以最大的概率在第一次选择接受的那个男生就是N ,i.e. Mr. Right 。
先考虑最简单的一种策略,如果一旦有男生向女生表白,女生就选择接受。这种策略下显然女生以1/N 的概率找到自己的Mr. Right 。当N 比较大的时候,这个概率就很小了,显然这种策略不是最优的。
基于上面这些假设和模型,我们提出这样一种策略:对于最先表白的M 个人,无论女生感觉如何都选择拒绝;以后遇到男生向女生表白的情况,只要这个男生的编号比前面M 个男生的编号都大,即这个男生比前面M个男生更适合女生,那么女生选择接受,否则选择拒绝。
下面以N=3 为例说明:
三个男生追求女生,共有六种排列方式:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
如果女生采用上述最简单的策略,那么只有最后两种排列方式选择到Mr. Right ,概率为2/3!=1/3 。
如果女生采用上面我们提出的策略,这里我们取M=1 ,即无论第一个人是否优秀,女生都选择拒绝。然后对于之后的追求者,只要他比第一个男生更适合女生就选择接受,否则拒绝。 基于这种策略,“1 3 2 ”、“2 1 3 ”、“ 2 3 1 ”这三种排列顺序下女生都会在第一次做出接受的选择时遇到“3 ”,这样我们就把这种概率增大到3/3!=1/2 。
现在我们的问题就归结为,对于一般的N ,什么样的M 才会使这种概率达到最大值呢?(在这种模型中,前面M 个男生就被称为“炮灰”,无论他们有多么优秀都要被拒绝)
模型建立:
在这一部分中,根据上面的模型假设,我们先找到对于给定的M 和N(1<M<N) ,女生选择到Mr. Right 的概率的表达式。
1 到N 个数字进行排列共有N! 种 可能。当数字N 出现在第P 位置(M<P<=N ),如果使上述策略在第一次选择接受时遇到的是N ,排列需要满足下面两个条件:
1、N 在第P 位置
2、从M+1 到P-1 位置的数字要比前M 位置的最大数字要小
运用数学中排列组合的知识,不难知道符合上面两个条件的排列共有
这样对于给定的M 和N ,P 可以从M+1 到N 变化,求和化简后得到给定M 和N 共有
种序列符合要求。
由此得到女生选择接受时遇到Mr. Right 的概率为
模型求解:(不感兴趣的话可以直接跳过这部分推导)
这一部分中我们求解使这个表达式取得最大值时M 的值。
记函数
且设自变量取值为M 时,函数取得最大值。
因此:
所以M 应满足
我们知道,当x>0, In(1+x)< x ;
当x-->0, In(1+x) ~ x 。
所以由左不等式
所以:
当N 比较大时,同理由右不等式可得M ≈N/e , 以上e 为自然对数。
若记[x] 为不大于x 的最大整数,由以上推导我们可猜测当M 取[N/e] 或[N/e]+1 时,该表达式取得最大值。
用MATLAB 仿真,上述结论正确。
结果分析:
由上述分析可以得到如下结论:为了使一个女生以最大的概率在第一次选择接受男生时遇到的正是Mr. Right ,女生应该采用以下的策略:
拒绝前M=[N/e] 或者[N/e]+1 个追求者,当其后的追求者比前M 个追求者更适合则接受,否则拒绝。
“打战的时候,很多士兵身先士卒,跑到前线勇往直前。通常来说,走在最前面的,都会给大炮打中(古代的大炮像象个球一样滚过来的)成为灰烬。而后来的士兵,就踏着炮灰走到胜利,所以成为别人利益的牺牲品的人就叫炮灰.。”-------- 百度上关于炮灰的解释
在本篇文章中介绍的“炮灰模型”中,前M个男生就成了炮灰的角色,无论其有多么优秀,都会被拒绝。
朋友,如果你追求一个女生而遭到拒绝,看完这篇文章后你会突然发现,也许这不是你的的错,也许你真的很优秀,只是很不幸,你成了“炮灰”。
这几天在校内上看到很多朋友都因为拒绝或失恋而苦恼。希望上面这些看似复杂的推导和模型对你能有所启发。不要因为一次的拒绝而伤心、失落,振作起来,你的Miss Right is waiting for you somewhere!
附:胡波同学的补充和推导
为向作者致敬,将这个策略的最优性简证如下(限于篇幅,不借助复杂的数学公式了):
1.作为“策略”,可以认为应该类似于算法,对于确定的输入有确定的输出。因此对第M号追求者是否同意仅取决于之前M-1个人与该人的状况比较,以及M的大小;进一步地,显然与前M-1个人的好坏顺序无关(因为前M-1个人的顺序与第M个人及以后无关)。
2.如果仅考虑选中N号,那么答应某个人的必要条件是此人比之前的都好(否则一定不是No.N)
3.综1、2,所有可能的策略都有相同形式:对于第K1,K2,...,Kt号人,如果比以前的都好,OK;如果不符合条件,“还是做朋友吧”
4.进一步,如果Km + 1<K(m+1),将Km替换为Km + 1。简单计算可以发现(其实是我不想写了)在这一步答应且选对的概率不变(始终是1/n*前面没有答应的概率),但这一步答应的概率减小,后面答应且选对的概率相应增大(如果替换的是Kt,概率不变,但可以接着换K(t-1)使概率增大)。由此可以得出K1到Kt应该是连续整数且Kt=n
5.(从楼主的文章继续)
再由作者的理论小推论一下:
设女性最为灿烂的青春为18-28岁,在这段时间中将会遇到一生中几乎全部的追求者(之前之后的忽略不计),且追求者均匀分布(
),则女性从18+10/e=21.7即22岁左右开始接受追求……这告诉我们,想谈恋爱找大四的……
看完之后,我又简单想了一下,在文章中我只考虑了N个男生表白的先后顺序是完全随机的,并没有考虑相邻两次之间的时间隔。如果把时间因素也考虑进去的话,在一个相对较短的时间中,可以近似的假设为齐次泊松过程,这样不仅可以得出女生应该选择上面的第M个男生的结论,而且找到男生表白的最佳时间在t=T/e时刻。 例如如果取时间段为大学四年的话,则T/e=1.4715。 也就是说,在大学四年里,男生表白的最佳时刻在第三个学期的期末或寒假(大二的ddmm们现在 要把握机会哟 )
如果这个时间段较长的话,那么男生追求可近似假设为了一个非齐次泊松过程,或者分段齐次泊松过程,具体建模中对各段参数lamma的估计就比较困难了,而且每个人以后的经历都会不同,不太可能找到一个统一的参数集,我就不再进一步考虑了,欢迎大家继续提出改进意见~~
谨以此篇文章献给所有为爱而战的猛士们!最后祝大家快乐!