你可以打不贏費德勒,但你可以算計他

你可以打不贏費德勒,但你可以算計他

作者:甲勾

今天澳網正式拉開了序幕。茶餘飯後聊起勝負,總會有小夥伴神神叨叨地預測神準,問他個所以然卻不說,給你來句這就是實力,讓人恨得牙癢癢。今天甲勾就帶你瞭解一下高大上的專業算法,讓你在接下來的兩週內也能充當一回大佬。

我們以萬眾期待的費納第39次對決為例,來看看怎麼從官網上的一個簡單的數字推算出比賽中所有你感興趣的情況的概率。用比較專業的話叫,一個事件的概率是如何成為構建比賽所有結果概率的種子

蛋丁:才一個種子啊?我給你2G要不要?

條紋貓:這位同學,請你不要打岔認真聽課。

勝率計算的基準

在計算比賽概率方面,全世界最專業的莫過博彩公司了,但其實博彩公司從來不關心某一場比賽的勝負,而關心的是長期某一名選手或者某一支隊伍獲勝的概率,這兩者是有本質區別的。根據大數定律,隨著比賽數的累積,概率會越來越趨向於穩定。

由此可見,數據量越大,我們得到的概率就越接近真實情況,比較聰明的朋友可能會想到,我們應該去收集兩名選手歷史上所有比賽的結果,來計算出獲勝的百分比。這個思路並沒有什麼問題,但是想想這樣我們能有多少數據呢?

你可以打不贏費德勒,但你可以算計他

數據,大量的數據

費納已經交手38次,而更多的排名較低的選手,相互之間相遇的次數是非常有限的,就算算上職業生涯所有的比賽也遠遠達不到“大量”的要求從而會讓結果浮動很大不能代表真實概率。

你可以打不贏費德勒,但你可以算計他

很多選手之間的相遇次數是非常有限的。。

事實上,主流的網球模型使用的是更精確的數據:

一名選手每一次發球的得分幾率。通過數年的各類比賽統計成千上萬次的發球,每一名選手的這個數據是非常穩定的,在ATP(男子網球聯合會)和WTA(女子網球聯合會)的官網上也可以直接找到。

你可以打不贏費德勒,但你可以算計他

那麼假設我現在已經知道了費德勒每一次發球都有69%概率得分,我又怎麼才能知道他對陣納達爾的時候獲勝的概率是多少呢?

蒙特卡洛方法

你可以打不贏費德勒,但你可以算計他

蒙特卡洛這個名字可能很多人都聽到過,拋開摩納哥那個世界三大賭城之一不提,著名的阿法狗背後就有一個稱作蒙特卡洛樹搜索算法的很高大上的名字。當然我們今天不會談那個東西(那位準備關掉的同學你可以回來了)。

你可以打不贏費德勒,但你可以算計他

今天我們不聊這個,同學們請放心往下看

許多以蒙特卡洛來命名的算法或者方法,它們的思想本質就是運用計算機產生隨機數來大量模擬事件的重複發生,人為地製造出大量的樣本,再用統計的方法解決一些很難計算的概率問題。

你可以打不贏費德勒,但你可以算計他

我們繼續前面的例子看看如何實際運用這個方法。

你可以打不贏費德勒,但你可以算計他

網球比賽模型的建立流程圖

先來看看一局的勝負。如果說費德勒的每一次發球有69%的幾率得分,那我們讓計算機產生一個1-100的隨機數,如果小於或者等於69就認為得分,而大於69就認為對手納達爾得分。通過產生一串隨機數,比如87,56,62,25,8,我們就能模擬出一個單局的比分。

1 - 69:費德勒得分

70-100:納達爾得分

你可以打不贏費德勒,但你可以算計他

通過產生隨機數和已知事件的概率,模擬出一局的結果

現在讓計算機大量重複這個過程,比如100000次,然後我們統計一下,如果發現裡面89000次費德勒都贏了,就說明費德勒保住他的發球局的概率是89%

(由於要得到實際結果需要寫程序,這個數字僅僅用來輔助說明思路和邏輯,並不保證正確性,後同)。同樣原理,我們可以通過納達爾每次發球得分概率計算出他保住發球局的概率,假設結果是85%。由於樣本足夠多,這樣模擬出來的結果是相當可靠的,而我們還可以進一步增加模擬的次數來提高精度。

你可以打不贏費德勒,但你可以算計他

讓我們愉快地伐木吧!

知道了選手各自發球局的勝率,我們現在有了足夠的數據可以進行下一層蒙特卡洛模擬來計算

一盤的勝負了,讓我們再用一串隨機數 63,12,27,22,3,68,69,1,84,42,78,98 看看費德勒先發球的情況下,第一盤的比分情況(小於等於各自的概率表示保住發球局)。

你可以打不贏費德勒,但你可以算計他

