我希望用户使用 hot-or-not 系统对大约 30 个项目的列表进行排序。该列表是一个小的定义数字,只需要由单个用户排序。我可以让用户拖放一个排序列表,但热或不热系统会更好。
从一些研究来看,ELO 评级似乎是最快的选择。
如何使用这个 PHP 类?https://github.com/Chovanec/elo-rating
我希望用户使用 hot-or-not 系统对大约 30 个项目的列表进行排序。该列表是一个小的定义数字,只需要由单个用户排序。我可以让用户拖放一个排序列表,但热或不热系统会更好。
从一些研究来看,ELO 评级似乎是最快的选择。
如何使用这个 PHP 类?https://github.com/Chovanec/elo-rating
我会写我自己的,它非常简单。
//first i calculate the win probability.
$a_win_prob = 1/(1+pow(10,($b_elo - $a_elo)/400));
$b_win_prob = 1/(1+pow(10,($a_elo - $b_elo)/400));
//than i make a K value for a and b
if($a_elo < 2100){
$a_k = 20;
}elseif($a_elo > 2300){
$a_k = 10;
}else{
$a_k = 15;
}
if($b_elo < 2100){
$b_k = 20;
}elseif($b_elo > 2300){
$b_k = 10;
}else{
$b_k = 15;
}
//than i calculate both elo values.
if($win_side === "a"){
$a_elo_new = $a_elo + $a_k*(2*$a_win_prob);
$b_elo_new = $b_elo - $b_k*(2*$b_win_prob);
}else{
$a_elo_new = $a_elo - $a_k*(2*$a_win_prob);
$b_elo_new = $b_elo + $b_k*(2*$b_win_prob);
}
//than i can put them in a database
这是 elo 评级系统的基本设置,它比班级简单得多。你甚至可以将它重写为一个函数。
我希望这个能帮上忙