蒙特卡洛演算法應用一

2021-09-25 14:43:52 字數 2165 閱讀 9409

蒙特卡洛演算法是常用的**演算法,現借助r語言實現一些蒙特卡洛演算法的應用。

一、蒙特卡洛方法測算π

1.1  原理:隨機向單位正方形和圓結構拋灑大量點,對於每個點,可能在圓內或者在圓外,當隨機拋灑點數量達到一定程度,圓內點將構成圓的面積,全部拋點將構成矩形面積。圓內點數除以所有點數就是面積之比,即π/4。隨機點數量越大,得到的π值越精確。

1.2  程式:

zeros

k darts

start

x1 y1

x2 y2

for (i in 1:darts)

else

}pi

proc.time()-start

print(paste0('pi is ',pi))

#par(new=true)

plot(x2,y2,pch  = "*",col = "red")  #圓外點

points(x1,y1,pch = "+",col = "green") #圓內點

curve(sqrt(1-x^2),0,1,add=t)  #半圓邊界線

1.3  結果:

> proc.time()-start

使用者 系統 流逝 

二、射擊問題

2.1  問題描述:在我方某前沿防守地域,敵人以乙個炮排(含兩門火炮)為單位對我方進行干擾和破壞。為躲避我方打擊,敵方對其陣地進行了偽裝並經常變換射擊地點。經過長期觀察發現,我方指揮所對敵方目標的指示有50%是準確的,而我方火力單位,在指示正確時,有1/3的射擊效果能毀傷敵人一門火炮,有1/6的射擊效果能全部毀傷敵人火炮。現在希望能用某種方式把我方將要對敵人實施的20次打擊結果顯現出來,確定有效射擊的比率及毀傷敵方火炮的平均值。

2.2  程式

k1 k2

k3 n

for(i in 1:n)

if(y1==4|y1==5)

if(y1==6)

}else

}out1

out2

out3

out4

out1

out2

out3

out4

2.3   結果:

[1] "第1次:指示正確!"

[1] "第1次:擊中1炮!"

[1] "第2次:指示錯誤,擊中0炮!"

[1] "第3次:指示正確!"

[1] "第3次:擊中0炮!"

[1] "第4次:指示正確!"

[1] "第4次:擊中1炮!"

[1] "第5次:指示錯誤,擊中0炮!"

[1] "第6次:指示錯誤,擊中0炮!"

[1] "第7次:指示錯誤,擊中0炮!"

[1] "第8次:指示正確!"

[1] "第8次:擊中1炮!"

[1] "第9次:指示錯誤,擊中0炮!"

[1] "第10次:指示正確!"

[1] "第10次:擊中0炮!"

[1] "第11次:指示錯誤,擊中0炮!"

[1] "第12次:指示錯誤,擊中0炮!"

[1] "第13次:指示正確!"

[1] "第13次:擊中1炮!"

[1] "第14次:指示正確!"

[1] "第14次:擊中1炮!"

[1] "第15次:指示錯誤,擊中0炮!"

[1] "第16次:指示錯誤,擊中0炮!"

[1] "第17次:指示正確!"

[1] "第17次:擊中1炮!"

[1] "第18次:指示正確!"

[1] "第18次:擊中2炮!"

[1] "第19次:指示正確!"

[1] "第19次:擊中0炮!"

[1] "第20次:指示正確!"

[1] "第20次:擊中0炮!"

> out1

[1] 0.35

> out2

[1] 0.4

> out3

[1] 0.3

> out4

[1] 0.05

蒙特卡洛演算法重在理解,與其說是演算法還不如說是思想。

蒙特卡洛演算法

從今天開始要研究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呢?乙個辦法是在正方形中...

蒙特卡洛演算法(PAI

在新學期中的繼續學習離散數學中,接觸到蒙特卡洛演算法,解決了我以前幾何圖形求面積不好求的問題,看到十分的開心。蒙特卡洛演算法就是模擬出指定某隨機事件發生的概率,比如我們想要判斷一下兩枚骰子在同時擲出後,同時出現 6 的頻率就可以通過增加實驗執行的次數,來確保該頻率越來越接近該事件發生的概率。也就是實...