这是我前一些天看了算法导论,然后碰到的一个有意思的问题。

我保证这是本人原创的东西。

一道与赌博有关的概率问题 

假设甲有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
-------------------脑洞大开------------------

借债赌钱

如果这个赌徒能够借债赌钱,也就是即使手头没钱了也能接着赌钱,那么最后能够回本,而且还了债务后手头能够到110元的概率是多少。
(假设赌徒可以无限赌钱。而且可以无限借债,而且债没有利息和时间限制)。
这个其实概率几乎就是1,也就是一定可以。
这个其实就是下面久赌必输的原理。
比如因为可以借债,其实等价于我们可以想象成赌徒甲有10000元或者更多钱n,那么这个赢下有限钱的乙的概率是 n/(n+100).
由于n可以到达无限大,所以这个概率几乎就是1,也就是说乙一定有时候会输完。

久赌必输

如果你是乙,只有有限的100元,面对一个有几乎无限钱的甲,即使一次输赢只是一块钱,那么只要你坚持赌下去,几乎,你输完的结局是必定的。几乎100%的久赌必输定理就在这里。
当然百度上面还流传着另一个证明方法:
假设赌徒的初始资金是n,每赌一次或输或赢,资金分别变为n+1和n-1。求一直赌下去资金变为0的概率是多少?假设从n开始一直赌下去变为0的概率是T(n).那么我们有:T(0) = 1T(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) = aT(2) = 2a - 1T(3) = 2(2a-1) - a = 3a - 2T(4) = 4a - 3...T(n) = na - n + 1.我们知道T(n) >= 0对于任意的n成立。所以a必须为1.所以我们证明了T(1) = 1. 同样的过程可以得到T(2) = 1, ...,一直下去,T(n) = 1. 证毕

这是百度搜索“久赌必输”,然后出来的第一个百度知道的解答,回答者凭栏看剑。大概意思差不多。

-------------------做后感-------------------

当时我做的时候还不知道什么是马尔可夫链,什么是随机游走,后来有人告诉了我,后来,我就去看了些马尔可夫的知识,隐马尔可夫模型之类的,后来我就去看机器学习的书,然后现在跟着做机器学习东西。

凭栏看剑 
凭栏看剑 

