Skip to content

Latest commit

 

History

History
41 lines (21 loc) · 3.18 KB

stable-rank.md

File metadata and controls

41 lines (21 loc) · 3.18 KB

说明

由于作者数学功力不行,对这个问题无法透彻分析,以下内容可能存在大量漏洞,欢迎指正。

相关代码在algo.cpp的Algo::SR命名空间下。

安定段位的计算

雀魂总体上和天凤类似,都是避四型计分,区别在于雀魂会根据马点每1000点得一分向上取整而天凤没有。

首先为了保证对局水平的稳定,安定段位只计算同一房间(取了参加过的等级最高的房间)、同一规则(东风场和南风场分开计算)的一系列牌谱对应的安定段位。

对于雀魂来说,不同头衔和星级在四位时掉分不同,对于同一头衔,不同星级掉分是等差数列,因此可以根据掉分来找到对于某个头衔的安定星级,即安定段位。

目前常见的天凤安定段位计算策略是计算一位到三位的总得点除以四位次数,得到四位每次可失点并计算对应段位。对于雀魂来说,还需要将每局马点对应pt变动也累加进去。因此采用如下公式:

共有N盘记录,每盘包含顺位pt和马点pt。一至三位顺位pt分别为。同时,我们认为四位的顺位pt为0。设N盘记录中各顺位分别有次,且每盘的马点pt分别为,那么四位每次可失点即为:

然后根据pt找到安定段位。

安定段位的有偏性

上述安定段位计算公式虽被广泛使用,但是该安定段位的估计是有偏估计。简化起见,我们先只考虑顺位pt而忽略马点pt。通过最大似然估计(该处可能也有漏洞),在N次牌谱顺位采样中各顺位采样到次,那么我们认为顺位是满足概率分别为的一个多项分布。而考虑该多项分布下进行有限N次采样时四位每次失点的期望,我们先指定四位出现k次,那么该事件发生的概率是。同时分子式可简单求平均期望,因此该情况下pt期望是。因此,总期望应为

多次模拟结果得到在N有限时该期望和前述结果并不相等。

置信区间的计算

计算置信区间时,首先多次模拟来得到了在给定各顺位出现概率,以及对顺位采样N次时安定段位的均值和方差作为参考。由于中心极限定理,可以认为在$N$较大时其分布接近正态分布,其均值和方差对应正态分布的均值和方差。

接下来的计算过程作者无法解释其原因,仅因为其结果较为接近模拟结果而采用。

计算出上述四位失点后,将该失点作为四位时损失的顺位pt。然后将每次结果的顺位pt和马点pt相加,假设其为正态分布,使用该序列计算其置信区间。由于方差未知,使用样本方差替代正态分布方差,置信度为,元素个数N,均值X,样本方差的序列其置信区间为

最后,在保持均值不变的情况下将区间大小放大倍即为最后的置信区间。