蒙特卡罗法
组员:
7070309 焦 哲 7070305 周发清7070310 董 明 7070203 李迪龙
模 拟
一个模拟实例
蒙特卡罗法
模拟的基本思想是建立一个试验的模型,这个模型包含所研究系统的主要特点.通过对这个实验模型的运行,获得所要研究系统的必要信息.一些简单的问题可以用手工的方法求解,而比较复杂的问题则要借助计算机来进行模拟计算机
模拟—又称为仿真
例 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点.
经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部消灭敌人.
现在希望能用某种方式把我方将要对敌人实施的20次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值.
分析:这是一个概率问题,可以通过理论计算得到相应的概率和期望值.但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程.
为了能显示我方20次射击的过程,现采用模拟的方式.
需要模拟出以下两件事:
1. 问题分析
[2] 当指示正确时,我方火力单位的射击结果情况
[1] 观察所对目标的指示正确与否
因此,可用投掷1枚硬币的方式予以确定,当硬币出现正面时为指示正确,反之为不正确.
模拟试验有三种结果:毁伤1门火炮的可能性为1/3(即2/6),毁伤两门的可能性为1/6,没能毁伤敌火炮的可能性为1/2(即3/6).
这时可用投掷骰子的方法来确定:
如果出现的是1、2、3点:则认为没能击中敌人;
如果出现的是4、5点:则认为毁伤敌人一门火炮;
若出现的是6点:则认为毁伤敌人两门火炮.
模拟试验有两种结果,每种结果出现的概率都是1/2.
2. 符号假设
i:要模拟的打击次数; k1:没击中敌人火炮的射击总数;
k2:击中敌人一门火炮的射击总数;k3:击中敌人两门火炮的射击总数;
E:有效射击比率; E1:20次射击平均每次毁伤敌人的火炮数.
3. 模拟框图
初始化:i=0, k1=0, k2=0, k3=0
i=i+1
骰子点数?
k1=k1+1
k2=k2+1
k3=k3+1
k1=k1+1
i<20?
E= E1= 0× +1 × +2 ×
停止
硬币正面?
Y
N
N
Y
1,2,3
4,5
6
4. 模拟结果
5. 理论计算
6. 结果比较
[1] 设计一个逻辑框图,即模拟模型.这个框图要正确反映系统各部分运行时的逻辑关系.
[2] 模拟随机现象.可通过具有各种概率分布的模拟随机数来模拟随机现象.
虽然模拟结果与理论计算不完全一致,但它却能更加真实地表达实际战斗动态过程.
用蒙特卡罗方法进行计算机模拟的步骤:
蒙特卡罗法
蒙特卡罗(Monte Carlo)方法是一种应用随机数来进行计算机模拟的方法.此方法对研究的系统进行随机观察抽样,通过对样本值的观察统计,求得所研究系统的某些参数.
这一方法源于美国在第二次世界大战中研制原子弹的“曼哈顿计划”。该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。
组员:
7070309 焦 哲 7070305 周发清7070310 董 明 7070203 李迪龙