赌徒有10元,一次输赢1元,手头能到110元的概率
来源:互联网 发布:2017一手收藏品数据 编辑:程序博客网 时间:2024/04/27 20:33
这是我前一些天看了算法导论,然后碰到的一个有意思的问题。
我保证这是本人原创的东西。
一道与赌博有关的概率问题
假设甲有10元,乙有100元,他们丢一次硬币输赢1元。最后要么甲输光结束游戏,要么乙输光结束游戏。
问题: 甲赢光乙结束游戏的可能性是多大?
如果甲和乙一共有5张,那么就会有以下关系。
下面的那个矩阵乘法有点挫(那个“X”表示矩阵乘法)不过,大概能表词达意。。。
解释一下,比如 A0 = 0 + A1/2 ,就是,如果甲有一张,乙有4张,那么如果是下一次硬币是甲猜对了,概率是1/2,结果就是A1/2,如果是乙对了(他们两个的答案必须不一样),那么概率是 1/2,对甲赢的贡献是0*1/2 = A0;
同理,如果甲有2张,乙有3张,那么如果下次甲猜对了,那么,概率是1/2,情况就变成了 甲有三张的情况(3:2)贡献是 1/2*A0, 不然如果甲输了,概率是1/2情况就变成了甲有一张的情况,贡献是 1/2*A2.
所以整体的概率就是A1 = A0/2 + A2 / 2...
所以甲有10张,乙有100张时,就是一样的啦,像上面表格那样表示,然后化成矩阵乘法,,,当然因为本题高度对称,感觉可以推出通项公式之类的。。
解答本题目时要注意这是个三对角矩阵乘法,用算法导论第3版第28章的思考题28-1的东西来干这个很给力,时间复杂度是O(n+m) 其中n是甲的张数,m是乙的张数。
更加高级的解法
由于一共有5张时,求出来的A0,A1,A2,A3分别是 1/5, 2/5, 3/5, 4/5..
所以假定对于甲有A张,乙有B张,那么,甲赢的概率是 A/(A+B)。
然后考虑如果下一次甲输了,或者甲赢了,一共就是 A/(A+B) = (A-1)/(A+B)/2 + (A+1)/(A+B)/2 ...正好满足所有的约束,而且边界的两个约束也是满足的。。。
所以假设成立。。。
所以本题的答案是 10 / (10 + 100) 就是1/11
所以假定对于甲有A张,乙有B张,那么,甲赢的概率是 A/(A+B)。
然后考虑如果下一次甲输了,或者甲赢了,一共就是 A/(A+B) = (A-1)/(A+B)/2 + (A+1)/(A+B)/2 ...正好满足所有的约束,而且边界的两个约束也是满足的。。。
所以假设成立。。。
所以本题的答案是 10 / (10 + 100) 就是1/11
-------------------脑洞大开------------------
借债赌钱
如果这个赌徒能够借债赌钱,也就是即使手头没钱了也能接着赌钱,那么最后能够回本,而且还了债务后手头能够到110元的概率是多少。
(假设赌徒可以无限赌钱。而且可以无限借债,而且债没有利息和时间限制)。
这个其实概率几乎就是1,也就是一定可以。
这个其实就是下面久赌必输的原理。
比如因为可以借债,其实等价于我们可以想象成赌徒甲有10000元或者更多钱n,那么这个赢下有限钱的乙的概率是 n/(n+100).
由于n可以到达无限大,所以这个概率几乎就是1,也就是说乙一定有时候会输完。
久赌必输
如果你是乙,只有有限的100元,面对一个有几乎无限钱的甲,即使一次输赢只是一块钱,那么只要你坚持赌下去,几乎,你输完的结局是必定的。几乎100%的久赌必输定理就在这里。
当然百度上面还流传着另一个证明方法:
假设赌徒的初始资金是n,每赌一次或输或赢,资金分别变为n+1和n-1。求一直 赌下去资金变为0的概率是多少?假设从n开始一直赌下去变为0的概率是T(n). 那么我们有: T(0) = 1 T(n) = ( T(n-1) + T(n+1) )/2, 对n > 0. 这第二个式子相当于数n有一半机会变成n-1,一半机会变成n+1。 那么变换一下相当于T(n+1) = 2T(n)-T(n-1)。 设T(1)的值为a, 那么显然0< a<=1。利用T(n+1) = 2T(n)-T(n-1) T(1) = a T(2) = 2a - 1 T(3) = 2(2a-1) - a = 3a - 2 T(4) = 4a - 3 ... T(n) = na - n + 1. 我们知道T(n) >= 0对于任意的n成立。所以a必须为1. 所以我们证明了T(1) = 1. 同样的过程可以得到T(2) = 1, ..., 一直下去,T(n) = 1. 证毕这是百度搜索“久赌必输”,然后出来的第一个百度知道的解答,回答者凭栏看剑。大概意思差不多。
-------------------做后感-------------------
当时我做的时候还不知道什么是马尔可夫链,什么是随机游走,后来有人告诉了我,后来,我就去看了些马尔可夫的知识,隐马尔可夫模型之类的,后来我就去看机器学习的书,然后现在跟着做机器学习东西。凭栏看剑
凭栏看剑
0 0
- 赌徒有10元,一次输赢1元,手头能到110元的概率
- 有1元、5元、10元、20元、50元、100元硬币无数个,问100000元的组合方法有多少个
- 将56元转换为1元,2元,5元,10元,20元有多少种方法?
- 用1元,2元,5元,10元,20元,50元和10元的纸币组成200元,共有多少种情况
- 一次10元心灵的投资
- 用100元换10元、5元和1元的纸币共50张,能换各种纸币多少张。
- 100元 50元 20元 10元 5元 1元 标准尺寸
- 找零钱的张数最少(20元,10元,5元,1元)
- 有10元,5元,2元,1元四种面值的人民币,问组成100元钱有多少种组合?
- 用1元,2元,5元,10元,20元和50元的纸币组成100元,共有多少种情况
- 用1元,2元,5元,10元,20元和50元的纸币组成100元,共有多少种情况
- 深入解析之将100元兑换为1元、5元、10元的零钱,请问有多少种兑换方法
- 用100元人民币兑换10元,5元,1元的纸币(每种都要有)共50张,计算有多少种兑换方案
- 用1元,2元,5元,10元,20元,50元组合成100元
- 换元概率计算
- 概率+逆元 书
- 一个很原始的背包问题。。。就是100元换零钱1元,2元,5元,10元,50元。。
- 有100枚硬币,总面值是247元,这些硬币的面值有三种:1元,2元 ,5元,编程输出硬币的组合有多少种?
- 02_Conceptual Overview概念概述
- UVA - 113 Power of Cryptography (大数幂+二分)
- 决胜大数据时代:Hadoop&Yarn&Spark企业级最佳实践(3天)
- ZendGuard对PHP源码进行保护
- Mysql 主主复制
- 赌徒有10元,一次输赢1元,手头能到110元的概率
- java中IO流代码实例分析
- hdu2913 Traveling Cube (bfs+hash)
- wdcp的/www目录大小调整或增加分区/硬盘的方法
- php开发客服系统源码(持久连接+轮询+反向ajax)
- Ubuntu + LVS 搭建四层,实现自定义协议的负载均衡
- 关于合璧儿
- Java--IO(一)
- NSRunLoop概述和原理