Is it possible to make something like TrueSkill with ForneyLab.jl?


I’ve been trying to use ForneyLab.jl to run inference (using the sum-product algorithm and expectation propagation) for TrueSkill.

I’ve run into a few issues:

  • How can I add an indicator function (i.e. set y=+1 if d>0 and y=-1 if d<0, where d is a normal rv)?
  • How can I set a prior for the skill variables while still letting their distributions update? i.e. if I specify that x[i]~Gaussian(2,3) (for example), will its distribution automatically update after running the sum-product algorithm?
  • Is it possible to make the algorithm repeatedly iterate over the graph? (the message passing has to be iterated for TrueSkill to work properly)

If it’s not possible, is there another Julia package that can automatically compute the message passing algorithms for a given graph?


If you don’t get a reply here (because it is a very specific question): most package authors are fine with opening issues for questions.


Same question was also posted on Reddit, and was answered there.