通過產生隨機數和已知事件的概率,模擬出一盤的結果

我們也同樣重複這個過程100000次,就可以得到費德勒贏得一盤

的概率(假設是52%,輸掉的概率是48%)。

那麼現在我們想知道最終比賽勝負的概率怎麼計算呢?

澤科:讓我們再進入下一層的蒙特卡洛模擬!!

甲勾:看看這位學霸的領悟能力!不過我們這次還可以用更簡單的方法來解決。

乘法定理與加法定理

乘法定理:多個獨立性事件同時發生的概率,是它們單獨發生的概率相乘。

加法定理:多個互不相容的事件發生的概率,是它們單獨發生的概率相加。

最終可能的費德勒獲勝的情況只有三種,分別是3-0,3-1,3-2,它們之間是互不相容的(不可能同時有兩種比分)。

你可以打不贏費德勒,但你可以算計他

3-0 只有一種情況

你可以打不贏費德勒,但你可以算計他

3-1 有三種情況

你可以打不贏費德勒,但你可以算計他

而 3-2 有六種情況

我們要做的是把所有這些可能的情況每一行的概率相加。而每一種情況的概率,是那一行所有獲勝或者落敗的概率相乘。計算過程這裡就省略了(蛋丁已經拿著刀在瞪我了)。通過計算,最終的結果是費德勒獲勝的概率是53.7%。這個就是條紋貓用來開比賽勝負賠率的數字。

枝繁葉茂的衍生盤口

自然對博彩公司來說,獲得精確的概率是非常必要的,這樣可以幫助他們制定合理的賠率,而更重要的是通過這樣一個過程,可以獲得由下而上的所有事件發生的概率。找到像發球得分率這樣關鍵性的出發點,就像找到一顆種子然後生根發芽一樣,可以由此衍生出無數盤口滿足各種需求。

你可以打不贏費德勒,但你可以算計他

比如想知道費德勒3-0獲勝的概率,我們可以藉由上面第一行的結果計算得知是14%。又比如我們想要知道費德勒先失兩局的情況下逆轉獲勝的概率,我們找到上圖負負勝勝勝的那行,通過計算可以得到3%。再往下細分到比如每一分的勝負,是否產生搶七等等,任何想得到想不到的結果的概率,都是可以計算出來的。

這裡為了說明方便,介紹的只是一個非常簡化的模型,實際應用中,會加入更多參數。例如:

  • 細分一發和雙發得分的情況進行多層分叉。

  • 引入對手的破發幾率的競爭算法。

  • 為選手在不同場地上的表現進行加權

  • 根據傷病和競技狀態進行修正

  • 等等等等

你可以打不贏費德勒,但你可以算計他

2018澳網-志得意滿的奶牛和他傷病纏身的對手們

更關鍵的是,這類盤口往往因為概率相當低所以可以開出非常高的賠率,而且計算相對複雜普通人往往不能直觀地理解背後的實際概率,這就給了博彩公司以機會在這類盤口上增加返水率從而增加自己的利潤。如果因為抵擋不住十幾倍甚至幾十倍的回報而僅僅從表面去研究下注這類盤口,就正好中了圈套。

從隨機中誕生的世界

本文提到的蒙特卡洛方法是一種非常強大的思想,上到人工智能,下到算算圓周率求求積分,都可以看到這個思想的影子,它通過用隨機數模擬實際結果,用大算力產生大量的樣本數,最後用統計方法得出不同結果的概率。小學的時候我們都用過窮舉法,這個思想可以看成窮舉法在信息時代的發展,只不過對確定數值的窮舉,變成了對概率的窮舉。

你可以打不贏費德勒,但你可以算計他

這種方法被廣泛應用於金融,經濟學,社會學,統計物理等等各種領域,用計算機帶給我們的強大算力,解決各種複雜的現實問題。這也是甲勾用了整整一篇的篇幅作為鋪墊,介紹如何產生高質量隨機數的原因。

傳送門:這位大叔在隨機的彩票上實現了90%的中獎率

你可以打不贏費德勒,但你可以算計他

在結束本文之前,給大家留一個小題目:

我們已經知道對於網球比賽,我們會選擇一名選手發球的得分率作為基準。那對於足球比賽,什麼數據最適合作為基準呢?

歡迎留言告訴我們。

珍愛生命,遠離賭博

光靠禁止一件事,有時候會反而讓人心生叛逆與好奇。賭博容易上癮,是因為在它背後的是人性的弱點。甲勾在系列以後的文章裡將會涉及各種與此相關的數學和心理學。只有深刻理解事情背後的本質,才能作出理性判斷。

感謝閱讀,本文由“奇點偶遇”原創發表,歡迎關注。如需轉載,請聯繫我們。

鳴謝:某博彩公司資深網球交易分析師 Hau Neo

你可以打不贏費德勒,但你可以算計他


分享到:


相關文章: