趣話體育——排名的科學

註:這次的這個話題是我非常喜歡的一個主題,也是一個相當有趣的話題。但跟前面的「體育與語言」不一樣,這次的話題涉及到一定的數學知識,話題非常大,難度也要大很多。我會盡量使用通俗的語言來分析文章里涉及的問題,關注點將主要在排名的思想和基本方法層面。

前言

對於一切競技項目來說,排名,這是一個永恆的話題。對於錦標賽事,我們需要靠名次來決定冠亞軍、升降級,就算沒有錦標的角逐,人民群眾們也永遠對一切帶著排行榜性質的名單喜聞樂見,因為只要名字與數字綁定在一起,它們就具備了天然的「強」與「弱」的判據,出現在第一位者,自然會被賦予了「雄霸天下」的榮譽,為眾人景仰。

然而,競技項目本身非常複雜,一些競技,比如田徑、賽車等競速項目,或是跳水、體操等打分制項目,同一場比賽就能自動生成名次,但也有很多其他項目,單一比賽只能產生一個勝負結果,這就需要引進專門的排名系統來決定出一屆賽事的名次。更進一步,儘管競技項目能給出一次比賽的名次,但我們仍希望統計出大量比賽之後的綜合排名,因為這才真正代表了排名的終極意義。

對於排名而言,有兩個最重要的指標是一切排名系統都必須考慮的,一是權重,二是公平。當樣本數量很少,比如只有16個,我們可以讓它們打循環賽,或是兩兩淘汰,權重和公平都很好安排。但當排名系統的樣本數越來越龐大時,一個對每個個體都公平的系統,就並不容易設計了。而在體育領域,有時樣本很少,比如中超16隊,NBA30隊,有時樣本又很龐大,比如網球、高爾夫等個人項目要數以千計,電子競技這樣的領域樣本數甚至能以百萬計。在極大的樣本庫里,正確衡量每一場賽事結果的權重,以及保證所有人的公平,這就不僅是簡單的數字計算,而是牽涉到大量數學與統計學思想的複雜系統的模型分析問題了。

另外,所有排名系統都能分成兩種基本的形態——結果型統計型,或者可以叫做靜態型動態型。前者如一次世界盃比賽,初始時所有樣本處在同一起跑線上,分數都是零,而進行了一系列比賽後,我們通過比賽的結果決定冠軍、亞軍、四強、八強……這樣的一次排名是完全以孤立的結果為依據的,無論時間推移,單次比賽的名次都不會改變,故稱為「靜態」。後者則如FIFA公布的世界排名,它所給出的是對數年內所有比賽的綜合表現的評定,而且是以周期的形式,持續不斷地更新,每一期的排名都可能會有變動,這就是統計型的動態排名。在英語里,這兩種排名的叫法其實是不一樣的,通過實時比賽結果得到的積分排名叫「standing」(比如各種賽事的積分榜),而由大量賽事得到的綜合實力評價型排名才叫「ranking」。這兩者都是體育領域裡不可或缺的模式,也都廣泛運用於體育的各個領域。我們下面就通過具體的例子來分析一下這兩種排名的模式。

靜態排名——淘汰制與循環制

對競技項目而言,當樣本比較少的時候,獲取最具有說服力的排名的首選,勢必是讓所有樣本都充分地相互對抗,因而競技項目發展出了錦標制,並以決出冠軍這一最直接的形式,表現這一排名的權威性。

但是,錦標制始終要面臨一個重要問題——時間。時間意味著對許多錦標賽而言,比賽能夠安排的數量是有限的,但賽事組織者必須讓這項比賽產生的冠軍令每個參賽者信服,這對於上面的兩點——權重和公平,就尤為重要了——你不能讓本來權重不高的比賽產生過高影響,又或者不能讓實力不均等的球隊得到不相稱的待遇,這就需要人們引進一定的額外製度來彌補。循環制中的平分規則,淘汰制中的種子規則,都是由此而來。

在時間充裕的情況下,最理想賽制自然是循環制——沒有比所有競爭者兩兩交手更公平的賽制了。對於大型賽事,甚至還需要通過主客場雙循環制來達到更徹底的公平。所以在以年度為單位進行的聯賽型賽事里,循環制一直是最普遍的賽制。

但在時間的限制下,幾乎沒有哪項賽事能真正實現循環制,而且循環制的問題在於,雖然保證了公平,但沒有考慮權重的問題,所有比賽的權重一樣,這不利於營造體育賽事的觀賞性。於是淘汰制應運而生,淘汰制天生的層級屬性,尤其進行到最後一戰決出冠亞軍的特色,無疑是製造觀賞性最佳的舞台。

