ma_model_preparation2

1. 蒙特卡洛方法

(1)基本思路:

蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。

(2)一种应用:利用蒙特卡洛方法求积分:

假设我们需要求这样一个图的积分
求积分图1
那么实际上,我们所需要的过程可以表示如下
求积分过程

从这两个过程中,我们可以看到,实际上对于积分的求解可以简化为这样一个过程:

假设要计算的积分如下:

那么如果选择一个概率密度函数为$f_X(x)$的方式进行抽样,并且满足$\int_{a}^{b}f_X(x)\text{d}x=1$,那么令$g^*(x)=\frac{g(x)}{f_X(x)}$,原有的积分可以写成如下形式:

故,我们求积分的步骤为:


1.产生服从分布律$F_X$的随机变量$X_i(i=1,2,…,N)$

2.计算均值

一般采用均匀分布求解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import random

def calpai():
n = 1000000
r = 1.0
a, b = (0.0, 0.0)
x_neg, x_pos = a - r, a + r
y_neg, y_pos = b - r, b + r

count = 0
for i in range(0, n):
x = random.uniform(x_neg, x_pos)
y = random.uniform(y_neg, y_pos)
if x*x + y*y <= 1.0:
count += 1

print (count / float(n)) * 4

(3)蒙特卡洛树搜索

as we know, an important method used in alpha go and alpha zero is Monte Carlo Tree search. So if you want to know more about this method, you can search this website(Monte Carlo Tree search) and get some knowledge yourself. also, you can get information in almost every game theory book.And try to get the big idea in Monte Carlo Tree search.

2. 马尔科夫链

2.1 马尔可夫链的定义

现实世界中有很多这样的现象:某一系统在已知现在情况的条件下,系统未来时刻
的情况只与现在有关,而与过去的历史无直接关系。比如,研究一个商店的累计销售额,
如果现在时刻的累计销售额已知,则未来某一时刻的累计销售额与现在时刻以前的任一
时刻累计销售额无关。上节中的几个例子也均属此类。描述这类随机现象的数学模型称
为马氏模型。

对于马尔科夫链的数学定义,可以直接参照《数学建模算法与应用》(司守奎)

2.2 马尔科夫链的性质

转移概率矩阵及柯尔莫哥洛夫定理

对于这个性质,可以查看我给出的代码morkov.py进行了解

2.3 马尔科夫链的应用

虽然马尔科夫链的性质极其简单,但是其应用广泛,有着极大的意义。
应用马尔可夫链的计算方法进行马尔可夫分析,主要目的是根据某些变量现在的情
况及其变动趋向,来预测它在未来某特定区间可能产生的变动,作为提供某种决策的依
据。