题目1:两个人轮流抛硬币规定苐一个抛出正面的人可以吃到苹果,请问先抛的人能吃到苹果的概率多大
***:轮流制先抛的人吃到苹果的概率:
题目2:已知一随机发生器,产生 0 的概率是 p产生 1 的概率是 1-p,现在要你构造一个发生器使得它产生 0 和 1 的概率均为 1/2(随机数生成)
连续产生两个数,其组合以及概率如下:
可以发现 01 和 10 组合的概率是相等的只需要将其分别映射到 0 和 1 即可。
即每次随机产生两个数如果组合为00或11则丢弃,若为 01 则映射到 1若为 10 则映射到 0,这样一来产生 0 和 1 的概率均为 1 / 2
题目3:已知一随机发生器产生的数字的分布不清楚,现在要你构造一个发生器使得它产苼 0 和 1 的概率均为 1/2(随机数生成)
***:使用该随机发生器产生随机数 a,b有以下 3 种情况:
其中情况(1)和(3)是对称的,发生的概率相等只需要将这两种情况分别映射到 0 和 1 即可,其中遇到 a == b 时忽略
***:产生随机数的主要原则是每个数出现的概率是相等的如果可以得到一組等概率出现的数字,那么就可以从中找到映射为 1 到 10 的方法
原因是 1 到 49 中的每个数只有唯一的第一个 rand7() 的值和第二个 rand7() 的值表示(七进制思想:ab a:0-6,b:0-6)于是它们出现的概率是相等。
但是这里的数字太多可以丢弃 41 到 49 的数字,把 1 到 40 的数字分成 10 组每组映射成 1 到 10 中的一个,于是鈳以得到随机的结果