導航:首頁 > 源碼編譯 > 單排匹配演算法

單排匹配演算法

發布時間:2024-10-30 04:00:11

1. 英雄聯盟匹配模式對手是如何分配的

概述:
匹配系統的目的如下,優先順序從高到低:
1、保護新手不被有經驗的玩家虐;讓高手局中沒有新手。
2、創造競技和公平的游戲對局,使玩家的游戲樂趣最大化。
3、無需等待太久就能找到對手進入游戲。
匹配系統盡其所能的匹配水平接近的玩家,玩家的水平是來自他們在此之前贏了誰以及他們對手的水平。當你戰勝對手,系統會認為你更強,當你輸給對手,系統會認為你更弱。雖然這對於某一局游戲並不是那麼的公平,但是長期來看,對於多局游戲是相當的公平:因為好的玩家總會對游戲結果造成正面的、積極的影響。我們使用了這樣一個方法測試:給水平高的玩家一個新帳號,然後看他們游戲數局後的結果。我們通過大量的測試來證明了我們的想法。
並且,匹配系統知道預先組隊的玩家有一些優勢,如果你是預先組隊,會給你一些更強的玩家。我們用一些非常巧妙的數學方法來解決預先組隊的玩家VSsolo玩家的匹配公平問題。我甚至讓兩個數學博士來驗證,他們都說給力!
匹配是怎麼完成的?
首先,系統將你放進適當的匹配池裡——根據游戲模式(匹配模式、排位solo/雙人、排位5人、其他模式等等)
然後,系統會嘗試將匹配池裡的人分到更細的匹配池裡——5人組隊VS5人組隊,低等級新手vs其他一些低等級新手,如此這般。
當你在匹配池中,系統會開始嘗試找到合適的配對,目標是撮合一個雙方獲勝機會都為50%的游戲。
第1步:確定你的實力:
*如果你是solo,就直接使用你的個人匹配分(也就是elo值,匹配模式和排位賽有不同的匹配分)
*如果你是預先組隊的,你的匹配分是你隊伍的平均分,並且會根據你組隊的規模稍微提高一些,這樣才能保證你匹配到更強的對手來抵消你組隊的優勢。我和一個計算機生物學的博士(ComputationalBiologyPh.D)通過研究成百上千的游戲結果,計算出了預先組隊到底有多大的優勢。我們還在幕後做了一些其他調整,比如新手和高玩組隊,比如某地圖上藍隊和紫隊的玩家哪個更有優勢,諸如此類。
第2步:確定你合適的對手:
*首先,系統會基於你的elo值,給你匹配跟你非常相近的玩家。最終,系統會放寬匹配的條件,給你一些不是那麼完美的匹配,因為你肯定也不想永遠匹配不到人。
*新手會得到一些特殊的保護,通常新手只會匹配到其他新手(在成熟的伺服器里,這個比例達到了99%+。除非這個新手和一個高級玩家朋友預先組隊)
第3步:確定匹配:
*最終,系統會匹配10個大體上同水平、同等級的玩家,促成一個游戲。
*系統會嘗試平衡這個隊伍,盡量使雙方的獲勝機會都為50%。在絕大多數時間,誤差會在3%之內——類似50/50,49/51,48/52。實際上的獲勝機會會有一點點差別(會在Q&A裡面回答這個問題),但是我們的研究標明,在絕大多數情況下,這實際上是一個非常精確的預測。
長期來講,我的匹配分(Elo值)是如何被測量的?
我們使用了一個修改過的ELO系統。ELO系統的基本要點通過使用數學比較兩個人的積分,來預測兩人的比賽結果——類似「A和B比賽數局,A會贏掉75%的局」。
然後,比賽結果出來了。如果你贏了,你會加分,如果你輸了,你會被扣分。如果你是「出人意料」的贏了(系統認為你輸的可能性更大),你會贏得更多的分數。額外的,如果你是一個新玩家,你會加分減分更快,以便於你可以快速的進入到你的水平等級。長期來看,這意味著好的玩家會得到高的匹配分,因為他們總是超過系統的預期,他們會不斷加分直到系統可以正確的預測他們的勝率。
我們修改這個系統給團隊比賽使用,基本概念是:基於該團隊的所有玩家,得到一個團隊ELO值。如果你的隊伍勝利,系統會假設該隊伍的所有玩家都要比系統猜測的「更強」,並且加分。雖然有一些問題,但是總體上來講是有效的,特別是玩家預先組隊的時候。
舉例,本人在北美的伺服器上有2000的普通匹配模式elo。如果我建一個小號,就算沒有天賦和符文,我打到8級的時候就已經有1800elo了。這個系統並不完美,但是確實能夠讓玩家快速的接近自己水平所在的位置。
當你才開始玩的時候,我們也對ELO做一些微調,讓你更快的進入你水平所在的位置。
*我們有大量的,有優先順序的方法來鑒定一個玩家,相比一個標準的新玩家是否更有技巧,更猛。如果發現是的,我們會在幕後提高他的elo一個檔次。
*我們同樣也會分辨真的菜鳥新手。
*提升等級也會極大的提高你的elo值。這個也將幫助系統將30級滿級的召喚師和低等級的召喚師區分開來
如果你想知道ELO系統的理論,以及更多細節,你可以看看這:
http://en.wikipedia.org/wiki/Elo_rating_system
http://zh.wikipedia.org/wiki/ELO
呃,等等,你是怎麼處理組隊玩家vssolo(單排)玩家的?
我們大多數情況下,會通過將5人組隊的隊伍匹配給另外一個5人組隊的隊伍來避免這種情況的發生(幾乎是所有情況下)。
對於「部分」組隊,我們進行了大量的研究,發現優勢並沒有想像的那麼大,所以我們也會把他們混到solo(單排)的玩家裡。我們發現有大量的因素會影響到組隊優勢的大小:從預先組隊的規模(比如2、3、4、5組隊),到組隊玩家的水平,到高玩帶菜鳥的組合,到玩家水平不同而導致的情況不同,以及其他的一些必須考慮到的微妙因素。這個要比一些我們曾見過的點對點演算法-將任意的統計數據雜糅在一起猜測分數-要可靠的多
發現這些優勢,我們就知道對於預先組隊的隊伍,需要提高多少elo值,來達成一個公平的匹配,確定一個適當的,在數學上合理的調整。結果在有些情況下非常令人驚訝(同時會校正統計數據)。
雖然我們不會給出精確的數值,因為這是商業機密,但是我們可以告訴您:
*5人組隊只是比5個路人稍強。
*部分組隊只是比5個路人略強。
*菜鳥5人組隊並不會帶來太大的優勢,但是高玩組隊會有很大的優勢。
*團隊實力方差高的隊伍,會比方差低的隊伍更強。(方差簡單來說,是在平均值相同的情況下反應各個元素的大小差異,方差大表示差異大,高方差的隊伍類似高玩帶低玩,低方差的隊伍各個隊員實力接近。)
*這說明了大體上,高水平玩家的Carry作用(可以理解為帶領或者大腿),比低水平玩家的送人頭作用(feeder)要強力。
好吧…那為什麼要把預先組隊的玩家和非組隊玩家匹配到一起?
這是一些原因:
*這會幫助系統更快的找到適合你的匹配分,讓系統更快的給你公平的匹配。這個的工作原理是,如果你組隊,會減低運氣所帶來的成分,如果你單排,你的隊友的好壞將對你輸贏的影響更大。如果你預先組隊,你會和你水平差不多的玩家組成隊伍,你隨機遇到猛男/坑爹隊友幾率會更小。因為游戲的結果更多來自你和水平相近的朋友的表現,而不是隨機因素,所以你的匹配分會更快的到達精確的值。
*我們希望玩家可以和自己的朋友一起玩,因為這樣會讓他們玩的更有樂趣。你也不可能為5v5的游戲設置單獨的2人匹配池或者3人匹配池,你需要組合他們來讓系統工作。我們選擇包含5人組隊,因為這非常有樂趣。如果我們以後有足夠大的匹配池,我們可能會將5人組隊和部分組隊區分開來,但是數據告訴我們,這基本不會提升匹配的公平程度,兩者的效果基本相同。
其他一些常見的問題:
Q:為什麼不加入一些其他的細節,類似擊殺數等等來確定我的匹配分?
A:因為這是有偏差的,並且因為非常難以給擊殺數這個數值來評分,你使用一個gank英雄的時候(類似老鼠和易大師),要殺多少人才能算是好的呢?而且這會讓好的輔助玩家非常吃虧,因為他們的目的就不是拿人頭,甚至會為了自己的Carry擋死。最後,玩家會為了刷數據,故意拖長游戲時間,然後拿大量farm對方的人頭,而不是為了贏得比賽。我們盡量把測量玩家水平和激勵玩家的機制放到努力取勝上面,我們避免了一些不必要的周邊行為,而這些行為既沒樂趣,還會擾亂匹配系統。
Q:我非常憤怒,因為匹配系統老給我坑爹隊友(feeders,送人頭的)。為什麼不阻止這種情況發生?
A:我們的確有試圖阻止這種情況發生,但是如果你被匹配到一個明顯很弱的玩家,這也說明匹配系統同時匹配給你了一個或者多個強力的玩家。根據我們的研究,我們發現Carry(大腿)對隊伍的帶領作用要比feeder(送人頭,坑爹)的坑爹作用更強。原因是在LOL里,多次擊殺同一個玩家的收益是會遞減的,並不像其他的同類游戲。我們的分析標明,在平均elo相同的情況下,提高或者降低這個隊伍的某個玩家的elo值100(其他玩家相應降低/提高以保持平均分相同),整個隊伍的實力會提高約7點elo值。這也表明,LOL中Carry的作用要比feeder的作用更給力一些。確實,有時候你會因為匹配到feeder而輸掉這一局比賽,但是那是因為你們隊的Carry不夠給力。
Q:這樣的話,如果我連勝了數盤,我是不是會被匹配到一些完全不可戰勝的對手?
A:不全是。連勝導致你的匹配分會提高,你會不斷遇到更強的對手——但是我們並不是故意的讓你的勝率保持在50%的,我們的目的只是為了系統能夠正確的預測游戲結果。最終,你會達到你的極限,你將會大致保持50%的勝率。比平均水平高的玩家,往往勝率會比50%略高,因為比他們弱的玩家更多,比他們強的玩家更少。所以匹配時,往往會略微「向下匹配」。對於排位頂尖的高端玩家,他們經常會有90%的勝率。
Q:你們會如何設計固定的隊伍?類似WOW的競技場隊伍?
A:這是一個非常好的想法,並且讓我們有機會設計出更好的匹配系統。我們遲早會做這個,並且使用我們開發的新方法。我們需要檢驗並且搞清楚你大體上有多強力(例如你的個人積分),同時允許你創建/解散隊伍。這是個非常大的工程,但是我們對此非常有激情~
Q:如果匹配系統真的那麼公平,那為何我老遇見那種一邊倒的比賽?
A:有兩個原因。第一,LOL有時候「雪球效應」會非常明顯。前期太差的表現會導致游戲讓人感覺非常一邊倒。特別是某些隊伍,如果他們開始很順風,就會一直很順風。我們遇到過同樣的隊伍,第一局25-5取勝,第2局確以類似的比分輸掉。第二個原因是,玩家發揮的並不好,隊伍選取陣容也不好。要進行一局勢均力敵的比賽,你需要平衡玩家水平和平衡陣容的選取。有時候玩家選了一個比較渣的陣容,比如5個近戰dps,或者3坦克2法師之類的,或者沒選打野英雄而對面有。這樣的話,盡管你的隊伍實力也很不錯,但是情況往往慘不忍睹。
Q:為什麼我作為一個高等級玩家,有時候會匹配到一些低等級玩家?他們看上去都是來送人頭的。
A:當一個高等級玩家和一個低等級玩家組隊,這是一個非常令人頭疼的問題。我們希望玩家可以和自己的朋友一起玩,並且希望這是一種愉快的體驗。但是我們並不希望將一部分人的快樂建立在另一部分人的痛苦之上,所以我們往往將這種組合評分更高,保護新玩家不會被高等級玩家虐待。非常不幸的是,不管我們怎麼做,我們把這樣的組合匹配到任何的游戲中,都有可能造成不愉快的體驗。因此,我們計劃將實施一個「不平衡組隊」的隊列,類似我們盡量將5人組隊匹配給5人組隊。
Q:我20級了,然後我被匹配到了一些10級的和一些29級的,怎麼回事?
A:當不同等級的玩家組隊,我們會使用他們的平均等級來作為匹配的參考。等級並不是匹配系統的主導參數——匹配系統通常是使用實力來匹配——但是我們也會盡量將等級相近的玩家匹配到一起。在預先組隊的情況下,我們沒法替玩家選擇,所以我們盡我們所能,使用平均等級。我們會在這個計算系統里把30級的玩家看作36級,所以我們通常能讓中等級玩家的游戲沒有30級玩家,然而有時候呢,29級玩家能插進來。

