從賭城贏到華爾街的傳奇數學家:20 年前就用 IBM 704 電腦寫出 21 點套利公式

【我們為什麼挑選這本書】從拉斯維加斯連贏到華爾街的傳奇數學家愛德華‧索普(Edward O. Thorp),發明了二十一算牌法,在賭桌上戰勝莊家(即電影《決勝二十一點》的原型),賭場甚至為他改變原則。

這位「計量金融之父」親筆寫下《他是賭神,更是股神》教導讀者不靠機運押注,用公式和電腦運算反覆試驗,衡量報酬與風險,判斷優勢,精算風險。

本文擷取部分書摘,從一段他還在 MIT 當數學系教授時,用 IBM704 電腦跑出二十一點套利的程式講起,揭開他比電影還精彩刺激的人生。(責任編輯:鄧天心)

用 IBM704 跑二十一點套利程式

幾週過去,計算工作仍舊繁重。

儘管我找到了簡便的方式,效率提高不少,進度卻依然緩慢。

如果只憑手算恐怕需要數百、甚至數千年才可能完成。

就在此時我得知 MIT 有一台 IBM 的 704 電腦,身為教職員工的我可以使用。

我找了電腦中心裡的書籍,自修電腦程式語言:FORTRAN。

一九五九年八月我搭機飛回洛杉磯,四天後我們的第一個孩子出生。

一個月後我、薇薇安和我們的新生寶貝回到 MIT,開始我的教學及研究工作。

MIT 當時和今天一樣,是全世界最棒的數學系所之一,擁有許多潛力十足的年輕學者。

我每個學期教兩門課,一週上課六小時,另外得花十二至十五小時準備教材,其他時間則待在辦公室與學生會面指導,還有批改作業和考卷。我們還得定期在學術期刊發表研究論文。

論文一旦被期刊接受,會邀集一些匿名專家審查,在論文可以被發表前提出見解。

被拒絕是常有的事,像我們這樣要在學術領域裡出人頭地的人,都知道一句行話:「不發表就完蛋」(publish or perish)。

即使工作十分忙碌,我仍持續找時間利用 IBM704 執行二十一點套利的程式,測試並修正程式碼。

704 是最早的電子計算大型主機之一,是由 IBM 開發出來的,後來陸續開發一系列功能強大的工具。

在當時,使用者要把指令打在一張大小類似一美元紙鈔的打孔紙上,每張紙有八十行,每行有十個橢圓形的記號。

使用時一次插入一張卡,在上面鍵入指令,就像用打字機一樣。

每次機器讀取一行資料,然後再讀下一行。

每一行不同位置的孔代表不同字母、數字或符號。

我通常會把一大疊打好孔的卡紙,用橡皮筋捆起來,放在電腦中心的特定箱子裡,中心裡會有人收集並送到 IBM704 主機去讀取,每次要等上好幾天才會有結果。

因為 MIT 的電腦主機同時分享給新英格蘭地區三十所大學共用〔像是艾姆赫斯特 (Amherst) 大學、波士頓學院、布蘭迪斯 (Brandeis) 大學等〕。

當我越熟悉程式語言,工作進度就越快。

我把問題分成幾個段落,分別寫好電腦程式或子程式。

每次我測試或修正某一段落,同時也會檢查其他段落。

隨著時間過去,我陸續完成一段又一段的程式。

到了一九六○年初,我將所有程式集合起來,同時跑出結果。

第一個結果顯示賭場的優勢,如果一般玩家不做任何記牌的動作,賭場優勢是 0.21%,不論何時開始進場賭都一樣。

一旦玩家開始算牌,不用多久優勢就會出現。

不過,IBM704 無法在一定時間內完全執行所有我需要的計算,在一些地方我還是用概略的方式估計。

這樣出來的結果會有一點保守,意思是在實戰中,玩家的優勢比我計算的還要高。

當電腦的功能提升,我估算的地方就越來越少。

二十年後,到了一九八○年左右,電腦已經可以完全計算一副牌在二十一點規則下的最終結果,我在《戰勝莊家》一書中寫過,玩家的優勢是 0.13%。

玩家只要採取我的策略,一直做下去,即使沒有記牌,優勢也會存在。

然而我的方法最大的功用在於我不只分析一副牌,還包括任何形式組成的牌。我能研究出任何牌在賭局中的影響。

根據發牌的變化設計贏家策略

接下來我給電腦下其他特殊的指令,分析如果沒有四張 A 的情形下,莊家和玩家的優勢變化。

和完整一副牌的結果比較,我就能知道 A 這張牌在賭局中的效果。

一如過去,幾天後我從一箱打孔卡中拿出我厚厚一疊的計算結果 (我都是用這種方式來計算賭局)。

IBM704 電腦只要花上十分鐘,就能完成一千人花上一年手動計算的工作量。

結果往往讓我非常興奮,因為不是證明我的正確,就是讓我另有發現。

以缺四張 A 為例,玩家的劣勢高達 2.72%比起完整一副牌時的 0.21% 差了 2.51%。雖然對莊家更有利,卻是很大的發現。

這結果證實了我在 UCLA 圖書館中經歷的頓悟時刻,認為我能夠戰勝賭局。

當賭局進行時,發出來的牌不同,會讓莊家與玩家之間的優勢不斷改變。

數學結果顯示,如果拿掉特定的牌,優勢就會倒向一邊,換過來說,加上相同數量的特定牌,會讓優勢反轉到另一邊。

意思是如果一副有很多 A 的牌,和另一副沒有 A 的牌相比,前者會讓玩家擁有很大的優勢。

