蒙特卡罗算法介绍

  • 格式:pdf
  • 大小:64.11 KB
  • 文档页数:1

蒙特卡罗算法介绍

蒙特卡罗是⼀类随机⽅法的统称。这类⽅法的特点是,可以在随机采样上计算得到近似结果,随着采样的增多,得到的结果是正确结果的概率逐渐加⼤,但在

(放弃随机采样,⽽采⽤类似全采样这样的确定性⽅法)获得真正的结果之前,⽆法知道⽬前得到的结果是不是真正的结果。

举例说明,⼀个有10000个整数的集合,要求其中位数,可以从中抽取m<10000个数,把它们的中位数近似地看作这个集合的中位数。随着m增⼤,近似结果是

最终结果的概率也在增⼤,但除⾮把整个集合全部遍历⼀边,⽆法知道近似结果是不是真实结果。

另外⼀个例⼦,给定数N,要求它是不是素数,可以任选m个⼩于N的数,看其中有没有能整除N的数,如果没有则判断为素数。这和通常见到的蒙特卡罗例⼦不

同,近似结果往往错得更离谱,但随着m增⼤,近似结果是最终结果的概率也在增⼤。

把蒙特卡罗⽅法和另外⼀类⽅法——拉斯维加斯⽅法[1]——对⽐⼀下,更容易了解哪些⽅法属于蒙特卡罗,哪些不属于。拉斯维加斯⽅法是另⼀类随机⽅法的

统称。这类⽅法的特点是,随着采样次数的增多,得到的正确结果的概率逐渐加⼤,如果随机采样过程中已经找到了正确结果,该⽅法可以判别并报告,但在但

在放弃随机采样,⽽采⽤类似全采样这样的确定性⽅法之前,不保证能找到任何结果(包括近似结果)。

举例说明,有⼀个有死胡同但⽆环路的迷宫,要求从⼊⼝⾛到出⼝的⼀条路径。可以从⼊⼝出发,在每个叉路⼝随机选择⼀个⽅向前⾏,到死胡同则报告失败并

回到⼊⼝重新试探,到出⼝则报告成功。随着试探次数增多,找到⼀条⼊⼝到出⼝的路径的概率增⼤,但除⾮全枚举,即使试10000年,也⽆法保证找到任何要

求的路径。