内容正文:
10.3.2 随机模拟
用频率估计概率,需要做大量的重复试验. 有没有其他方法可以替代试验呢?
我们知道,利用计算器或计算机软件可以产生随机数. 实际上,我们也可以根据不同的随机试验构建相应的随机数模拟试验,这样就可以快速地进行大量重复试验了.
例如,对于抛掷一枚质地均匀硬币的试验,我们可以让计算器或计算机产生取值于集合{0, 1}的随机数,用0表示反面朝上,用1表示正面朝上,这样不断产生0, 1两个随机数,相当于不断地做拋掷硬币的试验.
又如,一个袋中装有2个红球和3个白球,这些球除颜色不同外没有其他差别,对于从袋中摸出一个球的试验,我们可以让计算器或计算机产生取值于集合{1, 2, 3, 4, 5}的随机数,用1, 2表示红球,用3, 4, 5表示白球. 这样不断产生1~5之间的整数随机数,相当于不断地做从袋中摸球的试验.
下表数据是用电子表格软件模拟上述摸球试验的结果,其中n为试验次数,nA为摸到红球的频数,fn(A) 为摸到红球的频率.
画出频率折线图如下图所示,从图中可以看出: 随着试验次数的增加,摸到红球的频率稳定于概率0.4.
n 10 20 50 100 150 200 250 300
nA 6 7 20 45 66 77 104 116
fn(A) 0.6 0.35 0.4 0.45 0.44 0.385 0.416 0.39
我们称利用随机模拟解决问题的方法为蒙特卡洛(Monte Carlo)方法.
例3 从你所在班级任意选出6名同学,调查他们的出生月份,假设出生在一月,二月······+二月是等可能的. 设事件A=“至少有两人出生月份相同”,设计一种试验方法,模拟20次,估计事件A发生的概率,
解: (方法1)根据假设,每个人的出生月份在12个月中是等可能的,而且相互之间没有影响,所以观察6个人的出生月份可以看成可重复试验. 因此,可以构建如下有放回摸球试验进行模拟:
在袋子中装入编号为1, 2,······,12的12个球,这些球除编号外没有什么差别. 有放回地随机从袋中摸6次球,得到6个数代表6个人的出生月份,这就完成了一次模拟试验. 如果这6个数中至少有2个相同,表示事件A发生了. 重复以上模拟试验20次,就可以统计出事件A发生的频率.