It's really nice to see that [graph] is mature enough to support the implementation of the ELO system, however I wonder if it should be shipped along with [graph]. IMHO Commons Graph should focus on providing the building blocks for working with graphs instead of implementing domain specific algorithms that happen to use a graph.

Emmanuel Bourg


Le 28/03/2012 18:57, Simone Tripodi a écrit :
Hi all guys,

we have an ELO implementation now which I would really like some of us
could review and provide feedbacks/contributions/...

The concept is that *directed* Graphs represents tournaments where the
generic players (Vertices) take part, Edges are WIN/DRAW enums,
players are ranked in a users defined functor PlayersRank, then:

     DirectedGraph<String, GameResult>  tournament = ....;
     PlayersRank<String>  playersRank = ...;
     int customKFactor = ... ;

     eloRate( tournament ).werePlayersArRankedIn( playersRank
).withKFactor( customKFactor );

Players rating will be updated on PlayersRank - that is an interface,
so users can provide their dbms/nosql backend implementation.

There are big limitations ATM, i.e. the algorithm has a complexity of
O(n x n-1), so at least another pair of eyes is needed to improve the
algorithm :)

May thanks in advance, all the best!
-Simo

http://people.apache.org/~simonetripodi/
http://simonetripodi.livejournal.com/
http://twitter.com/simonetripodi
http://www.99soft.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to