这里 表示由不等式 和 决定的 维多面体.则 重积分的Monte Carlo近似计算公式为:
= (9)
例2 在三维空间中,由三个圆柱面: , , 围成一个立体,利用Monte Carlo方法求它的体积.
分析:据题意,所求体积 ,其中
 { , , 且 , , }.
记 , , },考虑在空间 内随机的产生 个点,落在空间 内有 个,则 .在Mathematica中模拟程序见附录2.
5 在古典概率问题中的应用
下面的例子说明了Monte Carlo方法在古典概率中的应用.
例3 甲乙两位棋手棋艺相当,现他们在一项奖金为1000元的比赛中相遇,比赛为五局三胜制,已经进行了三局的比赛,结果为甲三胜一负,现因故要停止比赛,问应该如何分配这1000元比赛奖金才算公平?
分析:平均分对甲欠公平,全归甲则对乙欠公平.合理的分法是按一定的比例分配.
现在我们用计算机模拟两位棋手后面的比赛,是否就可以知道奖金分配方案.由于两位棋手的棋艺相当,可以假定他们在以下每局的比赛胜负的机会各半.Mathematica中函数产生随机数0或1,0与1出现的机会各占一半,可以用随机数1表示甲棋手胜,而随机数0表示乙胜.(也可以用 中的随机实数来模拟两人的胜负,随机数大于0.5表示甲胜,否则乙胜)连续模拟1000次(或更多次数)每次模拟到甲乙两方乙有一方胜了三局为止.按所说方案分配奖金,1000次模拟结束后,计算两棋手每次的平均奖金,就是该棋手应得的奖金.
模拟结果:甲:750,乙:250(程序见附录1)
最终以甲分到 ;乙分到 .即甲750元,乙250元.
实际上,因为比赛只需进行两局.则可分出胜负.结果无非是以下四种情况之一:甲甲、甲乙、乙甲、乙乙.上面四种情况可看出,甲获胜的概率为 ,乙获胜的概率为 .在Mathematica中模拟程序见附录3.
6 误差分析
6.1 收敛性
蒙特卡罗方法是由随机变量 的简单子样 的算术平均值: 作为所求解的近似值.由大数定律可知,如 独立同分布,且具有有限期望值( < ∞),则 .即随机变量 的简单子样的算术平均值 ,当子样数N充分大时,以概率1收敛于它的期望值 .
6.2 误差
蒙特卡罗方法的近似值与真值的误差问题,概率论的中心极限定理给出了答案.该定理指出,如果随机变量序列 , ,…, 独立同分布,且具有有限非零的方差 ,即
是 的分布密度函数.则

当N充分大时,有如下的近似式

其中 称为置信度,1- 称为置信水平.这表明,不等式 近似地以概率1- 成立,且误差收敛速度的阶为 .
通常,Monte Carlo方法的误差ε定义为
 
上式中 与置信度α是一一对应的,根据问题的要求确定出置信水平后,查标准正态分布表,就可以确定出 .
关于蒙特卡罗方法的误差需说明两点:第一,蒙特卡罗方法的误差为概率误差,这与其他数值计算方法是有区别的.第二,误差中的均方差 是未知的,必须使用其估计值 来代替,在计算所求量的同时,可计算出 .
例4 求用平均值法估计圆周率 ,并考虑置信度为5%,精度要求为0.01的情况下所需的试验次数.
解:易知 ,故考虑令 ~ ,令 ,其期望值为 ,因此 = ,其中 是[0,1]区间上均匀分布的随机数.
3/4 首页 上一页 1 2 3 4 下一页 尾页 |