當然,淘汰制本身是以犧牲了一定的公平為前提的,這就需要引進相應的彌補制度。淘汰制有兩個主要缺陷,一是抽籤在賽制中的作用太大,影響了公平性,二是每一場比賽的權重都太大,使得小概率事件(弱勝強)一旦發生會造成過重的後果。對於這兩者,人們都引進了相應的彌補措施。針對抽籤的問題,人們用種子制度來保證實力最強者之間不會過早地交手;針對權重問題,人們則引進了小組—淘汰制,這保證每一名參賽者都有多於一場的比賽可以參加。

淘汰制的另一個問題是對數字的敏感,完美的淘汰制度只能是基於2的N次冪(4、8、16、32……)實施,一旦參賽者不是這個數量,種子制、小組制就都會產生一定的問題。人們雖然引進了輪空制度、不均等小組、成績最好第X名等方式來調和,但實際效果仍然很難達到理想(16年歐洲杯就是一個例子)。而循環制就完全沒有這樣的問題了,無論多少參賽者,偶數直接循環,奇數則設置輪空即可。

介紹了靜態排名的基本制度,我們看一些特殊的例子,來體會一下人們在排名上有過哪些智慧的創意。

平分打破(tie-breaker)制度

循環制解決了參賽者起點公平的問題,但並沒有解決終點公平問題——循環賽制下,平分的出現是不可避免的。然而體育領域中,很多排名制度並不接受並列,這就需要所謂「平分打破」來化解這一局面。當然,如果體育比賽允許出現平局,平分的可能性會大大降低(但不能排除),但對於只允許勝/負二元結果的賽事,不僅平分在所難免,還很有可能出現三隊以上的「連環平」,這就對平分打破提出了更多的要求。目前使用最廣泛的有兩種平分打破標準——小分制和相互成績制,當然,附加賽、外部排名乃至抽籤,這些也都是人們使用過的方法,這裡我們只討論前兩者。

小分制遵循的是公平原則,既然積分是所有比賽的勝負結果,那麼全部比賽的總得失分數就應該作為第二重要的因素。足球是小分制應用的典例,聯賽及各種小組賽中,凈勝球都是普遍使用的指標。然而不同運動的「小分」性質不盡相同,有些運動是局勝制(排球、網球),有些運動的分數較大(籃球、手球),這使得小分制的適用存在局限性。另一個缺陷是權重的問題,以足球為例,大多數足球比賽的凈勝球不超過3個,但如果同一組中存在實力非常弱的隊伍,這會導致強隊的凈勝球排位最後很可能會取決於在弱隊身上「灌」了多少(經典例子如04年世界盃預選賽上中國隊6:1而被淘汰的尷尬場面),這就是個很不合理的結果。所以我個人一直覺得足球的凈勝規則應該設置上限(比如3個),超過後只按上限個數計,或者不計算對排名最低隊伍的凈勝球。

相互勝負制則是完全的權重主義,這也是最直觀的破平局方式,這尤其適用於籃球等大比分運動,美國的體育聯盟也普遍採用相互制。但相互制的問題也顯而易見——如何處理三隊以上的連環套?當平分者超過三個,其實就又產生了另一個循環,此時要麼再計算小分,要麼得進一步計算比賽的權重,比如客場賽、優先賽分數更高(美國體育里一般是小分區比大分區權重高),常規時間勝比加時勝分數高等,這會較為缺乏直觀性。而且由於相互制的決定性比賽通常不在最後,這很可能會出現在後階段消極比賽的問題(比如2004年的歐洲杯義大利因為相互制末輪被丹麥和瑞典聯手淘汰)。

一次著名的Tiebreaker事件——2004年歐洲杯C組,採用同分先比相互關係制度,三隊同分則比三隊內部比賽的凈勝球、進球、失球等。前兩場義大利vs丹麥0:0,義大利vs瑞典1:1,最後一場只要瑞典和丹麥戰成2:2(也確實打成了這個比分),義大利贏多少球都必然被淘汰。

不均等劃分

前面說到,淘汰賽制度極依賴於數字,幾乎只有2的n次冪的參賽者數才能劃定出完全均等的分組,但如果現實中沒有完美的數字呢?比如一切賽事的外圍選拔,都要求在任何數字下都能實現一個合理的入圍與淘汰分配(因為參賽者的數量是不確定的),這便引出了不均等劃分的問題。

在沒有時間安排循環的情況下,有兩種常用的適用任意參賽者數目的劃分方式,一是輪空制,二是不均等分組。這兩種方法都能保證起始參賽者可以為任意數目,但最後都可以簡單決出冠軍,也就是都能夠進入2?參賽者淘汰賽的均等形勢。

