蒙特卡洛演算法思想介紹

2021-08-13 11:47:21 字數 965 閱讀 2759

蒙特卡洛演算法是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呢?乙個辦法是在正方形中...