2. 王者榮耀ELO演算法是怎麼計算的 ELO值是什麼意思

近期很多小夥伴表示自己在玩王者榮耀時,匹配人的速度變慢了許多,那是因為你的ELO值過高導致,那麼王者榮耀ELO演算法是怎麼計算的,ELO值是什麼意思。
王者榮耀策劃Donny 微博原文如下
1、排位賽中的匹配機制最重要的目標就是給每一位玩家匹配實力相近的隊友和對手,如果你是大神,那希望你的隊友和對手都是大神,如果你實力普通,那希望你的隊友和對手也都和你實力相近也比較普通,同時在機制上是完全希望避免讓大神匹配到小白的。這是單排的情況,組排會更復雜些,比如一個大神和一個小白一起雙排,那在匹配時會希望找到對手也是有一個實力相近的大神和一個小白雙排的,同時他們的隊友分別也是處於在這實力區間里同時敵我雙方實力均等。
2、那怎麼定義每個玩家的真實實力呢?段位是很重要的因素,但並不是全部的因素,比如某職業選手平時排位玩的很少,段位可能只有星耀,但他只要排位基本就都是贏,那這個段位和他的實力就是不相符的,讓他和其他星耀的普通玩家一起排位,這可能就是不太合理的(同樣某些王者段位玩家開小號到低端局炸魚也是類似的情況)。所以在現在排位賽的匹配機制中,會同時考慮玩家的段位和elo值,希望做到的是讓對戰雙方10名玩家的段位相近(這是第一目標),同時elo值也相近(這是第二目標)。
3、回到上述例子的話,就是希望做到這職業選手在星耀段位排位的時候,他的隊友和對手都是星耀段位同時elo值也相近的玩家,如果等待時間過長,那會在保證段位相近的基礎上逐漸放大elo值的尋找范圍,最終的結果是會得到10個段位相近的玩家,同時排位等待時間越短大家的elo值差異也越小。(這其實也是在排位等待時間和排位對局質量間需要取的平衡點)
4、那麼肯定有同學會問,什麼是elo值呢?它是一個衡量各類對弈活動水平的評價方法,被廣泛用於國際象棋、圍棋、足球、籃球等運動,是一套非常完善的評分規則和機制。簡單來說,玩家們在各個段位的排位賽里的勝率、勝場數、局內表現等等就會決定其elo值。
5、另外,在排位中引入elo值肯定也需要考慮對應的「跳躍機制」,就是如何讓玩家可以快速的達到其真實實力所在的段位,所以在游戲中所設定的連勝時獲得的勇者積分以及金/銀牌獎勵的勇者積分就是為了這個目的而做的,讓那部分自身實力超過當前段位的可以比較快速的達到符合其自身實力的段位上。當然目前的勇者積分設定還有優化空間,我們也計劃在下個賽季時會勇者積分這塊再做一次比較大的優化升級,以更好的滿足這套系統所應該達到的目標哈~
6、所以,當了解了上述這些以後,不少職業選手和主播反饋最近他們的鑽石星耀號排位等待時間很長的問題也就有了答案,其根本原因就是如上所述,排位中需要同時滿足段位相近和elo值相近,而隨著等待時間的增加會逐步放大elo值的范圍。我們後續也會優化隨等待時間發大elo值范圍的幅度和頻率,以進一步優化並尋找排位等待時間和排位對局質量間的平衡點。
7、上述討論的只是排位賽的情況,匹配賽/賞金賽/娛樂賽的情況會有比較大的區別,後續可以和玩家朋友們再逐個溝通了解下,我們也希望將這塊做的更加透明,改進所有不合理的地方~
8、最後,也想跟各位玩家朋友們引薦一位同學:狄仁傑大大,他會專門負責我們的對局質量相關問題並和玩家們做溝通互動,包括對於掛機、送人頭、演員、舉報、懲罰力度、匹配機制之類大家經常吐槽的問題等等。狄仁傑大大此前在王者榮耀微信公眾號跟大家見過面了,後續他也會活躍在微博上跟大家溝通的,反饋大家遇到的各種對局質量方面的問題,狄大人會定期對這里的內容處理的。總的來說,我們希望能夠和玩家們一起,不斷的解決目前大家在對局環境方面所吐槽的問題,不斷的改進並提升玩家們的游戲體驗哈~

