View Single Post
  #4   Spotlight this post!  
Unread 10-02-2009, 21:56
Bongle's Avatar
Bongle Bongle is offline
Registered User
FRC #2702 (REBotics)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Waterloo
Posts: 1,069
Bongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond repute
Send a message via MSN to Bongle
Re: Help on OPR and DPR

Quote:
Originally Posted by Zholl View Post
BMartin, I read through that paper, and I got as far as 2i+j+k+l+m+n=p+q=B and putting that into a matrix with every team, and then was totally lost on Cholesky Decomposition. Is there anyone who can explain the decomposition algorithms to me? I've looked it up, and it's not really anything I've done before. Btw, if it helps, I'm currently in a pre-calc class, and I understand the material as far in as trig, which is what we've been doing the last month or so. Any kind of true calculus will probably be lost on me right now.
You shouldn't have to do ANY calc to do OPR.

For each team

TotalScoreteam = sum over all teams( number of times played with team i * OPR of team i)

So if you had team 1, who played 1 time each with teams 2, 3, 5, and 8 and had a sum of all their scores of 100, then you'd arrange it like:
100 = 4*OPR1 + 1*OPR2 + 1*OPR3 + 1*OPR5 + 1*OPR8

Let's say team 2 played twice with team 13 and once with team 21 in addition to their game with team 1. Their total score was 80. So your second equation is:
80 = 1*OPR1 + 4*OPR2 + 2*OPR13 + 1*OPR21

Notice that in both these equations, you have 4*OPRwhateverTeam. This is because a team plays with themselves once for each game they play.

Once you've got equations worked out for every single team (if you were doing this by hand, anyway), you'd realize that you have n equations (one for each team) with n unknowns (one OPRi for each team). This means that you can construct a matrix. With my examples above, the first 2 lines of the matrix would look like
Code:
[100 | 4 1 1 1 0 0]
[80  | 1 4 0 0 2 1]
[  ... for team 3 ]
[  ... for team 5 ]
[  ... for team 8 ]
[  ... for team 13]
[  ... for team 21]
Hope this helps. Also, if you look for the thread I posted last year (OPR for 2008, I believe it was called), I posted all my C++ code for doing this.

If you get confused, think back to how you build that first equation, and then think of the meaning of that equation: "a team's total score for the whole regional is the sum of the OPRs of its partners, weighted by how many times they played together". For DPR, which I think might work well this year, it would be "The amount of points scored on a team is the sum of the DPRs of its partners, weighted by how many times they played together". Since a slow or poorly-driven robot will tend to get points scored on it, this should have some meaning this year. Most years DPR doesn't matter because what a robot does typically doesn't massively affect how many points its opponents score.

Last edited by Bongle : 10-02-2009 at 21:59.