赌徒都应该明白的道理:通过简单计算告诉你为什么久赌必输

今天在知乎看到一个有趣的话题,”假设赌博输赢的概率都是50%,那么长期赌博的人为什么仍然会更容易倾家荡产而不是收益均衡?"

问:即使绝对公平的赌局(50%赢,50%输),赌到最后,我为什么会输?

答:你输给的不是运气,你输给的是大数定律。

问:什么是大数定律,我为什么输给她?

答:假设你有本金10元,每次1元,一次你可能输1元, 也可能赢1元,概率各为50%。即输赢的概率各为1/2。假设你连输十次,连输10次的概率是2的十次方,1/1000 (千分之一)。也就是说,你有千分之一的概率连输十次,输完所有本金,没有资本来翻盘了,必须退场了。(而这也意味着, 你玩一千次,连输十次出现的概率等于1,也就是说,玩100次,你输完的数学期望等于100%)。

下面用matlab仿真来看看这个问题,每次产生随机数来判断输赢,大于0.5就算赢,硬币个数为10,如果硬币个数为0,就停止游戏,

clcclose allclear%% MaxIters = 1000;coins = 10;for i = 1:MaxIters    flag = rand;    if flag>0.5        coins = coins+1;    else        coins = coins-1;    end    if coins<=0        break    endenddisp(['游戏结束:', num2str(i)])

仿真结果如下

>> dutuTest游戏结束:202>> dutuTest游戏结束:1000>> dutuTest游戏结束:68>> dutuTest游戏结束:192>> dutuTest游戏结束:88>> dutuTest游戏结束:1000>> dutuTest游戏结束:262>> dutuTest游戏结束:108>> dutuTest游戏结束:50>> dutuTest游戏结束:224>> dutuTest游戏结束:76>> dutuTest游戏结束:1000>> dutuTest游戏结束:1000>> dutuTest游戏结束:672

从结果看出来,也有1000次后游戏继续的,输出金币个数再看一下​​​​​​​

% clcclose allclear%% MaxIters = 1000;coins = 10;for i = 1:MaxIters    flag = rand;    if flag>0.5        coins = coins+1;    else        coins = coins-1;    end    if coins<=0        break    endenddisp(['游戏结束:', num2str(i),',剩余金币个数为:',num2str(coins)])

结果为​​​​​​​

>> dutuTest游戏结束:50,剩余金币个数为:0>> dutuTest游戏结束:68,剩余金币个数为:0>> dutuTest游戏结束:64,剩余金币个数为:0>> dutuTest游戏结束:1000,剩余金币个数为:58>> dutuTest游戏结束:104,剩余金币个数为:0>> dutuTest游戏结束:78,剩余金币个数为:0>> dutuTest游戏结束:328,剩余金币个数为:0>> dutuTest游戏结束:1000,剩余金币个数为:46>> dutuTest游戏结束:76,剩余金币个数为:0>> dutuTest游戏结束:184,剩余金币个数为:0>> dutuTest游戏结束:768,剩余金币个数为:0>> dutuTest游戏结束:1000,剩余金币个数为:44>> dutuTest游戏结束:62,剩余金币个数为:0

增大仿真次数再来看下,仿真10000次来看下结果​​​​​​​

loop = 100000;stop_index = zeros(1,loop);coin_left = zeros(1,loop);MaxIters = 1000;
for j = 1:loop    coins = 10;    for i = 1:MaxIters        flag = rand;        if flag>0.5            coins = coins+1;        else            coins = coins-1;        end        if coins<=0            break        end    end    disp(['游戏结束:', num2str(i),',剩余金币个数为:',num2str(coins)])    stop_index(j) = i;    coin_left(j) = coins;enddisp(['金币输光的个数:', num2str(length(find(coin_left==0)))])
金币输光的个数:75101

期望还有点靠不住,没有100%输光,

我们增加一下游戏的次数

MaxIters = 5000;
金币输光的个数:88976

再增加次数

MaxIters = 50000;
金币输光的个数:96465

假如这个游戏者永远不满足,想一直玩下去,那么MaxIters 的取值接着增大,输光的概率接近是100%,这就是我们所说的久赌无赢家。而人性的贪婪决定了赌性,抛开网络赌博的大数据猫腻不说,就算是最公平的对赌游戏,我们最终也是输光收场。

​​​​​​​

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值