1蒙特卡羅賭場
蒙特卡羅(Monte Carlo)是摩納哥公國(Principality of Monaco)的一座城市。摩納哥公國坐落在法國的東南方,總面積為2.02平方公里,是世界上第二小的國家,也是一個(gè)從地圖上看容易被忽略的國家。
摩納哥的位置非常小,不仔細(xì)看都發(fā)現(xiàn)不了
傍晚時(shí)分,靜謐的蒙特卡羅賭場
重新豪裝后的蒙特卡羅賭場吸引來了無數(shù)賭客,成為當(dāng)時(shí)有名的不夜城。
在蒙特卡羅賭場中,輪盤(Roulette)一直是最受歡迎的項(xiàng)目,因?yàn)橘€客一直覺得這種賭法有較大的獲勝機(jī)會。原來輪盤上有37個(gè)格子,其中有18紅格,18個(gè)黑格,1個(gè)綠格。賭客隨意押注紅格或者黑格。理論上說,出現(xiàn)紅色的概率和黑格的概率是一樣的,一旦出現(xiàn)黑色的次數(shù)超過了5次,那都是一個(gè)非常小概率的事件,而在這種情況下很多賭徒會賭紅色,即執(zhí)行這類反方向的策略。
輪盤賭具
1913年的8月13日,賭客還是像往常一樣賭輪盤,其中有不少人拿著紙和筆不停記錄每次輪盤轉(zhuǎn)下來的結(jié)果。但就在當(dāng)天,輪盤上的小球連續(xù)26次落在了黑格上。而這樣事件發(fā)生的概率僅為0.00000149%(比中雙色球一等獎(jiǎng)的概率還小),這種情況可以說幾乎不可能出現(xiàn),但確確實(shí)實(shí)是出現(xiàn)了。賭徒因此損失了大量的財(cái)富,因?yàn)樗麄冨e(cuò)誤地認(rèn)為,先前結(jié)果的不平衡性一定導(dǎo)致后面出現(xiàn)相反的結(jié)果。
這或許就是人類思維和數(shù)據(jù)思維差異。實(shí)際上,每一次輪盤的轉(zhuǎn)動都是獨(dú)立事件,前面一次小球停留的位置,和下一次小球停留的位置不會有任何關(guān)聯(lián)。無論小球停在紅色或者黑色的位置,都是隨機(jī)的,并不會受到之前結(jié)果的影響。
當(dāng)然,從更宏觀的角度來說,無論賭局規(guī)則怎么變化,賭場必定要賺錢的。賭場精心設(shè)計(jì)各種規(guī)則的賭局,讓人們樂在其中的同時(shí),賭場收取少許手續(xù)費(fèi)。正是這種少許的手續(xù)費(fèi),讓賭場經(jīng)營者得以生存和擴(kuò)大,而賭客之間則進(jìn)行負(fù)和博弈,從長期來看,賭客是虧損的。
2蒙特卡羅方法誕生
時(shí)間來到1946年,也是蒙特卡羅大賭場誕生的90周年。
烏拉姆急沖沖地把這個(gè)方法告訴給他的同事,著名數(shù)學(xué)家馮·諾依曼(John von Neumann),馮諾依曼確定這個(gè)方法是一個(gè)重大突破,并且很快在ENIAC(ENIAC是世界上最早期的計(jì)算機(jī))電腦上完成了編程。
ENIAC,世界上最早期的電腦,可以占據(jù)一個(gè)超大房間
為了保密起見,需要給這個(gè)程序起一個(gè)名字。烏拉姆和馮諾依曼的同事,著名物理學(xué)家尼古拉斯·梅特羅波利斯(Nicholas Metropolis)提議名字取為Monte Carlo,以紀(jì)念蒙特卡羅大賭場,原因是烏拉姆的叔叔不了解概率,經(jīng)常在那里輸錢。
但這個(gè)蒙特卡羅方法(Monte Carlo Method)需要大量的隨機(jī)數(shù),而真實(shí)的隨機(jī)數(shù)并沒有那么多,怎么辦呢?當(dāng)然在數(shù)學(xué)家們面前這不可能成為一個(gè)障礙,馮諾依曼順手解決了這個(gè)問題,進(jìn)一步發(fā)展了隨機(jī)數(shù)生成器技術(shù)(Pseudorandom number generator, PRNG)。
隨后,蒙特卡羅方法被大量地用于曼哈頓計(jì)劃(Manhattan Project)中的各項(xiàng)計(jì)算和模擬,解決了大量以往確定性方法不能解決的計(jì)算問題。20世紀(jì)50年代,在LANL實(shí)驗(yàn)室中被用于氫彈的研發(fā),再往后開始在各個(gè)領(lǐng)域被大規(guī)模地運(yùn)用,帶來了一場新的思想革命。人們發(fā)現(xiàn),除了傳統(tǒng)確定性方法以外,原來還有一種有效的計(jì)算方法,叫蒙特卡羅方法。
曼哈頓計(jì)劃集中了大量優(yōu)秀的科學(xué)家,利用核裂變反應(yīng)來研制原子彈,最后取得圓滿成功
3蒙特卡羅算法是怎么回事
事實(shí)上,蒙特卡羅方法非常簡潔。我們用一個(gè)例子來說明,如何用蒙特卡羅方法近似得到圓周率?
我們先設(shè)置一個(gè)1×1的空間,在這個(gè)空間中以點(diǎn)(0,0)為圓心,畫一個(gè)半徑為1的圓,在1×1空間中留下四分之一圓。
從理論上分析,在1×1的空間的空間中,有這樣的關(guān)系:
只要得到四分之一圓的面積與正方形的面積之比,所以可以知道圓周率是多少。
從蒙特卡羅方法的角度看,在1×1這個(gè)區(qū)間上可均勻地投放大量的點(diǎn)。這些點(diǎn)投到四分之一圓內(nèi)的概率,近似等于投到四分之一圓內(nèi)點(diǎn)的比例,即:
所以,我們可以通過計(jì)算點(diǎn)個(gè)數(shù)的方式,來近似得到圓周率的數(shù)值。
把大量的點(diǎn)投在1×1的空間中,計(jì)算落在圓弧內(nèi)的數(shù)量,以估算圓周率π
這種數(shù)點(diǎn)的方式雖然簡單,但看起來不是那么靠譜,能否證明蒙特卡羅方法的有效性呢?
實(shí)際上已經(jīng)證明,隨著模擬次數(shù)N的增加,蒙特卡羅所得到的近似值與目標(biāo)值的誤差將以N-0.5的速度降低,結(jié)果將越來越精確(可用方差的定義展開進(jìn)行證明)。
誤差隨著模擬次數(shù)的增加而不斷下降,速率為N-0.5
4蒙特卡羅算法的案例
隨著蒙特卡羅方法的成熟及更廣泛的使用,便出現(xiàn)了很多基于蒙特卡羅方法的新算法,用一個(gè)時(shí)髦的名詞就是:蒙特卡羅“硬分叉”了。
蒙特卡羅積分(Monte Carlo intergration)
在低維的情況下,用確定性的方法來計(jì)算積分效果非常好。但到高維的時(shí)候,一方面計(jì)算難度呈指數(shù)級增加,產(chǎn)生維數(shù)災(zāi)難(curse of dimensionality),另一方面在多維的情況下,邊界的確定非常困難,100維以上基本不可能用確定性方法來計(jì)算。
蒙特卡羅方法跳出了維數(shù)災(zāi)難的想法,提供了一個(gè)新的思路:在高維空間中產(chǎn)生大量的點(diǎn),采用類似近似計(jì)算圓周率的方法,計(jì)算高維積分。使用蒙特卡羅方法,誤差將以N-0.5的速度降低,不管維數(shù)是多少,只要提升4倍數(shù)量的點(diǎn),誤差將降低一半。因此蒙特卡羅方法非常適合運(yùn)用在高維的積分計(jì)算當(dāng)中。
如何計(jì)算小沙堆體積?用蒙特卡羅積分法即可
一個(gè)可愛的機(jī)器人,它會識別眼前的環(huán)境
在這個(gè)一維空間上,機(jī)器人通過前期的探索,已經(jīng)知道這個(gè)空間一共有3個(gè)外觀都是一樣的門,并記錄了門口的樣子。
問題來了,機(jī)器人怎么確定自己在哪里呢?
Step 1:機(jī)器人在這個(gè)一維空間上隨機(jī)生成大量的粒子,每一個(gè)粒子分別代表一種位置的可能性(稍后將闡述實(shí)際含義)。
Step 2:機(jī)器人通過攝像頭發(fā)現(xiàn)自己站在一個(gè)門口前面。由于機(jī)器人已經(jīng)知道室內(nèi)地圖,知道門口具體在哪幾個(gè)位置,因此機(jī)器人重新分配所有粒子的權(quán)重,將室內(nèi)地圖門口所在位置范圍的粒子權(quán)重相應(yīng)提升上來。
Step 3:機(jī)器人根據(jù)權(quán)重分布,重新生成新的粒子。權(quán)重越大的地方獲得的粒子越多。
假設(shè)機(jī)器人繼續(xù)往前移動一小段距離:
Step 4:機(jī)器人到了一個(gè)沒有門口的地方,同時(shí)所有的粒子跟隨著機(jī)器人移動。
Step 5:機(jī)器人發(fā)現(xiàn)眼前沒有東西。由于機(jī)器人已經(jīng)知道室內(nèi)地圖,知道門口具體在哪幾個(gè)位置,因此機(jī)器人重新分配所有粒子的權(quán)重,將室內(nèi)地圖門口所在位置范圍的粒子權(quán)重相應(yīng)降低下來。
AlphaGo當(dāng)中的MCTS
元啟發(fā)式算法(Metaheuristic)
自從蒙特卡羅方法誕生后,元啟發(fā)式算法的發(fā)展才正式開始。比如模擬退火算法(Simulated Annealing)、遺傳算法(Genetic Algorithm)、螞蟻算法(Ant Colony Optimization)等等,這些帶有隨機(jī)性的算法都是解決組合優(yōu)化問題的好方法。
2006年NASA在ST5航天器上搭載了一個(gè)特別的天線,其形狀由進(jìn)化算法設(shè)計(jì)而成
在過去漫長的歲月當(dāng)中,人們都認(rèn)為必須要經(jīng)過嚴(yán)謹(jǐn)?shù)耐评砗陀?jì)算,才能得到最后正確的答案。直到最近的數(shù)十年,隨著計(jì)算機(jī)的誕生,還有烏拉姆、馮諾依曼以及眾多理解蒙特卡羅方法的科學(xué)家的努力下,隨機(jī)性的運(yùn)用才逐漸走進(jìn)我們的視野。人們意想不到地發(fā)現(xiàn)隨機(jī)性是一個(gè)如此重要的思維,隨機(jī)性并非如想象中那樣是一個(gè)不好的事物,合理地利用隨機(jī)性,能夠幫助我們探索前所未有的世界。
蒙特卡羅方法的發(fā)明,是人類思維史上的一個(gè)重大突破。一個(gè)隨機(jī)性的構(gòu)想,打破了過去的思考空白區(qū),開啟了人類新的思維空間。
-
機(jī)器人
+關(guān)注
關(guān)注
212文章
29311瀏覽量
211014 -
蒙特卡羅
+關(guān)注
關(guān)注
0文章
11瀏覽量
21279
原文標(biāo)題:一個(gè)徹底改變世界的思想
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】機(jī)器人入門的引路書
馬拉松賽場“掉鏈子”?解鎖人形機(jī)器人通信穩(wěn)定秘籍!

名單公布!【書籍評測活動NO.58】ROS 2智能機(jī)器人開發(fā)實(shí)踐
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人的基礎(chǔ)模塊
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人大模型
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】1.初步理解具身智能
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】1.全書概覽與第一章學(xué)習(xí)
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】+初品的體驗(yàn)
從市場角度對機(jī)器人的基本解讀

評論