电竞比分网-中国电竞赛事及体育赛事平台

分享

AlphaGo相關技術:蒙特卡羅方法簡介

 imelee 2016-03-14
原文出處: 王曉勇   

蒙特卡羅(Monte Carlo)方法,也稱為計算機隨機模擬方法,是一種基于”隨機數(shù)”的計算方法。

一、起源

這一方法源于美國在第二次世界大戰(zhàn)進研制原子彈的”曼哈頓計劃”。Monte Carlo方法創(chuàng)始人主要是這四位:Stanislaw Marcin Ulam、Enrico Fermi、John von Neumann(學計算機的肯定都認識這個牛人吧)和 Nicholas Metropolis。

  • Stanislaw Marcin Ulam是波蘭裔美籍數(shù)學家,早年是研究拓撲的,后因參與曼哈頓工程,興趣遂轉向應用數(shù)學,他首先提出用Monte Carlo方法解決計算數(shù)學中的一些問題,然后又將其應用到解決鏈式反應的理論中去,可以說是MC方法的奠基人;
  • Enrico Fermi是個物理大牛,理論和實驗同時都是大牛,這在物理界很少見,在“物理大牛的八卦”那篇文章里提到這個人很多次,對于這么牛的人只能是英年早逝了(別說我嘴損啊,上帝都嫉妒!);
  • John von Neumann(馮·諾依曼)可以說是計算機界的牛頓吧,太牛了,結果和Fermi一樣,被上帝嫉妒了;
  • Nicholas Metropolis,希臘裔美籍數(shù)學家,物理學家,計算機科學家,這個人對Monte Carlo方法做的貢獻相當大,正式由于他提出的一種什么算法(名字忘了),才使得Monte Carlo方法能夠得到如此廣泛的應用,這人現(xiàn)在還活著,與前幾位牛人不同,Metropolis很專一,他一生主要的貢獻就是Monte Carlo方法。

蒙特卡羅方法的名字來源于摩納哥的一個城市蒙地卡羅,該城市以賭博業(yè)聞名,而蒙特·卡羅方法正是以概率為基礎的方法。與它對應的是確定性算法。

二、解決問題的基本思路

Monte Carlo方法的基本思想很早以前就被人們所發(fā)現(xiàn)和利用。早在17世紀,人們就知道用事件發(fā)生的”頻率”來決定事件的”概率”。19世紀人們用投針試驗的方法來決定圓周率π。本世紀40年代電子計算機的出現(xiàn),特別是近年來高速電子計算機的出現(xiàn),使得用數(shù)學方法在計算機上大量、快速地模擬這樣的試驗成為可能。

為了說明Monte Carlo方法的基本思想,讓我們先來看一個簡單的例子,從此例中你可以感受如何用Monte Carlo方法考慮問題。

例1:比如y=x^2(對x)從0積到1。結果就是下圖紅色部分的面積:

注意到函數(shù)在(1,1)點的取值為1,所以整個紅色區(qū)域在一個面積為1的正方形里面。所以所求區(qū)域的面積即為 在正方形區(qū)域內任取點,點落在所求區(qū)域的概率。這個限制條件是y^2。用matlab模擬,做一百萬次(即共取1000000個點),結果為0.3328。

1)總結Monte Carlo方法的基本思想:所求解問題是某隨機事件A出現(xiàn)的概率(或者是某隨機變量B的期望值)。通過某種“實驗”的方法,得出A事件出現(xiàn)的頻率,以此估計出A事件出現(xiàn)的概率(或者得到隨機變量B的某些數(shù)字特征,得出B的期望值)。

2)工作過程
在解決實際問題的時候應用蒙特卡羅方法主要有兩部分工作:

  • 用蒙特卡羅方法模擬某一過程時,需要產生各種概率分布的隨機變量。
  • 用統(tǒng)計方法把模型的數(shù)字特征估計出來,從而得到實際問題的數(shù)值解。

3)蒙特卡羅解題三個主要步驟:

① 構造或描述概率過程: 對于本身就具有隨機性質的問題,如粒子輸運問題,主要是正確描述和模擬這個概率過程,對于本來不是隨機性質的確定性問題,比如計算定積分,就必須事先構造一個人為的概率過程,它的某些參量正好是所要求問題的解。即要將不具有隨機性質的問題轉化為隨機性質的問題。