輪空制是傳統淘汰制的簡單改進,先讓部分參賽者相互淘汰,再跟其餘參賽者湊成一個合適的數量(比如2?),進入接下來的淘汰賽。從數學上可以推導,如果有m支隊伍,先確定m所處的2的N次冪區間,即 2^n<m<2^{n+1} ,我們需要在第二輪時剩下2?參賽者來兩兩淘汰,於是我們選出x支隊輪空,第二輪的2?支隊便是由輪空的x隊和第一輪獲勝的2?-x隊組成,那麼參賽隊伍總數 m=x+2cdot{2?-x}=2^{n+1}-x 。比如有29支隊,16<29<32,首輪輪空隊伍為32-29=3支,即第一輪26隊淘汰決出13隊晉級,13隊跟3支種子隊便可正常進行接下來的淘汰。這個賽制在網球領域應用非常廣泛,除了網球的四大滿貫需要選拔2?參賽者,其餘各項巡迴賽事基本都可以以任意人數開賽。

一個典型的輪空賽制,比賽一共有56人參加,其中8人第一輪輪空,這幅圖表示了其中14人(2人首輪輪空)的對戰情況。

不均等分組就很簡單了,一般來說我們要盡量讓小組的隊伍數量相差不超過1個,那麼先選定一個基數,確定參賽者數量在它的兩個倍數之間,把相應差額補到部分小組裡就行了。但不均等分組需要解決一個問題——如何確保容量不同的小組之間的公平?一個可行做法是把種子選手分配到人數少的組,這樣能使各組的優勝者相對平衡。有時不均等分組還要面對另一個關鍵問題——選出成績最好的第幾名,這就需要統一各個不均等的小組的分數,實踐中常用的方式是去掉人數多的組裡對陣最後一名的成績,然後按常規平分打破規則對比,但要注意此時就不存在「相互間勝負」了

一個不均等小組選出「成績最好的第二名」的例子——2014年世界盃預選賽歐洲區,參賽球隊總數53支,分成9組,其中8組六隊,1組五隊(上圖法國),所有六隊組的第二名都必須去掉對陣本組最後一名的成績(主客場),所以參與對比的只有8場比賽。

還有一種思路是,先用任意兩兩對陣或分組賽的方式,把參賽者縮小到一個小範圍,然後在這個小範圍內打循環賽,這樣就不要求最後進入2?淘汰階段,同時也能在有限時間內分出具體名次。這個思路適合於參賽者中實力較弱的群體數目龐大的情況,避免實力過於懸殊的比賽消耗賽事資源(輪空制的x受制於m,要是x太小輪空其實意義不大)。世界盃的亞洲區、中北美洲區預選賽採取的都是這樣的排名淘汰機制。

雙敗淘汰制

一般的淘汰制有一個固有的問題——只能精確給出前兩名,但人類體育界偏偏喜好的是前三名,比如奧運會。如果不願意並列,就只能打非常尷尬的銅牌賽。因而人們開發了另一種變體淘汰賽制——雙敗制,這個賽制的一大直接功能就是,能夠產生精確的前三名。

當然雙敗制的功能遠遠不在決出銅牌,這個制度設計的初衷是——讓所有參賽者能至多失敗一次,而傳統淘汰制里,一次失敗就直接出局了。雙敗制只能基於2?參賽者實施,原理是先讓第一輪比賽先分出一半勝者和一半敗者,第二輪勝敗組內各自相互對戰,這樣第二輪勝者中輸的一半正好對上了敗者中贏的一半,依次可以類推。最後會出現一個一直未輸的勝者冠軍,和兩支輸了一場的敗者冠軍,兩個敗者冠軍對決的勝者進入決賽,這樣前三名就自動產生了。具體流程可以參考下圖:

相比於小組賽+淘汰賽機制,雙敗賽最大優勢在於戲劇性強在比賽很後段輸過的參賽者依然沒喪失奪冠的機會,比如16隊賽制里可以允許一支隊伍在第四場比賽失利,而一般的4組4隊賽制,3場小組賽後就不再允許失誤了,這給整個賽事帶來了更多懸念。但雙敗賽畢竟有部分(不到一半)隊伍只能打兩場(而且無論初始數目多少,都必定有四分之一支隊只能打兩場),這還是不太討人喜歡的,當然這比有一半一輪游,四分之一打兩場的傳統淘汰還是好多了。

