蒙特卡洛方法(1)

蒙特卡洛方法

当所求解可视为某个随机变量的概率或期望的函数时,通过随机抽样,计算频率或平均值,以估计概率或期望,从而得到所求解。也称MC方法。

1. 矿井脱险模拟

矿工在矿井中迷失了方向,身处三个矿道交汇处,不知选择哪个矿道脱险。事实是:一号矿道能脱险,二号、三号矿道只能回到原处。若任意随机选择一个矿道,安全走出需要花费多少时间?

实验内容:如果选择一号矿道,假设走3小时可脱险,选择二号、三号矿道分别走5小时、7小时回到原处。如果矿工任何时间都随机选择其中一个矿道行走,用模拟实验的方法计算他安全走出矿井平均花费多少时间。

解:产生n个均匀随机整数,取1,2,3。利用fix函数将它转化为3,5,7。当第一次出现3时,表示这个人走出了矿井,程序结束。

程序代码:n = 10000;

S = [];

for i=1:100000 %做了100000次试验

N=1+fix(3*rand(1,n)); %产生10000个随机数,并记为1,2,3. T=2*N+1; %产生10000个随机数,并记为3,5,7. K=find(T==3); %用find函数找出3的位置,并且赋值给K k=K(1); %取第一个3的位置

S=[S,sum(T(1:k))]; %对第一个3前面的所有值求和,放在矩阵中

end

Tmax=max(S)

Tmin=min(S)

Tavg=sum(S)/100000

2. 生日问题

在座60人,生日在同一天的概率是多少?

(1)理论计算

(2)实验模拟

