Martingale大致意思是
地下庄家开了一个赌局:猜硬币的正反。假设你下注1元,如果猜中,你可以赢1元,如果猜错,你要输1元。
那有人想出来一个必胜法,先赌2元,赢了就收手。如果输了就赌4元。如果再输就赌8元,再输就赌16元,如此继续。这是必胜的赌博策略。
问,这个真的是赌博的必胜法吗?
知乎上有很多讨论,结论是,本金足够的情况下,是必胜的,但是收益率很低,换句话说,这样赌博是不划算的。
所以写了段代码来模拟这个问题
1 | public class TestGamble { |
测试结果如下
1 | …… |
也就是说,你准备了100亿来赌博,每次拿出100万来赌,一共赌10000次,每次赌博要么赢10%收手,要么输光。那么最终会赚7千多万,收益率0.79%,只是刚跑赢一年活期利率。把期望收益率调成50%或100%其实都差不多,只是输赢次数比例会有变化,收益率是差不多的。
总之,不划算。