關於雙敗制的詳細情況,在這個回答里有很多論述:宋寧世:為什麼賽會制體育比賽,比如足球世界盃淘汰賽階段不能採用雙敗制?

動態排名——「天梯」

靜態排名只解決了一次賽事的名次歸屬,甚至在很多時候,它的價值僅僅是決定出第一名——這多少有些「成王敗寇」的殘酷性。有些時候,我們會希望關注另一個問題——

如果讓隨便兩個人或隊伍交手,誰更有可能獲勝?

當參與這項運動的樣本數龐大的時候,組織兩者進行實際的比賽就很不現實了。而實際上我們也並不關心兩者究竟要不要進行比賽,我們只關心這兩者孰強孰弱,而在任何虛擬的賽事中,強者對弱者的贏面顯然更大。換言之,我們需要的是一個關於「實力」(power、strength)的排行。

在現實中,對於利益相關者,比如運動員或隊伍自身,以及博彩公司來說,實力排行是至關重要的信息。即便在群眾眼裡,任何一個帶有「排行榜」「top 10」字眼的話題,那都是人們喜聞樂見津津樂道的談資。

對於這種性質的排名,我們首要關心是——時效,不同年份、乃至不同月份,競技者的實力都有可能發生巨變。所以我們最希望的自然是一份可以實時更新的排名,最好每一場比賽的結果都能立即計算入排名之中。

另外,在靜態排名部分,我們多次提到了「種子」,而種子的決定,就需要依賴於一套實時性的實力排行榜,這個排行榜需要給出非常精確的排位,只有這樣才能確定出精確的種子數目。於是,我們需要的不只是排名,而是一個「評分」(rating)系統,這個系統的功能是以完全定量的方式給出所以競技者的分數,並以此高低進行排位。

這些要求就給出了這樣的系統的性質——動態、統計,一者必須實時更新,二者必須基於許多競技者的許多競賽結果。在現實語境中,人們給這個系統起了一個非常形象的名字——天梯。顧名思義,在旁人看來,這番景象頗像一架位次不停更新變化的「梯子」(因為排名榜單看起來總是縱向的),而對於競技者,這個榜單直接代表了一步一步往上爬的歷程,每爬到一個位置,代表自己進入了新的一片天地。在流行匹配機制的電子競技領域,「天梯」甚至會直接決定競技者的下一場賽事所要對陣的對手。

基本思想

在虛構文學、動漫、影視等的相關討論里,常常可以見到「武力排行榜」「十大最強XX」等民間研究,這些研究最讓人佩服的是,能夠從原著稀少的樣本和隻言片語的敘述中抽象出定量的東西,而且通過間接比較(A>B,B>C,所以A>C)量級調整(A小勝B,大勝C,所以A>B>C),竟能得到個精確到每一個位置的武功排位,把書中或許沒有交集的角色愣是排到了一起。

這其實告訴了我們動態評分的關鍵——間接比較。在動態體系里,我們並不關心所有的競技者們是否有充分的機會交流——很多時候,兩個競技者可能從來就沒有交手過。但關鍵的是,我們要找到一個對所有群體適用的參照物,這個參照物可能是一個所有群體都可以對比的選手(或者一個假設的選手),也可能是每次勝利的價值程度(小勝還是大勝)。

另外,由於時間總是在向前推進,評分時就需要考慮時間累積效應的影響。有時我們可以把競技者的所有結果直接累加,對於搏擊類項目(賽事密度低,權重高),生涯指標是關鍵參數,所以青睞於直接比較累積數據。但對於其他賽事,尤其是以隊而非個人進行的賽事,由於隊伍的人員並不固定,累積指標就並不科學了。

我們能想到一個簡單的改進——以評分當時為基準,往前數一個周期(一年、兩年……),計算這個周期的數據。於是,每一次計算新的排名,在增加新的結果的同時,也會減去部分舊的結果。時間對於所有的競技者都是公平的,將時間作為比較的基準,這不失為一個出色的方案。這個方法我將其命名為「時移區間法」。當今體育界,尤其是奧運範圍內的絕大多數個人項目,比如網球、高爾夫、羽毛球、自行車、柔道等,都廣泛地採用時移區間來決定個人選手的名次,從而劃定下一次比賽的種子排位,FIFA公布的世界排名也使用了時移區間的基本思想。

FIFA官方上專門公布了每一期排名里將不再列入計算的比賽,這使得新比賽加入的同時舊比賽會退出,使得球隊的總分維持大體的動態穩定,這就是所謂的「時移區間」。

