概率中的 50 个具有挑战性的问题 [9/50]:掷骰子

一、说明

        我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克·莫斯特勒(Frederick Mosteller)的《概率论中的五十个具有挑战性的问题与解决方案》)一书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇文章只有 1 个问题,使其成为一个总共有 50 个部分的系列。让我们潜入并激活我们的脑细胞。

图片由作者使用 DALL-E 3 提供。

二、问题描述

        掷骰子游戏,用两个骰子玩,是美国最快和最受欢迎的赌博游戏之一。计算与之相关的赔率是一项有启发性的练习。

        规则如下:

  1. 只有两个骰子的总数才算数。
  2. 如果第一次掷骰子的总数为 7 或 11,则玩家掷骰子并立即获胜,如果掷骰子的总数为 2、3 或 12,则立即输掉。
  3. 任何其他投掷都被称为他的“赛点”,即打平,继续对决。
  4. 如果第一次掷骰子是一个点,玩家反复掷骰子,直到他要么再次掷骰子获胜,要么掷出 7 点输掉。

        问:玩家获胜的机会有多大?

三、问题分析

3.1 概率空间分析

        首先,让我们检查两次掷骰子产生的总计数的出现频率。

两个骰子计数的总数

       

  3.2  第一次投掷获胜的概率

        若首次投出骰子获胜,必须是。 为了确保在第一次投掷中取得胜利,玩家必须总共掷出 7 或 11 个。第一次投掷获胜的概率可以计算如下:

  • 共 6^2=36 不同结果

  • 投出 7的结果是:

    1. (1, 6)
    2. (2, 5)
    3. (3, 4)
    4. (4, 3)
    5. (5, 2)
    6. (6, 1)
  • 投出11 的结果是:

    1. (5, 6)
    2. (6, 5)
  • 因而产生出 8种不同的骰子结果使得首投获胜。

  • Therefore, the probability of winning the first roll is equal to:

P(\text{Winning First Roll}) = \frac{8}{36} = \frac{2}{9}

3.3 第一次投出获败概率

  • 失去第一卷

掷 2 的方法有:

(1,1)

  • 掷 3 的方法有:

(1, 2)
(2, 1)

  • 掷出 12 的方法有:

(6, 6)
        因此,有 4 种不同的掷骰方式会导致玩家在第一次掷骰时失败

        因此,输掉第一卷的概率等于:

P(\text{Losing First Roll}) = \frac{4}{36} = \frac{1}{9}

3.4 在投出赛点后获胜

        如果玩家在第一次投掷时没有获胜,他们仍然可以通过在总共掷出 7 分之前再次掷出点来确保胜利。我们可以采用减少样本空间的方法来计算该概率,如下图所示。例如,在掷出总共 7 个之前再次掷出总共 4 个的概率可以通过将第一次掷出总共 4 个的概率乘以在掷出总共 7 个之前再次掷出总共 4 个的概率来计算。

        通过将所有概率相加得到总获胜概率,如下图所示:

        总获胜概率

总之,玩家的获胜几率为49.3%。

四、Python 代码         

import numpy as np

n_simulations = 100000
wins = 0
for _ in range(n_simulations):
    first_roll = np.random.randint(1, 7, size=2).sum()
    if first_roll in [7, 11]:
        wins += 1
    elif first_roll in [2, 3, 12]:
        continue
    else:
        while True:
            next_roll = np.random.randint(1, 7, size=2).sum()
            if next_roll == 7:
                break
            elif next_roll == first_roll:
                wins += 1
                break

probability_of_winning = wins / n_simulations
print(f'Probability of winning : {probability_of_winning:.3f}')

# Output:
# Probability of winning : 0.494

        这就是这个垃圾游戏🎲问题的全部内容。欢迎任何反馈或问题!该代码可在我的 Github 上找到。请继续关注本系列的下一部分!:)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/310176.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

你需要尽早知道的15个开源网络安全工具

在本文中,你将找到一个开放源码网络安全工具列表,你一定要查看这些工具。 开源工具代表了技术版图中的一股有活力的力量,体现了创新、协作和可访问性,这些工具是根据透明度和社区驱动的原则开发的,使用户能够根据其独特…

Vue-13、Vue深度监视

1、监视多级结构中某个属性的变化 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>watch深度监视</title><script type"text/javascript" src"https://cdn.jsdelivr.net/npm…

Vue基础-搭建Vue运行环境

这篇文章介绍了在Vue.js项目中进行开发环境搭建的关键步骤。包括node.js安装和配置、安装Vue及Vue CLI工具、安装webpack模板、安装vue-router、创建Vue项目等步骤。这篇文章为读者提供了清晰的指南&#xff0c;帮助他们快速搭建Vue.js开发环境&#xff0c;为后续的项目开发奠定…

端到端自动驾驶

自动驾驶主要流程&#xff1a;感知->预测->规划 预测是预测周围目标&#xff08;车、行人、动物等&#xff09;的轨迹&#xff0c;规划是规划自车的运动轨迹。 UniAD[CVPR 2023]: 使用transformer架构&#xff0c;统一自动驾驶流程&#xff0c;完成所有检测&#xff0c…

如何上传苹果ipa安装包?

目录 引言 摘要 第二步&#xff1a;打开appuploader工具 第二步&#xff1a;打开appuploader工具&#xff0c;第二步&#xff1a;打开appuploader工具 第五步&#xff1a;交付应用程序&#xff0c;在iTunes Connect中查看应用程序 总结 引言 在将应用程序上架到苹果应用…

Navicat 技术干货 | 为 MySQL 表选择合适的存储引擎

MySQL 是最受欢迎的关系型数据库管理系统之一&#xff0c;提供了不同的存储引擎&#xff0c;每种存储引擎都旨在满足特定的需求和用例。在优化数据库和确保数据完整性方面&#xff0c;选择合适的存储引擎是至关重要的。今天&#xff0c;我们将探讨为 MySQL 表选择合适的存储引擎…

【开源项目】轻量元数据管理解决方案——Marquez

大家好&#xff0c;我是独孤风。 又到了本周的开源项目推荐。最近推荐的元数据管理项目很多&#xff0c;但是很多元数据管理平台的功能复杂难用。 那么有没有轻量一点的元数据管理项目呢&#xff1f; 今天为大家推荐的开源项目&#xff0c;就是一个轻量级的元数据管理工具。虽然…

《SPSS统计学基础与实证研究应用精解》视频讲解:SPSS的功能特色

《SPSS统计学基础与实证研究应用精解》1.2 SPSS的功能特色 视频为《SPSS统计学基础与实证研究应用精解》张甜 杨维忠著 清华大学出版社 一书的随书赠送视频讲解1.2节内容。本书已正式出版上市&#xff0c;当当、京东、淘宝等平台热销中&#xff0c;搜索书名即可。本书旨在手把手…

NSSCTF Interesting_include

开启环境: 通过审计,我们可知: flag在flag.php中,可以利用php中伪协议 payload:?filterphp://filter/readconvert.base64-encode/resourceflag.php 将其base64解码就是flag. NSSCTF{3dc54721-be9e-444c-8228-7133fba76ad4}

回归预测 | Matlab基于CPO-BP基于冠豪猪算法优化BP神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于CPO-BP基于冠豪猪算法优化BP神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于CPO-BP基于冠豪猪算法优化BP神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.CPO-BP回归基于冠豪猪优化算法[24年新…

关于Vue前端接口对接的思考

关于Vue前端接口对接的思考 目录概述需求&#xff1a; 设计思路实现思路分析1.vue 组件分类和获取数值的方式2.http 通信方式 分类 如何对接3.vue 组件分类和赋值方式&#xff0c; 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your p…

力扣最热一百题——只出现一次的数字

这个合集已经很久没有更新了&#xff0c;今天来更新更新~~~ 目录 力扣题号 题目 题目描述 示例 提示 题解 Java解法一&#xff1a;Map集合 Java解法二&#xff1a;位运算 C位运算代码 力扣题号 136. 只出现一次的数字 - 力扣&#xff08;LeetCode&#xff09; 下述题…

腾讯云对象存储COS计算文件的大小

properties配置类 TencentCos.APPIDxxxxx TencentCos.SecretIdxxxxxxx TencentCos.SecretKeyxxxxxx TencentCos.testBucketxxxxxx TencentCos.CosPathhttps://xxxxxxxx.cos.ap-chengdu.myqcloud.com TencentCos.regionap-chengdu读取properties中的配置 import lombok.AllArg…

Thingsbaord采用redis缓存(自用)

在CentOS系统上&#xff0c;您可以通过以下步骤使用yum安装Redis&#xff1a; 添加EPEL仓库&#xff1a; 首先&#xff0c;需要添加EPEL&#xff08;Extra Packages for Enterprise Linux&#xff09;仓库&#xff0c;因为Redis可能不在默认的CentOS仓库中。使用以下命令添加EP…

盘活存量GPU资源 破局高校算力不足窘境

“凭啥做大模型的优先分配算力&#xff1f;人家1个人4块A800&#xff0c;我们10个人用2块3090&#xff01;这日子没法过了&#xff01;”听着团队成员们的吐槽&#xff0c;某国内顶尖高校非大模型团队带队的博士老W也颇为无奈&#xff1a;“我们虽然不是做大模型的&#xff0c;…

在微信公众号上怎么实现拼团功能

拼团魅力&#xff1a;微信公众号上的拼团功能如何助力营销 一、引言 在这个数字化时代&#xff0c;微信公众号成为了企业与消费者互动的重要平台。而拼团功能作为微信营销的一大利器&#xff0c;为企业带来了巨大的商业价值。那么&#xff0c;如何在微信公众号上实现拼团功能&…

将WebGL打包的unity项目部署至Vue中

一、webgl打包 创建一个空项目&#xff08;或者直接使用现成的项目都可以&#xff09;这里以该空项目为例子 注意&#xff1a; 如果你的unity项目中有文字&#xff0c;不需要使用unity默认的字体&#xff0c;需要更改它的字体&#xff0c;否则在最后生成的页面中会显示不出来…

Modelsim仿真软件注册

仅供学生学习 解决问题&#xff1a; 注意&#xff1a;操作之前先关闭Modelsim软件 1&#xff09;下载modelsim_crack.zip&#xff0c;解压。 解压后的文件列表如下&#xff1a; 2&#xff09;进入Modelsim的软件安装目录&#xff08;我的电脑的安装目录是D:\modeltech64_10.…

有哪些好用的防蓝光护眼台灯?防蓝光护眼灯品牌排行揭晓

对于大多数人来说&#xff0c;护眼灯已经不是什么新鲜概念。为什么要买护眼灯&#xff1f;相信很多人的回答都是“为了孩子”。为了保护儿童视力健康&#xff0c;越来越多家长选择为孩子购买一台护眼灯&#xff0c;也造就了这个相当具有中国特色的庞大市场。很多家长不放心台灯…

2023 年度总结—总结我今年的AI之路-多项目实战经验谈AI发展前景

各位好&#xff0c;我是难忘&#xff0c;对人工智能方向有所研究&#xff0c;今年一年除了开发了几个软件项目之外的时间&#xff0c;基本都用到了学习研究AI上&#xff0c;最近几个月也是产出了几款AI领域的爆火文章&#xff0c;也把自己学习AI的笔记写了一个专栏&#xff0c;…