前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >概率入门:双色球中奖、购车摇号中签和德扑同花顺,哪个更容易?

概率入门:双色球中奖、购车摇号中签和德扑同花顺,哪个更容易?

作者头像
IT阅读排行榜
发布于 2018-09-29 03:20:00
发布于 2018-09-29 03:20:00
1.6K0
举报
文章被收录于专栏:华章科技华章科技

导读:排列组合是我们在这本书中接触到的第一个概率论概念,也是我们在高中学过的一个概率学的入门概念。概念记不清了也不要紧,我们回忆一下在中学学过的排列组合都有哪些经典问题来的。

作者:高扬、卫峥、尹会生

插画设计:万娟

01 双色球彩票

双色球彩票在中国的历史不算短了,大概是从2003年2月就开始在中国联网发售。虽然有很多人都在诟病说双色球开奖的方式不够公平透明,但是还有相当多的彩民一直在执着地研究双色球开奖的规律。

咱们今天只从数学的角度来看一下双色球彩票的头奖和你花两块钱下注购买的彩票一致性的概率,也就是我们平时说的买一注然后就能中头奖的概率有多大。我们必须先明确一个前提,就是确实没有人对彩票购买和抽奖小球的抽出做干预,换而言之,就是你下注的这一注是在完全不知道开奖结果的情况下买的,抽奖也是每个球被抽出的概率一样的情况下做的。

我们购买一注彩票的时候,首先选择红球,从01到33,共33个号码中选择6个号码。再从01~16,共16个号码中选择1个号码。6红1蓝一共7个号码组成完整的一注彩票。

最终抽奖的时候也会是01~33个红色号码中选择6个号码,再从01~16,共16个蓝色号码中选择1个号码。6红1蓝一共7个号码组成完整的一注头奖彩票。

如果你选择的6红1蓝和头奖的6红1蓝完全一致那就算中了头奖,奖金怎么算……这个大家去问福利彩票中心吧,咱们这里只算概率。

先算算我们挑选6红1蓝一共有多少种挑法。

首先先从33个红球中挑选6个红球,用组合的方式

=33×32×31×30×29×28/(6×5×4×3×2×1) =1107568

也就是1107568种选法。

再从16个蓝色球中选1个,16种选法。

这样6红1蓝的选法就是一共是1107568×16=17721088种选法。

说个形象点的例子,老天爷在想1到17721088中的一个整数,你也在想1到17721088中的一个整数,你们俩想的完全一样的概率有多大?没错1/17721088,大约是0.0000000564%的概率。还能数的清有多少0么?

不少人说,这没关系,反正有一些破法。有哪些破法?看了一下有两种支持的人比较多。

方法一:我多买几种配置方法,换句话说,多想几个数去跟老天爷碰运气?

那就算算看,一共17721088种可能,全部买下来——也就是俗称的全餐彩票,一共要花35442176元人民币。奖池是不是在所有中头奖的人平分后还能至少分到手这么多不好说(包括加上二等、三等奖一共能领到多少钱都可以自己算)。我们按照比例缩小一些试试呢?比如买一半,那就是中奖概率变成1/2——要花掉17721088元,还有一半的可能性是不中。其他比例大家可以自己计算。每一种在降低投入的同时,也在降低中奖概率。所以这种方式并没有提高买彩票的投入产出比。

方法二:我只买一种组合,坚持到底,就能提高胜率?

有这样思想的朋友估计是这么一个思路,就是说这一次这种组合不中,由于每种组合概率一样,所以在多次随机过程里前面出现过的组合后面出现的概率就低,前面没出现过的组合后面出现的概率就高。有这样思路的朋友,想想这样一个事,交通事故其实是一个典型的随机事件。平均每个月发生交通事故的数量是相对“固定”的,只不过发生的地点,发生的时间,发生的车型,涉及到的人可能不同而已。

那么如果要避免交通事故,那么就先人为制造一些无害的交通事故就好了,造够了次数,这个月就不会再发生交通事故了,大家也可以安心上路随便开了。这个逻辑就变得顺理成章,但是事实真的会是这样吗?

这种随机产生的每一次结果之间其实是独立的概率,换句话说每一次之间是不会影响前后随机事件里产生的结果的,也不会影响到前后的随机事件的结果。在静态概型里,这个结论请大家牢记。

也有人表示怀疑,说我明明在一些事情里看到前一件事发生后会影响后面事情发生的可能性,那这种事情怎么解释。这种事情,首先不是古典概型的范畴,如果要归类的话可以算作条件概率的研究范畴,条件概率以后我们也会详细讲解。

