导航:首页 > 源码编译 > 单排匹配算法

单排匹配算法

发布时间: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匹配机制,但是为了达到游戏平衡,则是将一些技术非常高的玩家匹配到了技术很菜的玩家,从而达到他们所谓的游戏平衡,这样的例子在巅峰赛还是不可能存在的,但是在普通的钻石局是十分普遍的,老钻石们懂得自然懂。

先让你连赢几局之后接着连跪,这样一来就像过山车一样,先让你升到高处,最后再让你落到低谷,然后再让你升到高处,这样反反复复体验的同时也满足了绝大部分人游戏体验,同时,对于那些中下水平的玩家来说,就会有很好的游戏体验。

与单排匹配算法相关的资料

热点内容
录音笔如何修改文件夹 浏览:641
八爪鱼数据采集加密文字替换 浏览:84
android系统运行动态编译的程序 浏览:417
计算编程中常用的if语句是 浏览:736
linux文件夹权限乱了 浏览:910
程序员职业病预防保健操 浏览:680
c程序修改后需不需要重新编译 浏览:725
怎样把图片分别放置在文件夹中 浏览:873
推流服务器地址是什么 浏览:632
java允许多重继承 浏览:513
解压小玩具好玩又可爱 浏览:408
腾讯云大带宽服务器 浏览:821
加密锁的售后 浏览:268
linux登不上去 浏览:731
联想服务器休眠后如何唤醒 浏览:113
四川话女孩学习编程 浏览:324
编译原理文法区分 浏览:1001
教师可以做程序员嘛 浏览:637
终结战场安卓国际服怎么下载 浏览:155
现在的高端服务器属于什么 浏览:810