第3章 随机数的产生与模拟
- 格式:pps
- 大小:525.00 KB
- 文档页数:77
第三章 随机性模拟方法—蒙特卡罗方法(MC )§ 3.1 预备知识例:一个粒子在一个二维正方格点上跳跃运动随机行走:每一时间步上,粒子可选择跳到四个最近邻格点上的任何一个,而记不得自己来自何方;自回避行走:粒子记得自己来自什么地方,而回避同它自己的路径交叉。
随机行走的每一步的结果就是系统的一个状态,从一个状态到另一个状态的跃迁只依赖于出发的状态,这些状态形成一个序列,这就是一个马尔可夫链。
状态序列:x 0, x 1, …, x n , …已给出状态x 0, x 1, …, x n+1 的确定值,x n 出现的概率叫做条件概率 ()01,x x x -n n P 马尔可夫链的定义:如果序列x 0, x 1, …, x n , …对任何n 都有 ()()101,--=n n n n P P x x x x x 则此序列为一个马尔可夫链(或过程)。
§ 3.2 布朗动力学(BD ) 1.郎之万方程 v t R dtdvmβ-=)( 方程右边第一项为随机力,对粒子起加热作用;第二项为摩擦力,避免粒子过热。
将方程变形为:dt mvt R dt m v dv )(+-=β 于是,解可写为:])0()(11[)0( )0()(0)()(10⎰+≈⎰=---tt mt md v R m tm d ev R m ev eev t v tττββτττβ⎰+≈---t m t t md Re m ev 0)()(1)0( ττβτβ当随机力R(t)服从高斯分布时,上述方程的解描述的即为布朗运动,于是,布朗运动问题就化为在一些补充条件下求解郎之万方程,即⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧><=>=<>=<=+><--)( 2)()(2)0()(,0)()(222/2/12高斯分布R R B e R R P t T k R t R t R m t R m v dt dv πδββ 注:)()()(t t q t R t R '->='<δ 表示随机力R 在t 和t ’时刻没有关联, q 为噪声强度。
3.2.2(整数值)随机数(random numbers)的产生随机数的产生[导入新知]1.随机数的产生(1)标号:把n个大小、形状相同的小球分别标上1,2,3,…,n;(2)搅拌:放入一个袋中,把它们充分搅拌;(3)摸取:从中摸出一个.这个球上的数就称为从1~n之间的随机整数,简称随机数.2.伪随机数的产生(1)规则:依照确定算法;(2)特点:具有周期性(周期很长);(3)性质:它们具有类似随机数的性质.计算机或计算器产生的随机数并不是真正的随机数,我们称为伪随机数.[化解疑难]对随机数的理解计算器或计算机产生的整数随机数是按照确定的算法产生的数,具有周期性(周期很长),它们具有类似随机数的性质,不是真正的随机数,称为伪随机数.即使是这样,由于计算器或计算机省时省力,并且速度非常快,我们还是把计算器或计算机产生的伪随机数近似地看成随机数.产生随机数的方法[导入新知]1.利用计算器产生随机数的操作方法用计算器的随机函数RANDI(a,b)或计算机的随机函数RANDBETWEEN(a,b)可以产生从整数a到整数b的取整数值的随机数.例如,用计算器产生1到25之间的取整数值的随机数,方法如下:2.利用计算机产生随机数的操作程序每个具有统计功能的软件都有随机函数,以Excel软件为例,打开Excel软件,执行下面的步骤:(1)选定A1格,键入“=RANDBETWEEN(0,1)”,按Enter键,则在此格中的数是随机产生的0或1.(2)选定A1格,按Ctrl+C快捷键,然后选定要随机产生0,1的格,比如A2至A100,按Ctrl+V快捷键,则在A2至A100的数均为随机产生的0或1,这样相当于做了100次随机试验.(3)选定C1格,键入频数函数“=FREQUENCY(A1∶A100,0.5)”,按Enter键,则此格中的数是统计A1至A100中,比0.5小的数的个数,即0出现的频数.(4)选定D1格,键入“=1-C1/100”,按Enter键,在此格中的数是这100次试验中出现1的频率.[化解疑难]计算机模拟试验的优点用频率估计概率时,需做大量的重复试验,费时费力,并且有些试验具有破坏性,有些试验无法真正进行.因此利用计算机进行随机模拟试验就成为一种很重要的替代方法,它可以在短时间内多次重复地来做试验,不需要对试验进行具体操作,可以广泛应用到各个领域.随机数的产生方法[例1]某校高一年级共有20个班1 200名学生,期末考试时,如何把学生随机地分配到40个考场中去?[解]第一步,n=1;第二步,用RANDI(1,1 200)产生一个[1,1 200]内的整数随机数x表示学生的座号;第三步,执行第二步,再产生一个座号,若此座号与以前产生的座号重复,则执行第二步,否则n=n+1;第四步,如果n≤1 200,则重复执行第三步,否则执行第五步;第五步,按座号的大小排列,作为考号(不足四位的前面添上“0”,补足位数),程序结束.[类题通法]产生随机数需要注意的两个问题(1)利用抽签法时,所设计的试验要切实保证任何一个数被抽到的可能性是相等的,这是试验成功的基础.(关键词:等可能)(2)利用计算器或计算机产生随机数时,由于不同型号的计算器产生随机数的方法可能会有所不同,故需特别注意操作步骤与顺序的正确性,具体操作需严格参照其说明书.(关键词:步骤与顺序)[活学活用]用随机模拟方法抛掷一枚均匀的硬币100次,产生计算机统计这100次试验中“出现正面朝上”随机数.解:利用计算机统计频数和频率,用Excel 演示.(1)选定C1格,键入频数函数“=FREQUENCY(A1:A100,0.5)”,按Enter 键,则此格中的数是统计A1至A100中比0.5小的数的个数,即0出现的频数,也就是反面朝上的频数;(2)选定D1格,键入“=1-C1/100”,按Enter 键,在此格中的数是这100次试验中出现1的频率,即正面朝上的频率. 利用随机模拟法估计概率[例2] (1)已知某运动员每次投篮命中的概率低于40%,现采用随机模拟的方法估计该运动员三次投篮恰有两次命中的概率:先由计算器产生0到9之间取整数值的随机数,指定1,2,3,4表示命中,5,6,7,8,9,0表示不命中;再以每三个随机数为一组,代表三次投篮的结果.经随机模拟产生了20组随机数:907 966 191 925 271 932 812 458 569683 431 257 393 027 556 488 730 113537 989据此估计,该运动员三次投篮恰有两次命中的概率为( )A .0.35B .C .0.20D .(2)种植某种树苗,成活率是0.9.若种植该种树苗5棵,用随机模拟方法估计恰好4棵成活的概率.[解析] (1)选B 由题意知模拟三次投篮的结果,经随机模拟产生了20组随机数,在20组随机数中表示三次投篮恰有两次命中的有191,271,932,812,393,共5组随机数,∴所求概率为520=14=0.25. (2)利用计算器或计算机产生0到9之间取整数值的随机数,我们用0代表不成活,1至9的数字代表成活,这样可以体现成活率是0.9.因为种植5棵,所以每5个随机数作为一组,可产生30组随机数,如下所示:698016609777124229617423531516297472494557558652587413023224374454434433315271202178258555610174524144134922017036283005949765617334783166243034401117这就相当于做了30次试验,在这些数组中,如果恰有一个0,则表示恰有4棵成活,共有9组这样的数,于是我们得到种植5棵这样的树苗恰有4棵成活的概率近似为9=0.3.30 [类题通法]利用随机模拟估计概率应关注三点用整数随机数模拟试验估计概率时,首先要确定随机数的范围和用哪些数代表不同的试验结果.我们可以从以下三方面考虑:(1)当试验的基本事件等可能时,基本事件总数即为产生随机数的范围,每个随机数代表一个基本事件;(2)研究等可能事件的概率时,用按比例分配的方法确定表示各个结果的数字个数及总个数;(3)当每次试验结果需要n个随机数表示时,要把n个随机数作为一组来处理,此时一定要注意每组中的随机数字能否重复.[活学活用]甲、乙两支篮球队进行一局比赛,甲获胜的概率为0.6,若采用三局两胜制举行一次比赛,现采用随机模拟的方法估计乙获胜的概率.先利用计算器或计算机生成0到9之间取整数值的随机数,用0,1,2,3,4,5表示甲获胜;6,7,8,9表示乙获胜,这样能体现甲获胜的概率为0.6.因为采用三局两胜制,所以每3个随机数作为一组.例如,产生30组随机数:034 743 738 636 964 736 614 698 637 162332 616 804 560 111 410 959 774 246 762428 114 572 042 533 237 322 707 360 751据此估计乙获胜的概率为________.解析:产生30组随机数,就相当于做了30次试验.如果6,7,8,9中恰有2个或3个数出现,就表示乙获胜,它们分别是738,636,964,736,698,637,616,959,774,762,707.共11个.所以采用三局两胜制,乙获胜的概率约为1130≈0.367. 答案:[典例] 通过模拟试验,产生了20组随机数:6830 3013 7055 7430 7740 4422 78842604 3346 0952 6807 9706 5774 57256576 5929 9768 6071 9138 6754如果恰有三个数在1,2,3,4,5,6中,表示恰有三次击中目标,则四次射击中恰有三次击中目标的概率约为________.[解析] 表示三次击中目标分别是3013,2604,5725,6576,6754,共5组数,而随机数总共20组,所以所求的概率近似为520=25%. [答案] 25%[易错防范]1.由题意可知,数字1,2,3,4,5,6代表击中,若不能正确理解各数字的意义,则容易导致题目错解.2.解决此类题目时正确设计试验,准确理解随机数的意义是解题的基础和关键.[成功破障]天气预报说,在今后的三天中,每一天下雨的概率均为40%,用随机模拟的方法估计这三天中恰有两天下雨的概率.可利用计算机产生0到9之间的整数值的随机数,如果我们用1,2,3,4表示下雨,用5,6,7,8,9,0表示不下雨,顺次产生的随机数如下:907 966 191 925 271 932 812 458569 683 631 257 393 027 556 488730 113 137 989 则这三天中恰有两天下雨的概率约为( )A.1320B .720 C.920 D .1120 解析:选B 由题意知模拟三天中恰有两天下雨的结果,经随机模拟产生了20组随机数,在20组随机数中表示三天中恰有两天下雨的有:191,271,932,812,631,393,137,共7组随机数,∴所求概率为720.[随堂即时演练]1.利用抛硬币产生随机数1和2,出现正面表示产生的随机数为1,出现反面表示产生的随机数为2.小王抛两次,则出现的随机数之和为3的概率为( )A.12B .13 C.14D .15解析:选A 抛掷硬币两次,产生的随机数的情况有(1,1),(1,2),(2,1),(2,2)共四种,其中随机数之和为3的情况有(1,2),(2,1)两种,故所求概率为24=12. 2.已知某射击运动员每次击中目标的概率都是0.8.现采用随机模拟的方法估计该运动员射击4次,至少击中3次的概率:先由计算器算出0~9之间取整数值的随机数,指定0,1表示没有击中目标,2,3,4,5,6,7,8,9表示击中目标;因为射击4次,故以每4个随机数为一组,代表射击4次的结果.经随机模拟产生了20组随机数:5727 0293 7140 9857 03474373 8636 9647 1417 46980371 6233 2616 8045 60113661 9597 7424 6710 4281据此估计,该射击运动员射击4次至少击中3次的概率为( )A .0.85B .0.819 2C .0.8D . 解析:选D 该射击运动员射击4次至少击中3次,考虑该事件的对立事件,故看这20组数据中含有0和1的个数多少,含有2个或2个以上的有5组数,故所求概率为1520=0.75. 3.一个正方体,它的表面涂满了红色,在它的每个面上切两刀,可得27个小正方体,从中任取一个它恰有一个面涂有红色的概率是________.解析:恰有一个面涂有红色在每一个侧面上只有一个,共有6个,故所求概率为29. 答案:294.从1,2,3,4,5这5个数中任取两个,则这两个数正好相差1的概率是________.解析:从5个数中任取两个,共有10种取法,两个数相差1的有1,2;2,3;3,4;4,5四种,故所求概率为410=25. 答案:255.盒中有大小、形状相同的5只白球2只黑球,用随机模拟法求下列事件的概率:(1)任取一球,得到白球;(2)任取三球,都是白球.解:用1,2,3,4,5表示白球,6,7表示黑球.(1)步骤:①利用计算器或计算机产生1到7的整数随机数,每一个数一组,统计组数n ;②统计这n 组数中小于6的组数m ;③任取一球,得到白球的概率估计值是m n .(2)步骤:①利用计算器或计算机产生1到7的整数随机数,每三个数一组,统计组数n ;②统计这n 组数中,每个数字均小于6的组数m ;③任取三球,都是白球的概率估计值是m n. [课时达标检测]一、选择题1.袋子中有四个小球,分别写有“巴”“西”“奥”“运”四个字,有放回地从中任取一个小球,取到“奥”就停止.用随机模拟的方法估计直到第二次才停止的概率:先由计算器产生1到4之间取整数值的随机数,且用1,2,3,4表示取出的小球上分别写有“巴”“西”“奥”“运”四个字,以每两个随机数为一组,代表两次的结果,经随机模拟产生了20组随机数:13 24 12 32 43 14 24 32 31 2123 13 32 21 24 42 13 32 21 34据此估计,直到第二次才停止概率为( )A.15B.14C.13D.12答案:B2.用计算机模拟随机掷骰子的试验,估计出现2点的概率,下列步骤中不.正确的是( ) A .用计算器的随机函数RANDI(1,7)或计算机的随机函数RANDBETWEEN(1,7)产生6个不同的1到6之间取整数值的随机数x ,如果x =2,我们认为出现2点B .我们通常用计数器n 记录做了多少次掷骰子试验,用计数器m 记录其中有多少次出现2点,置n =0,m =0C .出现2点,则m 的值加1,即m =m +1;否则m 的值保持不变D .程序结束.出现2点的频率作为概率的近似值答案:A3.从3名男生和2名女生中任选3人参加演讲比赛,则这三人中恰有一名男生的概率是( )A.310B.35C.25D.13答案:A4.从2,4,6,8,10这5个数中任取3个,则这三个数能成为三角形三边的概率是( ) A.25B.710C.310D.35 答案:C5.甲、乙两人一起去游济南趵突泉公园,他们约定,各自独立地从1号到6号景点中任选4个进行游览,每个景点参观1小时,则最后一小时他们同在一个景点的概率是( )A.136B.19C.536D.16 答案:D二、填空题6.某汽车站每天均有3辆开往省城的分为上、中、下等级的客车,某天袁先生准备在该汽车站乘车前往省城办事,但他不知道客车的车况,也不知道发车顺序.为了尽可能乘上上等车,他采取如下策略:先放过一辆,如果第二辆比第一辆好则上第二辆,否则上第三辆.则他乘上上等车的概率为________.解析:共有6种发车顺序:①上、中、下;②上、下、中;③中、上、下;④中、下、上;⑤下、中、上;⑥下、上、中(其中画横线的表示袁先生所乘的车),所以他乘坐上等车的概率为36=12. 答案:127.某小组有五名学生,其中三名女生、两名男生,现从这个小组中任意选出两名分别担任正、副组长,则正组长是男生的概率是________.解析:从五名学生中任选两名,有10种情况,再分别担任正、副组长,共有20个基本事件,其中正组长是男生的事件有8种,则正组长是男生的概率是820=25. 答案:258.现有五个球分别记为A ,B ,C ,D ,E ,随机取出三球放进三个盒子,每个盒子只能放一个球,则D 或E 在盒中的概率是________.解析:从5个球中取3个,有10种取法,再把3个球放入3个盒子,有6种放法,基本事件有60个,D 和E 都不在盒中含6个基本事件,则D 或E 在盒中的概率P =1-660=910. 答案:910三、解答题9.袋中有五张卡片,其中红色卡片三张,标号分别为1,2,3;蓝色卡片两张,标号分别为1,2.(1)从以上五张卡片中任取两张,求这两张卡片颜色不同且标号之和小于4的概率;(2)向袋中再放入一张标号为0的绿色卡片,从这六张卡片中任取两张,求这两张卡片颜色不同且标号之和小于4的概率.解:(1)从五张卡片中任取两张的所有可能情况有如下10种:红1红2,红1红3,红1蓝1,红1蓝2,红2红3,红2蓝1,红2蓝2,红3蓝1,红3蓝2,蓝1蓝2.其中两张卡片的颜色不同且标号之和小于4的有3种情况,故所求的概率为P =310. (2)加入一张标号为0的绿色卡片后,从六张卡片中任取两张,除上面的10种情况外,多出5种情况:红1绿0,红2绿0,红3绿0,蓝1绿0,蓝2绿0,即共有15种情况,其中颜色不同且标号之和小于4的有8种情况,所以概率为P =815.10.甲盒中有红、黑、白三种颜色的球各3个,乙盒子中有黄、黑、白三种颜色的球各2个,从两个盒子中各取1个球.(1)求取出的两个球是不同颜色的概率;(2)请设计一种随机模拟的方法,来近似计算(1)中取出两个球是不同颜色的概率(写出模拟的步骤).解:(1)设A 表示“取出的两球是相同颜色”,B 表示“取出的两球是不同颜色”.则事件A 的概率为:P (A )=3×2+3×29×6=29. 由于事件A 与事件B 是对立事件,所以事件B 的概率为:P (B )=1-P (A )=1-29=79. (2)随机模拟的步骤:第1步:利用抽签法或计算机(计算器)产生1~3和2~4两组取整数值的随机数,每组各有N 个随机数.用“1”表示取到红球,用“2”表示取到黑球,用“3”表示取到白球,用“4”表示取到黄球.第2步:统计两组对应的N 对随机数中,每对中两个数字不同的对数n .第3步:计算n N 的值,则n N就是取出的两个球是不同颜色的概率的近似值. 11.先后随机投掷2枚正方体骰子,其中x 表示第1枚骰子出现的点数,y 表示第2枚骰子出现的点数.(1)求点P (x ,y )在直线y =x -1上的概率;(2)求点P (x ,y )满足y 2<4x 的概率.解:(1)每颗骰子出现的点数都有6种情况,所以基本事件总数为6×6=36个.记“点P (x ,y )在直线y =x -1上”为事件A ,A 有5个基本事件:A ={(2,1),(3,2),(4,3),(5,4),(6,5)},∴P (A )=536. (2)记“点P (x ,y )满足y 2<4x ”为事件B ,则事件B 有17个基本事件:当x =1时,y =1;当x =2时,y =1,2;当x =3时,y =1,2,3;当x =4时,y =1,2,3;当x =5时,y =1,2,3,4;当x=6时,y=1,2,3,4.∴P(B)=1736.。
随机数的产生随机数的产生1.随机数的概念随机数是在一定范围内随机产生的数,并且得到这个范围内任何一个数的机会是均等的.它可以帮助我们模拟随机试验,特别是一些成本高、时间长的试验,用随机模拟的方法可以起到降低成本,缩短时间的作用.2.随机数的产生方法:一般用试验的方法,如把数字标在小球上,搅拌均匀,用统计中的抽签法等抽样方法,可以产生某个范围内的随机数.在计算器或计算机中可以应用随机函数产生某个范围的伪随机数,当作随机数来应用.3.随机模拟法(蒙特卡罗法):用计算机或计算器模拟试验的方法,具体步骤如下:(1)用计算器或计算机产生某个范围内的随机数,并赋予每个随机数一定的意义;(2)统计代表某意义的随机数的个数M和总的随机数个数N;(3)计算频率()n Mf AN作为所求概率的近似值.要点诠释:1.对于抽签法等抽样方法试验,如果亲手做大量重复试验的话,花费的时间太多,因此利用计算机或计算器做随机模拟试验可以大大节省时间.2.随机函数RANDBETWEEN(a,b)产生从整数a到整数b的取整数值的随机数.3. 随机数具有广泛的应用,可以帮助我们安排和模拟一些试验,这样可以代替我们自己做大量重复试验,比如现在很多城市的重要考试采用产生随机数的方法把考生分配到各个考场中.4.在区间[a,b]上的均匀随机数与整数值随机数的共同点都是等可能取值,不同点是均匀随机数可以取区间内的任意一个实数,整数值随机数只取区间内的整数.5.利用几何概型的概率公式,结合随机模拟试验,可以解决求概率、面积、参数值等一系列问题,体现了数学知识的应用价值.6.用随机模拟试验不规则图形的面积的基本思想是,构造一个包含这个图形的规则图形作为参照,通过计算机产生某区间内的均匀随机数,再利用两个图形的面积之比近似等于分别落在这两个图形区域内的均匀随机点的个数之比来解决.7.利用计算机和线性变换Y=X*(b-a)+a,可以产生任意区间[a,b]上的均匀随机数.。
第三章随机数的产生与模拟目录⏹随机数的产生与模拟⏹§3.1均匀随机数的产生⏹ 3.1.1线性同余法(LCG)的递推公式⏹ 3.1.2反馈位移寄存器法(FSR)⏹ 3.1.3组合发生器⏹§3.2非均匀随机数的产生⏹§3.3 Monte Carlo方法在解确定性问题中的应用⏹ 3.3.1计算定积分⏹ 3.3.1.1随机投点法⏹ 3.3.1.2平均值估计法⏹ 3.3.1.3重要抽样法⏹ 3.3.1.4分层抽样法⏹ 3.3.2 计算多重积分⏹ 3.3.2.1 随机投点法⏹ 3.3.2.2 平均值估计法⏹ 3.3.3应用实例⏹§3.4 随机模拟方法在随机服务系统中的应用⏹§3.5 随机模拟方法在理论研究中的应用随机数的产生与模拟用随机模拟方法解决实际问题时,首先要解决的是随机数的产生方法,或称随机变量的抽样方法。
随机数的产生与模拟伪随机数:在计算机上用数学方法产生均匀随机数是指按照一定的计算方法而产生的数列,它们具有类似于均匀随机变量的独立抽样序列的性质,这些数既然是依照确定算法产生的,便不可能是真正的随机数,因此常把用数学方法产生的随机数称为伪随机数。
随机数的产生与模拟均匀分布随机数:定理:设)(x F是连续且严格单调上升的分布函数,它的反函数存在,且记为)(1xF-,1、若随机变量ξ的分布函数为)(x F,则)1,0(~)(UFξ;2、若随机变量)1,0(~UF-的分布函数为)(x FR,则)(1R随机数的产生与模拟均匀分布随机数:该定理说明了任意分布的随机数均可由均匀分布的随机数变换得到。
常简称的随机数为均匀分布随机数。
)1,0(U )1,0(U随机数的产生与模拟1 均匀随机数的产生均匀随机数的产生:主要有线性同余法(LCG),组合同余法,反馈位移寄存器方法等均匀随机数的产生:⎪⎩⎪⎨⎧=+=-01))(mod (值x Mx r M c ax x nn n n 初,...2,1=n 随机数的产生与模拟1 均匀随机数的产生线性同余法(LCG )的递推公式为:均匀随机数的产生:随机数的产生与模拟1 均匀随机数的产生0≠c 0=c 当,上式称为混合同余发生器,当时,称为乘同余发生器,此时当模为素数时,称它为素数模乘同余发生器。
两个常用的混合式发生器:⎪⎩⎪⎨⎧<=+=-350353511522)2)(mod 15(x x r x x n n n n ⎪⎪⎨⎧=+=-31313112)2)(mod 453806245314159269(x r x x n n n n ,...2,1=n 随机数的产生与模拟1 均匀随机数的产生常用的素数模乘同余发生器:⎪⎪⎩⎪⎪⎨⎧-<-=-=-312)312()312(mod 312535035351x xr x x n n n n ,...2,1=n 随机数的产生与模拟1 均匀随机数的产生常用的素数模乘同余发生器:,...2,1=n ⎪⎪⎩⎪⎪⎨⎧-<-=-=-12)12()12(mod 31031311x xr x a x n n n i n )4,3,2,1(=i 168071=a 3972040942=a 7642611233=a 6303600164=a 随机数的产生与模拟1 均匀随机数的产生反馈位移寄存器法(FSR ):对寄存器中的二进制数码作递推运算,其中是给定的正整数,为给定的常数。
取数列中连续的位构成一个位二进制整数,一直下去,一般地有令则即为FSR 方法产生的均匀随机数列。
)2)(mod (1111-+---+++=k p k p p k p k c c c αααα k αp )1,...,2,1(10,1-===p i or c c i p {}n αL 22)1(1)1(),,,(nL L n L n n x ααα +-+-=,...2,1=n L n n x r 2=,...2,1=n {}n r L 随机数的产生与模拟1 均匀随机数的产生随机数的产生与模拟1 均匀随机数的产生组合发生器:先用一个随机数发生器产生的随机数列为基础,再用另一个发生器对随机数列进行重新排列得到的新数列作为实际使用的随机数。
这种把多个独立的发生器以某种方式组合在一起作为实际使用的随机数,希望能够比任何一个单独的随机数发生器得到周期长、统计性质更优的随机数,即组合发生器。
随机数的产生与模拟1 均匀随机数的产生组合发生器:Maclaren和Marsaglia在1965年提出的著名的组合发生器是组合同余发生器,该算法的具体步骤如下:组合发生器:1用第一个LCG 产生个随机数,一般取。
这个随机数被顺序地存放在矢量中。
置;128=k k ),,,(21k t t t T =1=n k 2 用第二个LCG 产生一个随机整数,要求;j k j ≤≤13 令,然后再用第一个LCG 产生一个随机数,令;置;j n t x =y y t j =1+=n n 4 重复2~3,得随机数列,即为组合同余发生器产生的数列。
若第一个LCG 的模为,令,则为均匀随机数{}n x M M x r n n ={}n r 随机数的产生与模拟1 均匀随机数的产生由均匀分布随机数产生非均匀分布随机数的主要方法有:逆变换法,合成法和筛选法。
随机数的产生与模拟2非均匀随机数的产生1逆变换法:随机数的产生与模拟2非均匀随机数的产生对任意分布函数,要产生服从该分布的随机数,由定理知其抽样步骤为:(1)由抽取;(2)计算)(x F )1,0(U R )(1R F⏹1逆变换法:随机数的产生与模拟2非均匀随机数的产生)1(1)(~2x x p +=πξ⏹例1已知(柯西分布),试给出其抽样方法。
1逆变换法:随机数的产生与模拟2非均匀随机数的产生解:设,则,因此其抽样步骤如下:(1)由抽取;(2)计算)1,0(~U R )(~)(tan 21x p R -=πξ)1,0(U R )(tan 21-=R πξ1逆变换法:其SAS 程序为(产生100个服从柯西分布的随机数):data ex1;seed=678;do I=1to 100;r=ranuni(seed);x=tan(3.14159*(r-0.5));output;end;run;随机数的产生与模拟2非均匀随机数的产生2合成法:随机数的产生与模拟2非均匀随机数的产生其想法是:如果X 的密度难于抽样,而X 关于Y 的条件密度以及Y 的密度函数均易于抽样,则X 的随机数可如下产生:由Y 的密度抽取y由条件密度抽取x则X 服从)(y g )|(y x p )(x p )(y g )|(y x p )(x p2合成法:随机数的产生与模拟2非均匀随机数的产生当为离散形式时,即,其中是密度函数,其抽样过程如下:1 产生一个正的随机整数,使得,2 产生分布为的随机数。
)(y g ∑==n i i i x p x p 1)()(α1,01=>∑=ni i i αα)(x p i J j p j J P ==}{n j ,...,2,1=)(x p j2合成法:随机数的产生与模拟2非均匀随机数的产生设时梯形分布的密度函数为,试用合成法产生其随机数。
10<<a ⎩⎨⎧∈-+=其他,0]1,0[,)1(2)(x x a a x p 例22合成法:随机数的产生与模拟2非均匀随机数的产生解:首先将进行分解,即,其中其抽样框图为)(x p )()1()()(21x p a x ap x p -+=⎩⎨⎧∈=其他 0]1,0[,1)(1x x p ⎩⎨⎧∈=其他,0]1,0[,2)(2x x x p2合成法:随机数的产生与模拟2非均匀随机数的产生产生产生令产生令输出Y N )1,0(~U R aR ≤)1,0(~U U U=ξ)1,0(~,U V U ),max(V U =ξξ2合成法:其SAS 抽样程序如下(假若产生100个随机数,):data ex2;seed=789;a=0.3;do I=1to 100;r=ranuni(seed);r3=ranuni(seed);if r1<=a then do;u=ranuni(seed);x=u;end;else do;u=ranuni(seed);v=ranuni(seed);x=max(u,v);end;output;end;run;随机数的产生与模拟2非均匀随机数的产生3筛选抽样法:随机数的产生与模拟2非均匀随机数的产生假设我们要从抽样,如果可将表示成,其中是一个密度函数且易于抽样,而,是常数,)(x p )()()(x g x h c x p ⋅⋅=)(⋅h 1)(0≤<x g 1≥c )(x p3筛选抽样法:随机数的产生与模拟2非均匀随机数的产生X 的抽样可如下进行:1由抽取,由抽取2如果,则;否则,转1则X 的密度函数为)1,0(U R )(y h y)(y g R ≤y x =)(x p3筛选抽样法:随机数的产生与模拟2非均匀随机数的产生设,试用筛选法抽取其随机数。
34)(x x p =10≤≤x 例33筛选抽样法:随机数的产生与模拟2非均匀随机数的产生解:因为:,即:则抽样框图如下:314)(x x p ⋅⋅=3)(,1)(,4x x g x h c ===3筛选抽样法:随机数的产生与模拟2非均匀随机数的产生独立产生令NY)1,0(~,21U r r 321r r ≤2r x =3筛选抽样法:其SAS 程序如下:data ex3;seed=789;do I=1to 100;r1=ranuni(seed);r2=ranuni(seed);if r1<=r2**3then do;x=r2;output;end;end;run;随机数的产生与模拟2非均匀随机数的产生随机数的产生与模拟3 Monte Carlo方法在解确定性问题中的应用蒙特卡罗(Monte Carlo)方法(即随机模拟方法)求解实际问题的基本步骤包括:1建模:对所求的问题构造一个简单而又便于实现的概率统计模型,使所求的解恰好是所建模型的参数或有关的特征量。
2改进模型:根据概率统计模型的特点和计算实践的需要,尽量改进模型,以便减少误差和降低成本,提高计算效率。
3模拟试验4求解:对模拟结果进行统计处理,给出所求问题的近似解。
随机数的产生与模拟3 Monte Carlo 方法在解确定性问题中的应用⎰=1)(dxx f I 计算定积分(1)随机投点法①赋初值:试验次数n=0,成功次数m=0;规定投点试验的总次数N;②产生两个相互独立的均匀随机数置n=n+1;③判断n≤N是否成立,若成立转④,否则停止试验,转⑤;④判断条件是否成立,若成立置m=m+1,然后转②,否则转②;)1,0(~,U ηξ)(ξηf ≤随机数的产生与模拟3 Monte Carlo 方法在解确定性问题中的应用⎰=1)(dxx f I 计算定积分(1)随机投点法对一般区间[a,b]上定积分I =⎰ba dx x f )(的计算,只需做线性变换,即可化成[0,1]上的定积分。