蒙特卡洛演算法是alphago的核心之一
當要求問題在有限的取樣步驟以內,必須給出乙個解的時候,不要求最優性,就是蒙卡特羅演算法
兩個小實驗
蒙特卡洛演算法的兩個小實驗。
1.計算圓周率pi。
原理:先畫乙個正方形,畫出其內切圓,然後這個正方形內隨機的畫點,設點落在圓內的概為p,則p=圓面積/正方形面積。
p=(pi*r*r)/(2r*2r)= pi/4 ,即 pi=4p
步驟:1.將圓心設在原點,以r為半徑做圓,則第一象限的1/4圓面積為pi*r*r/4
2.做該1/4圓的外接正方形, 座標為(0,0)(0,r)(r,0)(r,r),則該正方形面積為r*r
3.隨即取點(x,y),使得0<=x<=r並且0<=y<=r,即點在正方形內
4.通過公式 x*x+y*y5.設所有點(也就是實驗次數)的個數為n,落在1/4圓內的點(滿足步驟4的點)的個數為m,則
p=m/n 於是pi=4*n/m
import random
def m_c(num):
count = 0;
for i in range(1,num+1):
x = random.uniform(0,1)
y = random.unifrom(0,1)
if x**2+y**2<1:
count+=1
return 4.0*count/num;
m_c(10000)執行結果為3.1424
2.蒙特卡洛模擬求函式極值,可避免陷入區域性極值
#在區間[-2,2]上隨機生成乙個數,求出其對應的y,找出裡面最大的認為是函式在[-2,2]上的極大值
模擬1000次後發現極大值為 185.12292832389875(非常準確)
蒙特卡洛思想 Monte Carlo思想
蒙特卡羅法也稱統計模擬法 統計試驗法,是把概率現象作為研究物件的數值模擬方法 是按抽樣調查法求取統計值來推定未知特性量的計算方法 蒙特卡羅是摩納哥的著名賭城,該法為表明其隨機抽樣的本質而命名 蒙特卡羅是一類隨機演算法的統稱,其主要思想是取樣越多,得到的結果越近似於最優解。更多的是從總體中抽乙個樣本,...
蒙特卡洛演算法
從今天開始要研究sampling methods,主要是mcmc演算法 contents 1.蒙特卡洛介紹 2.蒙特卡洛的應用 3.蒙特卡洛積分 1.蒙特卡洛介紹 蒙特卡羅方法 monte carlo method 也稱統計模擬方法,是二十世紀四十年代中期由於科學技術的 發展和電子計算機的發明,而被...
蒙特卡洛演算法
問題描述 在數值積分法中,利用求單位圓的1 4的面積來求得pi 4從而得到pi。單位圓的1 4面積是乙個扇形,它是邊長為1單位正方形的一部分。只要能求出扇形面積s1在正方形面積s中佔的比例k s1 s就立即能得到s1,從而得到pi的值。怎樣求出扇形面積在正方形面積中佔的比例k呢?乙個辦法是在正方形中...