02 购车摇号

北京是一个以拥堵著称的城市,拥堵的问题也是由来已久,而且几乎是越来越严重。在万般无奈的情况下,专家们最后祭出了一个大招——摇号。

摇号是一个带有比较浓郁配给制色彩的手段。大概的形式就是,每个已经具备摇号资格的人登记一下身份证号码,所有登记过身份证号码的人都放在一个大“池子”里,然后每两个月通过“随机”的方式产生20000个号码,这20000个幸运儿就是中签者,就拥有了购买一辆汽油动力汽车的配额。

中签概率多大呢?有人想到直接用20000÷1420000就是自己中签的概率。但是为什么是这么求呢?有理论依据吗?我们试着推导一下。

以真实数据为例,2015年9月的时候这个“池子”里一共有大约1420000个号,从里面选出20000个号,一个人中签的概率有多大?稍微想想看,这个数值也不能够是

。因为不是要求1420000个号里找出20000个号一组的不同组合。

假如我参与了摇号,在没有其他政策进行干预而将1420000个号码进行等概率选出的情况下,选出20000个号,而我的号正好在其中。相当于用一个1420000面的骰子,投掷一次,选出一个号,然后把这个号抹掉,再用剩余的1419999个号做成一个1419999的骰子,再投掷一次,选出一个号,然后把这个号再抹掉……一次一次下去,直到20000次为止。实际相当于这么一个过程。

想不清的话我们试试用小一点的数字找找感觉。

如果是有3个人参与摇号,摇出2个,是怎么计算呢?

按照这种扔骰子的方法来玩,假设我们有个3面的骰子(其实真的是没办法做出一个3个面的等概率骰子,我们就当真的能做出来好了)。第一次我被骰子选中的概率为1/3,还有2/3是没被选中的概率。在没选中的情况下,换2个面的骰子,这一次我被骰子选中的概率为1/2。

算算我能被选中的概率一共是多少吧,1/3+(2/3)×(1/2)=2/3。

如果是6个人参与摇号,摇出3个,是怎么计算呢?

仍然用扔骰子的方法来玩,同理:

  • 第一次,选中的概率为1/6,没选中的概率为5/6,现在该换5面的骰子了。
  • 第二次,选中的概率为1/5,没选中的概率为4/5,现在该换4面的骰子了。
  • 第三次,选中的概率为1/4,没选中的概率为3/4,结束。

被选中的概率是多少呢1/6+(5/6)×(1/5)+(4/5)×(1/4)=3/6。

如果有兴趣可以继续用其他例子去算,我们现在直接说结论了,这种情况其实就是用掷骰子的次数除以最开始骰子的总面数,也就是一共选出的次数除以全样本空间的大小。20000/1420000这个答案是没有问题的,也就是中签率不过1.4%左右,一年摇号6次的话,估计运气最差的人要11.8年才能抽中,听到这样的消息现在整个人都不好了。不过别忘了,每个月这个“池子”还在变大,究竟等多久可能只有老天知道了。

03 德州扑克

七零后和八零后的朋友估计对中国香港影星周润发很熟悉,尤其是发哥在《赌神》系列中风流倜傥的表演给人留下很深的印象,其中最后发哥和大BOSS单挑基本玩的都是“梭哈”——英文名称Show Hand。梭哈和我们今天要说的德州扑克在牌点大小比较的规则上是非常近似的。

德州扑克是很多年轻人都喜欢的扑克竞技游戏,全称是Texas Hold'em poker,中文简称德州扑克。我们今天就来研究一下各种牌型出现的概率如何。

对于不熟悉德州扑克规则的朋友来说,还是有必要先简单描述一下德州扑克的规则。

一张台面至少2人,最多22人,一般是由2~10人参加。德州扑克一共有52张牌,没有王牌。每个玩家分两张牌作为“底牌”,五张由荷官(就是专业发牌的)陆续朝上发出的公共牌。开始的时候,每个玩家会有两张面朝下的底牌。经过所有押注圈后,若仍不能分出胜负,游戏会进入“摊牌”阶段,也就是让所剩的玩家亮出各自的底牌以较高下,持大牌者获胜。

  • 第一轮是在每位玩家只能看到自己2张底牌的情况下加注。
  • 第二轮是在每位玩家能看到自己2张底牌,以及桌面上3张公共牌的情况下加注。
  • 第三轮是在每位玩家能看到自己2张底牌,以及桌面上4张公共牌的情况下加注。
  • 第四轮是在每位玩家能看到自己2张底牌,以及桌面上5张公共牌的情况下加注。