另一個重要的指標是結果的重要性——也就是我們最初提到的「權重」,虐菜的勝利和勢均力敵的勝利,體現在分數上是絕不應該相同的(這也就是上面的武俠排行思想之一)。所以對於體育領域,我們需要劃定不同比賽的含金量,大多數項目用的是非常簡單粗暴的辦法——設置不同級別的賽事,比如大滿貫>大獎賽>巡迴賽,每一級的冠亞季軍等名次對應不同分數,換言之,這是事先規定的權重,需要球員主觀地去「刷」分數。

在排名的過程中,我們需要決定一個重要問題——該算總分還是算均分?總分就是把所有結果對應的分數加起來,均分則跟大學裡算GPA一樣,給每項賽事賦予一個「學分」計算加權平均,這兩種方法都是可行的。我們可以想到它們各自的問題——總分制里參賽的數目至關重要,要是一個競賽者在一段時間內無法參賽(最常見原因即受傷),這會導致其排名驟降。而均分制在原理上無視了參賽場次,這又可能使競技者參與的積極性打折扣,所以實際應用必定要給定一個最少參賽數目。現實中,網球、羽毛球採用總分制,高爾夫則用了均分制,但總分制還是比均分制普遍,畢竟從體育組織的利益出發,他們也不希望運動員消極參賽影響自己的收入。

2018年世界盃東道主俄羅斯隊由於在長達兩年時間裡無法參加預選賽,只能打友誼賽,導致排名嚴重下滑,在2017年10月時僅名列65名。當然世界盃會賦予東道主種子地位,但東道主如果表現不佳,其排名有可能會就此受到重創,影響之後的歐洲杯預選。

同樣,在介紹完了基本思想之後,我們也會看一下人類還有哪些新奇的想法,能夠應用於給體育運動的參與者們排行。

修正積分制

現今的網球、羽毛球等世界排名告訴了我們運動員們參加各項賽事獲得的成績,根據成績的多寡告訴了我們運動員大致的能力。但這樣的評分模式並沒有告訴我們所有的信息,其中最大的遺漏在於——它沒有體現單一比賽的重要性。比如說世界排名第一的費德勒在兩次大滿貫的決賽中分別擊敗了第二和第十,通過這兩場比賽他得到的積分是一樣的,但對費德勒而言,兩場比賽的難易度顯然並不相同,他的兩次勝利的價值仍需要根據對手的實力進行調整。另外,通過淘汰賽制決出的名次畢竟有限,尤其對於廣大實力無法通過賽事前幾輪的選手,他們的分數很難有效區分,這隻能靠設置更多比賽來彌補,但對於很多無法高頻率安排比賽的運動,或者對手匹配相對自由而不依賴錦標淘汰賽制的運動,比如團隊運動、職業搏擊運動、電子競技等,就需要一套基於每一次對決結果的修正制度,讓單一比賽的結果,而非一次賽事的榮譽排位,來確定競技者的實力評分。

如果考慮單一比賽結果,這似乎就是上一章所講的靜態排名,即類似於足球3/1/0制度的積分體系,但我們不能讓不同比賽的勝利都對應3(不同比賽的失利倒是可以都是0)。我們可以根據對手實力、比賽重要性、比賽難度等因素,在勝利積分的基礎賦分值(例如3)上乘以一個係數,作為每一場比賽的得分,這就實現了一個有區分度的積分制。

對手修正

我們最先能想到的修正係數,莫過於對手的強弱。如果兩個對弈者在賽前已經有各自的排名和評分,是否可以把它們考慮進來?勝負結果符合排名差距,說明勝利的價值一般(但強勝強還是比弱勝弱更有價值);而勝負結果不符合排名差距,說明這場比賽是「爆冷門」,對於勝者的獎勵就應該加大

一個自然的修正思想是,考察對手的百分比排位——如果我擊敗了一名排位高出99%競技者的對手,那麼我的積分可以乘上一個基於0.99的係數,顯然對手實力越強,一場勝利的價值就越高。這是一種只看絕對實力的評分法,比如一支排前30%的球隊擊敗了排前10%的球隊,前者的勝利可以獲得0.9的權重分(係數可以用加法或乘法進行放大),而後者的失利則只是按0計算。在統計學裡,百分比排位,其實就是我們常說的「分布」(概率密度函數),如正態分布、Gamma分布等。

當然我們也可以把失利賦上分(或者賦負分,即扣分)。比如規定勝得4分負得1分,同樣排前30%的A擊敗了排前10%的B,那麼A得到4*0.9=3.6,而B只得到1*0.7=0.7,兩者分差2.9,高於比按勝3負0得到的3*0.9-0=2.7,即一場比賽既考慮了贏者的所得,又考慮了輸者的損失。