例如,當四張 A 全部集中在後半副的二十六張牌中,進行到後半副牌時,A 出現的機率就提高了一倍,此時玩家的優勢會從整副牌的 -0.21%,增加 2.51 個百分點,淨優勢成為 2.30%。

每隔兩、三天我就會到電算中心去拿計算結果,每次計算的工程都是大約一千人花一年手算的工作量。

我得出一旦拿掉任何四張相同數字的牌對賭局的影響。

拿掉四張 A 對玩家最不利,拿掉四張十點其次,莊家的優勢增加 1.94%。

不過拿掉四張小點數牌,像是二、三、四、五和六,對玩家就有很大的幫助。

其中,拿掉四張五的影響最大,從莊家 0.21% 的優勢,一下子會變成玩家 3.29% 的優勢。

此時,我能根據發牌的變化,設計不同的贏家策略。

我利用 MIT 的 IBM704 主機創造出像是數五算牌法 (Five-Count System)、數十算牌法 (Ten-Count System),以及我稱之為終極策略的基本結果。

所謂終極策略是把每一張牌都設定一個值,代表對賭局的影響力,像每張 A 算 -9,二點牌算 +5,十點牌是 -7 等等。

對多數人來說用心算會有點難,於是我後來發展出簡易算法也很管用。

其中最好的一種是當數值小的牌 (像是二、三、四、五、六) 發出來時算正一,中間值牌 (像是七、八、九) 算零,數值大牌 (像是十、J、Q、K、A) 算負一。

電腦結果也顯示,這種算法每個人都能了解,並且運用自如,即使今天也是一樣。

直覺上,這樣的結果很合理。

五點牌的贏家下注法

例如,當莊家面前的牌總點數為 16 時,他會加牌;當他加到大點數牌時會爆掉,加到小點數牌時就不會。

如果發到 5 最好,總和就是二十一點。

因此對莊家來說,小點數牌比大點數牌要好得多。

換過來說,如果桌上的牌有比較高的機率出現 A 和十,兩張加起來是二十一點,也就是黑傑克 (blackjack) 的機率就會增加。

此時無論玩家和莊家得到二十一點的機率都是 4.5%。

不過玩家若贏了,能得到賭注的 1.5 倍,莊家贏了則只能拿回玩家賭注,此時玩家具有優勢。

五點牌的算法相當簡單,只要還有五點牌沒發出來,玩家下的注就少一點,五點牌如果早發完了,賭注就大一點。

當剩下的牌越少,五點牌被發完的可能性越高。

當剩下二十六張牌時,五點牌發完的機率是五%,如果只剩十三張牌,機率就變成三○%。

此時玩家擁有 3.29% 的優勢,相對於其他牌局,長久下來的贏面很大。

用十點牌「出現機率遞減策略」贏錢

在真實的賭局上,我常用十點牌出現機率遞減的策略來贏錢。

它非常好用,儘管計算結果顯示,十點牌的影響不如五點牌,因為十點牌的張數是五點牌的四倍。

「十點致富」的機率越低,玩家的機會越大。

一九六○年夏天我們全家從波士頓一路開車回到洛杉磯,我說服薇薇安在拉斯維加斯短暫停留,以便測試我的十點策略。

我們在佛蒙特街上找了一家賭場坐下來。我換了兩百美元籌碼,相當於二○一六年的一千六百美元(約新台幣 4.8 萬),手中握著一張手掌大小的卡片,上面寫滿了策略筆記。

我心想最好別用到卡片,以免引人注意。

這張卡片和其他的不同,不只提醒我在莊家面前出現何種牌時的反應,還有該下多少注,以及十點牌機率出現變化時的決策。

特別是一副牌有十六張十點牌,其他非十點牌有三十六張,我從「三六,一六」算起,用「三六/一六=二‧二五」表示非十點和十點牌的比例。

薇薇安和我坐在一起,為了陪我,她也跟著下注,一注二十五美分。

我不時注意著非十點與十點牌各發出去多少張,計算剩下多少牌。

當我要下注或決定如何處理手中的牌之前,都會重新計算比例:低於 2.25 表示有比較多的十點牌;如果比例低到 2.0,玩家的優勢就會達到一%。比例越低,玩家的優勢越高。

我下注的金額大致跟著比例變化而增減,大約在二美元至十美元之間。比例高時一律押一美元。

當我輸到三十二美元時,薇薇安開始緊張了。

這時發牌員好心地說:「你最好再多換些錢來,因為就快用到了。」薇薇安感到有些不妙,對我說:「我們走吧。」儘管輸錢,但我卻感到滿意,因為我的數十算牌法在賭場實戰的速度已經夠快,不需要看小抄了。

小輸三十二美元還算是理論範圍之內,理論沒什麼缺陷。

由於已經不需要再實驗,我就離開了。

經濟上我更窮了,但卻希望十足。

__

(本文書摘內容出自《他是賭神,更是股神:從賭城連贏到華爾街的天才數學家,關於風險、財富和人生的第一手告白》,由 商業周刊 出版社 出版,首圖來源:friDay。)

延伸閱讀

賭博=莊家必贏!用國中數學解析賭博方程式,結論只有「賭徒勝率為 0%」

電腦賭神駕到!科學家研發「穩賺不賠」賭博系統,全世界的賭場準備輸光光吧

賭場搞死你的數學機率遊戲:就算獲勝機率是 99.9999999%,你也不該下注


避免客服 chatbot 回答的牛頭不對馬嘴,該怎麼做?
精進線上客服力,來做 2019 年雲端技術調查 >> 點我測驗 <<

 

點關鍵字看更多相關文章: