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

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

生活随笔

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

编程问答

蒙特卡洛近似的一些例子

發(fā)布時(shí)間:2023/12/31 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蒙特卡洛近似的一些例子 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Monte Carlo Algorithms

Calculating Pi

  • 假設(shè)我們有一個(gè)隨機(jī)數(shù)生成器,它可以隨機(jī)生成[-1,1]之間的實(shí)數(shù),我們每次生成兩個(gè)隨機(jī)數(shù),一個(gè)作為x,一個(gè)作為y,這樣我們就有了一個(gè)點(diǎn),所有的點(diǎn)都會(huì)落在藍(lán)色的正方形里面,由于x和y都是在[-1,1]之間均勻分布,所以正方形中所有的點(diǎn)都有相同的概率密度,正方形中包含一個(gè)綠色的原,半徑為1,圓心是原點(diǎn)。剛剛隨機(jī)生成的點(diǎn)可能會(huì)落在圓里面,可能會(huì)落在圓外面。這里我們不難得到落在圓中的概率為π4\frac{\pi}{4}4π?

  • 假設(shè)我們?cè)谡叫螀^(qū)域中隨機(jī)抽樣n個(gè)點(diǎn),那么點(diǎn)落在圓中的期望就是Pn=πn4Pn=\frac{\pi n}{4}Pn=4πn???。當(dāng)然這里只是期望,可能我們抽五個(gè)點(diǎn),他們都不在圓中。

  • 那么我們?cè)趺磁袛帱c(diǎn)是不是在圓中呢?我們可以使用圓的方程可以得到下面一個(gè)不等式:x2+y2≤1x^2+y^2 \leq 1x2+y21

  • 假設(shè)我們均勻隨機(jī)抽樣n個(gè)點(diǎn),通過(guò)上述不等式,我們發(fā)現(xiàn)有m個(gè)點(diǎn)在圓中。如果我們的抽樣n非常大,這樣我們就可以觀測(cè)到m≈πn4m\approx \frac{\pi n}{4}m4πn?,所以我們得到π≈4mn\pi\approx\frac{4m}{n}πn4m?。大數(shù)定律保證蒙特卡洛的正確性,當(dāng)n→∞n \rightarrow \inftyn?,4mn→π\(zhòng)frac{4m}{n}\rightarrow\pin4m?π

  • 這樣我們可以得出結(jié)論,當(dāng)我們?cè)谡叫沃须S機(jī)抽樣n個(gè)點(diǎn),有m個(gè)點(diǎn)落在圓中,我們就可以將π\(zhòng)piπ近似為4mn\frac{4m}{n}n4m???。這里我們需要保證抽樣是均勻的,抽到所有點(diǎn)的概率都相同,否則就不成立。

Buffon’s Needle Problem

  • 這也是一個(gè)計(jì)算Pi的例子,通過(guò)畫(huà)幾條平行線,然后撒一把針,通過(guò)針與平行線相交的個(gè)數(shù)可以推算出pi。
    • 先畫(huà)一些平行線,兩個(gè)平行線之間的距離為d
    • 取一些針,針的長(zhǎng)度為l。
    • 隨機(jī)把針拋到紙上,針的長(zhǎng)度是l,針可能與平行線相交也可能不相交。
    • 假設(shè)針的位置和角度都是均勻隨機(jī)的,那么針和平行線有一定概率相交,通過(guò)微積分可以計(jì)算出相交的概率為P=2lπdP=\frac{2l}{\pi d}P=πd2l??。
  • 上面我們得到了針與平行線相交的概率$ P=\frac{2l}{\pi d}??,這樣我們就可以得到期望??,這樣我們就可以得到期望??Pn = \frac{2ln}{\pi d},這樣我們不難計(jì)算,這樣我們不難計(jì)算計(jì)\pi \approx \frac{2ln}{dm}$?

近似求積分

  • 假設(shè)給我們一個(gè)函數(shù):f(x)=11+sin(x)?(logex)2f(x)=\frac{1}{1+sin(x)\cdot (log_e x)^2}f(x)=1+sin(x)?(loge?x)21?

  • 計(jì)算定積分:I=∫0.83f(x)dxI = \int_{0.8}^{3} f(x)dxI=0.83?f(x)dx

  • 這個(gè)函數(shù)太復(fù)雜了我們沒(méi)有辦法求它的定積分,這時(shí)候我們就需要用數(shù)值方法近似求它的定積分了,蒙特卡洛就是最常用的數(shù)值方法。

    • 我們首先在[0.8,3]上均勻隨機(jī)抽樣n個(gè)樣本
    • 然后我們計(jì)算n個(gè)樣本的函數(shù)值
    • 然后用Qn=(b?a)?1nΣi=1nf(xi)Q_n=(b-a)\cdot\frac{1}{n}\Sigma_{i=1}^{n}f(x_i)Qn?=(b?a)?n1?Σi=1n?f(xi?)
    • 然后就可以使用QnQ_nQn?來(lái)近似定積分。
  • 剛剛計(jì)算的是一元函數(shù)的定積分,下面我們看看多元函數(shù)的定積分

    • 假設(shè)f(x)是一個(gè)多元函數(shù),自變量是向量x
    • 計(jì)算函數(shù)在集合Ω\OmegaΩ上的定積分:I=∫Ωf(x)dxI=\int_{\Omega}f(x)dxI=Ω?f(x)dx
      • 從集合Ω\OmegaΩ中隨機(jī)抽樣n個(gè)向量
      • 計(jì)算Ω\OmegaΩ集合的體積:V=∫ΩdxV=\int_{\Omega}dxV=Ω?dx
      • 然后計(jì)算Qn=V?1nΣi=1nf(i)Q_n=V\cdot\frac{1}{n}\Sigma_{i=1}^nf(i)Qn?=V?n1?Σi=1n?f(i)
      • 然后我們使用QnQ_nQn?來(lái)近似定積分

近似求期望

  • 定義X為d維的隨機(jī)變量

  • P(x)為概率密度函數(shù),它描述了變量X在某個(gè)點(diǎn)附近取值的可能性。有這樣的性質(zhì):∫Rdp(x)dx=1\int_{\mathbb{R}^d}p(x)dx = 1Rd?p(x)dx=1

  • 使用蒙特卡洛來(lái)近似求期望

    • 根據(jù)概率密度函數(shù)p(x)p(x)p(x)來(lái)隨機(jī)抽樣
    • 計(jì)算每個(gè)樣本f(xi)f(x_i)f(xi?)的值,然后求所有n個(gè)函數(shù)值的平均,將平均值記為:QnQ_nQn?
    • 使用QnQ_nQn?作為期望的估計(jì)。

總結(jié)

以上是生活随笔為你收集整理的蒙特卡洛近似的一些例子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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