蒙特卡罗模拟是一种基于随机数的计算机模拟方法

随机过程

放射性衰变,噪声,多粒子系统的个体运动(表现随机)

概率密度函数:随机变量在单位区间内的概率。$f(u)du=P[u,u+du]$

分布函数:$\begin{aligned}&F(u)=\int_{-\infty}^uf(x)dx,f(u)=\frac{dF(u)}{du},f(u)du,F(u)\in[0,1]\end{aligned}$数学期望:$E\{A(u)\}=\int A(u)f(u)du$

方差:$V\{A(u)\}=E\{[A-E\{A\}]^2\}=E\{A^2\}-E\{A\}^2$

大手术定律:$\bar{A}=\lim_{n\to\infty}\frac1n\sum_{i=1}^nA(u_i)=E\{A(u)\}=\int A(u)f(u)du$,随着样本容量n的增加,样本的算术平均值将收敛于数学期望(总体平均值)。

中心极限定律:随着样本容量n趋于无穷大,样本的分布服从正态分布$N(E\{A(u)\},V\{A(u)\})$

随机数

线性同余法产生均匀分布的伪随机数:$x_{n+1}=(ax_n+b)mod(m)$,产生周期为𝑚,位于区间(0,𝑚)的伪随机数序列,其中$x_1$为随机数种子

for i in range(N):
    x = (a*x+b)%m
    random.append(1.0*x/m)
hist, edge = np.histogram(random,bins=20,normed='True')
##%取余数,histogram统计分布

反函数法:$F(u)=\int_{-\infty}^{u}f(x)dx$,若$\xi_n$为0,1之间均匀分布的随机数序列,则$η=𝐹^{−1}(\xi)$为满足概率密度𝑓𝑥的随机数序列。

Untitled

例子

求解$\pi$

迭代函数系统(IFS)