王者榮耀ELO演算法是怎麼計算的
elo值:衡量各類對弈活動水平的評價方法,被廣泛用於國際象棋、圍棋、足球、籃球等運動,是一套非常完善的評分規則和機制。
不過還好策劃也進一步解釋了,elo在游戲中具體的表現為:玩家們在各個段位的排位賽里的勝率、勝場數、局內表現等等就會決定其elo值。不過策劃並沒有給出詳細的計算方式,所以自然也是無法直接在游戲中查看的。
另外策劃也特別提到了,玩家真實水平和段位的差異,比如職業選手少打排位段位比較低,或者是王者段位開小號在低端局炸魚,所以也再次引入了勇者積分設定,讓那部分自身實力超過當前段位的可以比較快速的達到符合其自身實力的段位上,另外策劃也透露了將在S12賽季優化勇者積分。
關於排位匹配時間過長的時間,策劃也表示後續也會優化隨等待時間發大elo值范圍的幅度和頻率,以進一步優化並尋找排位等待時間和排位對局質量間的平衡點。
網友評論
李白「加強」一波,沒了控制加傷害,結果傷害還削弱兩次,現在比正式服低一千多, 韓信也「加強」一波,沒了控制加傷害,結果大招免傷沒了傷害又削了。 「露娜」重做一波,控制沒了傷害低了,建模「重做」紫霞從少女變成不知道哪來的一臉病態的婦女 結論:貴游無比擅長反向優化,還有人要補充的嗎
諸葛亮強度和皮膚優化關注下,謝謝,頂我上去
如果僅靠段位和elo值作為排位匹配因素,那麼很難解釋為什麼單排連勝或者渡劫局的系統制裁,這也是體驗最糟糕的地方,最近連續三個賽季已經沒法打排位了

