欢迎光临散文网 会员登陆 & 注册

论单身狗脱单函数37%法则的matlab实现

2020-08-01 00:02 作者:这个骚年很可耐  | 我要投稿

还是毕导THU的“脱单视频”给与我些许启发,感兴趣的小伙伴们可以Look一下这个链接:


在这里,我忍不住用手头的工具实现这个37%法则,工具是matlab,众所周知,蒙特卡洛方法是按抽样调查法求取统计值来推定未知特性量的计算方法。举个例子,如果要计算边长为a的正方形最大内接圆的面积,可以用数不清的粒子“撒”在正方形内,统计落在最大内接圆的粒子数量,利用落在圆内与落在正方形内粒子数量比值,通过已知的正方形面积预测圆形面积。

毕导的100个人,模拟恋爱100w次运行时间过长,因此,我就把100人缩成10人,来模拟实现37%法则。

在这里,我用1到10作为10个人的全排列,数值最大的10对应的人,为最佳交友对象。举个例子,一共3个人等待被选择,则一共有3!=6种排列方案,能选择出3的一共有3种方案,则当人数为3时,37%法则下求得最佳(男/女)友的概率为50%,至于什么是37法则,详情可以参考上述视频链接。

代码参考如下:


matlab实现


基于上述方法,只有当前37%的人没有出现最大值,且正好第37%个人之后整数位的人对应数值最大,或者前37%的人都比第37%个人之后整数位的人对应数值要大,但该数后一位的人对应数值正好是最大值的情况下,才是最佳选择。

按照下图函数调用,画图:


函数调用

如图,结果验证37%法则确实比“盲猜好用”....

在考虑被拒的条件,我们要修改37%这个百分比,拒绝概率与放弃对象的函数关系如下图:


论单身狗脱单函数37%法则的matlab实现的评论 (共 条)

分享到微博请遵守国家法律