硬币等于骰子(在统计学意义上)

30 篇文章 0 订阅
14 篇文章 31 订阅

硬币和骰子是统计学家们的心头好。没有硬币,统计学家根据骰子也能创造出来一枚硬币,没有骰子,统计学家们也能根据硬币创造出来一个骰子。

如何通过投掷一枚硬币产生各种概率

概率、随机数、随机数生成函数(面试题)


这里写图片描述

硬币等于骰子,are you kidding me?我读书少,你不要骗我。
是在统计学上了,物理上显然是不同的。
此话怎讲?

统计学意义上的硬币,其实是产生 {12 ,12 }  的概率分布;统计学意义上的骰子,则是产生 {16 ,16 ,16 ,16 ,16 ,16 }  的概率分布。想要证明二者是等价的,需证明:

{12 ,12 }{16 ,16 ,16 ,16 ,16 ,16 }{16 ,16 ,16 ,16 ,16 ,16 }{12 ,12 } 

下来,我们会看到整个的解题思路的本质,在构造新的样本空间,再在新的样本空间中适当的取舍,构造符合要求的概率。

从硬币到骰子

思路在二进制,需抛硬币三次( 2 3 >6  ),每次正面向上记为1,反面向上记为0,将得到的结果排列,得到 000111  的八种等可能情况,策略如下:

001101020113100410151106 

000,111  重新投掷。

# python
from random import random
                    # random()函数产生0-1均匀分布
from collections import defaultdict

def coin():
    return 1 if random() < .5 else 0
                    # 仿真硬币0-1分布
def coin2dice():
    while True:
        r1, r2, r3 = coin(), coin(), coin()
        r = r1+r2*2+r3*2**2
        if r != 0 and r != 7:
                            # 否则继续循环,直到
            return r
if __name__ == '__main__':
    coll = defaultdict(int)
    N = 10**6
    for i in range(N):
        coll[coin2dice()] += 1
    for i in coll:
        print(i, coll[i]/N)

1 0.167048
2 0.166332
3 0.16603
4 0.167182
5 0.166674
6 0.166734

从骰子到硬币

只需一步,奇偶性判断,对骰子的样本空间 {1,2,3,4,5,6}  进行重新组合,二分为 {1,3,5},{2,4,6} 

{1,3,5}1{2,4,6}0 

自然也可将骰子的样本空间二分为: {1,2,3},{4,5,6}  ,只要二者平分1(对应的概率均为 12   )即可。

def dice2coin():
    r = int(6*random()+1)
    return 1 if r%2==0 else 0

if __name__ == '__main__':
    coll = collectiondict(int)
    N = 10**6
    for i in range(N):
        coll[dice2coin()] += 1
    for i in coll:
        print(i, coll[i]/N)

0 0.49961
1 0.50039

2情况数的硬币 等价于 6情况数的骰子的意义是什么

意义在于概率分布的转化,互相转化,一种概率分布向另一种概率分布的转化。

考虑如下的两种场景,

场景1:从两个人中选出一人做某事,费厄泼赖(fair play),两人被选中的概率均为 12   ,此时如果你手头没有一枚硬币,供你通过正反得 12 ,12   的概率分布,而恰有一个骰子,怎么办,此时就用到了如何通过掷骰子得抛硬币的概率分布,也即 {16 ,16 ,16 ,16 ,16 ,16 }  {12 ,12 }  ,如前所述,通过奇偶性判断,抛出的点数为奇数,则指派其中一人,点数为偶数,则指派另一个人。

场景2:从6个人中费厄泼赖地选出一人做某事。此时你没有骰子,只有硬币。如前所述,抛三次, 001110  分别对应于 16  000/111  则重新抛掷(以构造情况数为6的等概率分布)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值