以最大的把握娶最美的妻子,蒙特卡洛与柏拉图的爱情

柏拉图的爱情故事

有一天柏拉图问自己的bai老师苏格拉底什么是du爱情。苏格拉底并没有zhi正面回答他,dao而是把他带到了一个麦地旁,让他在这片麦地里摘一个最大最黄的麦穗回来给他。但有一个要求,只准往前走,不准后退。

但结果柏拉图两手空空的走出了麦地,苏格拉底问其原由,柏拉图老实的说:“因为不能回头,所以我一直不确定自己身边的是不是最好的,总认为最好的还在前面,但后来发现,后来的还不如之前的好,所以自己什么也没有摘到。”苏格拉底笑着说:“这就是所谓的爱情。”

后来,柏拉图又问老师什么是婚姻,苏格拉底同样的让他在一片树林里走一遍,同样的让他找到一个最大最粗的树回来。同样只准向前,不准回头。这次,柏拉图带着一个很普通的树回来了。苏格拉底问他为什么带回来这么平凡的树,柏拉图答道:“我一路上是错过了很多又大又粗的树,但我怕自己前面的树比现在的还小还差,所以就选了支较为平凡的。”苏格拉底说笑着:这就是婚姻。
在这里插入图片描述

最美丽的妻子?(蒙特卡洛)

在那时,没有精确的计算、概率论与数理统计,这个故事体现的是一个哲学问题。那么换到今天,我们能不能用现有的知识来活得一个最有可能选到最美丽妻子的方法呢?答案是有的,那就是蒙特卡洛模拟。

 我们可以选取前s个女人为筛选样本,不把她们娶为妻子,而是从中以得分最高的女人最为选取妻子的准则。
 在之后的选择的s+i个妻子中,一旦有超过标准的女人,我们就认定她为我们最美丽的妻子,且不再继续选择下
 去。这就是我们娶到最美妻子的方法,很明显这取绝于我们取定的s值的大小;当然在现实生活中我们不能选择
 很多次,但是我们可以通过蒙特卡洛模拟来获得最有可能娶到最美丽妻子的s的值。
 我们假设有100个女人,让s分别从1到100进行取值,每个取值模拟n次;若该种情况下我们确确实实娶到100个
 女人中最棒的,我们就往对应的s上记录一下,最终对比哪个s记录的次数多,那就是我们要取定的s值。

话不多说,看Matlab代码吧

% 蒙特卡洛模拟
n = 100;
time = 10000;
best = zeros(1,n);
for i = 1:time
    a = rand(1,n);
    [value,~] = max(a);
    for j = 1:n
        ind = a(1:j);
        [temp,~] = max(ind);
        for k = j+1:n
            if temp < a(k)
                if a(k) == value 
                    best(j) = best(j) + 1;
                end
                break;
            end
        end
    end
end
plot((1:n),best)

赶紧去娶你的梦中情人吧!

在这里插入图片描述

下面就是我们模拟得到的结果,s最好的取值是36-37。有了这个方法柏拉图就能娶到最漂亮的妻子了,在座的看客们是不是也跃跃欲试了呢?也祝天下有情人终成眷属!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原创小白变怪兽

帮助原创小白成为怪兽吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值