大家好,欢迎来到 Crossin 的编程教室。
世界杯正在如火如荼地进行中。每逢大赛,冷门在所难免,这时候网上总会有人很懂地告诉你:现在的足球比赛都是被操纵的,水很深。更有甚者会神秘地告诉你,通过分析数据,你就能看出来接下来的一场比赛是什么结果。
有没有神秘力量操纵比赛我不知道。但其实从数学角度来说,根本不需要这么麻烦,只要一样东西就可以,那就是:概率。假设现在A、B两队要进行一场比赛。阿汪同学说他觉得A队要赢,并愿意为此押上100个小鱼干;阿喵同学说他觉得B队要赢,也愿意押100个小鱼干。我说那行,我来给你们做个见证,你们把小鱼干都放我这里,最后谁对了,我就把小鱼干全给谁。不过,我得从所有小鱼干里拿走10个,也就是5%的小鱼干,作为我的辛苦费。也就是说,赢的人最终可以拿走190个小鱼干。
阿汪和阿喵都有动机,唯独不可能是我。因为不管谁赢谁输,我都稳赚10个小鱼干。那我究竟是吃饱了撑的没事干,还是跟谁有深仇大恨,宁可瞒天过海偷天换日只为了把一人的小鱼干转移给另一个人?有人要说了,你举的这个例子不对。一般来说,两种情况赢的人能拿多少小鱼干走是不一样的,所以你会输小赢大!不同结果的存在不是由我决定,而是由参与的阿汪和阿喵决定。
同样是刚才的例子阿汪依旧押100个小鱼干支持A队赢;而B队这边,除了阿喵同学押了100个小鱼干,阿咩同学也押了100个小鱼干。这时候,我依旧从中拿走5%,现在是15枚。如果A队赢了,阿汪可以得到 285 个小鱼干,所以押A队的结果是 (300-15)/100=2.85;而B队赢了,阿喵和阿汪同学各可以拿走 142.5 个小鱼干,所以押B队的结果是 (300-15)/2/100=1.425。我当然可以把结果数值定的更低,比如A队为2.5,B队为1.2,这样我可以赚到更多的小鱼干。但三位同学也不傻,他们一算,不对啊,怎么不管谁赢,我都还私藏了一部分小鱼干,以后就不来找我做公证了。于是我连原本稳赚的那5%也没了。所以,我给出的数值,就是既要保证不管谁赢,我自己都是能赚钱的,又要保证数值尽可能高以便吸引更多的阿汪阿喵。给出一个尽可能准的初始数值
根据下注情况动态调整数值
我用一段程序来模拟一场比赛的竞猜过程,来看看是不是真的可以仅通过调整数值就让自己稳赚不赔。为了简化模型,这里只考虑A队胜和B队胜两种情况,没有平局。假设初始预估的胜率各为50%,而参与者们的偏好是80%会猜A赢,20%会猜B赢。我的动态调整策略就是:根据最近1000个参与者的选择作为依据,按照前面说的方法计算出新的数值。当然,我依旧会从中抽取5%。蓝色曲线是A队胜利后我需要根据每个参与者当时数值所需支付的小鱼干;可以很明显地看出来,除了一开始因为初始数值定得过于随意,导致出现短暂的轻微亏损外,之后时间里,我都是稳赚不赔的。有人又要说了,你这个情况太理想,观众的选择分布不会这么稳定的!现在假设每经过一万人次的参与,大家就更看好B队一点,A队的选择偏好就会在现有基础之上降低10%。其他条件和策略不改变。我们将会得到这样的结果:从开始到结束,尽管球迷们对AB两队的看好程度彻底发生了反转,但这依旧不影响我赚钱的稳定性。再进一步,我设定在比赛期间,有万分之一的几率出现随机的球迷选择的集体大波动,也就是说出现了完全无法预测的冷门情况。为了更有说服力,同样的规则,重复100次,参与人次依次为 10000 到 110000递增,把收益比画出来:看见没,不过来多少人,收益始终可以维持在5%左右,也就是我预设的抽成比例,而且人越多越接近这个比例。这就是概率学上大数定律的体现,即重复的次数越多真实发生的频率就越趋近于理论上的概率。现在,还有人觉得我需要去操纵某支队获胜吗?有必要吗?我要的只是有很多很多人都来竞猜,越多越好。我不关心哪支球队状态更好,天气更适宜,主力球员的感情生活更稳定,甚至初始的数值也并不是很重要。唯一关键的就是实时情况。我调整数值不是为了坑人上天台,反而恰恰是为了让不同方更加平衡,避免赢小赔大或赢大赔小的情况出现。所以,决定数值的不是我,而是在我来这里的阿汪阿喵阿咩们。我不需要动任何手脚,只要你坚持来,把自己的小鱼干赔光是必然的事情。
假设所有比赛的赛前预计胜率都是合理的,比如预计A队胜率80%,那实际就是有80%的可能赢球。在此基础上,阿汪带着1个w的小鱼干来了。每场比赛,他都会押上1000个小鱼干,也就是初始总额的1/10。这样,一直持续下去,结果会怎样?我模拟了100次,这是小鱼干数量的变化曲线。虽然也有不少时候,1万小鱼干会变成两三万甚至更多,但绝大部分情况下,在不到100次的时候,小鱼干就归零了。而拉长到1000次,更是几乎不可能幸免。可以看到,由于抽成的存在,小鱼干数量的整体曲线是在不断下降的。而假如阿汪还很激进,动不动就 All-in,那么可以大大提速这个过程:基本上两三次也就赔光了。运气爆棚的话能狗屎运多撑几次,但最后的结局总是一样的。在一个零和游戏中,作为注定劣势的一方,最好的策略就是一次都不要参与,这样数学期望才是最大的。
获取文中模拟实验代码,请在公众号 Crossin的编程教室 中回复关键字
如果文章对你有帮助,欢迎评论/转发/点赞/收藏。你们的支持是我更新的动力~
添加微信 crossin123 ,加入编程教室共同学习~