最多只会经历这四轮,一局游戏结束。

游戏的输赢就是看玩家自己的2张底牌与桌面上当前已开出的公共牌,一共挑选出5张,组成最“大”的牌,哪位玩家的牌组合最“大”,哪位玩家就获得胜利。

牌的组合大小怎么定义呢?

有些对博弈类游戏有所了解的朋友可能会有一些常识性的体会——那就是,组合出现的可能性越小的通常牌越“大”。那德州扑克里都有哪些组合呢?

第一等:同花大顺

相同花色的A、K、Q、J、10。

第二等:同花顺

相同花色的5张相连。例如,红桃6、7、8、9、10;黑桃9、10、J、Q、K。

第三等:四条

4张相同点数的牌。例如,4张8;4张Q。

第四等:满堂红(也叫葫芦)

3张相同点数的牌,再加2张相同点数的牌。例如,3张5和2张9;3张K和2张10。

第五等:同花

5张相同花色的牌,但不是同花顺。例如,5张都是方块;5张都是梅花。

第六等:顺子

5张点数相连的牌,但至少包含两种花色。例如,方块2、方块3、梅花4、红桃5、红桃6;红桃8、方块9、梅花10、红桃J、黑桃Q。

第七等:三条

3张相同点数的牌,再加2张不同点数的牌。例如,3张9和1张3、1张K;3张Q和1张A,1张6。

第八等:两对

2张相同点数的牌作为一对,两对牌,再加1张单牌。例如,2张5、2张9、1张A;2张10、2张J、1张K。

第九等:一对

2张相同点数的牌作为一对,一对牌,再加3张单牌。例如,2张10、1张7、1张8、一张9;2张A、1张K、1张9、1张5。

第十等:高牌

高牌即单牌,不满足前面九等牌中任何一种的,就只能按照点数大小按顺序决定高低了。A比K大,K比Q大,以此类推,2最小。

我们在这里就试求一下,一个人自己摸牌(没有任何第二个玩家参与的情况下),前三等牌被摸到的概率有多大。

请注意一点,在没有开始摸牌之前,如果牌被洗过若干次(没有其他人为干扰因素)的情况下,牌的发放是随机的。而一旦底牌发放以后,尤其是玩家自己看过牌以后,这个时候的概率计算和我们现在要讨论的这种概率计算是不一样的——显然,一个是完全随机的,一个是有一定条件的,条件就是刚刚看到的那两张底牌,而这种情况我们暂时不讨论。

那么这种情况下,整个选牌的过程中相当于从整副牌52张中选出7张,并从中组合出最大牌的过程,即

=52×51×50×49×48×47×46/(7×6×5×4×3×2×1) =133784560

7张牌的组合一共有133784560种。

1. 同花大顺

在所有的组合中有多少是同花大顺的呢?同花大顺一共就4种,分别是黑桃、红桃、梅花、方块的10、J、Q、K、A。7张牌里面,5张已经确定,另外两张怎么选都无所谓。以黑桃为例,黑桃的同花大顺选出后,其实还有47张牌没有发,挑出两张即

=47×46/(2×1)=1081

同理,红桃、梅花、方块的同花大顺也是一样的,都是1081种组合。则同花大顺共计有4324种组合。听着挺多的是吧,别忘了一共133784560种组合,除一下得到结果

4324/133784560=0.00323%

2. 同花顺

同花顺有多少种情况呢?以黑桃为例,假设A~5组成同花顺,黑桃6是不能发的,还剩下46张可以组合,则这种情况下组合数量这样计算

=46×45/(2×1)=1035

2~6组成同花顺,7是不能发的,A可以发(A充作散牌),所以还是

=1035

以此类推,黑桃的组合为A~5,2~6……9~K,一共9种,那么黑桃一种花色的牌型种类就为

1035×9=9315

四种花色的组合数就是

9315×4=37260

除一下得到结果概率

37260/133784560=0.0279%

网上还有一种算法说是

38916/133784560=0.0291%

这种算法是有问题的。错误发生的地方大概在这里:“以黑桃为例,A~5,2~6……9~K,一共9种,47张里挑出两张,计算一下

=47×46/(2×1)=1081

那么黑桃的同花顺的牌型一共是

1081×9=9729

同理,红桃、梅花、方块的同花顺也是一样的,都是9729种组合,共计38916种组合,除一下得到结果

38916/133784560=0.0291%

这里一旦选好了5张牌作为“核心组合”以后,其他牌的选择其实不是自由的,因为有的牌配进来以后就发现这个我们一开始就认定的组合不是最后在台面上最大的牌。这个地方需要注意一下。