② 實現(xiàn)從已知概率分布抽樣: 構造了概率模型以后,由于各種概率模型都可以看作是由各種各樣的概率分布構成的,因此產生已知概率分布的隨機變量(或隨機向量),就成為實現(xiàn)蒙特卡羅方法模擬實驗的基本手段,這也是蒙特卡羅方法被稱為隨機抽樣的原因。最簡單、最基本、最重要的一個概率分布是(0,1)上的均勻分布(或稱矩形分布)。隨機數(shù)就是具有這種均勻分布的隨機變量。隨機數(shù)序列就是具有這種分布的總體的一個簡單子樣,也就是一個具有這種分布的相互獨立的隨機變數(shù)序列。產生隨機數(shù)的問題,就是從這個分布的抽樣問題。在計算機上,可以用物理方法產生隨機數(shù),但價格昂貴,不能重復,使用不便。另一種方法是用數(shù)學遞推公式產生。這樣產生的序列,與真正的隨機數(shù)序列不同,所以稱為偽隨機數(shù),或偽隨機數(shù)序列。不過,經過多種統(tǒng)計檢驗表明,它與真正的隨機數(shù),或隨機數(shù)序列具有相近的性質,因此可把它作為真正的隨機數(shù)來使用。由已知分布隨機抽樣有各種方法,與從(0,1)上均勻分布抽樣不同,這些方法都是借助于隨機序列來實現(xiàn)的,也就是說,都是以產生隨機數(shù)為前提的。由此可見,隨機數(shù)是我們實現(xiàn)蒙特卡羅模擬的基本工具。 建立各種估計量: 一般說來,構造了概率模型并能從中抽樣后,即實現(xiàn)模擬實驗后,我們就要確定一個隨機變量,作為所要求的問題的解,我們稱它為無偏估計。

③ 建立各種估計量,相當于對模擬實驗的結果進行考察和登記,從中得到問題的解。 例如:檢驗產品的正品率問題,我們可以用1表示正品,0表示次品,于是對每個產品檢驗可以定義如下的隨機變數(shù)Ti,作為正品率的估計量: 于是,在N次實驗后,正品個數(shù)為: 顯然,正品率p為: 不難看出,Ti為無偏估計。當然,還可以引入其它類型的估計,如最大似然估計,漸進有偏估計等。但是,在蒙特卡羅計算中,使用最多的是無偏估計。 用比較抽象的概率語言描述蒙特卡羅方法解題的手續(xù)如下:構造一個概率空間(W ,A,P),其中,W 是一個事件集合,A是集合W 的子集的s 體,P是在A上建立的某個概率測度;在這個概率空間中,選取一個隨機變量q (w ),w ? W ,使得這個隨機變量的期望值 正好是所要求的解Q ,然后用q (w )的簡單子樣的算術平均值作為Q 的近似值。

三、本方法特點

直接追蹤粒子,物理思路清晰,易于理解。

  • 采用隨機抽樣的方法,較真切的模擬粒子輸運的過程,反映了統(tǒng)計漲落的規(guī)律。
  • 不受系統(tǒng)多維、多因素等復雜性的限制,是解決復雜系統(tǒng)粒子輸運問題的好方法。
  • MC程序結構清晰簡單。
  • 研究人員采用MC方法編寫程序來解決粒子輸運問題,比較容易得到自己想得到的任意中間結果,應用靈活性強。
  • MC方法主要弱點是收斂速度較慢和誤差的概率性質,其概率誤差正比于,如果單純以增大抽樣粒子個數(shù)N來減小誤差,就要增加很大的計算量。

另一類形式與Monte Carlo方法相似,但理論基礎不同的方法-”擬蒙特卡羅方法”(Quasi-Monte Carlo方法)-近年來也獲得迅速發(fā)展。我國數(shù)學家華羅庚、王元提出的”華-王”方法即是其中的一例。這種方法的基本思想是”用確定性的超均勻分布序列(數(shù)學上稱為Low Discrepancy Sequences)代替Monte Carlo方法中的隨機數(shù)序列。對某些問題該方法的實際速度一般可比Monte Carlo方法提出高數(shù)百倍,并可計算精確度。

蒙特卡羅方法在金融工程學,宏觀經濟學,計算物理學(如粒子輸運計算、量子熱力學計算、空氣動力學計算)等領域應用廣泛。

四、Monte Carlo方法的計算程序