赌徒有10元,一次输赢1元,手头能到110元的概率相关推荐

  1. 快手春晚10亿元红包玩法来了:最高得2020元现金

    [TechWeb]1月17日消息  作为2020年央视<春节联欢晚会>独家互动合作伙伴,快手已经确认春晚发10亿元现金红包,从1月24日晚8点到次日凌晨发放,其中包括221万个" ...

  2. C语言基础课 编写程序之1.百元买鸡,公鸡一只5元,母鸡一只3元,小鸡3只一元,现将一百元要买一百只鸡,公鸡母鸡小鸡各多少只2.编程求1~200中能被2除余1或能被3除余1或能被5除余1的前10个整数

    1.拿百元买鸡问题.公鸡一只5元,母鸡一只3元,小鸡3只一元,现将一百元要买一百只鸡,请问一百只鸡中公鸡,母鸡,小鸡各多少只 #include<stdio.h> int main() {i ...

  3. 假设电话收费标准为: (1)国际长途1.00元/分钟,(2) 国内长途0.60元/分钟,(3)市话前3分钟0.20元,3分钟以后0.10元/分钟。现假设某话单文件中每条话单包含如下信息:通话日期(10

    你好,帮我做个C语言题目 你好,我是Assistant.很高兴为您做题. 请提供题目的完整题面,并提供任何相关的输入.输出.约束条件等信息. 如果您有任何其他问题,请随时与我联系.我将竭诚为您服务. ...

  4. 某市出租车起步价10元,3公里后开始计价,30公里以内每公里是2元,超出30公里的部分每公里3元,定义公里数n计算最终因支付多少元

    某市出租车起步价10元,3公里后开始计价,30公里以内每公里是2元,超出30公里的部分每公里3元,定义公里数n计算最终因支付多少元 表达式:(n<3)?10:(n<30?(2*(n-3)+ ...

  5. 有10元,5元,2元,1元四种面值的人民币,问组成100元钱有多少种组合?

    有10元,5元,2元,1元四种面值的人民币,问组成100元钱有多少种组合? 问题分析:  为了表达清楚,用  TEN , FIVE , TWO , ONE , 表示 10元,5元,2元,1元的人民币. ...

  6. 要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数

    源程序: 要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,要求换成30张小钞票,每种面值的至少一张,编程输出所有可能的换法,程序应适当考虑减少重复次数. #include ...

  7. 手机长时间不用自动断网_不用蓝牙的感应音箱,只需百元!放上手机自动播放,媲美千元音质...

    对有些人来说,音乐是平凡日常里的一剂调味:对另一些人来说,音乐则是不可或缺的生活色彩. 这种旋律的艺术,早已经融入了我们的每一天. 然而,出门一天下来,被耳机堵住的耳朵难免会有点不舒服. 回到家里,耳 ...

  8. JAVA计算:用 100 元钱买 100 支笔,其中钢笔 3 元 / 支,圆珠笔 2 元 / 支,铅笔 0.5 元 / 支,问钢笔、圆珠笔和铅笔可以各买多少支 ?

    Java 计算 用 100 元钱买 100 支笔,其中钢笔 3 元 / 支,圆珠笔 2 元 / 支,铅笔 0.5 元 / 支,问钢笔.圆珠笔和铅笔可以各买多少支 ? 穷举法,用JAVA写了一下,代码很 ...

  9. 元胞自动机在交通系统中的应用之一【元胞自动机的基础知识】

    最近要写一篇有关元胞自动机的论文,但是之前的理解不够深刻,因此在网上找到了北交贾斌.高自友等老师写的<基于元胞自动机的交通系统建模与模拟>. 因此先把VRP放放,写点读书笔记,然后是基于M ...

最新文章

  1. TensorFlow全球下载量破1亿,Jeff Dean激动不已,但网友却不给面子
  2. 黑龙江智能车邀请赛中的单车比赛
  3. 对称加密实现重要日志上报Openresty接口服务
  4. 一个好用的浏览器暗色浏览插件 Dark Reader
  5. 保存hbitmap到文件
  6. 如何理解指向指针的指针?
  7. 动态规划应用--找零钱
  8. 利用Mesos构建多任务调度系统
  9. java interface_Java中的接口(interface)
  10. 排毒食物 红糖可补血美体排毒
  11. map集合和javabean对象之间相互转换方法
  12. IT公司、软件公司资质
  13. oracle rman异地备份,rman异地备份与恢复测试
  14. Suse Linux 10无法使用SSH进行登陆
  15. 3小时入门微信小程序开发 --公开课学习笔记
  16. java8 collectors_java8的Collectors.reducing()
  17. 支付宝当面付参数获取步骤,个人申请使用支付宝当面付
  18. php多张图片切换效果,怎么把多张图片制作成gif动图 可设置图片切换效果及显示时间...
  19. 软考A计划-试题模拟含答案解析-卷五
  20. 基于线上请求的性能测试系统CPC

热门文章

  1. 共享安装 cacti 过程中的一些经历 cacti 中文-linux - sun solaris
  2. 基于Arduino开发板使用HC-12远程无线通信模块
  3. EOJ 3452- 唐纳德先生和假骰子
  4. html中的分页条怎么写,包含HTML标签的文本分页处理
  5. Blast+安装使用的简单流程
  6. EBS 销售RMA接收报错VALIDATE_RMA_LOT_QUANTITIES_ERROR
  7. laravel生成微信公众号带参数二维码并响应扫描带参数二维码
  8. SQL 查询整型字段值和十六进制相互转换
  9. ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number
  10. Linux终端突然打不开,【SOLVED】ubuntu 误操作致使打不开Terminal