三个小伙子同时爱上了一个姑娘
三个小伙子同时爱上了一个姑娘,为了决定他们谁能娶这个姑娘,他们决定用手枪进行一次决斗。小李的命中率是30%,小黄比他好些,命中率是50%,最出色的枪手是小林,他从不失误,命中率是100%。由于这个显而易见的事实,为公平起见,他们决定按这样的顺序:小李先开枪,小黄第二,小林最后。然后这样循环,直到他们只剩下一个人。那么这三个人中谁活下来的机会最大呢?他们都应该采取什么样的策略?
我觉得吧,首先要杀命中率比自己高的人
也就是小李杀小黄杀小林
然后呢,这是独立事件- -
写了个模拟程序
这个模拟程序基本没难度,A,B,C三个随机数,扔到的范围就是命中率的百分比
从1~100随机,30%的数小于等于30吧,那就是小李- -以此类推
小林不死,小李和小黄要先杀小林
小黄不死,小林要先杀小黄
小李不死,如果小林活着优先杀,否则杀小黄
模拟一下,最终是这个结果:
一共模拟了100000000次
小李存活33578947次,存活率33.58%
小黄存活41952914次,存活率41.95%
小林存活24468139次,存活率24.47%
如果换一下
前面规则不变,只是要小李先杀小黄,那么好像如果小黄不杀死小林的话自己就必死了- -
当然这么NC的想法不是我想是有人提出来的,那么按照这种想法。。。
结果如下:
一共模拟了100000000次
小李存活26660256次占26.66%
小黄存活18852877次占18.85%
小林存活54486867次占54.49%
看了吧,赤裸裸的事实,小李想让自己存活率高一些就必须和小黄一起杀小林
我总觉得当三人的存活率相差不是特别大的时候,就是最优策略
然后在想关于数据精度的事情
发现在模拟N次的情况下,N=10000和N=100000的情况下结果相差不到0.5%,这个还是可以接受的
那么在随机数方面,刚才那两组数据是1~100的随机数,那么换做1~1000,模拟1E次,基本是0.05%以内的差距
话说,我也懒得用表格堆数据了。。意思意思就行了。。
不过再说。。如果三个人都是随机杀人那是个什么结果呢- -
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
我敲了一个多小时的代码,发现半夜脑子就是不好使。。睡觉去。。。
白天有心情了再搞。。。卡在一个很2的问题上了,哎哟
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
多次测量取平均值- -还是正确的选择
我本来想写别的来着,结果写着写着就写成这样了,这不怪我,真的
