蒙地卡羅法求 PI

2021-10-10 08:23:54 字數 640 閱讀 7889

蒙地卡羅為摩洛哥王國之首都,該國位於法國與義大利國境,以賭博聞名。蒙地卡羅的基本原理為以亂數配合面積公式來進行解題,這種以機率來解題的方式帶有賭博的意味,雖然在精確度上有所疑慮,但其解題的思考方向卻是個值得學習的方式。

解法蒙地卡羅的解法適用於與面積有關的題目,例如求pi值或橢圓面積,這邊介紹如何求pi值;假設有乙個圓半徑為1,所以四分之一圓面積就為pi,而包括此四分之一圓的正方形面積就為1,如下圖所示:

如果隨意的在正方形中投射飛標(點)好了,則這些飛標(點)有些會落於四分之一圓內,假設所投射的飛標(點)有n點,在圓內的飛標(點)有c點,則依比例來算,就會得到上圖中最後的公式。

至於如何判斷所產生的點落於圓內,很簡單,令亂數產生x與y兩個數值,如果x^2+y^2等於1就是落在圓內。

#include #include #include #define n 50000 

int main(void)

printf("pi = %f\n", (double) 4 * sum / n);

return 0;

}

蒙地卡羅法求 PI

蒙地卡羅法求 pi 蒙地卡羅為摩洛哥王國之首都,該國位於法國與義大利國境,以賭博聞名。蒙地卡羅的基本原理為以亂數配合面積公式來進行解題,這種以機率來解題的方式帶有賭博的意味,雖然在精確度上有所疑慮,但其解題的思考方向卻是個值得學習的方式。演算法說明 蒙地卡羅的解法適用於與面積有關的題目,例如求pi值...

經典演算法 蒙地卡羅法求 PI

題目說明 蒙地卡羅為摩洛哥王國之首都,該國位於法國與義大利國境,以賭博聞名。蒙地卡羅的基本原理為以亂數配合面積公式來進行解題,這種以機率來解題的方式帶有賭博的意味,雖然在精確度上有所疑慮,但其解題的思考方向卻是個值得學習的方式。題目解析 蒙地卡羅的解法適用於與面積有關的題目,例如求pi值或橢圓面積,...

蒙地卡羅樹搜尋

這個也不是我原創的,我只是個學習者。第一次聽蒙地卡羅樹搜尋是關於阿爾法狗大戰李世石。回合制遊戲中,每個選手都沒有什麼資訊可以對對方隱藏的,而且也沒有概率的因素在裡面,比如擲骰子或者從牌隊裡面抽一張牌出來。很多遊戲都是這種型別,比如西洋棋,圍棋等。什麼東西在這類遊戲中都是確定的,從理論上來說,可以構建...