11.24 美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽

美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽

經典電影《賭神》大家夥兒都看過吧?發哥飾演的“賭神”高進穿著黑色風衣,梳著大背頭,微笑自信迷人,眼神看穿一切。最厲害的,當然是他的賭術,逢賭必贏,賭場沒辦法只好降低他的籌碼。
要知道,開賭場的可不是純粹給人提供娛樂的,人家最終目的是要賺錢。為此,很多賭博遊戲在設計的時候,就保證了莊家的贏面更大一些。所以一般來說,玩家是贏不過莊家的。對於高進這種老是贏錢的人,莊家自然是又怕又恨。

美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽


而咱們今天要講的,是一位美國“賭神”的故事——愛德華·索普。這位索普,是數學專業出身,在琢磨公式和概率的過程中,他找到了利用算法擊敗莊家的秘訣,然後直接就到賭場裡實戰一把——贏了!後來,由於贏得實在太多,莊家都怕了他,見他就跟見瘟神似的,還給他起了個外號叫“算法老千”。

今天給大家分享的書《戰勝一切市場的人》,就是這位美國賭神的自傳。

美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽

1. 天才的配方:愛學習、會思考、敢實踐

1932年,整個美國還籠罩在大蕭條的陰影中,愛德華·索普出生了。
好多人覺得,說話早的小孩更聰明,按照這個標準來看,小索普並不是什麼神童,他直到3歲才學會說話,爸媽一度擔心是不是生了個傻兒子。可話又說回來,人類最聰明的腦瓜子之一愛因斯坦,不也4歲才會說話嗎?
所謂“不鳴則已,一鳴驚人”,小索普開口說話以後,立馬展現出了天才的一面。剛會說話,他就開始學數數。一般3歲小孩,能把0到10給數順溜就差不多了,但小索普卻能輕鬆數到好幾萬。他發現,只要學會那幾個最基本的數字,每次加個1就行,就這樣可以一直往下數。
除了善於發現規律,索普還有一點跟別的小朋友不一樣,那就是他不會直接相信別人說的東西,一定要自己親自驗證一番才行。比如有一次,爸媽告訴他,生雞蛋受到一點點壓力就會碎哦,所以你要小心,不能亂壓哦。他就很好奇:這個“一點點壓力”到底是多少呢?於是他拿了一個雞蛋試了試,估計力道大小是找到了,也浪費了一個雞蛋。

美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽


小索普好學又愛思考,還相當有實踐探索精神,自然學啥都快。5歲,他已經認識好多單詞,閱讀能力相當於10歲孩子,還沒上小學,就讀完了《格列佛遊記》《金銀島》《亞瑟王和圓桌騎士》之類的書,幾乎過目不忘。而他的數學能力,還是一如既往的突出,五六歲就能心算好幾個數字的加減問題,還能熟練運用比例尺,畫出和原圖幾乎一模一樣的簡筆畫。


上了中學,索普對科學的興趣越來越濃厚,勤工儉學賺來的錢,經常被他拿去買實驗器材,什麼電子元件啦,化學試劑啦,在家裡就搗鼓起了各種實驗。他在臥室裡做了一個360度旋轉的定向天線,還搭了一個波長2米的電臺;車庫背面成了他的化學實驗室,他自己製備氫氣、火藥和硝化甘油。
高三那年,他有一回去老師家裡吃飯,老師夫妻倆當時剛從賭城拉斯維加斯旅遊回來,就跟他講了講旅途經歷,還感嘆說:在賭場裡,賭徒永遠沒法打敗莊家呀!

美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽


從小就對一切言論保持懷疑態度的索普,一聽這話,心裡立馬默默打了個問號:真的是這樣嗎?按照他的習慣,必須親自驗證,不過,想要親身檢驗這個問題,索普得等到大學畢業以後了。
2. 挑戰不可能,鑽研擊敗莊家的策略

1955年,索普從加州大學洛杉磯分校本科畢業,跟大家當年一樣,他也跟朋友來了一次畢業遊。他們打算自駕到紐約,途中停下的第一站就是拉斯維加斯。儘管他沒進到賭場裡面去,但賭徒們的瘋狂和悽慘還是讓他印象深刻。一到晚上,公園裡就睡滿了流浪漢,他們大都是在賭場輸光了家當。
回去以後,索普開始思考:為什麼人們總是久賭必輸呢?有沒有什麼策略可以打敗賭場裡的莊家呢?別人越說不可能的事兒,他就越有興趣去挑戰。至於賺錢,不在他的考慮之內。

美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽


一查資料,索普意識到,早就有人研究這個問題了,賭徒們已經設想過很多辦法,比如輪盤遊戲裡的“加倍賭注”策略。標準的美式輪盤,一圈分成38個格子:紅黑相間,各18格,還有2格綠色。不管你是押紅還是押黑,贏的概率都是18/38,輸的概率則是20/38。
那加倍賭注策略是什麼意思呢?比如你一開始押注1美元,如果輸了,下一把就押2美元,要是還輸,再下一把就押4美元……就這樣逢輸翻倍,只要贏一把就能翻盤,把之前輸掉的賭注都贏回來,還能賺上1美元。但這種策略有個硬傷,假如你運氣真的爛到家了,一直輸一直輸,那賭注就會變得非常大,大到你付不起,或者超出了賭場的規定。很顯然,這樣的策略中看不中用。索普覺得,要想打敗莊家,必須削弱它本身的優勢,而不是單純改變賭注大小。