有了係數修正的方法,對於其他可能要考察的因素,只要往得分上乘係數就都可以搞定了。一些比較明顯的因素,比如主場或客場,可以直接按主場勝和客場勝賦予不同的係數;不同重要程度的比賽,比如足球里的世界盃、洲際杯到友誼賽等,同樣可以分別賦予權重值。

不過此時還有一個問題尚未解決——如何確定排名里評分的初始值?只有初值存在,後續的計算才能夠繼續。一個簡單的處理方法是借鑒上一部分的榮譽積分制,先選擇一個時間起點,再根據排名節點之前的各種錦標賽成績累計出一個不考慮單一比賽結果的名次和評分,此後就可以正常進行一環套一環的推導了。當然在實際的排名系統,比如FIFA的世界排名里,初值決定的程序要複雜得多。

區域修正

在實際應用中我們還可能會面臨一個問題——參與排名的樣本數不夠。由於地理或組織的原因,位於不同地域(比如大洲)或隸屬不同組織的隊伍,也許在自己內部能得到頻繁的交手機會,但區域之間的兩隊可能長年都難以發生交集,這會使得不同區域內同一檔次的選手在排名的中下游大量囤積、難以區分。比如足球的國家隊領域,不同大洲的隊伍想要交手只有兩種途徑——世界盃或友誼賽,這兩者恰為最高和最低的級別,樣本數量顯然是不夠的。

動態排名的靈魂思想是讓交不上手的競技者之間仍能區分高低,這個問題也就是動態系統設計的重點所在。當然,這個問題的難度也要遠比其他高。像FIFA世界排名這樣的系統,只考慮了一個簡單的修正——將不同區域本身再進行一次排名,進而在每場比賽中再乘上一個係數,比如歐洲、南美球隊的係數為1,亞洲非洲只有0.85,但這個排名本身也需要根據時間調整,比如FIFA就是以每一屆世界盃為節點來修正這個係數。現行FIFA世界排名在這方面其實還是比較簡單,區域係數基本只有歐洲南美一個檔,其他大洲一個檔,所以FIFA排名里歐洲和南美整體明顯比凌駕於其餘各洲之上,對於歐洲南美的弱隊與亞、非、中北美的強隊的關係缺乏考量。

等級分系統

實際應用中,係數積分制採用的機械區別不同區域強度的演算法的限制仍然很明顯,而且區域強度係數並沒有解決不同區域難以碰面的問題,它的實際結果只是進一步擴大了強與弱的代差,看起來像是「為了體現實力差距」而主觀「湊」出的評分差距,這甚至還帶有一定歧視的意味。

在1970年,一位匈牙利裔數學家Arpad Elo,發明了一套全新的排名計算方法,主要用於計算國際象棋選手的實力。這種演算法適合於處理非常大的數據樣本,而且適用於由樣本之間沒有充分交流的孤立區間組成的集合。這套演算法的另一個強項是,無論樣本容量多大,它算出的結果的數量級是穩定的,於是它非常適合制定頭銜——比如國際特級大師、特級大師、候補大師等等,只要競技者的分數達到一個規定值並保持一段時間就行了。而正是在這套演算法下,前面所說的「天梯」也就有了非常形象的意義——梯子每一級的分數是固定的,這自然給了人們衝擊的指標,這就更像一個爬梯子的過程了。從原理來說,這個演算法可以稱為「等級分」,但為了紀念Elo的貢獻,這個演算法被直接命名為Elo評分法(70年代還有個匈牙利人Rubik發明了以他名字命名的Rubiks Cube)。

我先不用數學公式來解釋一下Elo演算法的原理:我們假設世界上已經存在非常多的競技者,他們的實力足以形成某個統計學上的分布,在他們的基礎上,新加入任何數量的成員都不改變分布的屬性。一個統計學分布會自然產生一個所有人實力的「期望」,進而能算出任何兩個有分數的成員相互對陣,發生勝平負結果的期望。當雙方實際對陣產生結果後,我們對比實際結果和期望值,並根據這個結果,給雙方各自一個新的分數