關于蒙特卡羅方法的計算程序已經有很多,如:EGS4、FLUKA、ETRAN、ITS、MCNP、GEANT等。這些程序大多經過了多年的發(fā)展,花費了幾百人年的工作量。除歐洲核子研究中心(CERN)發(fā)行的GEANT主要用于高能物理探測器響應和粒子徑跡的模擬外,其它程序都深入到低能領域,并被廣泛應用。就電子和光子輸運的模擬而言,這些程序可被分為兩個系列:

  1. EGS4、FLUKA、GRANT
  2. ETRAN、ITS、MCNP 這兩個系列的區(qū)別在于:對于電子輸運過程的模擬根據不同的理論采用了不同的算法。

EGS4和ETRAN分別為兩個系列的基礎,其它程序都采用了它們的核心算法。

ETRAN(for Electron Transport)由美國國家標準局輻射研究中心開發(fā),主要模擬光子和電子,能量范圍可從1KeV到1GeV。

ITS(The integrated TIGER Series of Coupled Electron/Photon Monte Carlo Transport Codes )是由美國圣地亞哥(Sandia)國家實驗室在ETRAN的基礎上開發(fā)的一系列模擬計算程序,包括TIGER 、CYLTRAN 、ACCEPT等,它們的主要差別在于幾何模型的不同。

TIGER研究的是一維多層的問題,CYLTRAN研究的是粒子在圓柱形介質中的輸運問題,ACCEPT是解決粒子在三維空間輸運的通用程序。
NCNP(Monte Carlo Neutron and Photo Transport Code)由美國橡樹林國家實驗室(Oak Ridge National Laboratory)開發(fā)的一套模擬中子、光子和電子在物質中輸運過程的通用MC 計算程序,在它早期的版本中并不包含對電子輸運過程的模擬,只模擬中子和光子,較新的版本(如MCNP4A)則引進了ETRAN,加入了對電子的模擬。

FLUKA 是一個可以模擬包括中子、電子、光子和質子等30余種粒子的大型MC計算程序,它把EGS4容納進來以完成對光子和電子輸運過程的模擬,并且對低能電子的輸運算法進行了改進。

五、Monte Carlo方法相關的一些資料

  • 一個網站:http://csep1.phy./mc/mc.html
  • 《蒙特卡羅方法》 徐鐘濟著 上??茖W技術出版社
  • 《科學計算中的蒙特卡羅策略》(當代科學前沿論叢)(Monte Carlo Strategies in Scientific Computing) 作者:劉軍  譯者:唐年勝 周勇 徐亮
  • 統(tǒng)計物理學中的蒙特卡羅模擬方法  ( 德) 賓德(Binder,K.),赫爾曼(Heermann,D.W.) 著  北京大學出版社  1994.2
  • 小尺寸半導體器件的蒙特卡羅模擬  葉良修編著  科學出版社  1997.2
  • 蒙特卡羅方法及其在粒子輸運問題中的應用  裴鹿成, 張孝澤著  科學出版社  1980.10
  • 統(tǒng)計試驗法:( 蒙特卡羅法) 及其在電子數(shù)字計算機上的實現(xiàn)  (蘇) 布斯連科( Н. П. Бусленко), (蘇) 施  上??茖W技術出版社
  • 若干本書:人大經濟論壇http://www./bbs/thread-445802-1-1.html
  • 高分子科學中的Monte Carlo方法  楊玉良  復旦大學出版社  1993.12  7-309-01361-1
  • Monte Carlo simulation of semiconductor devices  C. Moglestue.  Chapman & Hall,  1993.  041247770X
  • Monte Carlo methods in statistical physics  with contributions by K. Binder … [et al.] ; edi  Springer-Verlag,  1979.
  • guide to Monte Carlo simulations in statistical physics  David P. Landau, Kurt Binder.  Cambridge University Press,  c2000.
  • Monte Carlo methods in statistical physics  edited by K. Binder ; with contributions by K. Bin  Springer-Verlag,  c1986.
  • Applications of the Monte Carlo method in statistical physics  edited by K. Binder.  Springer,  1984.
  • Monte Carlo Device Simulation  Karl Hess  Kluwer Acadmic

 

參考資料

1、http://baike.baidu.com/view/1675475.htm?fr=ala0_1
2、http://baike.baidu.com/view/42460.htm?fr=ala0_1_1
3、http://gorilla./logs/4669.html
4、http://blog.sina.com.cn/s/blog_5e8154170100cgc4.html
5、http://www./?p=121

1 贊 收藏 1 評論

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多