麦穗理论
有一天,柏拉图问老师苏个拉底什么是爱情?老师就让他先到麦田里去,摘一颗全麦田里最大最金黄的麦穗来。期间只能摘一次,并且期间只能向前走,不能回头。
柏拉图于是按照老师说的去做了,结果他两手空空的走出了田地。老师问他为什么摘不到?
他说:“因为只能摘一次,又不能走回头路,期间即使见到最大最金黄的,因为不知前面是否有更好的,所以没有摘。走到前面时,又发觉总不及之前见到的好,原来最大最金黄的麦穗早已错过了。于是我什么也没有摘!”
老师说:这就是“爱情”。
爱情就是这样: 我终于在眼泪中明白了,有些人 一旦错过就不在;后来,我总算学会了如何去爱 ; 可惜你早已远去消失在人海。
我们可以通过算法,优化自己的策略,找到最完美的的那个他/她吗?
要找到最完美的他/她,在我们这个维度是做不到的。除非你是5维生物,可以到所有的过程都经历一遍,然后再回到最初。换个思路,我们如果不能找到最完美的他/她,那么我们有什么办法,让我们找到最完美的他/她的概率提高提点。
如果人生不能重来,那么我们就用现实的经历来训练自己的择偶模型。人生在经历过几次恋爱后,有悲欢离合,喜怒哀乐,终于有一点,醒悟了,成熟了,对自己要找的ta有清晰的定义了。然后,终于在经历过众多的曲折中,你找到了哪个ta,那个属于你的真命。我们称这个真命为 i ,这个转折点为“懂事”,令 懂事点 =k ,在懂事之前你会经历k个人 。在懂事之前经历的恋爱都一定会错过,无论是你有意还是别人无心。
懂事之后的选择,会参照之前的经历。过往的恋爱经历总会有一个人对你的印象最深,影响最大,(大多数人的这个参照人是自己的初恋。甚至有的人是以自己父亲或者母亲做参照),我们称这个人为“难忘”。在懂事后的选择策略,只要遇到比这个“难忘”好,那么马上就选他/她。
爱恋模型
现在建立我们的情感模型。我们假设一生中会经历多次恋爱。我们用前k次恋爱作为训练,无论对方多么优秀我们都错过ta。在懂事后,我们回忆在经历过k次恋爱中,谁令你最难忘。那么来后来的恋爱中,只要遇到遇到比这个“难忘”好,那么马上就选中ta。这么做,不能保证ta是全局最优,但是在我们策略下,ta是局部最优。
恋爱一次
总恋爱次数 n | 经历/学习/错过的次数 k | 找到优秀的概率 |
1 | 0 | 100% |
假设初恋即真命。那么找到优秀的概率是100%,没得选嘛,没法比较。
恋爱两次
总恋爱次数 n | 经历/学习/错过的次数 k | 找到优秀的概率 |
2 | 0 | 50% |
2 | 1 | 50% |
如果你可以选择2个人,但也不试试。闭着眼睛就选了,则选中优秀的的概率的1/2.
如果试一个呢。可能是最优,也可能错过了, 还是1/2.
恋爱3次
总恋爱次数 n | 经历/学习/错过的次数 k | 找到优秀的概率 |
3 | 0 | 1/3 |
3 | 1 | 1/2 |
3 | 2 | 1/3 |
这里有的复杂了,我们一步一步推导。假设有3个人A\B\C,他们的优秀程度分别是3,2,1,
实验0次
如果闭着眼睛选(不试验),选中优秀的概率是1/3。
实验一次
次数 | 组合1 | 组合2 | 组合3 | 组合4 | 组合5 | 组合6 |
实验 | 1 | 2 | 3 | 1 | 2 | 3 |
正式 | 2 | 1 | 2 | 3 | 3 | 1 |
正式 | 3 | 3 | 1 | 2 | 1 | 2 |
红色的字代表,最终做的的选择,其中组合1,会错过最优秀。组合3,会错过最优秀,最终没得选,选了个最差的。
实验一次,选中3的机会是1/2。即第一个人无论多么优秀,我们都拒绝ta,在后来的恋爱中,遇到比初恋优秀的就娶/嫁,能够找到优秀的概率50%。对比下,比不实验。闭着眼睛瞎选的概率有高了。 是否多实验几次,概率还会继续提高呢。
实验两次
次数 | 组合1 | 组合2 | 组合3 | 组合4 | 组合5 | 组合6 |
实验 | 1 | 2 | 3 | 1 | 2 | 3 |
实验 | 2 | 1 | 2 | 3 | 3 | 1 |
正式 | 3 | 3 | 1 | 2 | 1 | 2 |
实验两次,选中3的机会是1/3。比实验一次的概率小了。
当你训练得很好了,但是留给你的机会却不多了。
当把实验的次数增加有以下结论:
总次数 | 4 | 5 | 10 | 100 | 1000 |
最优k | 1 | 2 | 3 | 37 | 368 |
优秀选中概率 | 45.68% | 43.3% | 39.9% | 36.1% | 36.8% |
当n区域无限大,这个选中优秀的概率会趋于稳定。虽然说,概率总体呈现下降的趋势,但是找到全局最优的几率的在增大。
算法推导
目标:使用策略,使选中最优ta的概率最大。
分析:要选中最优的ta,需要满足几个条件:
1、不要错过了最优的ta,即最优的ta最好是能在自己懂事后出现。
2、如果最优的ta在懂事后出现,那么我们希望ta越早出现越好,防止过早的做选择,错过了最优ta。
分两种情况计算:
对于某个固定的k(懂事点),如果最优的ta出现在k之前,那么选中最优ta的概率为0 ;
如果 最优的ta 出现懂事后,在了第i个位置(k<i≤n),选中最优的ta的概率为 k/i-1,这里的k是个定值。假设i=k+1,懂事后遇到的第一个人就是最优的ta,那么选中最优的ta就是100%。i值越大,遇到最优的ta越晚,最优被选中的几率越小。
i出现的位置有 n - (k+1)个,我们把每种可能加起来:
这还不是概率值,还要加上最优的ta出现在k之前,概率为0的次数,并求均值才是 找到最优的ta的概率。
我们的目标是P(k)最大,设k/n=x,并且假设n充分大(并不是说一个人可以恋爱无数次,而是为了保证计算的精度,我们认为k和n都很大),则上述公式可以改为:
对-x·lnx求导,并令这个导数为0,可以解出x的最优值,它就是欧拉研究的神秘常数的倒数——1/e。
所以k=n/e.
很巧的是 把 1/e带入 -x·lnx ,结果还是1/e
如果你一生要经历10次恋爱,那么第3,4次恋爱就懂事是最佳的策略,可以保证在后来的恋爱有37%的机会找到那个mr right。
后话
1、37%策略,用前37%的经历做训练,后期只要遇到比训练集中最优好,就下决定。
2、不要让自己落入了ta的训练区间
3、该出手时就出手,当断不断,反受其乱。
4、不求全局最优,但求局部最优。不求最好,但求合适。
有的人可能会自问,还找10个呢,我一辈子最多才找2人,怎么可能找3~5人做练习。这就是涉及到另一个理论:损失厌恶理论。请看我的另一篇文章。