用公式來解釋就是,假設A和B各自有積分Ra和Rb,期望n=400,在這裡Elo演算法常用Logistic分布(當然也可以視情況使用正態分布、伽馬分布等)。假設一場比賽的勝和負對應分數1和0,於是通過比賽,A得到分數的期望是 E_{A}=frac{1}{1+10^{(R_{B}-R_{A})/400}} ,B得到分數的期望 E_{B}=frac{1}{1+10^{(R_{A}-R_{B})/400}},Ea、Eb都在0~1之間 。當A和B進行了實際的比賽,實際結果為Sa和Sb(一者為1一者為0),對於A,我們用一個修正係數K,計算出A的新分數Ra,則R_{A}=R_{A}+K(S_{A}-E_{A}) ,對B同理。這樣每一次結果就都能夠產生A和B各自新的分數,這個分數只取決於A和B,不受任何其他選手影響,這也是這個系統能產生穩定的分數節點的原因。可以看出,對於這個系統,只需要決定兩個關鍵參數:期望n和權重係數K,但我們同樣可以考慮平局結果、以及不同賽事重要性等指標,這些乘到係數K上作為修正就可以了。

暴雪《守望先鋒》遊戲的一個玩家能力分數的分布情況,可以看到大體上滿足正態分布或其他衍生出來的形態(某些異常點可能非遊戲正常對陣自然產生)。

前面的修正係數法里,我們必須有三個決定性的變數——固定長度的時移區間、對手的絕對強度,所有人分數的初始值。但Elo演算法的原理正好相反,不需要選定周期,不看競技者分數的高低(只看分數差值),也不需要確定起點,理論上可以從這個項目誕生的那一天起,一直算到今天。而且分數不會受參賽頻率影響(不參賽則分數維持不變),所以即便一個選手退役,分數也能一直保持在榜(只要他不從榜單脫離);而一個選手從零分開始,只要有穩定的勝率,很快就能躋身更高層級。

我們可以看到,這套系統本身就使用了統計學方法,所以它對於容量大的樣本有天然的適用性。而且它充分考慮了強弱之間的均衡:如果你能穩定地戰勝自己的同級對手,根據上面公式,即在E=0.5左右的比賽里能穩定獲得S=1,那麼你每一場都能凈賺0.5K的分數,在同級別(無論強弱)分數變動不大的情況下,你能很容易脫穎而出,爬到下一個層次。如果一個弱者持續戰勝強者,即在E趨近0的比賽里拿到K的分數,他的分數會迅速爬升;而強者如果總去虐菜,雙方的(S-E)只是在0附近徘徊,強者賺不了,弱者也不會虧。

在體育界,Elo演算法早已走出了國際象棋,被推廣到了大多數智力運動上。但由於演算法較複雜,尤其依賴統計學方法的演算法在一些小樣本體系中不一定能適用,因而大多數團隊運動的官方層面目前還沒有接納Elo方法,只有一些民間機構有一些足球、籃球等領域的Elo排名。

世界圍棋排名,上面明確標註了分數由Elo系統算出,注意這只是基於賽事數據計算的民間排名,圍棋領域並沒有官方的排名系統。人工智慧AlphaGo擊敗了李世石和柯潔後,其排名「空降」到了等級分的第二。

雖然Elo排名已經有近半個世紀歷史,但創始人可能想像不到,這個排名在互聯網時代竟煥發出了極強的活力,這得益於電子競技的高度需求。互聯網使得統計超大樣本的競技者成為現實,而Elo評分提供了一個絕佳的「匹配」制度。我們可以選取Elo分相近的選手對戰,使得勝和負都會產生適度的結果,勝多會向上爬,匹配到更強的階層,負多則向下,匹配稍弱的群體,在計算機和互聯網的作用下,即便在人數以萬計,結果更新以秒計的電競世界裡,我們仍可以得到可靠的定量排名結果。

基於Elo評分的統計學分布和修正積分理念,又有人設計了一個名為Glicko評分的改進版本,這個評分考慮了方差的作用,在這裡我們就不討論了。

動態評分的實例

本文的最後部分,我們舉一些當今體育界的例子來看一下動態評分系統是如何運作的。

網球ATP/WTA排名:採用榮譽積分總分+時移周期制,計算一年。運動員參加的不同級別的比賽對應不同分數,每一場賽事不同名次得到不同積分,周期內所有積分累加即為當期分數。但是從2016年開始,奧運會成績不計入積分排名中。

羽毛球世界排名:與網球的方法大致相同,計算一年。奧運會計入排名並作為最高級別計算。

高爾夫世界排名:榮譽積分加權平均+時移周期,計算兩年。參加不同比賽對應不同權重分,由賽事名次和權重分得到平均。但規定如果周期內參與的賽事少於40場,平均分依然要按40計算。奧運會成績也不計入排名。

