關心數學界的小夥伴們最近肯定聽說了這樣一條消息:一個曾經困擾數學家們很久的尷尬的問題:贏一局紙牌遊戲(solitaire)的概率是多少?終於有了答案。
英國St Andrews大學的兩位數學家:Charlie Blake和Ian Gent寫了一個程序,可以計算出任何版本的solitaire大致贏的概率。
具體來說,兩位大哥在各個版本的紙牌遊戲之下,讓計算機對每個完整的遊戲,找到最優策略(他們一共處理了1 million)。然後再對玩了一半的遊戲進行分析(分析了20 billion),最後他們發現了如下驚人的結果:
對於Klondike(經典紙牌),贏面大約是82%;對於Freecell(空當接龍),贏面幾乎是100%;對於Trigon(一種類似紙牌,但是牌面移動規則更嚴格的遊戲),贏面只有16%。
https://www.veer.com/vectorgraph/303925499
計算機又一次幫助且戰勝了人類。歷史上,這樣的事情已經不是第一次啦。
曾經困擾數學家多年的地圖四色問題(任何一張地圖只用四種顏色就能使具有共同邊界的國家著上不同的顏色)也是首先在1976年,在美國伊利諾斯大學的兩臺不同的電子計算機上,花費了1200個小時,作了100億個判斷,發現沒有一張地圖是需要五色的,最終證明了四色定理。
用計算機解決數學定理,其原理,可以認為,如果把人類可以想像的範圍內,所有的情形都計算一遍,如果都符合這個情況,那麼就算這個定理是對的了。(畢竟在人類的認知裡,已經找不到反例啦~)
https://www.veer.com/photo/164462097
事實上,現代數學裡面,有一個分支——計算數學,正是研究如何用計算機來幫助我們解決數學問題。在這裡,新姐再給大家介紹一個計算機幫助數學的重要方法,也是開篇求解贏面的問題的基本方法——蒙特卡洛(Monte-Carlo)方法。
https://www.veer.com/photo/312582325
蒙特卡洛的基礎,是大家在概率論裡,學過的古典概率模型:假設某個隨機事件發生的可能性一共有有限種,每種之間是等概率,且相互獨立的,那麼事件A發生的概率,即A所包含的基本事件個數,除以所有可能發生的事件的個數。
例如:擲一共均勻的骰子,一共可能出現6個結果,每個結果出現的概率就是1/6。如果問,擲骰子之後,出現偶數的概率,那麼偶數的可能性為2,4,6三種情形,因此出現偶數的概率就是3/6=1/2。
https://www.veer.com/photo/148762061
這樣的古典概率,有什麼高級的用法呢?我們可以用其來教計算機求定積分。
大家還記得定積分的幾何意義嗎?下圖的陰影部分的面積,即 。
上面這張圖,如果我們隨機的往正方形((0,0),(0,1),(1,0),(1,1))裡面投飛鏢,那麼飛鏢會有兩種可能,在陰影部分內和在陰影部分外兩種情況。由於投飛鏢這個事件是隨機獨立的,所以,每個點落在任何一個位置的概率都是均等的。如果我們投鏢的次數足夠大,那麼投中在陰影部分的點的個數,除以我們投飛鏢的總個數,就可以得到陰影部分面積佔總面積的百分比,進而就可以求得陰影部分的面積了。
https://www.veer.com/photo/147126323
我們可以用Excel,產生隨機數的方式,來近似求得這個積分值。
首先取在正方形內,取1000個隨機的點(rand為產生隨機數的函數),然後判斷這個點是否在陰影部分(如果 返回1,否則返回0)然後算下一共有多少個1,除以1000,得到一次實驗估計的積分。重複這個實驗n次,取平均數,就可以得到最後的積分值了。
我們重複這個實驗這個實驗10次,值就可以近似到0.336。和真實值1/3比起來,誤差已經相當小了。是不是很神奇,這就是積分的魅力!想要學習更多的微積分知識嗎?想要用微積分解決基礎運算沒法解決的問題嗎?更實際一點!想要輕鬆搞定AP微積分BC嗎?
機會來了,這個冬天,躺在家裡,也能學習AP!復旦大學金融學碩士、墨爾本大學全獎博士帶你10天輕鬆搞定AP微積分BC,衝刺5分!機會難得,快來了解一下!
參考文獻:
Dana Mackenzie. We finally know the odds of winning a game of solitaire New Scientist, 23 November 2019