利用不均匀硬币产生等概率

您所在的位置:网站首页 抛硬币玩法 利用不均匀硬币产生等概率

利用不均匀硬币产生等概率

2024-07-16 18:13:19| 来源: 网络整理| 查看: 265

问题描述:有一枚不均匀的硬币,已知抛出此硬币后,正面向上的概率为p(0 < p < 1)。请利用这枚硬币产生出概率相等的两个事件。

这个问题跟之前的利用等概率Rand5产生等概率Rand3非常像,但却简单的多。几个月前还为这个事情头疼了一下,现在想来真是不应该。

某一次抛出硬币,正面向上的概率是p,反面向上的概率是1 - p,当p不等于0.5时,这两个事件的概率就不一样了。怎么能凑出等概率呢?还是要利用概率的加法和乘法法则。这里用乘法,也就是连续的独立事件。

连续抛两次硬币,正反面的出现有四种情况,概率依次为:

两次均为正面:p * p第一次正面,第二次反面:p * (1 - p)第一次反面,第二次正面:(1 - p) * p两次均为反面:(1 - p) * (1 - p)

这不,中间两种情况的概率是完全一样的。于是问题的解法就是连续抛两次硬币,如果两次得到的相同则重新抛两次;否则根据第一次(或第二次)的正面反面情况,就可以得到两个概率相等的事件。

用Python程序模拟一下这个过程,首先是一个叫做UnbalancedCoin的类,用来模拟这枚不均匀的硬币。Flip方法表示抛一次硬币,返回值True代表正面,False代表反面。根据要求,这个函数返回True和False的概率分别是p和1 - p。函数MakeEqualProb利用参数coin(这枚不均匀硬币)构造出两个事件(依旧用True和False表示),并且这两个事件的概率都是0.5。

# -*- coding:utf-8 -*- from random import Random import numpy as np class UnbalancedCoin: def __init__(self, p, rand=None): assert 0.0 < p < 1.0, 'invalid p' self._p = p if rand is None: rand = Random() self._rand = rand def Flip(self): return self._rand.random() < self._p def MakeEqualProb(coin): while True: a = coin.Flip() if a != coin.Flip(): return a coin = UnbalancedCoin(0.7) result = [] for i in range(10000): res = MakeEqualProb(coin) result.append(res) res = np.array(result) print(res.sum() / res.size)

对于不同的p值,模拟实验十万次,得到如下的(结果为True的)概率分布,其中蓝线是不均匀硬币抛出后正面向上的概率,红线是构造出来的两个事件之一(第一次正面向上,第二次反面向上)的概率。

如果问题改变一下,把“一枚”改成“一种”,那解决办法就更简单有趣了,把两枚同样的不均匀硬币正面相对粘在一起,就可以得到一个均匀的组合币,抛出这枚组合币就可以得到等概率的两个事件。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