教你如何連中十元⋯⋯背後的數學原理

有時會見到一些網頁,付費加入預測股市/賭波/賭馬貼士群組,聲稱每場必中,更有真實連中十元參加者現身說法。你會懷疑,這是真的嗎?

假設那是真正的參加者,要做到連中十元並不難。或者,我甚至能說,有人連中十元是必然的。我就解釋給你聽。

為了簡化以下解釋,我們用單循環淘汰賽做例子,即每場比賽必須分出勝負,沒有平手。

假設只有 2 隊隊伍,甲隊跟乙隊。那很明顯只有 1 輪、共 1 場比賽。如果你跟我買不同隊伍,我們當中必定有一人買中最後勝方。

如果有 4 隊隊伍,甲乙丙丁隊,就有 2 輪、共 3 場比賽。如果 4 個人各買不同隊伍,那麼第一輪比賽,甲隊對乙隊、丙隊對丁隊,4 個人當中就必定有兩人買中勝方;第二輪比賽就跟上面兩隊比賽的例子一樣,剩下 2 人必定有一人買中最後勝方。換句話說,4 人中就有一人 2 場連中了。

相信各位已能推論下去:如有 8 隊隊伍,就有 3 輪、共 7 場比賽。只需要最少有 8 個人各買不同隊伍,我就能夠保證最少有一人能 3 場連中。事實上,對於這種零和遊戲,如果我想製造 N 場連中紀錄,我只需要最少有 2^N 個人向我購買貼士,我再私下告訴每個人去買不同隊伍就行了!

我們再用世界杯決賽週做例子。在決賽週單循環淘汰賽階段有 16 = 2^4 隊國家隊,因此有 4 輪比賽。只需要有最少 16 人購買我的所謂貼士,我就算完全不懂足球也能夠確保有一人能在世界杯決賽週 4 場連中。而且我們也知道並非每一隊實力都一樣。所以實際上我可以把較強的隊伍配給多些人,也就不一定需要 2^N 這麼多人了。

有人會問,有贏有輸有和的聯賽呢?我們有 3 個可能性,因此需要連中 N 場就最少要有 3^N 個人買貼士。一般來說,在有 M 個可能性的情況下,需要最少有 M^N 個人買貼士,那麼我就算只靠估也能給出 N 場連中貼士!更別提每隊隊伍實力都有所不同了。

至於估股市更易:向 1024 = 2^10 人提供股市預測,升跌各半;只要不斷向測中的一半提供預測,最後剩下的一位,就是連中十元的證人。

戴個頭盔,我並非說那些提供貼士的人沒有實力,上面我也解釋了適當根據隊伍實力去分配就能增加貼士準確度。我只是分析了這種「連中貼士」背後的數學原理,為什麼我可確保必然有人能夠連中。大家分析完之後,自己決定要不要購買了。

公我贏,字你輸。你以為這世上真有那麼多貼士嗎?

廷伸閱讀:

不可能的事情如何不斷發生?》- 周達智

Advertisements

AlphaGo連勝人類:從圍棋複雜程度淺談人工智能重要性

AlphaGo 改良測試版本已戰勝地球上幾十位最強人類圍棋高手。人類憑科學、邏輯、數學,創造出能夠在現有棋類中最複雜的圍棋戰勝世界冠軍的人工智能。

人工智能與一般電腦程式不同之處,在於其並非簡單依循人類工程師定下的規則去執行指令。人工智能使用分析大數據的演算法,稱之為機械學習(machine learning)。機械學習是一個統稱,其分成眾多不同演算法,應用於各種不同問題,詳細分別在此不述。無論何種機械學習演算法,其共通點是電腦會從過往經驗中學習,自動分析出最佳執行策略。

以棋類為例,為什麼必須使用機械學習?原因在於其可能步法數量非常多。我們可見的宇宙中,大約有 10^80 個粒子,即 1 後面跟 80 個零。我們可以問,圍棋最多可能有多少個不同棋局?

圍棋的棋盤是個 19 x 19 的正方形,即有 19 x 19 = 361 格。每格可以有三種狀態:黑子、白子、空位。因此,每一步最多可以有 3^361 種擺法,即大約 1.7 x 10^172 種擺法,亦即 17 後面跟 171 個零。這已經比宇宙中的粒子總數 10^80 更多。然而根據圍棋規則,並非每一格都能任意放黑子或白子,因此實際上最多可能擺法應比 1.7 x 10^172 少一些。電腦科學家 John Tromp 與其他人曾計算出實際可能擺法約為 2 x 10^170。

接下來,我們需要知道一局最長能有多少步。這很簡單,因為明顯地一局最長只能把所有可能擺法全部走完,即 1.7 x 10^172 步。Tromp 曾證明要在一局內把 1.7 x 10^172 步全部走一次是不可能的,但真正最長能有多少步仍未有人能計算出來。所以,1.7 x 10^172 步是數學上的絕對最大值。

因此,我們就知道,圍棋最多可能有 361^(2 x 10^170) 個不同棋局,約等於 10^(5.3 x 10^170),即 1 後面跟 5.3 x 10^170 個零。那麼多,究竟是多少個零啊?總之多到我也不想數。好吧,你硬要我數,我就數給你看。5.3 x 10^170 個零,即 53 後跟 169 個零,即

530,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,

000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,

000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 個零。

所以,圍棋最多可能有 1 後面跟這麼多個零個不同棋局。不要叫我寫出來,因為宇宙的年齡約為 138 億年,即約 4.35 x 10^17 秒。如果我由宇宙誕生的一刻開始寫,每秒就必需寫 10^152 個零,才能在今天寫完。再者,我肯定不夠墨水寫,因為我每秒必須寫的零的數量比宇宙中的粒子總數 10^80 更多。

當然,這是圍棋不同棋局數量的上限,哪麼下限呢?根據 Tromp 與其他人的計算,下限約為 10^(10^48),即 1 後面跟 10^48 個零,即 1 後面跟 1 後面跟 48 個零個零,即 1 後面跟

1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 個零。

嘩,少了好多個零啊。可是,這仍比 10^80 多非常多。就算我們以人類平均一局圍棋長度約 400 步來算,也大約有 10^800 個不同棋局。如果每個粒子都懂得下圍棋,宇宙中每個粒子都必須記住 10^720 個不同棋局才能把 10^800 個棋局全部記住。

因此,這就說明機械學習的重要性。正如我們會把發明汽車、輪船、火箭、太空船等等視為人類文明進步,我們應把 AlphaGo 看成人類文明另一大進步。人類發展出能夠自動分析數量過於龐大的可能性的電腦,若能應用於正當、適合的問題上,將是人類文明發展的極重要一步。例如自動駕駛。路面的複雜程度不下於圍棋,未來的自動汽車應能準確預測路面情況,把交通意外數量降至接近零。

延伸閱讀:

Number of Possible Go Games

封面圖片為 2016 年 1 月 28 號科研期刊《自然》的封面。

科學家:我不知道

我們有時——其實是經常——會聽到科學家說:「這是個好問題!我不知道。」科學家豈非應知道得更多嗎?

科學理論——特別是前沿理論——很多時候都是不確定的。有時候科學家知道一個一般來說行得通的理論在某些情況下會變得不適用,可是卻不知道該如何修正。愛因斯坦發表相對論至今超過一百年,量子力學也差不多於同一時期發展。兩者都通過了所有——沒錯,是所有——的實驗與觀測檢驗。可是每個科學家都清楚,相對論與量子力學互不相容。

究竟哪裡出了問題?這是個非常困難的問題。沒人知道哪裡出了問題。

有時科學家想知道的並非知識本身。科學家最想知道的是如何獲得知識。想要獲得知識,我們必須承認自己在很多科學課題上——很可能是所有科學課題——都並不確定。

因此,當我們問到問題的核心時,科學家就會說:「這是個好問題!我不知道。」而說出這個不知道的原因,其實是因為我們知道很多,明白到哪些知識比較確定、哪些知識比較不確定。

理查・費曼說過:「說話的真正問題並非在於精確語言。真正問題在於清晰語言。」

The real problem in speech is not precise language. The problem is clear language.

科學家寧願犧牲確定性,也堅持要說出正確的陳述。因為科學的最高守則,就是誠實。

延伸閱讀:

好奇心和誠實:理查.費曼 (Richard P. Feynman)》- 余海峯