1、2022-12-17蒙特卡罗方法1.随机抽样及其特点随机抽样及其特点2.直接抽样方法直接抽样方法3.挑选抽样方法挑选抽样方法4.复合抽样方法复合抽样方法5.复合挑选抽样方法复合挑选抽样方法6.替换抽样方法替换抽样方法7.随机抽样的一般方法随机抽样的一般方法8.随机抽样的其它方法随机抽样的其它方法作作 业业2022-12-17蒙特卡罗方法 本章叙述由己知分布抽样的各主要方法,并给出在粒子输运问题中经常用到的具体实例。2022-12-17蒙特卡罗方法 由巳知分布的随机抽样指的是由己知分布的总体中抽取简单子样。随机数序列随机数序列是由单位均匀分布的总体中抽取的简单子样,属于一种特殊的由已知分布的随机
2、抽样问题。本章所叙述的由任意已知分布中抽取简单子样,是在假设随机数为已知量的前提下,使用严格的数学方法产生的。为方便起见,用XF表示由己知分布F(x)中产生的简单子样的个体。对于连续型分布,常用分布密度函数f(x)表示总体的己知分布,用Xf表示由己知分布密度函数f(x)产生的简单子样的个体。另外,在抽样过程中用到的伪随机数均称随机数。2022-12-17蒙特卡罗方法 对于任意给定的分布函数F(x),直接抽样方法如下:其中,1,2,N为随机数序列。为方便起见,将上式简化为:若不加特殊说明,今后将总用这种类似的简化形式表示,总表示随机数。NntXntFn,2,1,inf)(tXtFF)(inf20
3、22-12-17蒙特卡罗方法 下面证明用前面介绍的方法所确定的随机变量序列X1,X2,XN具有相同分布F(x)。对于任意的n成立,因此随机变量序列X1,X2,XN具有相同分布F(x)。另外,由于随机数序列1,2,N是相互独立的,而直接抽样公式所确定的函数是波雷尔(Borel)可测的,因此,由它所确定的X1,X2,XN也是相互独立的(P.R.Halmos,Measure theory,N.Y.Von Nosrtand,195045定理2)。)()()inf()()()(xFxFPxtPxXPxFntFnXnn2022-12-17蒙特卡罗方法 对于任意离散型分布:其中x1,x2,为离散型分布函数的
4、跳跃点,P1,P2,为相应的概率,根据前述直接抽样法,有离散型分布的直接抽样方法如下:该结果表明,为了实现由任意离散型分布的随机抽样,直接抽样方法是非常理想的。xxiiPxF)(I1ii1I1iiPP,当IFxX2022-12-17蒙特卡罗方法 二项分布为离散型分布,其概率函数为:其中,P为概率。对该分布的直接抽样方法如下:nNnnNnPPCPnxP)1()(n0ii1n0iiPP,当nXF2022-12-17蒙特卡罗方法 泊松(Possion)分布为离散型分布,其概率函数为:其中,0。对该分布的直接抽样方法如下:!)(nePnxPnnn0ii1n0iii!i!,当enXF2022-12-17
5、蒙特卡罗方法 掷骰子点数X=n的概率为:选取随机数,如 则 在等概率的情况下,可使用如下更简单的方法:其中表示取整数。61)(nXP661nnnXF16FX2022-12-17蒙特卡罗方法 中子或光子在介质中发生碰撞时,如介质是由多种元素组成,需要确定碰撞核的种类。假定介质中每种核的宏观总截面分别为1,2,n,则中子或光子与每种核碰撞的概率分别为:其中t12n。碰撞核种类的确定方法为:产生一个随机数,如果 则中子或光子与第I种核发生碰撞。niPtii,2,1I1ii1I1iiPP2022-12-17蒙特卡罗方法 假设中子与核的反应类型有如下几种:弹性散射,非弹性散射,裂变,吸收,相应的反应截面
6、分别为el,in,f,a。则发生每一种反应类型的概率依次为:其中反应总截面telinfa。taatfftinintelelPPPP2022-12-17蒙特卡罗方法 反应类型的确定方法为:产生一个随机数 收吸裂变非弹性散射弹性散射finelinelelPPPPPP2022-12-17蒙特卡罗方法 对于连续型分布,如果分布函数F(x)的反函数 F1(x)存在,则直接抽样方法是:)(1 FXF2022-12-17蒙特卡罗方法 在a,b上均匀分布的分布函数为:则 bxbxaabaxaxxF当当当10)()(abaXF2022-12-17蒙特卡罗方法 分布为连续型分布,作为它的一个特例是:其分布函数为:
7、则 FX10,2)()(20 xxtdtdttfxFxx10,2)(xxxf2022-12-17蒙特卡罗方法 指数分布为连续型分布,其一般形式如下:其分布函数为:则 因为1也是随机数,可将上式简化为 0,1)()(0 xedteadttfxFaxxatx0,)(xeaxfax)1ln(1aXFln1aXF2022-12-17蒙特卡罗方法 连续性分布函数的直接抽样方法对于分布函数的反函数存在且容易实现的情况,使用起来是很方便的。但是对于以下几种情况,直接抽样法是不合适的。1)分布函数无法用解析形式给出,因而其反函数也无法给出。2)分布函数可以给出其解析形式,但是反函数给不出来。3)分布函数即使能
8、够给出反函数,但运算量很大。下面叙述的挑选抽样方法是克服这些困难的比较好的方法。2022-12-17蒙特卡罗方法 为了实现从己知分布密度函数f(x)抽样,选取与f(x)取值范围相同的分布密度函数h(x),如果 则挑选抽样方法为:)()(supxhxfMxhfhhXXXhMXf)()(2022-12-17蒙特卡罗方法 即从h(x)中抽样xh,以 的概率接受它。下面证明xf 服从分布密度函数f(x)。证明:对于任意x)()(hhxhMxf)()()()(,)()()(hhhhhhhhfXhMXfPXhMXfdxxXxPXhMXfdxxXxPdxxXxP2022-12-17蒙特卡罗方法dxxfdXX
9、fdXXfdXXhXhMXfdXXhXhMXfddXXhddXXhhhdxxxhhhhhhdxxxhhhhXhMXfhhdxxxXhMXfhhhhhh)()()()()()()()()()()()()(0)()(0 2022-12-17蒙特卡罗方法 使用挑选抽样方法时,要注意以下两点:选取h(x)时要使得h(x)容易抽样且M的值要尽量小。因为M小能提高抽样效率。抽样效率是指在挑选抽样方法中进行挑选时被选中的概率。按此定义,该方法的抽样效率E为:所以,M越小,抽样效率越高。MdXXhXhMXfXhMXfPEhhhhhh1)()()()()(2022-12-17蒙特卡罗方法 当 f(x)在0,1上
10、定义时,取 h(x)=1,Xh=,此时挑选抽样方法为)(sup10 xfMxfXMf)(2022-12-17蒙特卡罗方法 令圆半径为R0,点到圆心的距离为r,则r的分布密度函数为 分布函数为 容易知道,该分布的直接抽样方法是其它当002)(020RrRrrf202)(RrrF0Rrf2022-12-17蒙特卡罗方法 由于开方运算在计算机上很费时间,该方法不是好方法。下面使用挑选抽样方法:取 则抽样框图为 00022)()(1)(RrMRrrhrfRrhh,2021Rrf2022-12-17蒙特卡罗方法 显然,没有必要舍弃12的情况,此时,只需取 就可以了,亦即 另一方面,也可证明 与 具有相同
11、的分布 。10 Rrf),max(210 Rrf),max(212)(rrF2022-12-17蒙特卡罗方法 在实际问题中,经常有这样的随机变量,它服从的分布与一个参数有关,而该参数也是一个服从确定分布的随机变量,称这样的随机变量服从复合分布。例如,分布密度函数 是一个复合分布。其中Pn0,n=1,2,且 fn(x)为与参数n有关的分布密度函数,n=1,2,参数n服从如下分布1)()(nnnxfPxf11nnPynnPyF)(2022-12-17蒙特卡罗方法 复合分布的一般形式为:其中f2(x/y)表示与参数y有关的条件分布密度函数,F1(y)表示分布函数。复合分布的抽样方法为:首先由分布函数
12、F1(y)或分布密度函数f1(y)中抽样YF1或Yf1,然后再由分布密度函数f2(x/YF1)中抽样确定Xf2(x/YF)证明:所以,Xf所服从的分布为f(x)。)()()(12ydFyxfxf)/(12FYxffXXdxxfYdxdFYxfdxxXxpdxxXxpFYxff)()()()()(12)/(122022-12-17蒙特卡罗方法 指数函数分布的一般形式为:引入如下两个分布密度函数:其它当00)(1xdyyenxEnxyn其它当其它当00)(01)(211xeyyxfyynyfxyn2022-12-17蒙特卡罗方法 则 使用复合抽样方法,首先从f1(y)中抽取y 再由f2(x/YF1
13、)中抽取x 112)()()(dyyfyxfxEn),max(11211nnfY1211ln),max(ln1nnfnfYX2022-12-17蒙特卡罗方法 考虑另一种形式的复合分布如下:其中0H(x,y)M,f2(x/y)表示与参数y有关的条件分布密度函数,F1(y)表示分布函数。抽样方法如下:)()(),()(12ydFyxfyxHxf)/()/(12112),(FFYxffFYxfXXMYXH2022-12-17蒙特卡罗方法 证明:抽样效率为:E=1/MdxxfdxydFyxfyxHydxdFyxfMyxHydxdFyxfMyxHdydxdFyxfdydxdFyxfMYXHPMYXHdx
14、xXxPMYXHdxxXxPdxxXxPdxxxMyxHdxxxMyxHFfFffFfff)()()(),()()(),()()(),()()()()(),(),(,),()(121212),(012),(01212122122 2022-12-17蒙特卡罗方法 为了实现某个复杂的随机变量 y 的抽样,将其表示成若干个简单的随机变量 x1,x2,xn 的函数得到 x1,x2,xn 的抽样后,即可确定 y 的抽样,这种方法叫作替换法抽样。即),(21nxxxgy),(21nfXXXgY2022-12-17蒙特卡罗方法 散射方位角在0,2上均匀分布,则其正弦和余弦sin和cos服从如下分布:直接抽
15、样方法为:其它当011111)(2xxxf2coscos2sinsin2022-12-17蒙特卡罗方法令=2,则在0,上均匀分布,作变换其中01,0,则(x,y)表示上半个单位圆内的点。如果(x,y)在上半个单位圆内均匀分布,则在0,上均匀分布,由于sincosyx2222sincosyxyyxx222222222cossin22sinsinsincos2coscosyxxyyxyx2022-12-17蒙特卡罗方法 因此抽样sin和cos的问题就变成在上半个单位圆内均匀抽样(x,y)的问题。为获得上半个单位圆内的均匀点,采用挑选法,在上半个单位圆的外切矩形内均匀投点(如图)。舍弃圆外的点,余下
16、的就是所要求的点。抽样方法为:抽样效率E=/40.78521yx2221212221222122212sin,cos12022-12-17蒙特卡罗方法 为实现散射方位角余弦分布抽样,最重要的是在上半个单位圆内产生均匀分布点。下面这种方法,首先在单位圆的半个外切正六边形内产生均匀分布点,如图所示。2022-12-17蒙特卡罗方法 于是便有了抽样效率更高的抽样方法:抽样效率222121222122212221221121332sin,33cos131,123906.032E2022-12-17蒙特卡罗方法 标准正态分布密度函数为:引入一个与标准正态随机变量X独立同分布的随机变量Y,则(X,Y)的联
17、合分布密度为:作变换2221)(xexf2)(2221),(yxeyxfsincosyx2022-12-17蒙特卡罗方法则(,)的联合分布密度函数为:由此可知,与相互独立,其分布密度函数分别为分别抽取,:222),(ef21)()(2212ffe212ln22022-12-17蒙特卡罗方法从而得到一对服从标准正态分布的随机变量X和Y:对于一般的正态分布密度函数 N(,2)的抽样,其抽样结果为:ffffYYXX)2sin(ln2)2cos(ln22121ffYX2022-12-17蒙特卡罗方法 分布密度函数的一般形式为:其中n,k为整数。为了实现分布的抽样,将其看作一组简单的相互独立随机变量的函
18、数,通过这些简单随机变量的抽样,实现分布的抽样。设 x1,x2,xn 为一组相互独立、具有相同分布 F(x)的随机变量,k为 x1,x2,xn 按大小顺序排列后的第k个,记为:10)1()!()!1(!)(1xxxknknxfknk),(21nkkxxxR2022-12-17蒙特卡罗方法则k的分布函数为:当 F(x)=x 时,不难验证,k的分布密度函数为分布。因此,分布的抽样可用如下方法实现:选取n个随机数,按大小顺序排列后取第k个,即 ininkiinxFxFCxFk)(1)()(ininkiinxxCxFk)1()(),(21nkfRX2022-12-17蒙特卡罗方法1)加抽样方法 2)减
19、抽样方法3)乘抽样方法4)乘加抽样方法5)乘减抽样方法6)对称抽样方法7)积分抽样方法2022-12-17蒙特卡罗方法 加抽样方法是对如下加分布给出的一种抽样方法:其中Pn0,且 fn(x)为与参数n有关的分布密度函数,n=1,2,。由复合分布抽样方法可知,加分布的抽样方法为:首先抽样确定n,然后由 fn(x)中抽样x,即:1)()(nnnxfPxf11nnPn1nn1n1nnPP,当nffXX2022-12-17蒙特卡罗方法 多项式分布密度函数的一般形式为:将 f(x)改写成如下形式:则该分布的抽样方法为:0)(iiixaxf00)()1(1)(iiiiiixfPxiiaxfn0ii1n0i
20、i11PP),max(当nfX2022-12-17蒙特卡罗方法 设球壳内半径为R0,外半径为R1,点到球心的距离为r,则r的分布密度函数为 分布函数为该分布的直接抽样方法是其它当03)(1030312RrRRRrrf3031303)(RRRrrF31303031)(RRRrf2022-12-17蒙特卡罗方法为避免开立方根运算,作变换:则 x0,1,其分布密度函数为:其中001)(RxRRr132)(33)()(200102201RxRRRxRRxf211020RRRR2022-12-17蒙特卡罗方法则x及r的抽样方法为:001432322101201)(),max(),max(33RXRRrX
21、XXRRRfffff2022-12-17蒙特卡罗方法 减抽样方法是对如下形式的分布密度所给出的一种抽样方法:其中A1、A2为非负实数,f1(x)、f2(x)均为分布密度函数。减抽样方法分为以下两种形式:)()()(2211xfAxfAxf 以上两种形式的抽样方法,究竟选择哪种好,要看f1(x)、f2(x)哪一个容易抽样,如相差不多,选用第一种方法抽样效率高。2022-12-17蒙特卡罗方法 (1)将f(x)表示为 令m表示f2(x)f1(x)的下界,使用挑选法,从f1(x)中抽取Xf1 抽样效率为:)()()()(12211xfxfAAxfxf111)()(12212211ffffXXXfXf
22、mAAAmAAA211mAAE2022-12-17蒙特卡罗方法 (2)将f(x)表示为 使用挑选法,从f2(x)中抽取Xf2 抽样效率为:22112)()()()(AxfxfAxfxfmEmAAmE2122221221211)()(ffffXXmAAmAXfXfmAAmA2022-12-17蒙特卡罗方法分布的一个特例:取A12,A21,f1(x)1,f2(x)2x,此时m0,则根据第一种形式的减抽样方法,有或 10),1(2)(xxxf2211fX2121fX2022-12-17蒙特卡罗方法由于11可用1代替,该抽样方法可简化为:对于21的情况,可取 Xf1,因此与分布的推论相同。212fX)
23、,min(21fX2022-12-17蒙特卡罗方法 如下形式的分布称为乘分布:其中H(x)为非负函数,f1(x)为任意分布密度函数。令M为H(x)的上界,乘抽样方法如下:抽样效率为:)()()(1xfxHxfME111)(fffXXMXH2022-12-17蒙特卡罗方法倒数分布密度函数为:其直接抽样方法为:下面采用乘抽样方法,考虑如下分布族:其中 i=1,2,该分布的直接抽样方法为:axxaxf1,1ln1)(afeaXlniifaXi 1)1(1axxxaixfiii1,)1(1)(112022-12-17蒙特卡罗方法利用这一分布族,将倒数分布 f(x)表示成:其中,乘法分布的抽样方法如下:
24、该分布的抽样效率为:)()()(xfxHxfi,1)(,ln)1(,ln)1()(1111iiiixMxHaaiMxaaixHiifiaXa 1)1(1 1)1(21211)1(ln1iaiaE2022-12-17蒙特卡罗方法麦克斯韦分布密度函数的一般形式为:使用乘抽样方法,令该分布的直接抽样方法为:0,2)(23xexxfx2ln231fX0,32)(321xexfx2022-12-17蒙特卡罗方法此时则麦克斯韦分布的抽样方法为:该分布的抽样效率为:eMxexxHx2270,3)(312122221ln23lnfXe795.0272eE2022-12-17蒙特卡罗方法 在实际问题中,经常会遇
25、到如下形式的分布:其中Hn(x)为非负函数,fn(x)为任意分布密度函数,n=1,2,。不失一般性,只考虑n=2的情况:将 f(x)改写成如下的加分布形式:1)()()(nnnxfxHxf)()()()()(2211xfxHxfxHxf)()()()()()()(*22*1122221111xfPxfPxfPxHPxfPxHPxf2022-12-17蒙特卡罗方法 其中)()()()()()()()()()(222*2111*1222111xfPxHxfxfPxHxfdxxfxHPdxxfxHP2022-12-17蒙特卡罗方法 乘加抽样方法为:该方法的抽样效率为:22222)(fffXXMXH1
26、1112)(fffXXMXH11P2221212221111MPMPMPPMPPE2022-12-17蒙特卡罗方法 这种方法需要知道P1的值(P2=1P1),这对有些分布是很困难的。下面的方法可以不用计算P1:对于任意小于1的正数P1,令P2=1P1;ynnPyFyxfyxfyxfyPxHyPxHyxH)(2),(21),()(2)(21,)(),(12122211),min(),max(22112211MPMPEPMPMM 则采用复合挑选抽样方法,有:2022-12-17蒙特卡罗方法 当取 时,抽样效率最高 这时,乘加抽样方法为:22222)(fffXXMXH11112)(fffXXMXH2
27、111MMM2121MME21222111MMMPMMMP2022-12-17蒙特卡罗方法 由于 可知第一种方法比第二种方法的抽样效率高。0)()()(2)()()()()(121212211221212121222121222121212221212221212221212122211212122122212121MMMMPMPMMMMMPPMMPMPMMMMMMMPPMMPMPMMMMMMMPMMMPMMMMMMPMPEE2022-12-17蒙特卡罗方法令光子散射前后的能量分别为 和 (以 m0c2 为单位,m0为电子静止质量,c 为光速),则 x 的分布密度函数为:该分布即为光子散射能量
28、分布,它是由著名的KlinNishina 公式确定的。其中 K()为归一因子:211,1111)(1)(322xxxxxxKxfx22)21(21421)21ln()1(21)(K2022-12-17蒙特卡罗方法把光子散射能量分布改写成如下形式:在1,1+2上定义如下函数:3222)1(111)(1)(xxxxKxf32221221)1()(2)(11)21)(2)(21)(1221)(xxKxHxKxHxfxxf2022-12-17蒙特卡罗方法则有使用乘加抽样方法:)()()()()(2211xfxHxfxHxf221122)(278)()21)(4)(21212121MKxHMKxHXXf
29、f2022-12-17蒙特卡罗方法光子散射能量分布的抽样方法为:该方法的抽样效率为:222211132321232)1(427212942711212121fffffffffXXXXXXXXX)294(4)()21(27121KMME2022-12-17蒙特卡罗方法 乘减分布的形式为:其中H1(x)、H2(x)为非负函数,f1(x)、f2(x)为任意分布密度函数。与减抽样方法类似,乘减分布的抽样方法也分为两种。)()()()()(2211xfxHxfxHxf2022-12-17蒙特卡罗方法 (1)将 f(x)表示为令H1(x)的上界为M1,的下界为m,使用乘抽样方法得到如下乘减抽样方法:)()
30、()()(1)()()(112211xfxHxfxHxHxfxf11111)()()()()1(112211ffffffXXXfXfXHXHmM)()()()(1122xfxHxfxH2022-12-17蒙特卡罗方法 (2)将 f(x)表示为令H2(x)的上界为M2,使用乘抽样方法,得到另一种乘减抽样方法:1)()()()()()()(221122xfxHxfxHxHxfxf22222)()()()()1(22112ffffffXXXHXfXfXHmMm2022-12-17蒙特卡罗方法裂变中子谱分布的一般形式为:其中A,B,C,Emin,Emax 均为与元素有关的量。令其中为归一因子,为任意参
31、数。maxmin,sh)(EEEBEeCEfAEmaxmin21,)()(EEEeEfEfE2022-12-17蒙特卡罗方法相应的 H1(E),H2(E)为:于是裂变中子谱分布可以表示成乘减分布形式:容易确定 H1(E)的上界为:为提高抽样效率,应取使得M1 达到最小,此时1141exp21ABCMBEEACEHBEEACEH11exp2)(11exp2)(21)()()()()(2211EfEHEfEHEf116181ABABA2022-12-17蒙特卡罗方法取 m0,令则裂变中子谱分布的抽样方法为:抽样效率4,11BA1111221min)(lnexplnfffffEEBEEEEeCME2
32、112022-12-17蒙特卡罗方法 对称分布的一般形式为:其中 f1(x)为任意分布密度函数,满足偶函数对称条件,H(x)为任意奇函数,即对任意x满足:对称分布的抽样方法如下:取=21)()()(1xHxfxf)()()()(11xHxHxfxf1ffXX1ffXX)()(111ffXfXH2022-12-17蒙特卡罗方法证明:因为=21,x 相当于 ,因此xffxfffxfffxfffxfffxfffxffffxfffffffffffffffffdXXfdXXHXfdXXHXfdXXHXfdXXHXfdXXHXfdXXfXfXHdXXfXfXHXfXHxXPXfXHxXPXfXHxXPXf
33、XHxXPxXP11111111111111111111111111111111111)()()()()(21)()(21)()(21)()(21)()()(121)()()(121)()(121,)()(121,)()(121,)()(121,)(1111111111111x1212022-12-17蒙特卡罗方法 在质心系各向同性散射的假设下,为得到实验室系散射角余弦,需首先抽样确定质心条散射角余弦:再利用下面转换公式:得到实验室系散射角余弦L。其中A为碰撞核质量,C、L 分别为质心系和实验室系散射角。12cos11,21)(CCCCfCCLLAAA211cos22022-12-17蒙特卡罗
34、方法为避免开方运算,可以使用对称分布抽样。根据转换公式可得:依照质心系散射各向同性的假定,可得到实验室系散射角余弦L 的分布如下:该密度函数中的第一项为偶函数,第二项为奇函数,因而是对称分布。其中11,212121)(2222LLLLLAAAf11,12121)(22221LLLLAAAf111222LLLCAA2022-12-17蒙特卡罗方法从 f1(L)的抽样可使用挑选法然后再以的概率决定接受或取负值。上述公式涉及开方运算,需要进一步简化。22221212LLLAA1221221221121LAAAA2022-12-17蒙特卡罗方法注意以下事实:对于任意0a1令则上述挑选抽样中的挑选条件简
35、化为:另一方面,在 即 的条件下,2/a 在1,1上均匀分布,故可令2/a,则最终决定取正负值的条件简化为:aaPaP)()(2222AAAAa1121221221221222122221)21(1AAAA222a112a12221AA2022-12-17蒙特卡罗方法 于是,得到质心系各向同性散射角余弦分布的抽样方法为:112221222122221211)21(1LLAAAAAA2022-12-17蒙特卡罗方法 如下形式的分布密度函数称为积分分布密度函数,其中 f0(x,y)为任意二维分布密度函数,H(x)为任意函数。该分布密度函数的抽样方法为:)(0)(0),(),()(xHxHdxdyy
36、xfdyyxfxf000)(ffffXXXHY2022-12-17蒙特卡罗方法证明:对于任意x dxxfdxdyyxfdxdyyxfXHYPXHYdxxXxPXHYdxxXxPdxxXxPxHxHfffffffff)(),(),()()(,)()()(0)(000000000 2022-12-17蒙特卡罗方法 为了确定各向同性散射方向 ,根据公式:对于各向同性散射,cos在1,1上均匀分布,在0,2上均匀分布。由于直接抽样需要计算三角函数和开方。kjiwvucossinsincossinwvu221cos1sinw2022-12-17蒙特卡罗方法定义两个随机变量:可以证明,当 时,随机变量 x
37、 和 y 服从如下分布:定义区域为:xxAyxxyAyxf12,12min0,111221),(22232222212322222123222221AAyAAAAx123222022-12-17蒙特卡罗方法则 wcos 的分布可以用上述分布表示成积分分布的形式:令 ,则属于上述积分限内的 y 一定满足条件 。3163A1232221),(),()(31213121)()(xxdxdyyxfdyyxfxf2022-12-17蒙特卡罗方法各向同性散射方向的抽样方法为:抽样效率为:2322222123222221232222213123222221211223222221cos2sinsin2cos
38、sin)(AAAAwAAAvAAAuAA555.0122AE2022-12-17蒙特卡罗方法1)偏倚抽样方法2)近似抽样方法3)近似-修正抽样方法4)多维分布抽样方法5)指数分布的抽样2022-12-17蒙特卡罗方法 使用蒙特卡罗方法计算积分时,可考虑将积分I改写为其中 f*(x)为一个与 f(x)有相同定义域的新的分布密度函数。于是可以这样计算积分I:这里 Xi 是从 f*(x)中抽取的第 i 个子样。dxxfxgdxxfxfxfxgI)()()()()()(*dxxfxgI)()(NiiiiNiiiNiiNXgXWNXgXfXfNXgNI11*1*)()(1)()()(1)(12022-1
39、2-17蒙特卡罗方法 由此可以看出,原来由 f(x)抽样,现改为由另一个分布密度函数 f*(x)抽样,并附带一个权重纠偏因子这种方法称为偏倚抽样方法。从 f(x)中抽取的 Xf,满足而对于偏倚抽样,有 一般情况下,Xf 是具有分布 f(x)总体的简单子样的个体,只代表一个。Xf*是具有分布 f*(x)总体的简单子样的个体,但不代表一个,而是代表 W(Xf*)个,这时Xf*是带权W(Xf*)服从分布 f(x)。)()()(*xfxfxWdxxfdxdXxPf)()(dxxfdxxfxWdxdXxPXWff)()()()()(*2022-12-17蒙特卡罗方法 在实际问题中,分布密度函数的形式有时
40、是非常复杂的,有些甚至不能用解析形式给出,只能用数据或曲线形式给出。如中子散射角余弦分布多数是以曲线形式给出的。对于这样的分布,需要用近似分布密度函数代替原来的分布密度函数,用近似分布密度函数的抽样代替原分布密度函数的抽样,这种方法称为近似抽样方法。2022-12-17蒙特卡罗方法 设 fa(x)f(x),即 fa(x)是 f(x)的一个近似分布密度函数。对于阶梯近似,有其中,x0,x1,xn为任意分点。在此情况下,近似抽样方法为:或iiixxaxxxfdxxfxfii1*,)()(1当ijjijjijjiiiifiaiaiiiaiaiaifffffxxxXxFxFxxxFxFxFxXaa1*
41、11*11*1111111),()()(),()()()(当当2022-12-17蒙特卡罗方法 对于梯形近似,有其中,c 为归一因子,fi f(xi),x0,x1,xn为任意分点。根据对称抽样方法,梯形近似抽样方法为:iiiiiiiiaxxxffxxxxfcxf11111,)()(当)1)()(2)()()()(21121111211111iiifiiifiiiiiiaiaiaxxxXxxxXxxfffxFxFxFaa2022-12-17蒙特卡罗方法除了上述这种近似外,近似抽样方法还包括对直接抽样方法中分布函数反函数的近似处理,以及用具有近似分布的随机变量代替原分布的随机变量。2022-12-
42、17蒙特卡罗方法我们知道,随机数的期望值为 1/2,方差为 1/12,则随机变量渐近正态分布,因此,当 n 足够大时便可用 Xn 作为正态分布的近似抽样。特别是 n12 时,有nnXniin12121116112212iiiX2022-12-17蒙特卡罗方法 对于任意分布密度函数 f(x),设 fa(x)是 f(x)的一个近似分布密度函数,它的特点是抽样简单,运算量小。令则分布密度函数 f(x)可以表示为乘加分布形式:其中 H1(x)为非负函数,f1(x)为一分布密度函数。对 f(x)而言,fa(x)是它的近似分布密度函数,而H1(x)f1(x)正好是这种近似的修正。)()(inf0)(xfx
43、fmaxfa)()()()(11xfxHxfmxfa2022-12-17蒙特卡罗方法近似-修正抽样方法如下:抽样效率 由上述近似-修正抽样方法可以看出,如果近似分布密度函数 fa(x)选得好,m 接近 1,这时有很大可能直接从 fa(x)中抽取 Xfa,而只有很少的情况需要计算与f(x)有关的函数 H1(Xf1)。在乘抽样方法中,每一次都要计算 H(Xfa)f(Xfa)fa(Xfa)。因此,当 f(x)比较复杂时,近似-修正抽样方法有很大好处。12)1(MmmE11111)(fffffXXXXMXHma2022-12-17蒙特卡罗方法裂变中子谱分布的一般形式为:其中A,B,C,Emin,Ema
44、x 均为与元素有关的量。对于铀-235,A=0.965,B=2.29,C=0.453,Emin=0,Emax=。若采用乘减抽样方法,其抽样效率约为0.5。maxmin,sh)(EEEBEeCEfAE2022-12-17蒙特卡罗方法令相应的则从 fa(x)的抽样为从 f1(x)的抽样为EAAAAEfAEAEEfa1exp1)(exp)(12EAmEBECAAEHexpsh1)(21)()()()(11EfEHEfmEfaBEECAEfEfmEfaEfaashinf)()(inf20)(0)(332ln1)ln(1AAEAEffa2022-12-17蒙特卡罗方法参数的确定,使1A0,且使 H1(E
45、)的上界M1 最小。裂变中子谱的近似修正抽样方法为对于铀-235,m0.8746,M0.2678,0.5543,抽样效率 E0.9333。而且近似修正抽样方法有0.8746的概率直接用近似分布抽样,只计算一次对数。因此,较之乘减抽样方法大大节省了计算时间,提高了抽样效率。3321121ln1)ln()(1AAXAXMXHmfff2022-12-17蒙特卡罗方法为方便起见,这里仅讨论二维分布的情况,对于更高维数的分布,可用类似的方法处理。对于任意二维分布密度函数,总可以用其边缘分布密度函数和条件分布密度函数的乘积表示:其中 fl(x),f2(y|x)分别为分布 f(x,y)的边缘分布密度函数和条
46、件分布密度函数,即dyyxfyxfxfyxfxyfdyyxfxf),(),()(),()(),()(121)()(),(21xyfxfyxf2022-12-17蒙特卡罗方法二维分布密度函数的抽样方法是:首先由 fl(x)中抽取 Xf1,再由 f2(y|Xf1)中抽样确定 Yf2。对于多维分布密度函数,也可直接采用类似于一维分布密度函数的抽样方法。例如,对如下形式的二维分布密度函数:其中 H(x,y)为非负函数,f1(x,y)为任意二维分布密度函数。设 M 为 H(x,y)的上界,则有二维分布的乘抽样方法如下:),(),(),(1yxfyxHyxf1111,),(ffffffYYXXMYXH20
47、22-12-17蒙特卡罗方法将 f(x,y)写为其中用直接抽样方法分别从 fl(x)和 f2(y|Xf1)中抽样,得到 0,1),(yxxeyxfxy)()(),(21xyfxfyxfxyexxyfxxf)(1)(2212121lnln1121fffXYX2022-12-17蒙特卡罗方法前面已经介绍了,指数分布的直接抽样为:这不仅需要计算对数,而且由于要使用伪随机数,受精度的限制,该抽样值在小概率处即数值较大处呈现明显得离散性。下面介绍两种抽样方法可以避免这些问题。0,)(xexfxlnfX2022-12-17蒙特卡罗方法所用随机数的平均个数 Ne2/(e1)4.3011100nXnniiiinfii为偶数NY2022-12-17蒙特卡罗方法 00111000nXnniiiYYYYinfi为偶数,NY2022-12-17蒙特卡罗方法1)光子散射后能量分布的抽样把光子散射能量分布改写成如下形式进行抽样:22211111)(1)(xxxxxKxf2022-12-17蒙特卡罗方法在1,1+2上定义如下函数:32221221)1()(2)(11)21)(2)(21)(1221)(xxKxHxKxHxfxxf2022-12-17蒙特卡罗方法