3. 四条

四条有多少种呢,计算方法类同,4张已经确定,还有48张没有发

=48×47×46/(3×2×1)=17296

注意这里4张的组合有多少种——13种,所以四条可能出现的组合数量为

17296×13=224848

除一下得到结果

224848/133784560=0.168%

虽然看上去机会仍然很渺茫,但是比同花大顺和同花顺的概率还是大了不少是不是?

其他的组合方式大家有兴趣可以自己慢慢去算,网上也有现成算好的对照表。

提示一下,像两对牌这种的比较难算,因为情况比较复杂。它复杂的地方在于在满足两对牌的情况下,还要将满足同花大顺、同花顺、四条、满堂红、同花、顺子、三条的情况全部剔除才行。两对牌的牌型为31433400种,概率为23.5%。还有一些其他形式的对照表,就是在手里底牌为已知固定组合的情况下,最终与公共牌组合成为各等牌的概率。

这里温馨提醒一下各位牌友,刚刚我们计算的概率是在一个人自己摸牌的情况下产生的概率。一旦是5个人,10个人玩的时候就大不相同了,有一点是确定的,人越多公共牌和其他玩家一起组成的牌的种类可能性也越多,“罕见组合”在一局中出现的可能性也比一个人自己摸牌要高很多,请一定注意哦。

关于作者:高扬,金山软件西山居资深大数据架构师与大数据专家,有多年编程经验和多年大数据架构设计与数据分析、处理经验,目前负责西山居的大数据产品市场战略与产品战略。

卫峥,西山居软件架构师,多年的软件开发和架构经验,精通C/C++、Python、Golang、JavaScript等多门编程语言。

尹会生,西山居高级系统工程师。曾任新浪研发中心技术经理、北京尚观科技高级讲师。擅长企业集群解决方案和内核调优经验,并提供高性能和高可用性集群咨询服务。

万娟,星盘科技有限公司UI设计师平面,对VI设计、包装、海报设计等、商业插画、App交互、网页设计等有独到认识。

本文摘编自《白话大数据与机器学习》,经出版方授权发布。

延伸阅读《白话大数据与机器学习》

点击上图了解及购买

转载请联系微信:togo-maruko

