赌徒都应该明白的道理:通过简单计算告诉你为什么久赌必输
今天在知乎看到一个有趣的话题,”假设赌博输赢的概率都是50%,那么长期赌博的人为什么仍然会更容易倾家荡产而不是收益均衡?"
问:即使绝对公平的赌局(50%赢,50%输),赌到最后,我为什么会输?
答:你输给的不是运气,你输给的是大数定律。
问:什么是大数定律,我为什么输给她?
答:假设你有本金10元,每次1元,一次你可能输1元, 也可能赢1元,概率各为50%。即输赢的概率各为1/2。假设你连输十次,连输10次的概率是2的十次方,1/1000 (千分之一)。也就是说,你有千分之一的概率连输十次,输完所有本金,没有资本来翻盘了,必须退场了。(而这也意味着, 你玩一千次,连输十次出现的概率等于1,也就是说,玩100次,你输完的数学期望等于100%)。
下面用matlab仿真来看看这个问题,每次产生随机数来判断输赢,大于0.5就算赢,硬币个数为10,如果硬币个数为0,就停止游戏,
clc
close all
clear
%%
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
end
end
disp(['游戏结束:', 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次后游戏继续的,输出金币个数再看一下
% clc
close all
clear
%%
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
end
end
disp(['游戏结束:', 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;
end
disp(['金币输光的个数:', num2str(length(find(coin_left==0)))])
金币输光的个数:75101
期望还有点靠不住,没有100%输光,
我们增加一下游戏的次数
MaxIters = 5000;
金币输光的个数:88976
再增加次数
MaxIters = 50000;
金币输光的个数:96465
假如这个游戏者永远不满足,想一直玩下去,那么MaxIters 的取值接着增大,输光的概率接近是100%,这就是我们所说的久赌无赢家。而人性的贪婪决定了赌性,抛开网络赌博的大数据猫腻不说,就算是最公平的对赌游戏,我们最终也是输光收场。
赌徒都应该明白的道理:通过简单计算告诉你为什么久赌必输相关推荐
- 迷茫吗?不管多少岁都需要明白的道理
人总是从磨难中获得的教益多:从平坦中获得的教益浅,从磨难中获得的教益深.一个人在年轻时经历磨难,如能正确视之,冲出黑暗,那就是一个值得敬慕的人. 如今,似乎每个人的脸上都挂着沉重与彷徨,尤其是欢悦的时 ...
- [转载]《武林外传》每一集都教会我们一个道理
[01 郭女侠怒砸同福店,佟掌柜妙点迷路人] 湘玉:不会干可以学嘛!没有人会笑话你!做事情要靠手,而不是嘴.俗话说,光说不练假把势.嘴上说的天花乱坠,大道理一套一套,做起事情来啥都不会.时间一长,谁还 ...
- 有多少是长大了以后才明白的道理?
每个人长大后都才明白的道理,我汇总了三十六条,看你是否有同感. 1.长大后再回过头看看自己以前干过的一些事才明白年轻时的自己有多么"傻". 2.长大后才后悔当初上学的时候为什么没有 ...
- 四十不惑,四十岁后才明白的道理
人生四十岁是一个重要的里程碑.孔子说四十不惑,显然有夸张的成份,不过,如果说人过四十应该明白许多道理,还是有道理的. 分享凤凰博客上华中师大德育研究所兼职教授许锡良的一段人生感悟:四十岁后才明白的道理 ...
- 如果把线程当作一个人来对待,所有问题都瞬间明白了
来源:公众号[编程新说] 多线程的问题都曾经困扰过每个开发人员,今天将从全新视角来解说,希望读者都能明白. 强烈建议去运行下文章中的示例代码,自己体会下. 问题究竟出在哪里? 一个线程执行,固然是安全 ...
- 有哪些你踏入社会才明白的道理
不知不觉已经工作10多年,从一个懵懂的大学生到被社会无情毒打,终于成长一个职场老鸟. 最近几天在胡思乱想,这10多年不少认知和感悟,如果10年前有人能告诉我,我会不会少走很多很多弯路? 读书的时候,总 ...
- 第三十六期:如果把线程当作一个人来对待,所有问题都瞬间明白了
7月8日 以下文章来源于编程新说 ,作者编程新说李新杰 多线程的问题都曾经困扰过每个开发人员,今天将从全新视角来解说,希望读者都能明白. 强烈建议去运行下文章中的示例代码,自己体会下. 问题究竟出在哪 ...
- python20个常用语法_这20个常规Python语法你都搞明白了吗?
原标题:这20个常规Python语法你都搞明白了吗? 还没关注? Python简单易学,但又博大精深.许多人号称精通Python,却不会写Pythonic的代码,对很多常用包的使用也并不熟悉.学海无涯 ...
- 22男人应该明白的道理
1.男人是社会的主体,不管你信或不信.所以男人应该有种责任感. 2.25岁之前,请记得,爱情通常是假的,或者不是你所想象的那样纯洁和永远. ...
最新文章
- 【组队学习】【29期】Datawhale组队学习内容介绍
- 使用复合索引代替单键索引,来避免单键有null值的情况
- form中的onblur事件简单的介绍
- PCL中异常处理机制
- android:versionCode和android:versionName 用途
- java 设计模式 示例_Java中的状态设计模式–示例教程
- 源代码可以从应用提取码_大规模下加速源代码分析
- Net作业调度(二) -CrystalQuartz远程管理
- 使用java库中的对称加密算法
- 华为将发布定制款“鸿蒙字体”,可以免费商用
- 对中文GB2312编码和解码
- 飞利浦 PHILIPS 电动牙刷HX6730 拆解
- PS · class 1
- Python BeautifuSoup 库 mooc 中国大学学习
- iOS开发基础-序列帧动画之Tom猫
- 面试-android
- 数据库连接_由浅入深搭建Mybatis框架
- 使用Kotlin配合RxJava网络请求
- 高速高精度半导体运动台设计(二)
- 论文笔记 EMNLP 2021|Treasures Outside Contexts: Improving Event Detection via Global Statistics