aaa555aaakkk aaa555aaakkk
关注数: 12 粉丝数: 48 发帖数: 12,893 关注贴吧数: 17
经常看到服控胜率的讨论,找了一下相关资料 原文作者:马克·E.格里克曼 波士顿大学教授 毫无疑问,对选手实力的检定是棋类竞技以及其它对抗类游戏最令人着迷的元素之一。20世纪60年代初由阿帕德·伊洛(Arpad Elo)提出的Elo排名系统是第一个建立在概率基础上的棋类排名系统,它不仅被很多棋类联盟采用,也经常是其它游戏(例如拼字游戏、桌球等)组织的首选。尽管Elo相较于更早的一些排名系统有很大的改进,但也有它自身的一些问题。在1995年,我为了解决Elo系统中一种特定的情况(在下文会体提及)而创造了Glicko排名系统,该系统是根据棋类游戏的比赛结果而推导出的一个统计模型,其可以用于相似情况下简单的数学近似值求解,而Elo系统就是其中的一个特例。具体的数学推导细节见于文献《大规模成对匹配对比实验中的参数选择(parameter estimation in large dynamic paired comparison experiments)》,该文献发表于发表在统计杂志《应用统计(Applied Statistics)》(第48期,第377~394页),你也可以从www.glicjo.net/research.html下载。Glicko系统当前已在国际免费棋类服务(FICS)中应用,它的变种也被诸如ChronX、Case’s Ladder、Gothic国际象棋联盟等国际商业性组织所采用。 Elo系统的问题在于无法确定选手评分的可信度,而Glicko系统正是针对此进行改进。假设两名评分均为1700的选手A、B在进行一场对战后A获得胜利,在美国国际象棋联赛的Elo系统下,A选手评分将增长16,对应地B选手评分将下降16。但是加入A选手是已经很久没玩,但B选手每周都会玩,那么在上述情况下A选手的1700评分并不能十分可信地用于评定其实力,而B选手的1700评分则更为可信。我的直觉告诉我: (1)A选手的评分增长值应该大于16分,因为他的1700评分作为初始值并不可信,同时击败一个稳定在1700评分的选手表明他的实力很可能高于1700; (2)B选手的评分减少值应该小于16分,因为他的实力已经被很精准地定位在1700附近,而他输给了一个评分并不可信的对手,那么B选手的实力评定其实从该场对战中并不能有多少“学习”。 虽然很多情况下并不是这么极端,但我觉得把选手评分的可信度考虑进入是很有必要的。因此Glicko系统扩展了Elo,将不再是仅计算选手评分(可以视为选手实力的“最佳猜测”),还加入了“评分误差”(RD,ratings deviation),从统计术语的概念来说,RD用于衡量一个评分的不确定度(RD值越高,评分越不可信)。高RD值意味着选手并不频繁地进行对战,或者该选手仅进行了很少次数的对战,而低RD值说明选手会很经常地进行对抗比赛。 在Glicko 系统中,选手的评分仅根据对战的结果而改变,但其RD值改变同事取决于游戏结果和未进行游戏的时间长度。该系统的一个特征是游戏的结果经常会减少选手的RD值,而未进行对战的时间则经常会增长选手的RD值。造成这个现象的原因是因为选手玩的局数越多,关于选手能力的信息就学习到越多,评分也就越真实;而随着时间流失,我们对玩家实力就越不确定,反映在RD值上就是增长。 一个很有趣的发现是在Glicko系统中,双方评分的变化并不像Elo那样经常是相同的。例如A选手的评分增长了X,在Elo系统中对手B的评分会减少X,而在Glicko系统中并非如此。实际上,在Glicko中,对手B的评分减少取决于双方的RD值。 由于Glicko系统会同时用评分和RD值、以区间的形式评定选手实力,因此相较于仅使用评分更具有实际意义。此处应用95%置信区间,那么区间下限是选手评分减去2倍的RD值,区间上限是选手评分加上2倍的RD值。例如一个选手的评分是1850、RD值是50,那么他的实际实力区间为1750~1950。选手的RD值越小,该区间越窄,也就是说我们有95%的把握可以确定选手的实力在一个较小的区间值。 【计算公式】 为了应用该算法,我们需要对发生在同一个“评分周期(rating period)”的所有游戏进行计算。一个评分周期可以长达数月,也可以短到一分钟。在前面的例子中,选手的评分和RD值在评分周期的一开始是已知的,对战的结果是可观测的,那么在评分周期结束时就可以根据计算更新选手的评分和RD值(同时该值可以作为下一评分周期的前置评分和RD)。当每个选手在评分周期中稳定地进行5~10局对战时,Glicko系统表现得最好。评分周期的时间长度由相关人员自行设定。 步骤1 为所有选手设定一个初始评分和RD值 (a) 如果选手未分级,设定评分 = 1500,RD值 = 350;
1 下一页