解:把n个人看成是n个球,将一年365天看成是N=365个盒子,则“n个人的生日全部不相同”就相当于“恰好有n(n

365*364*......*(365601)P=1- p。(1)理论计算p=1- = 0.9941。(2) 36560的生日完全不相同的概率为p

for k = 1:60

p(k) = 1-prod(365-k+1:365)/365^k;

end

plot(p,'.r') p(60) = 0.9941

3. 定积分的计算

(1)计算

a = 0;

b = 1;

n=500000;

N=0;

c = 1;

d = exp(1); %g(x) = exp(x.^2);所以f(y)=(g(a+(b-a)*y)-c)/(d-c) for i=1:n

x=rand;y=rand;

if(y

N=N+1;

end

end

s=(N/n)*(exp(1)-1)+1 %S = S0*N+c*(b-a) S0 = (b-a)(d-c)

(2)通过计算来求π。

n = input('请输入产生点的个数:');

s =0;

for i=1:n

if(rand^2+rand^2

s = s+1;

end

end

pi = 4*s/n %随着m,n的增大它们的比值应该趋近于为两区域面积的比值,所以pi=4*s/n

4. 超市收款问题

超市有两个出口的收款台,两项服务:收款、装袋。两名职工在出口处工作。 有两种安排方案:开一个出口,一人收款,一人装袋,或者开两个出口,每个人既收款又装袋。问商店经理应选择哪一种收款台的服务方案。 选择服务方案的标准:

1、 顾客平均等待时间最短

2、 每分钟服务的顾客数量最多

3、 服务的工作效率最高(除去空闲时间,每位职工每分钟实际服务顾客数最多) 目标:(1)编写两种情况下的仿真程序,根据两个模拟结果评价两个方案,确定出口处收款台安排方案。

(2)对两种服务方案分别模拟30分钟内收款台的排队情况,通过比较确定首选方案。

假设:

(1)顾客到达收款台是随机的,服从规律:40%的时间没有人来,30%的时间有一个人来,30%的时间有2个人来。

(2)收款装袋的时间是相同的

(3)在第一种方案中,收款与装袋同时进行

或假设:

(1)顾客到达收款台是随机的,平均时间间隔为2分钟,即间隔时间服从均值为2的指数分布。

(2)顾客购买的货物量不同,因此服务时间的长短随机。两位工作人员分别收款装袋,对顾客服务时间服从正态分布N(1,1/3), 一位工作人员既收款又装袋,对顾客服务时间服从正态分布N(1,2/3)。

第一类假设的思路:顾客到达收款台的规律是:40%的时间没有人来,30%的时间有1个人来,30%的时间有2个人来。首先模拟十分钟内顾客到达收款台情况。 每分钟到达收款台的人数是随机变量n:{0,1,2}, 具有分布列

n 0 1 2

p 0.4 0.3 0.3

模拟方法:

取(0,1)区间内均匀分布随机数y=rand,

记n为新到的顾客数,L是队列长,Tao是服务时间,T1是总和排队时间,T2shi总和服务时间,则

当0

当0.4

当0.7

每分钟记录一次系统状态,模拟10分钟, 得到n的值,寻找几个量之间的关系。 想想这样做的道理是什么?

把整个仿真过程分成许多相等的时间间隔

每个间隔为一个时间单位-时间步长

在每个时间步长内模拟系统的动态

仿真时钟:用以控制时间步进的过程,每一次步进一个步长。

注意:每重复一次模拟所得到的结果都不一样,需要经过多次模拟,求得统计意义上的顾客平均等待时间,以及平均每分钟服务的顾客人数。

蒙特卡洛方法

当所求解可视为某个随机变量的概率或期望的函数时,通过随机抽样,计算频率或平均值,以估计概率或期望,从而得到所求解。也称MC方法。

1. 矿井脱险模拟

矿工在矿井中迷失了方向,身处三个矿道交汇处,不知选择哪个矿道脱险。事实是:一号矿道能脱险,二号、三号矿道只能回到原处。若任意随机选择一个矿道,安全走出需要花费多少时间?

实验内容:如果选择一号矿道,假设走3小时可脱险,选择二号、三号矿道分别走5小时、7小时回到原处。如果矿工任何时间都随机选择其中一个矿道行走,用模拟实验的方法计算他安全走出矿井平均花费多少时间。

解:产生n个均匀随机整数,取1,2,3。利用fix函数将它转化为3,5,7。当第一次出现3时,表示这个人走出了矿井,程序结束。

程序代码:n = 10000;

S = [];

for i=1:100000 %做了100000次试验

N=1+fix(3*rand(1,n)); %产生10000个随机数,并记为1,2,3. T=2*N+1; %产生10000个随机数,并记为3,5,7. K=find(T==3); %用find函数找出3的位置,并且赋值给K k=K(1); %取第一个3的位置

S=[S,sum(T(1:k))]; %对第一个3前面的所有值求和,放在矩阵中

end

Tmax=max(S)

Tmin=min(S)

Tavg=sum(S)/100000

2. 生日问题

在座60人,生日在同一天的概率是多少?

(1)理论计算

(2)实验模拟

解:把n个人看成是n个球,将一年365天看成是N=365个盒子,则“n个人的生日全部不相同”就相当于“恰好有n(n

365*364*......*(365601)P=1- p。(1)理论计算p=1- = 0.9941。(2) 36560的生日完全不相同的概率为p

for k = 1:60

p(k) = 1-prod(365-k+1:365)/365^k;

end

plot(p,'.r') p(60) = 0.9941

3. 定积分的计算

(1)计算

a = 0;

b = 1;

n=500000;

N=0;

c = 1;

d = exp(1); %g(x) = exp(x.^2);所以f(y)=(g(a+(b-a)*y)-c)/(d-c) for i=1:n

x=rand;y=rand;

if(y

N=N+1;

end

end

s=(N/n)*(exp(1)-1)+1 %S = S0*N+c*(b-a) S0 = (b-a)(d-c)

(2)通过计算来求π。

n = input('请输入产生点的个数:');

s =0;

for i=1:n

if(rand^2+rand^2

s = s+1;

end

end

pi = 4*s/n %随着m,n的增大它们的比值应该趋近于为两区域面积的比值,所以pi=4*s/n

4. 超市收款问题

超市有两个出口的收款台,两项服务:收款、装袋。两名职工在出口处工作。 有两种安排方案:开一个出口,一人收款,一人装袋,或者开两个出口,每个人既收款又装袋。问商店经理应选择哪一种收款台的服务方案。 选择服务方案的标准:

1、 顾客平均等待时间最短

2、 每分钟服务的顾客数量最多

3、 服务的工作效率最高(除去空闲时间,每位职工每分钟实际服务顾客数最多) 目标:(1)编写两种情况下的仿真程序,根据两个模拟结果评价两个方案,确定出口处收款台安排方案。

(2)对两种服务方案分别模拟30分钟内收款台的排队情况,通过比较确定首选方案。

假设:

(1)顾客到达收款台是随机的,服从规律:40%的时间没有人来,30%的时间有一个人来,30%的时间有2个人来。

(2)收款装袋的时间是相同的

(3)在第一种方案中,收款与装袋同时进行

或假设:

(1)顾客到达收款台是随机的,平均时间间隔为2分钟,即间隔时间服从均值为2的指数分布。

(2)顾客购买的货物量不同,因此服务时间的长短随机。两位工作人员分别收款装袋,对顾客服务时间服从正态分布N(1,1/3), 一位工作人员既收款又装袋,对顾客服务时间服从正态分布N(1,2/3)。

第一类假设的思路:顾客到达收款台的规律是:40%的时间没有人来,30%的时间有1个人来,30%的时间有2个人来。首先模拟十分钟内顾客到达收款台情况。 每分钟到达收款台的人数是随机变量n:{0,1,2}, 具有分布列

n 0 1 2

p 0.4 0.3 0.3

模拟方法:

取(0,1)区间内均匀分布随机数y=rand,

记n为新到的顾客数,L是队列长,Tao是服务时间,T1是总和排队时间,T2shi总和服务时间,则

当0

当0.4

当0.7

每分钟记录一次系统状态,模拟10分钟, 得到n的值,寻找几个量之间的关系。 想想这样做的道理是什么?

把整个仿真过程分成许多相等的时间间隔

每个间隔为一个时间单位-时间步长

在每个时间步长内模拟系统的动态

仿真时钟:用以控制时间步进的过程,每一次步进一个步长。

注意:每重复一次模拟所得到的结果都不一样,需要经过多次模拟,求得统计意义上的顾客平均等待时间,以及平均每分钟服务的顾客人数。


相关内容

  • 蒙特·卡罗方法
  • 蒙特·卡罗方法 百科名片 蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法.是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法.与它对应的是确 ...

  • 蒙特卡洛方法
  • 蒙特卡洛方法也称为统计模拟法,是一种以概率统计理论为指导的一类非常重要的数值计算方法.在很多科学领域都有广泛应用.基本思想就是通过事物发生的频数估算事件的概率,例如:平面上的一个边长为1的正方形及其内部的一个形状不规则的"图形",如何求出这个"图形"的面积呢? ...

  • 蒙特卡洛模拟法及其Matlab案例
  • 一 蒙特卡洛模拟法简介 蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法.具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计 ...

  • 蒙特卡洛模拟原理及步骤
  • 二.蒙特卡洛模拟原理及步骤 (一)蒙特卡洛模拟原理:经济生活中存在大量的不确定与风险问题,很多确定性问题实际上是不确定与风险型问题的特例与简化,财务管理.管理会计中同样也存在大量的不确定与风险型问题,由于该问题比较复杂,一般教材对此问题涉及较少,但利用蒙特卡洛模拟可以揭示不确定与风险型问题的统计规律 ...

  • 蒙特梭利的理念和实践,是否得到了发展心理学和相关领域内研究的支持?
  • 谢邀. 实际上,这是一个不太容易回答的问题,笔者并非跨界之专家,只是因为自身对于蒙特梭利教学的热忱,会促使我会去了解蒙特梭利体系与不同领域的联结与关系.因此以下仅从一个蒙特梭利专业者的角度,来阐述与分享.笔者亦十分欢迎各方专业人士对以下内容做更进一步的补充或斧正. 蒙特梭利与心理学 要厘清蒙特梭利体 ...

  • 蒙特卡洛方法模拟小例子
  • 例 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点. 经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部毁伤 ...

  • 人工智能导论:第二章蒙特卡洛搜索
  • 第8章蒙特卡罗博弈方法 计算机博弈理论的研究希望计算机能够像人一样.思维.判断和推理,并能够做出理性的决策.棋类博弈由于规则明确.竞技性高,且人类选手往往胜于计算机等原因,在计算机博弈理论的研究过程中一直受到重要关注和深入的探讨,并促进了计算机博弈理论的发展.传统的基于博弈树搜索和静态评估的博弈方法 ...

  • 蒙特卡罗方法在期权定价中的应用及R实现
  • 龙源期刊网 http://www.qikan.com.cn 蒙特卡罗方法在期权定价中的应用及R 实现 作者:原少斌 廖化敏 来源:<时代金融>2013年第36期 [摘要]期权作为最基础的金融衍生产品之一,为其定价一直是金融工程的重要研究领域.主要使用的定价方法有偏微分方程法.鞅方法和数值 ...

  • 蒙特卡洛算法
  • 根据我的理解简单的说就是以部分估计整体,利用随机数来解决问题的方法称为 蒙特卡罗算法,记得课本上讲了个例题: 在数值积分法中,我们利用求单位圆的1/4的面积来求得Pi/4从而得到Pi .单 位圆的1/4面积是一个扇形,它是边长为1单位正方形的一部分(若能画图就好 了!)只要能求出扇行面积S1在正方形 ...

  • 蒙特卡罗方法在三重积分中的应用
  • 第22卷第1期2008年1月山东理工大学学报(自然科学版) Journal o f Shando ng U niver sity o f T echno lo gy(N atural Science Edit ion) V ol. 22N o. 1Jan. 2008 文章编号:1672-6197(2 ...