日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

蒙特卡罗类型概率算法

發(fā)布時(shí)間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蒙特卡罗类型概率算法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

蒙特卡羅類型概率算法

蒙特卡羅算法:用蒙特卡羅算法能夠求得問(wèn)題的一個(gè)解,但是這個(gè)解未必是正確的。求得正確解的概率依賴于算法所用的時(shí)間。算法所用的時(shí)間越多,得到正確解的概率就越高。蒙特卡羅算法的主要缺點(diǎn)就在于此。一般情況下,無(wú)法有效判斷得到的解是否肯定正確。其特點(diǎn)是判定問(wèn)題的準(zhǔn)確解,得到的解不一定正確。

【問(wèn)題】設(shè)計(jì)一個(gè)求(圓周率)的蒙特卡羅型概率算法。

【解答】在邊長(zhǎng)為2的正方形內(nèi)有一半徑為1的內(nèi)切圓,如圖所示。向該正方形中投擲n次飛鏢,假設(shè)飛鏢擊中正方形中任何位置的概率相同,設(shè)飛鏢的位置為(x,y),如果有+1,則飛鏢落在內(nèi)切圓中。

? ? ? ?這里內(nèi)切圓面積為,正方形面積為4,內(nèi)切圓面積與正方形面積比為/4。若n次投擲中有m次落在內(nèi)切圓中,則內(nèi)切圓面積與正方形面積之比可近似為m/n,即/4m/n,或者4m/n。

? ? ? 由于圖中每個(gè)象限的概率相同,這里以右上角象限進(jìn)行模擬。采用蒙特卡羅型概率算法求得程序如下:

#include <iostream> #include <stdio.h> #include <stdlib.h> #include <time.h> using namespace std;int randa(int a,int b) {return rand() % (b - a + 1) + a; } double rand01() { //產(chǎn)生一個(gè)[0,1]的隨機(jī)數(shù)return randa(0, 100)*1.0 / 100; }double solve() { //求π的蒙特卡羅算法int n = 10000;int m = 0;double x, y;for (int i = 0; i < n;i++) {x = rand01();y = rand01();if (x*x+y*y<=1.0) {m++;}}return 4.0*m / n;}void main() {srand((unsigned)time(NULL));//隨機(jī)種子cout <<"π="<<solve()<< endl;system("pause"); }

選擇出現(xiàn)頻率出現(xiàn)最高的即可。

?

總結(jié)

以上是生活随笔為你收集整理的蒙特卡罗类型概率算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。