3. 有沒有王者榮耀工作人員或者有經驗的人告訴我這個游戲勝負匹配機制是什麼樣的

王者榮耀官方從未對外公布ELO機制的演算法。但從策劃donny的表述中可以明確知道幾個點

第一,排位的總勝率大致使每個玩家都平衡在50%左右。

第二,對排位勝率連勝,高勝率的玩家進行系統制裁,對低勝率玩家進行補償。即ELO平衡機制,俗稱隱藏分機制。也就是說除了段位外,勝率,KDA,MVP,金銀牌都會使得隱藏分發生變化,進而影響匹配到的隊友和對手。

第三,制裁方式包括:匹配到坑隊友,匹配到大神對手,局內加入人機隊友等等。制裁一旦開始,就把勝率平衡到50%為目標。所以高勝率玩家會出現連跪。同理,低勝率玩家出現連勝。

第四,怎樣檢測自己得隱藏分,知道自己有沒有被制裁?

打開王者營地(王者榮耀助手),查看自己、對手和隊友的戰鬥力。如果對手比自己和隊友戰鬥力高很多,那這一局必為制裁局。戰鬥力包含了勝率,MVP率,金銀牌情況以及KDA多方面因素。實際上所謂的戰鬥力就是ELO機制的一個數值反映。

第五,怎樣盡量避免ELO制裁?

