Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Any Software Designers in the house?

Options
  • 25-06-2009 1:20pm
    #1
    Registered Users Posts: 2,084 ✭✭✭


    I am looking for an algorithm to create rankings for the MMA Community in Ireland.

    The inputs are a database containing all the results from Irish MMA shows, and any fights Irish Fighters have had outside the country as well.

    An Idea that has tried and failed is as follows - 3points for a win 1 for a draw 0 for a loss
    This works in a basic sense, but doesn't take into account that a more active fighter fighting at a lower level will accumulate more points and be ranked higher than a top flight fighter who only fights three times a year. Obviously the standard of competition in a top flight division is higher, but there is no weighting on the points.

    Some kind of bubble sorting comparing two fighters and putting one top based on if they fought and who won is interesting, but as it only compares adjacent fighters and not every fighter will have fought every other it is destined for failure also.

    Anyone have any ideas?


Comments

  • Registered Users Posts: 414 ✭✭Paddyo


    Could you grade/Weight the competitions?

    Top level grade of 5
    down to
    Bottom level grade of 1

    Win for top level = 3 * 5
    Draw for top level = 1 * 5
    Win for middle Level = 3 * 3
    Draw for middle level = 1 * 3
    Win for low level = 3 * 1
    Draw for Low Level = 1 * 1

    Paddyo


  • Closed Accounts Posts: 110 ✭✭Gypo


    It sounds quite subjective to me. You may need more concrete requirements for any potential developer. :)


  • Registered Users Posts: 414 ✭✭Paddyo


    Its subjective in so far as someone needs to decide on the level of the fight/tournament - I presume that someone from MMA can decide this.

    Another way?
    How about dividing the number of points(based on the 3,1,0 system) by the number of fights giving an average points per fight?


  • Closed Accounts Posts: 2,923 ✭✭✭Nothingcompares


    Working off a simple points simple, person with most points is highest rank

    Wins at A level should have x times more points than wins at C level (x = 2-5)
    Wins in big shows (i.e. UFC) should score higher than wins in smaller shows (Cage of Truth)
    Recent fights should be more important than previous fights (fighter with 20 fights results from the last 10 fights should weigh higher than results for the first 10).
    Wins over opponents with high ranking should score higher than wins over opponents with low rankings.

    I've no experience or expertise in rankings or the type of maths in general required to work this stuff out so I don't think I'll be much use.


  • Registered Users Posts: 1,666 ✭✭✭John Ferguson


    I am looking for an algorithm to create rankings for the MMA Community in Ireland.

    The inputs are a database containing all the results from Irish MMA shows, and any fights Irish Fighters have had outside the country as well.

    An Idea that has tried and failed is as follows - 3points for a win 1 for a draw 0 for a loss
    This works in a basic sense, but doesn't take into account that a more active fighter fighting at a lower level will accumulate more points and be ranked higher than a top flight fighter who only fights three times a year. Obviously the standard of competition in a top flight division is higher, but there is no weighting on the points.

    Some kind of bubble sorting comparing two fighters and putting one top based on if they fought and who won is interesting, but as it only compares adjacent fighters and not every fighter will have fought every other it is destined for failure also.

    Anyone have any ideas?

    Hi Mark

    Ive passed your request to my development team at Crew Management www.crew.ie they will keep an eye on this thread and keep me up dated daily. They will post their ideas here also

    Cheers

    John


  • Advertisement
  • Registered Users Posts: 2,084 ✭✭✭mark.leonard


    I mentioned this to a guy I work with and he reckoned that relative ranks could be decided in three passes
    Fighter A's result when he fought Fighter B is the most important factor in determining who ranks higher
    If they haven't fought then there should be an entity relationship diagram created, arrows represent a match between two entities (fighters) and the direction of the arrow indicates the winner. To relatively rank fighter A vs B when they haven't fought you count the number of wins each in the shortest path between them, this means if A fought C and won and B fought C and lost then A will rank higher than B, though often this will be calculated over more than just one hop
    I have zero experience of entity relationships so if anyone can explain that implementation better - shout

    Lastly if they still can't be separated then a count of points they have earned should be taken with points weighted by class and experience

    My two cents on the points weighting is as follows
    Points are weighted by opponent's class - D the least and A the most
    i.e. Fighters get more for beating higher classed opponents
    A fighter is ranked up a class when they win a fight at the new class, a B class fighter moves up and beats an A class opponent, he is now ranked as an A class fighter for subsequent matches only.

    This would mean a de-normalised table for holding both fighter's and matches, but I think it will work out the best.


Advertisement