Could Infer.NET be used to implement the TrueSkill algorithm with the same parameters as used in official TrueSkill calculators?
Basically I'm trying to implement skill update for a multiplayer game (e.g. one player per team). I've started from simple case of two players:
class Program
{
static void Main(string[] args)
{
const double beta = 25.0 / 6;
var s1 = Variable.GaussianFromMeanAndVariance(25, 25.0/3);
var s2 = Variable.GaussianFromMeanAndVariance(25, 25.0/3);
var p1 = Variable.GaussianFromMeanAndVariance(s1, beta);
var p2 = Variable.GaussianFromMeanAndVariance(s2, beta);
Variable.ConstrainPositive(p1 - p2);
var engine = new InferenceEngine(new ExpectationPropagation());
engine.ShowFactorGraph = true;
engine.SaveFactorGraphToFolder = Environment.CurrentDirectory;
var r1 = engine.Infer(s1);
var r2 = engine.Infer(s2);
Console.WriteLine("p1: {0}", r1);
Console.WriteLine("p2: {0}", r2);
Console.ReadLine();
}
}
I recieve different skill updates using official calculators (with draw probability of zero). How do I modify my factor graph to get the same results?