ELO機制無法避免,除非你榮耀的水平拿阿珂這類虐菜英雄捅炸低端局,否則一般人的勝率都會在50%左右。但是凡事無絕對,目前看來,只要MVP別太高,KDA別太好看,普通玩家也可以達到60%左右的勝率,並且不會受到很嚴重的制裁。

綜上,面對ELO機制,沒有絕對的實力,就不要去硬碰釘子。ELO機制所制裁的,都是有點實力,但實力又沒強到一打九的人。稍有實力的人,往往勝率比大坑還要慘,請大家一定一定記住這點。也因此,評分80的人常出現45勝率,評分50的人常出現55勝率這種奇葩景象。

因此,面對ELO這種多重演算法的機制,我們無法脫離50%勝率的魔咒,但我們可以通過拉低數據來讓系統以為我們數據不好看。這樣,對於大多數單排玩家來說,能60%的勝率已經非常不錯了。

4. 王者榮耀中的elo匹配機制,究竟是怎樣的存在

現在有許多年輕人都熱愛上了王者榮耀這個游戲,但是其中的游戲匹配機制也是遭到了許多玩家的反感,而王者榮耀正式運用的elo匹配機制,但是為了達到游戲平衡,則是將一些技術非常高的玩家匹配到了技術很菜的玩家,從而達到他們所謂的游戲平衡,這樣的例子在巔峰賽還是不可能存在的,但是在普通的鑽石局是十分普遍的,老鑽石們懂得自然懂。

