![]() 《酒馆战棋》的等级分系统 | |
基本资料 | |
用语名称 | ELO算法 |
---|---|
其他表述 | 埃洛等级分、隐藏分、表现分 |
用语出处 | 国际象棋 |
相关条目 | 排位分段、数学 |
ELO算法(ELO Rating Algorithm)是一种广泛用于各种竞技类游戏(包括电子游戏)领域的,用于量化选手水平的经典算法。
ELO 算法由匈牙利裔美国物理学家和国际象棋大师阿帕德·埃洛(Arpad Elo) 在20世纪50年代提出,目的是为国际象棋比赛提供一种将选手实力数值化的方法(此前棋手的等级分系统难以准确反映棋手的真实水平)。Elo基于统计学原理,提出了一种动态、可计算的评分系统,能够根据比赛结果自动调整选手的等级分,使评分更公平、合理。
ELO系统的核心思想是每位选手有一个“等级分”(Rating),代表其当前技能水平;而比赛结果与预期结果的差异则会决定等级分的调整。每场比赛后,胜败双方的等级分会依据二者的实力情况发生一定程度的增减。同时,当玩家在匹配池中执行匹配时,系统会尽可能寻找等级分与玩家本人接近的玩家作为对手。如果匹配的等待时间较长,则会视情况上浮等级分差值的容忍范围。
若有两名玩家 A 和 B,A 的 Rating 是 $R_A$,B 的 Rating 是 $R_B$ (玩家的 Rating 范围一般是 0~3000 分,带小数),则 A 和 B 的预期胜率 $E_A,E_B$ 会按照下述公式计算:
因此在匹配双方等级分尽可能接近的匹配机制下,双方的预期胜率会各自接近 50%,而这也是绝大多数采用该机制的游戏的运营方希望看到的。在比赛结束后,双方的等级分会按照下述公式更新:
其中 $ R_A' $ 是更新后的等级分, $K$ 会在全局范围内控制每场对局隐藏分的增减幅度,称为学习率(一般常见为 10、20、32 等);$ S_A $ 是最终的实际得分(胜=1,平=0.5,负=0)
基础版的公式中,所有的超参数全部都是定死的。而在真实的电子游戏中,学习率以及指数里的 400 等往往会根据社区情况以及玩家的个体情况进行调整。
例如《炉石传说》就采用了可变学习率的机制。不论是连胜还是连败的累计,学习率都会越来越大。这一机制会在玩家连胜时,让玩家能够快速遇到更强大的对手,维持游戏的挑战性,也可以在玩家遭遇连败时,分数急剧下降,从而匹配到较弱的对手终结连败,减少挫败感。
典型的算法变体包括 TrueSkill 算法等。
由于整个玩家社区中所有的玩家都有一个隐藏分,因此在这一算法的加持下,玩家社区就会构成了一种独特的动态系统,自然也会在宏观上形成各种数学性质。
(待补充)
(待补充)