三国杀吧 关注:3,398,624贴子:88,205,462
  • 4回复贴,共1

[数学计算]洛神期望的终结

取消只看楼主收藏回复

算法镇楼,通过matlab简单程序实现洛神的期望计算。


IP属地:北京来自Android客户端1楼2015-10-21 12:11回复
    首先计算160张牌,80黑牌的所谓“理想牌堆”下的洛神期望
    b=80;a=160;r=a-b;
    c=0;p=1;
    for i=[1:1:b];
    p=p*(b-i+1)/(a-i+1);
    p1=p*r/(a-i);
    q=i*p1;
    c=c+q;
    end
    c


    IP属地:北京6楼2015-10-21 12:21
    收起回复
      运算结果:c=0.9877,有matlab的同学可以直接把代码贴到程序里运算。也就是说理想牌堆下,洛神的期望很接近1,但是并不到1这个结论是正确的。


      IP属地:北京10楼2015-10-21 12:23
      收起回复
        好的,接下来我们考虑一下不理想牌堆。先考虑一个极端情况,就是牌堆剩下80张牌,这80张牌全是黑牌,那么洛神期望显然是要大于80的。那也就是说,存在至少一种情况,洛神的牌堆期望是严格大于1的。而理想牌堆情况下,洛神的期望是严格小于1的。那么我们不禁就想知道,什么时候,洛神期望等于1呢?


        IP属地:北京12楼2015-10-21 12:25
        回复
          在我进行matlab代码调整的时候,发现一个有趣的现象。有matlab的同学可以拿以下代码实验:
          for b=[1:1:80];
          a=b*2-1;r=a-b;
          c=0;p=1;
          for i=[1:1:b];
          p=p*(b-i+1)/(a-i+1);
          p1=p*r/(a-i);
          q=i*p1;
          c=c+q;
          end
          cb(b)=c;
          end
          cb
          这串代码描述的牌堆剩余总牌数正好是黑牌的2倍-1,也就是剩余牌堆红牌仅仅比黑牌少1张的情况。
          我们输出的cb是一个长度为80的向量,里面的每个分量都是1.0000,于是我们找到了洛神正好为1的情况:牌堆剩余黑牌数量恰好比红牌多1的时候,洛神期望为1.当牌堆黑牌比红牌多2或2以上的时候,期望大于1.当黑牌等于红牌或者少于红牌的时候,期望小于1.但是期望正好等于1的时候,需要严格数学公式推导,有兴趣的同学请帮忙推导一下,也就是a=2b-1的时候,该期望=1,楼主看这个公式非常蛋疼,就不想推了。
          【完】


          IP属地:北京15楼2015-10-21 12:33
          收起回复