先讓你連贏幾局之後接著連跪,這樣一來就像過山車一樣,先讓你升到高處,最後再讓你落到低谷,然後再讓你升到高處,這樣反反復復體驗的同時也滿足了絕大部分人游戲體驗,同時,對於那些中下水平的玩家來說,就會有很好的游戲體驗。

與單排匹配演算法相關的資料

熱點內容
安卓手機連不上蘋果熱點是為什麼 瀏覽:433
微信加密密保問題忘記怎麼辦 瀏覽:916
在哪裡能製作手機app 瀏覽:163
python搭建web網站 瀏覽:679
空乘程序員 瀏覽:349
玩加密幣犯法嗎 瀏覽:243
html載入pdf 瀏覽:1002
git源碼如何本地編譯命令 瀏覽:868
單片機研究報告 瀏覽:265
天正建築命令欄 瀏覽:598
加密貨幣應稅事件 瀏覽:459
宋pro的app哪裡下載 瀏覽:207
單片機原理與介面技術第三版課後答案 瀏覽:890
程序員小明教學 瀏覽:613
linuxbin解壓縮 瀏覽:382
四川電信伺服器租用雲空間 瀏覽:31
我的世界伺服器內存大怎麼辦 瀏覽:388
互聯網與伺服器鏈接不成功怎麼辦 瀏覽:645
python拆分數組 瀏覽:83
虛機伺服器怎麼增加D盤的空間 瀏覽:502