First TwoPlayerTrueSkillCalculator unit test passed

This commit is contained in:
Jeff Moser
2010-08-28 22:05:41 -04:00
commit 12a02b8403
41 changed files with 1909 additions and 0 deletions

View File

@ -0,0 +1,26 @@
<?php
namespace Moserware\Skills\Elo;
class GaussianEloCalculator extends TwoPlayerEloCalculator
{
// From the paper
const STABLE_KFACTOR = 24;
public function __construct()
{
parent::__construct(new KFactor(self::STABLE_KFACTOR));
}
public function getPlayerWinProbability(GameInfo $gameInfo, $playerRating, $opponentRating)
{
$ratingDifference = $playerRating - $opponentRating;
// See equation 1.1 in the TrueSkill paper
return GaussianDistribution::cumulativeTo(
$ratingDifference
/
(sqrt(2) * $gameInfo->getBeta()));
}
}
?>