FIFA世界足球排名:修正係數積分+時移周期,計算四年,但四年成績的權重按1.0、0.5、0.3、0.2遞減;勝、平、負對應3、1、0,但點球勝為2,點球負與平相同;世界盃、洲際杯、預選賽、友誼賽對應係數4.0、3.0、2.5、1.0;對手強度直接由(200-排名)/100,即按線性分布算;歐洲和南美區域算1.0,其餘各州算0.85(世界盃後有輕微調整),跨洲則取中間值。最後把所有係數乘起來,作為一次比賽的得分。現行的排名演算法是2006年時重新設定的,但目前的爭議很大,尤其這排名有很大空子可鑽已經不是秘密,14年世界盃的瑞士,本屆的波蘭,都靠鑽空子刷成了種子,對手係數、區域係數等的設置也都受到了大量批評。

FIBA世界籃球排名:大致類似FIFA,計算周期七年,也有時間遞減係數。不同之處一是勝負方都有分數,並且分數受分差影響,二是考慮主客場對比賽結果的影響,三是對手強度不直接算排名,而是計算排名與「平均排名」的差值。

世界橄欖球排名:採用一個獨特的「交換分制」,單場結果同樣由勝負、比賽權重、主客場、對手強度等算出,但一支球隊每獲得一個分數,它的對手B就要失去同樣的分數,原理上是勝者正分、負者負分的演算法,即考慮輸者損失。這個積分不考慮時移周期影響,初始值從有史以來的第一場開始計算,新球隊加入時則按30分起步。排名方式參考:Rankings Explanation

世界足球Elo排名:這是根據Elo演算法計算的非官方世界足球國家隊排名,目前採用的排名是從1970年起算,而理論上也可以從足球運動有史以來第一場國家隊比賽起源。相較於FIFA排名,Elo排名多考慮了主客場和凈勝球關係(在係數K上修正),但不考慮洲際強度。具體排名可以參考其官網:World Football Elo Ratings。

Elo排名與FIFA排名對比,可以看到,這一屆排名刷bug「混」進世界盃小組抽籤種子的波蘭,在Elo排名里僅列16位。近年長期霸佔FIFA排名高位,蹭得各種抽籤種子,但沒有取得什麼重大成績的比利時,排名也明顯比FIFA榜單低。

世界足球俱樂部排名:對於足球俱樂部層次的排名,有多家民間機構進行過嘗試,目前最常見的是非官方網站Club Rankings and Statistics計算的足球俱樂部排名,這個排名原則上屬於Elo演算法,計算範圍包括了全世界的所有國家曾經有資格參與洲際俱樂部比賽的球隊,以及主要國家的前兩級聯賽。帶有一定官方性質的排名的例子是歐足聯的俱樂部係數,這個是類似網球的榮譽分數制。

美國NCAA大學橄欖球碗賽排名:美國的NCAA大學體育聯盟是一個非常奇特的組織,這個組織實際是十來個分會的組合體,每個賽季基本只是在分會內部打比賽,球隊極多,但交流機會很少。然而美國體育又極其青睞於打全國決賽(所謂Bowl Champions Series),這要求每一年都得在一大堆沒有交流的分會中列出一個非常精確的排名。理論上可以用Elo評分解決,但每年一度排名的特性使得Elo似乎不太適用。所以美國人使用了一個多系統聯合式的方法,其中一部分是由投票來決定,即由三個授權機構邀請行業內專家、教練根據比賽結果投票出一個排名,另一部分則是由多個由計算機演算法生成的排名,最後的排名還要由去掉最高最低的方式決定。由於這個系統過於晦澀難懂、也非常不透明,每年都有學校被莫名刷掉,故而其爭議也相當大。

UFC冠軍排名:這是另一個投票式決定的排名,UFC比賽以一名選手的生涯數據為基本指標,但不同選手的參賽場次數、獲勝的方式差別極大,很難用單純的數字指標表達排名。所以也就乾脆直接採用投票制,由相關媒體機構自行選出每個級別的排位,包括一個跨級別的綜合排名,最後進行匯總。當然這種非常主觀的排名只能作為參考,官方並沒有針對排名劃定嚴格的對陣標準。

其他趣味體育文章:

體育運動中外名稱用語考

【體育與語言2】世界各國足球聯賽名稱考

體育遊戲考——十指間的體壇盛宴

變革中的足球——歐洲國家聯賽

變革中的足球2——錄像裁判


推薦閱讀:

身體對抗:C羅這撓臉動作,遇到張稀哲會怎麼樣?
這輩子就世界盃1個進球,多特大將剛打破344天球荒,又傷停了
日本梅西驚艷,韓國梅西:他不是對手,中國梅西將退役
七人制訓練的哲學和陣型
忠誠?梅西續約條件曝光,巴薩違背可以自由身走人

TAG:体育 | 足球 | 数学 |