美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽


時間到了1958年,索普讀完研究生,也成了家立了業,但是對賭博問題還是熱情不減,其中一個叫“21點”的遊戲,讓他格外感興趣。不知道大家有沒有玩過這個紙牌遊戲,數字牌的點數就等於牌面上的數字,J、Q、K都算10點,A可以算1點,也可以算11點。首先,莊家會給每個下了注的玩家發兩張牌面向上的明牌,而給自己發一張明牌和一張牌面向下的暗牌,接著,他會依次問每個玩家要不要加牌和加註。玩家的目的,是要讓自己手上牌的點數之和儘可能接近21,但不能超過,否則就算輸。
跟輪盤遊戲相比,21點很不一樣。輪盤遊戲單單是一次轉動的結果,而且每一把的獲勝概率是固定的。但玩21點,你可以選擇要不要牌,玩家跟莊家有一個博弈的過程,而且每次發到的牌不同,玩家獲勝的概率也不一樣。

美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽


換句話說,雖然綜合所有可能的發牌情況,莊家的勝率總是更大,但是對於單把遊戲來說,還是存在玩家勝率更大的情況。索普就想了,如果能根據手上已有的牌,計算出最佳策略之下自己的勝率,有利就多下注,不利就少下注。如此一來,贏的多輸的少,不就自然能打破久賭必輸、莊家必贏的魔咒了嗎?
可問題是,賭場上講究快速決策,誰會讓你拿著紙筆,所有人坐那兒等你慢慢算勝率啊。再說了,每一局牌的打法千變萬化,究竟如何才能快速估計出自己的勝率呢?
3. 開發勝率速算法,幫賭徒鹹魚翻身

在索普琢磨21點這個問題以前,其實已經有數學家研究過不同發牌情況下玩家的勝率。但要知道,牌面的可能組合有3300萬種,如果光靠當時60年代的普通計算機,估計得4億年才能算完。就這速度,還是白搭。
索普打算換個思路,把問題簡化,他需要知道的,並不是還沒發的牌裡具體有什麼牌、剩幾張,而是各個點數所佔的比例。為此,他自學編程,還找來一個幫手——麻省理工學院唯一一臺IBM 704計算機,這可是當時市面上最好的電腦。


就這麼寫啊寫算啊算,1960年,索普終於得到了一個策略,能把21點遊戲莊家的勝率,從56%下降到50.21%。不過因為當時技術的侷限,他在計算的時候用了很多近似值,其實是低估了玩家的勝率。到1980年,他用更先進的計算機一檢驗,發現玩家的勝率達到了50.13%!也就是說,用這個策略玩21點,就能戰勝莊家。

美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽


當然了,這只是數學意義上的策略,是計算機按照算法得出的結果。人腦可不比電腦,想把所有出牌方式都記下來再活學活用,沒可能。索普想要找到一些簡單快速的竅門,方便在現實中使用。


他計算了每類牌對玩家勝率的影響,也就是在一副牌裡,把4張同類牌面都抽走,勝率會怎麼變化。他發現,最糟糕的情況是取走4張A或者4張10,這會讓玩家的勝率分別下降2.5%和2%;而最好的情況是取走4張5,這時玩家的勝率會急劇上升3.5%,取走其他小於7的牌對玩家也多少有點好處。
根據這個結果,索普開發出了“算5法”和“算10法”。“算5法”的意思就是計算剩下的牌裡還有沒有5,如果有5就少下注,沒有5就多下注。“算10法”則正好相反。
得到了這麼多結論,索普唰唰唰把他的研究寫成論文發表,還在美國數學學會的會議上發表演講。在場的專家和記者聽得目瞪口呆、心服口服,但外界傳來了質疑聲,特別是開賭場的老闆,他們一邊罵索普是沽名釣譽,一邊警告說,誰要是敢用他說的辦法來賭博,就報警全給抓起來!

美國“賭神”開發勝率算法,因贏得太多,所有賭場見他都聞風喪膽


不過,這一點沒妨礙索普收穫一大波粉絲,甚至有好些人自願出資,讓他去實戰檢驗一下,看看他的策略究竟好不好用。經過慎重考慮,索普跟著一個百萬富翁去了拉斯維加斯。他從1美元的賭注開始,逐漸增加到10美元,再到100美元,循序漸進地驗證自己的策略,同時也在鍛鍊速算能力。
到第四天晚上,不到3個小時,索普就贏了2萬美元,放到今天相當於20萬美元。這下,各大賭場老闆真怕了,你說你一個大學教授不好好發論文評職稱,跑來跟我們過不去是怎麼回事?於是紛紛把索普拉進黑名單,只要看到他來,堅決不讓進。
1962年,索普無私地把自己的經驗和感悟全奉獻出來,寫成了一本書,書名簡單粗暴,就叫《擊敗莊家》。大家一看這名字,嗬,果然是書中自有黃金屋,還不趕緊買?就這樣,成千上萬的讀者看了索普的書,也都到拉斯維加斯活學活用去了,弄得開賭場的人苦不堪言。

排版|涼山

路上讀書:全球名校博士30分鐘精讀 一本好書。


分享到:


相關文章: