2012-05-03 7 views
1

私は、ユーザーがホットなシステムを使って〜30個のアイテムのリストをソートするようにしたいと考えています。リストは小さな定義された番号であり、単一のユーザーだけがソートする必要があります。私はユーザーが並べ替えられたリストをドラッグ・ドロップするようにすることもできますが、ホット・アンド・ノー・システムを使う方が良いでしょう。簡単なホット・ソートのELO定格?

ELOの評価が最速のオプションと思われるような調査から、

どのようにこのPHPクラスを使用しますか? https://github.com/Chovanec/elo-rating

答えて

0

私は非常にシンプルです。

//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レーティングsystumのための基本的なセットアップ クラスよりもそのはるかに簡単。 これを関数にすることもできます。

これが役に立ちます。