能将elo 算法详细说明?
我的PHP实现,ELO里有两个值比较关键,初始得分和每次操作的基础分($k),要根据你的具体情况决定。ELO的基本思想就是原来得分高的人赢了得分低的人,两个人的加分减分幅度都很小,原来得分低的人赢了得分高的人,加分减分幅度都很大。由于有基础分的概念,所以受比赛场次的映像较小这个算法的参数ra-a的旧分数;rb-b的旧分数;sa-a是否胜利
function ELO($ra, $rb, $sa) { $sb = 1 - $sa; $k = 20; $t = ($ra - $rb) / 400 ; $pow = pow(10, $t); $ea = 1 / (1 + $pow); $t = ($rb - $ra) / 400 ; $pow = pow(10, $t); $eb = 1 / (1 + $pow); $raNew = $ra + $k * ($sa - $ea); $rbNew = $rb + $k * ($sb - $eb); return array($raNew, $rbNew); }
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(1)
我的PHP实现,ELO里有两个值比较关键,初始得分和每次操作的基础分($k),要根据你的具体情况决定。
ELO的基本思想就是原来得分高的人赢了得分低的人,两个人的加分减分幅度都很小,原来得分低的人赢了得分高的人,加分减分幅度都很大。由于有基础分的概念,所以受比赛场次的映像较小
这个算法的参数ra-a的旧分数;rb-b的旧分数;sa-a是否胜利