PY 指数算法说明

这个算法什么都说明不了,只是看个乐呵
返回主页

变量定义

:第 j 笔提交的权重(由解题顺位决定)
:第 j 笔相近提交的时间差(分钟)
:学校有效总人数(去除小号)
:加权行为总强度
:受益人次修正系数

计算流程

  1. 对每一笔相近提交计算单次强度:
[注] 对权重 w_j 开5次方运算,非线性放大最早交的人的收益。这样子在高分奖励区间的py行为对系数贡献度远高于分值衰减严重的末尾区间。除以相邻时间差T_i是在尽力消去非校内py影响并放大校内py的影响。又由于w^5远大于w,在多人相邻提交且排名十分靠前时,生成的权重将会远大于正常py的学校。
  1. 加权行为总强度:
[注] 累加而不求平均,是要抓最早的那几个相近的提交,求平均值会被同校大量在末尾分数衰减时的提交稀释掉。
  1. 全场单位强度基准(截断均值):
[注] 即截断掉了前后各10%的数据求均值
  1. 基于规模的离群程度:
[注] 波动幅度和期望值平方根成正比,尽可能消除人数带来的波动影响,+C作为稳健常数保护小样本。这里算出来如果是负数则认为无意义,没想好怎么做修正
  1. 组织化惩罚与受益人修正系数:
[注] 组织化程度惩罚。渗透率\frac{Users_{py}}{N_i}反映了py在校内的波及面(虽然大部分都在0.9以上)。乘上总人数的系数是为了衡量受益人多少,取对数时为了修正平衡数据大小
  1. 最终指数:
[注] 最终分数由行为异常度与组织影响面共同决定。即寻找 收益最高、组织化最严密 的校内 PY。所以排名较高的要不然是1分钟内统一集中提交(T_i极小),要不然是在某些题目中多人同时霸榜(w_j^5更大),要不然就是一大群人时间相邻较近且较早的提交(在sf_i处于平均值上游的情况下,有着更大的lg(N_i+1))。

补充说明

小号: 定义为总交题量不超过5道题的账号,比如某道出了两天仅有1解的pwn的一血选手
疑似 PY 总人数 (Users_{py}) : 在整场比赛中,至少参与过 5 次及以上相近提交(T<=5分钟)的独立去重用户数。
权重映射逻辑: 基于动态分数衰减规则,将解题排名转化为收益系数w。py发生在越高分的排名区间,其对应的w^5惩罚因子越剧烈。
映射明细 (练武题): 1-50: 1.0 · 51-100: 0.9 · 101-150: 0.9 · 151-300: 0.8 · 301-600: 0.7 · 601-1200: 0.6 · 1201-2000: 0.5 · 2001+: 0.4
映射明细 (擂台题): 1-50: 1.0 · 51-100: 0.9 · 101+: 0.8
好像是这样衰减的()