推荐语:以降低学习曲线和阅读难度为宗旨,重点讲解了统计学、数据挖掘算法、实际应用案例、数据价值与变现,以及高级拓展技能,清晰勾勒出大数据技术路线与产业蓝图。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据DT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
高拍仪SDK(文豆FastSnap)
本sdk主要适用于bs(web)架构,可支持谷歌Chrome、火狐Firefox、360极速和安全、Edge、IE10+等支持html5的多种浏览器。
用户11057749
2024/04/30
5960
base64转file文件源码记录
我们前后端交互图片的时候,一般我们是用base64进行交互的,但是很多时候我们传递图片的时候很多的后端是需要file文件格式的,而不是base64的,所以这个时候是需要进行一个简单的转变
何处锦绣不灰堆
2020/05/28
1.8K0
js项目中常用的一些工具函数
记录一下在项目中常用的工具函数,随时更新 var utils = { /** * 获取路径参数方法 返回参数值 * @name 参数名字 * */ getQueryString: function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); // window.location.search 获取url问号后面部分 v
别盯着我的名字看
2022/06/09
5800
混合开发 图片上传 base64转file的坑
但是在手机上传确实失败的 ,经过分析发现 手机上base64转 file 生成的file对象和pc版的不同 。
lilugirl
2019/05/28
3K0
js 图片转换base64 base64转换为file对象
相关: https://www.cnblogs.com/fps2tao/p/9268380.html
全栈程序员站长
2022/07/21
9.6K1
自己动手用electron+vue开发博客园文章编辑器客户端【二】
在nwjs里,宿主页面与做过特殊标记的iframe页面(nwdisable nwfaketop和nwUserAgent)通信,并没有什么特别的地方
liulun
2019/05/25
2.4K0
图片转换js (img对象,file对象,base64,canvas对象),以及图片压缩方式(转载)
首先想一想我们有哪些需求?大多时候我们需要将一个File对象压缩之后再变为File对象传入到远程图片服务器;有时候我们也需要将一个base64字符串压缩之后再变为base64字符串传入到远程数据库;有时候后它还有可能是一块canvas画布,或者是一个Image对象,或者直接就是一个图片的url地址,我们需要将它们压缩上传到远程;
李维亮
2021/07/08
4.9K0
面试官昨天问我对base64的理解,着实被问懵了
我们知道一个字节可表示的范围是 0 ~ 255(十六进制:0x00 ~ 0xFF), 其中 ASCII 值的范围为 0 ~ 127(十六进制:0x00 ~ 0x7F);而超过 ASCII 范围的 128~255(十六进制:0x80 ~ 0xFF)之间的值是不可见字符。
用户3806669
2021/03/25
4.7K0
面试官昨天问我对base64的理解,着实被问懵了
简单的说一下人脸识别的过程及前端实现
最近写项目的时候在做一个登录的操作,但是我们因为是多端的,有小程序,有PC,后期可能还有公众号等,所以我们的登录是很多种不同的登录方式的,有最基本的账号密码登录,有微信扫码登录,有工号刷卡登录,有手机验证码登录,当然还有逼格比较高的人脸识别登录,手机验证码登录其实是一个很简单的,所以我可能会在后期写一下处理的过程,今天我们大概说一下人脸识别的一个过程,当然因我不是写后端的,所以这里是不能贴后端的源码的,但是前端的处理还是可以写一下的。
何处锦绣不灰堆
2020/05/29
1.5K0
开发中常用的JS知识点集锦
1、对象的深拷贝(一级属性拷贝和多级属性嵌套拷贝) //深拷贝函数(满足属性多级嵌套) function deepCloneObj(sourceObj){ var obj = (sourceO
tandaxia
2018/11/21
5230
vue.js + axios.js图片压缩处理并上传到服务器demo
点击查看效果 图片压缩原理 将图片重新画入一个canvas中。可设置最大宽度,再按图片宽高比例定义canvas画布的宽高。 完整代码demo <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>上传图片</title> <meta name="renderer" content="webkit"> <meta name="viewport" content="widt
别盯着我的名字看
2022/06/09
5.6K0
图片裁切上传插件cropper的使用
图片上传格式一般是文件格式和base64格式,比较方便的是图片格式,后台可以方便的处理上传的图片。
tianyawhl
2019/11/04
2.1K0
base64图片压缩并转换二进制流
base64 压缩 function dealImage(base64, w, callback) { var newImage = new Image(); var quality = 0.6; newImage.src = base64.url; newImage.setAttribute('crossOrigin', 'Anonymous'); var imgWidth, imgHeight; newImage.onload = function() { imgWid
我乃小神神
2021/12/07
1.9K0
使用Vue封装一个实用的人脸识别组件
由于我们的电脑有的有摄像头,有的没有摄像头,所以我们需要根据不同的场景来封装这个组件。先放个图吧,大家可以看得更加直观一些。
Vam的金豆之路
2021/11/30
3.5K1
使用Vue封装一个实用的人脸识别组件
原生JS调取PC端摄像头源码记录
今天简单的记录一个JS调取摄像头的源码,不是很难,只是为了以后可以直接拿来使用,好的废话不多说,看源码!
何处锦绣不灰堆
2020/05/28
1.9K0
base64与二进制互转,保存内容,文件读写:Blob/FileReader/URL/FormData
html5开发常用的对象有:FileReader  FormData File URL  Blob createObjectURL Uint8Array等,这些在日常开发中,需要做图片转base64,base64转而二进制文件,页面截图让用户下载。
周陆军博客
2023/05/07
3K0
当前端遇见了强制横屏签字的需求...
在前一阶段的工作中,突然接到了这个需求:_手写签批的页面在移动端竖屏时强制页面横屏展示进行签字_,一开始我觉着只要将页面使用 CSS3 的 transform 进行 rotate 一下就可以了,但是当我尝试后发现并不是像我想象的那样简单。
winty
2023/12/11
5960
当前端遇见了强制横屏签字的需求...
cropperjs图片裁剪及数据提交文件流互相转换详解
cropperjs的主要功能是图片裁剪,是一款前端常用的的图片裁剪工具,可根据相关api配置裁剪出符合自己业务需要的图片,具体使用如下:
超级小可爱
2023/12/21
4780
开发实例:后端Java和前端vue实现图片管理功能
2. 通过input[type=file]元素上传图片,使用element-ui的Upload组件进行封装。
用户1289394
2024/01/19
6980
开发实例:后端Java和前端vue实现图片管理功能
基于vue的图片裁剪插件vue-cropper ,上传图片到腾讯云存储
网上找了点教程,结合之前框架里就有的修改了一下,没做细节优化处理 demo 16:9的尺寸,自己可以修改 步骤: npm install vue-cropper 组件内使用 import { Vue
〆 千寻、
2020/03/11
4.5K0
推荐阅读
相关推荐
高拍仪SDK(文豆FastSnap)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档