Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Predicting the performance of a single team when they are randomly paired

  1. Jan 9, 2013 #1
    So if there were say 10 teams that were randomly matched into alliances of 3 v 3 with a score given for eatch match. How can I given a sufficiently large data set determine how much each team affect the score that there alliance achieves?
  2. jcsd
  3. Jan 9, 2013 #2

    Stephen Tashi

    User Avatar
    Science Advisor

    There are many different ways that you could make up a set of "properties" for a team and many different formulas you could use the combined properties of 6 teams ( 3 per side) to make a prediction about the score of match. If you have picked a specific set of properties and a specific score prediction formula then there are still different ways of saying what "enough" data is.

    If you want someone to work all this out for you then I suggest you reveal the details of what sport or game is involved. Some fan of it may know a good method.
  4. Jan 9, 2013 #3
    This is for first robotics specifically, FRC after a set of Qualification rounds you pick alliances i was hoping to find a method that would allow me to rank the teams from best to worst kind of like the Harkness System but with more than one player per team.

    I was thinking if you had sufficient data you could do something like this,
    Teams: 1, 2, 3, 4

    Teams:1, 2, 3 score: 9
    Teams:1, 3, 4 score: 8
    Teams:1, 2, 4 score: 8
    Teams:2, 3, 4 score: 6

    And so from this you can tell that team one is the best due to the fact that when they are removed the score tales a significant dip. I have no doubt this exists or there is some obvious implantation but I do not (yet ) know about it.
  5. Jan 9, 2013 #4

    Stephen Tashi

    User Avatar
    Science Advisor

    I don't understand your original mention of "3 v 3" compared to your examples of scores of teams. If a two teams of 3 people have a "match", does each team get a "score" and is the winner is the one with the highest score? When there is a match, is it like sports where one team scoring prevents or inhibits the other team from scoring?
  6. Jan 9, 2013 #5
    I would like to assume that the teams do not inhibit each other this is not always the case mostly the 2 teams of 3 compete for the higher score but if there is a way to do it with the other teams factored in that would be cool too
  7. Jan 9, 2013 #6

    Stephen Tashi

    User Avatar
    Science Advisor

    How much data will you have? There isn't any point in making an elaborate model if there isn't data to enable finding its parameters.

    Here's the simplest model I can think of:

    Assume each player k has has rating r[k] that is a real number.
    Assume the rating of the team as a whole is calculated by adding the ratings of the players.
    If the rating of a team is R then the score of the team in a match is drawn at random from, say, a lognormal distribution whose underlying normal distribution is has (for simplicity) mean R and standard deviation (C)(R) where C is some constant that works for all teams. (If there is some reasonable bound for the maximum score, you could improve the assumed distribution of scores by picking a distribution limited to that range.)

    Fitting the model to data involves solving ( by some definition of what constitutes a solution) for the unknown parameters r[k] and C. One way to define a solution is to find values that maximize the likelihood of the data you have. As far as I can see, fitting the above model has no neat algebraic solution, but there are many ways to do solve such problems with computers by "trial and error".

    Rating systems for chss players have ambitious goals. Not only do the calculate the ratings of players from a set of static data; they also provide an updating procedure that (in theory) converges to an accurate rating of a player as more results occur.
  8. Jan 12, 2013 #7
    Least squares on s1+s2+s3=9 etc, eg with matlab's "\" operator
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook