50 个具有挑战性的概率问题 [04/50]:尝试直至首次成功

一、说明

你好,我最近对与概率相关的问题产生了兴趣。我偶然发现了 Frederick Mosteller 所著的《五十个具有挑战性的概率问题及其解决方案》这本书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇文章仅包含 1 个问题,使其成为一个总共 50 个部分的系列。让我们潜入并激活我们的脑细胞!

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

二、问题描述

        问:平均来说,需要掷骰子多少次才能得到 6?

        此问题的关键是贝努力实验的无限次尝试入手.通过二项式实验中的N\rightarrow \infty得得到次数的极限。这是一个传统思路,然而下文中的求解方式更加精彩。

三、解决方案讨论

        我们可以使用几何分布来模拟第一次成功之前的失败次数,因为实验可以进行无限次尝试直到成功。几何分布的假设是:

  • 所建模的现象是一系列独立试验。
  • 每次试验只有两种可能的结果,通常指定为成功(得到 6 分)或失败(未得到 6 分)。
  • 每次试验的成功概率p = 1/6都是相同的。

        可以证明,获得第一次成功的独立试验次数的预期值为1/p

        要证明这一点很简单。第一次试验成功的概率是p乘以1,剩余试验次数的成功概率是(1–p)乘以1 + 平均试验次数(额外 1 来解释第一次失败)。由于独立性假设,试验的平均次数不会改变。令平均试验次数为E[X]。然后我们有:

        E[X] = p * 1 + (1 — p) * (1 + E[X])

        求解这个方程,我们得到E[X] = 1/p。在我们的例子中,p是得到 6 的概率,即1/6,并且E[X] = 1/p = 6

因此,获得 6 所需的平均试验次数为 6。

四、相关Python代码 

import numpy as npn_simulations = 10000
n_first_success = 0for _ in range(n_simulations):success = Falsecount = 0while not success:count += 1roll = np.random.randint(1,7)if roll == 6:success = Truen_first_success += countprint(f'Average no. of trials needed to get a 6 = {round(n_first_success/n_simulations)}')# Outputs:
# Average no. of trials needed to get a 6 = 6

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【四】【C语言\动态规划】地下城游戏、按摩师、打家劫舍 II,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略,它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题,并将每个小问题的解保存起来。这样,当我们需要解决原始问题的时候,我们就可以直接利…

一款超好看流行的HTML随机视频播放背景引导页面源码

前言 今天宋佳乐博客给大家带来一款2024新版视频背景网址导航引导页面源码带背景动态HTML源码 源码介绍 2024新版视频背景网址导航引导页面源码带背景动态HTML源码,非常的炫酷,有需要的自行去体验吧,还是非常不错的 演示地址:点…

《xHCI 1.2》3体系结构概览

3.2 xHCI数据结构 3.2.1 Device Context Base Address Array 3.2.2 Device Context 3.2.3 Slot Context

keystone和beaengine的编译

编译Keystone 根据github的文档编译不出来,所以还是用CMake项目转成Visual Studio的项目来编译 1、下载源码 https://github.com/keystone-engine/keystone clone或者直接下载zip都行 2、CMake创建Visual Studio项目 下载和安装CMake就不细说了,在…

《妙趣横生的算法》(C语言实现)-第2章 常用的查找与排序方法

【实例2-1】一个结构体数组中存放的是学生记录,每条记录包括:学号、姓名、成绩。编写一个程序,要求输出1001编号同学的具体信息。 // 2-1 2023年12月23日18点05分-18点14分 typedef struct student{ // 定义学生结构体类型 int id; // 学生…

网络7层架构

网络 7 层架构 什么是OSI七层模型? OSI模型用于定义并理解数据从一台计算机转移到另一台计算机,在最基本的形式中,两台计算机通过网线和连接器相互连接,在网卡的帮助下共享数据,形成一个网络,但是一台计算…

正餐---二叉树的OJ题

目录​​​​​​​ 前言🍯 1. 检查两颗树是否相同🥇 1.1 思路分析🪙 1.2 代码实现🧰 2. 单值二叉树🌲 2.1 思路分析🔮 2.2 代码实现💈 3. 二叉树的前序遍历🎟️ 3.1 思路分…

【数据结构】线性表

