此算法誕生的背景是:算法
蒙特卡洛算法理論基礎是機率論,實際就是暴力計算逼近理想結果。正是在以上兩個背景下,它恰好獲得了極大的應用和發展。dom
蒙特·卡羅算法,也稱統計模擬方法,是二十世紀四十年代中期因爲科學技術的發展和電子計算機的發明,而被提出的一種以機率統計理論爲指導的一類很是重要的數值計算方法。是指使用隨機數(或更常見的僞隨機數)來解決不少計算問題的方法。與它對應的是肯定性算法。蒙特·卡羅方法在金融工程學,宏觀經濟學,計算物理學(如粒子輸運計算、量子熱力學計算、空氣動力學計算)等領域應用普遍。code
上面敘述的是定義,我來描述一個例子:蒙特卡羅法計算圓周率blog
import random import math def main(): print '請輸入迭代的次數:' n=int(raw_input()) #n是隨機的次數 total=0 #total是全部落入圓內的隨機點 for i in xrange(n): x=random.random() y=random.random() if math.sqrt(x**2+y**2)<1.0: #判斷是否落入圓內 total+=1 mypi=4.0*total/n #獲得Pi值 print '迭代次數是',n,'Pi的值是:',mypi print '數學pi:',math.pi print '偏差是:',abs(math.pi-mypi)/math.pi #計算偏差 main()