一.线性表 1.定义: n个同类型数据元素的有限序列,记为 L为表名,i为数据元素在线性表中的位序,n为线性表的表长,n0时称为空表。 2.数据元素之间的关系: 直接前驱和直接后继 3.抽象数据类型线性表的定义…

SQL进阶:多表查询

在SQL基础部分,我们在讲解的过程中只用到了单表查询。但实际上,常见的业务场景单表查询不能满足,或者拆分查询性能过慢。这个时候我们就需要用到连接查询。即查询多表按一定规则合并后的数据。 注意,合并后的数据也是表,也有列的概念,只不过一般存储在内存中。 由于集合…

jQuery 实现带手柄自由调整页面大小的功能

在https://blog.csdn.net/qq_44327851/article/details/135006421文章中提到了用纯JavaScript实现自由调整页面大小的功能,其中有基础版和优化版,优化版通过添加手柄解决了基础版在调整页面大小的时候不够灵活的问题,其实解决不够灵活的问题还…

git首次使用--去公司第一次拉取

文章目录 一, 在企业中首次拉取项目二,提交项目1. 提交----新添加的文件2. 将分支上的代码同步到master3. 提交----更改后的文件 三,常见问题1. Git Pull Failed 提示:以下是本篇文章正文内容,下面案例可供参考 一&am…

固定效应模型-以stata为工具

固定效应模型-以stata为工具 文章目录 1.固定效应模型2. 模型原理3. `stata`代码实现1.固定效应模型 固定效应模型(Fixed Effects Model)是一种面板数据分析方法,通过引入个体固定效应来控制个体间的异质性,并更准确地估计解释变量对因变量的影响。它在许多经济、社会科学…

(五)Python 垃圾回收机制

一、垃圾回收的工作原理 Python的垃圾回收机制是自动的,负责管理程序中的内存。它基于两种主要技术:引用计数和循环引用检测器。 引用计数 每当一个对象被引用时,Python会增加该对象的引用计数;每当一个对象不再被引用时&#…

qt项目-《图像标注软件》源码阅读笔记-类图

目录 1. 开源项目链接 2. 项目界面 3. 项目类图 3.1 形状的绘制及形状的存储 3.2 主窗口中心组件的界面管理 3.3 Command负责实现撤销和重做功能 3.4 其他类 3.5 枚举 3.5.1 Status 主窗口的状态变量 3.5.2 Mode 主窗口模式状态变量 3.5.3 shapeStatus 中心组件状态…

josef约瑟 电流继电器 RL-D1 电压AC220V 整定范围0-9.99AAC

系列型号 RL-D1型电流继电器; RL-D2型电流继电器; 基本参数 RL-D系列电流继电器用于发电机、变压器和输电线的过负荷和短路保护装置中作为启动元件。本继电器为集成电路型继电器,精度高、功耗小、动作时间快, 返回系数高、整定…

AndroidStudio无法新建aidl文件解决办法

我用的 AS 版本是 Android Studio Giraffe | 2022.3.1 Build #AI-223.8836.35.2231.10406996, built on June 29, 2023 右键新建 aidl 文件, 提示 (AIDL File)Requires setting the buildFeatures.aidl to true in the build file 解决办法 修改 app 的 build.…

03_排序

03_排序 一、简单排序Comparable接口介绍需求: 冒泡排序排序原理:冒泡排序API设计: 选择排序排序原理:选择排序API设计:选择排序的时间复杂度分析: 插入排序需求:排序原理:插入排序A…

三菱人机交互GT Designer的安装

今天,与小编一起来学习三菱的GT Designer软件,下面就是小编记录的软件查找,安装的全过程,希望对你学习三菱有帮助。 目录 安装 选择官网下载安装包 解压安装包进行安装 创建一个工程 安装 选择官网下载安装包 三菱(中…

如何在linux安装软件

一.安装种类 1.编译安装:灵活性高,难度较大, 可以安装新版本 2.rpm安装:查软件信息,是否安装,文件列表 3.yum:是rpm的升级版本,解决rpm的弊端 rpm安装: 安装软件的时…

【架构】ServerLess

文章目录 概述什么是serverless无服务与传统模式架构区别serverless优缺点使用serverless的应用场景有哪些“无服务器”搭建网站Serverless的落地案例来源 概述 架构 单体(三层架构)微服务分布式ServerLess 什么是serverless无服务 serverless中文的…