Go to Post Life has its Ups and Downs, you can stay down or push yourself. - Mike Schroeder [more]
Home
Go Back   Chief Delphi > Competition > Rules/Strategy > Scouting
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 14-03-2016, 14:37
Caleb Sykes's Avatar
Caleb Sykes Caleb Sykes is offline
Registered User
FRC #4536 (MinuteBots)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2009
Location: St. Paul, Minnesota
Posts: 1,055
Caleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond repute
Accounting for breaches/captures in OPR

Inspiration from this post.

I don't think that there is going to be any fix that is quite so easy to implement as the one used in 2012, but I think improvements could be made. If we do implement corrections though, we need to be very careful with our terminology. Corrections like this should only be used for elimination round matches.

2 potential modifications I can think of could be:
1: Increase the value of each crossing to be 5 points + (20 points/breach)/(8 crossings/breach) = 7.5 points, and increase the value of each ball scored by (25 points/capture)/(8 scored boulders/capture) = 3.125 additional points per scored boulder. A potential drawback to this approach is that doing more than the minimum required for crossing/breaching would be over-valued. For example, 10 successful scored crossings will net 75 points, instead of the 70 that this would actually be worth.

2: Using the data on breaches and captures, compute the OPR contribution by team for these. Take (OPR breach) * (20 points/breach) and (OPR capture) * (25 points/capture) and add these onto the team's nominal OPR. A big disadvantage to this is that captures happen incredibly infrequently in qualifications, which will make this correction almost negligible for most teams, even though they may actually be able to contribute to capturing once they have better partners in elims.
  #2   Spotlight this post!  
Unread 17-03-2016, 21:29
microbuns's Avatar
microbuns microbuns is offline
Registered User
AKA: Sam Maier
FRC #4917
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2014
Location: Elmira
Posts: 81
microbuns is an unknown quantity at this point
Re: Accounting for breaches/captures in OPR

I had a similar idea. I decided to write a program that calculates the OPRs, and for each match score I simply add 20/25 for breach/capture. Here are some results:

Code:
 GTRE
#	Old	New(cap+breach)
2056	77.16	99.25
1114	57.41	73.32
118	56.85	69.96
2013	48.66	66.19
1241	46.11	58.63
610	43.7	60.95
1305	36.43	47.19
5807	34.76	43.8
4476	33.27	45.98
3117	32.88	39.04
5596	32.78	40.99
4618	31.23	42.07
1547	30.39	37.5
296	30.38	42.91
5031	30.12	38.59
5036	29.24	34.46
4783	27.57	37.13
4976	27.33	39.1
4732	25.61	31.4
1325	25.3	32.7
2634	24.64	28.16
4939	23.83	21.89
2935	23.51	27.61
2340	22.82	22.18
4308	22.8	25.2
1285	22.79	30.11
6125	22.72	23.46
2228	22.33	27.98
4704	22.14	28.82
746	22.04	29.9
4525	21.7	20.95
2185	18.55	22.47
4248	18.17	23.21
4343	17.75	21.06
1075	17.18	20.06
3710	16.59	15.24
5580	15.94	14.99
6141	15.38	12.72
5428	13.33	13.04
4252	13.23	18.36
4015	11.12	13.24
6140	11.04	6.14
6046	10.69	9.15
1246	9.98	8.54
6070	9.52	10.16
2198	9.45	12.64
3541	9.37	8.04
5076	6.43	5.78
5094	-0.51	-5.58
My code also removes foul points by default, but I included them here so that it is more comparable to The Blue Alliance's data.
  #3   Spotlight this post!  
Unread 18-03-2016, 12:52
Caleb Sykes's Avatar
Caleb Sykes Caleb Sykes is offline
Registered User
FRC #4536 (MinuteBots)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2009
Location: St. Paul, Minnesota
Posts: 1,055
Caleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond repute
Re: Accounting for breaches/captures in OPR

I have just uploaded a scouting database which contains component calculated contributions. Since component OPRs seem to have the property of linearity (although I don't fully understand why), it should be easy for anyone to play around with these. Currently, I calculate eOPR using method 1 described in my original post. That is, eOPR = (total points) + 3.125*(subtracted tower strength) + 2.5*(cross defense count).
  #4   Spotlight this post!  
Unread 23-03-2016, 14:40
sastoller sastoller is offline
Registered User
FRC #2122 (Team Tators)
Team Role: Mentor
 
Join Date: Dec 2013
Rookie Year: 2008
Location: Idaho
Posts: 145
sastoller is a splendid one to beholdsastoller is a splendid one to beholdsastoller is a splendid one to beholdsastoller is a splendid one to beholdsastoller is a splendid one to beholdsastoller is a splendid one to behold
Re: Accounting for breaches/captures in OPR

This is some pretty awesome data Caleb! I have been working on my own script to pull down the match data, organize it, and run various calculations on it. This is not exactly simple stuff, but it's given me the chance to practice my (not-so-great) scripting skills, refresh on some linear algebra, and of course play with ROBOT DATA in JMP.

I think using the real match data (microbuns method) to add the +20 for a breach and +25 for a capture to Qual matches is the best way to calculate this new OPR (I call it "Modified OPR"). It's also a pretty simple modification to my OPR calculation script since I already have the data columns there for breach and capture. Obviously I only add this to the final score if the match is not an elims match. This is most accurate to how elims matches are truly scored. I prefer to let the calculated contribution to tower weakening and defense breaching speak for itself in the analysis of those columns by themselves.
Code:
(if breach=='true')score+=20;} if(capture=='true'){score+=25;}
microbuns, I get the same results as you for 2016_ONTO with my Perl OPR calculator if I use data from only the qualification matches. Always nice to double-check work .

One thing I would like to hear opinions on is if eliminations match data should be use in OPR calculations. My results change significantly when I factor in elims data for my Modified OPR and Regular OPR. See below (sorted by 'Mod OPR Qual'). OPRs tend to drop for robots in elims, probably due to the "cap" for breach points, the alliance partnership with two other good teams, and the fact that defense is a bigger factor in elims.

Perhaps someone who attended this regional could comment which OPR more accurately reflects true robot performance (specifically looking at 2013, 610, 1241 and 1305 in this list since they change rank depending on which OPR I rank by).

Code:
Team	Mod OPR ALL	OPR ALL		Mod OPR Qual	OPR Qual
2056	87.76		69.46		99.25		77.16
1114	76.15		59.84		73.32		57.41
118	59.85		49.83		69.96		56.85
2013	54.16		41.92		66.19		48.66
610	48.24		36.67		60.95		43.7
1241	58.48		46.65		58.63		46.11
1305	52.56		38.84		47.19		36.43
4476	49.78		36.59		45.98		33.27
5807	46.69		35.65		43.8		34.76
296	43.15		31.33		42.91		30.38
4618	42.65		32.17		42.07		31.23
5596	28.24		25.83		40.99		32.78
4976	36.67		26.41		39.1		27.33
3117	38.74		33.71		39.04		32.88
5031	34.44		28.27		38.59		30.12
1547	37.79		30.53		37.5		30.39
4783	31.54		24.96		37.13		27.57
5036	39.98		32.47		34.46		29.24
1325	38.05		27.82		32.7		25.3
4732	34.1		27.2		31.4		25.61
1285	30.56		23.24		30.11		22.79
746	30.8		22.05		29.9		22.04
4704	31.71		23.86		28.82		22.14
2634	21.9		20.42		28.16		24.64
2228	27.65		22.06		27.98		22.33
2935	27.59		23.73		27.61		23.51
4308	24.77		22.28		25.2		22.8
6125	23.34		22.21		23.46		22.72
4248	23.54		18.12		23.21		18.17
2185	22.2		18.32		22.47		18.55
2340	22.77		23.04		22.18		22.82
4939	21.37		23.62		21.89		23.83
4343	16.26		15.33		21.06		17.75
4525	21.85		22.16		20.95		21.7
1075	22.49		18.58		20.06		17.18
4252	19.4		13.59		18.36		13.23
3710	23.6		21.57		15.24		16.59
5580	12.24		14.17		14.99		15.94
4015	13.23		11.04		13.24		11.12
5428	12.75		14.08		13.04		13.33
6141	18.76		18.79		12.72		15.38
2198	12.85		9.32		12.64		9.45
6070	12.56		10.67		10.16		9.52
6046	11.9		12.28		9.15		10.69
1246	11.73		11.87		8.54		9.98
3541	7.99		9.23		8.04		9.37
6140	6.63		11.06		6.14		11.04
5076	6.73		6.92		5.78		6.43
5094	-4.85		0.26		-5.58		-0.51
__________________
2014 to present: Mentor on 2122
2008: Student on 2468

Maintain a healthy fear of what can go wrong

Last edited by sastoller : 23-03-2016 at 14:43.
  #5   Spotlight this post!  
Unread 23-03-2016, 20:16
Ed Law's Avatar
Ed Law Ed Law is offline
Registered User
no team (formerly with 2834)
 
Join Date: Apr 2008
Rookie Year: 2009
Location: Foster City, CA, USA
Posts: 752
Ed Law has a reputation beyond reputeEd Law has a reputation beyond reputeEd Law has a reputation beyond reputeEd Law has a reputation beyond reputeEd Law has a reputation beyond reputeEd Law has a reputation beyond reputeEd Law has a reputation beyond reputeEd Law has a reputation beyond reputeEd Law has a reputation beyond reputeEd Law has a reputation beyond reputeEd Law has a reputation beyond repute
Re: Accounting for breaches/captures in OPR

Quote:
Originally Posted by sastoller View Post
One thing I would like to hear opinions on is if eliminations match data should be use in OPR calculations.
OPR was first proposed and published on CD by Scott Weingart in April 2006. Since then OPR has always been calculated using qualification match results only. Here are a number of possible reasons.
1) There were quite a few years where the scoring during qualification rounds and elimination/playoff rounds are different, some years more than others. Adjusting the scores for qualification rounds or elimination/playoff rounds in order to combine these different matches together to calculate OPR of both rounds is artificial and lead to potential unnecessary arguments how the adjustment should be made.
2) The motivation for teams in qualification rounds and elimination/playoff rounds are very different. The higher ranked teams want to rank as high as possible by winning a match and earning as many ranking points as possible that is used for tiebreak. Lower ranked teams want to showcase their strength and winning is not the highest priority except for their obligations to their alliance partners. In elimination rounds, the goal is to advance by winning and not necessary by scoring as many points as possible. In playoff rounds, the goal is to score high to advance and winning may not be the top priority.
3) Alliance partners in Qualification rounds are randomly selected. That is not the case for elimination/playoff rounds. In some games, with better partners, teams in elimination/playoff rounds are limited in number of points each of them can score which can hurt their OPR.
4) In the calculations of OPR, if we use elimination/playoff matches also, there may be some undesirable effect when some teams play more matches than others. More data points may not be better when the data represents something different due to what I explained above.

However I am all for teams who want to modify OPR to rank teams based on what they feel is more important. 2012 was the only year that I published a modified OPR. There was a general consensus on CD to give 5 points for each coop point. I made it so that teams can easily use a number different from 5 if they chose to.
Due to all the above reasons, I strongly oppose changing the fundamental way how OPR is calculated. If anyone wants to change it, make sure you call it something else so that the community is not confused with what you are publishing.
__________________
Please don't call me Mr. Ed, I am not a talking horse.
  #6   Spotlight this post!  
Unread 27-03-2016, 18:05
Caleb Sykes's Avatar
Caleb Sykes Caleb Sykes is offline
Registered User
FRC #4536 (MinuteBots)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2009
Location: St. Paul, Minnesota
Posts: 1,055
Caleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond reputeCaleb Sykes has a reputation beyond repute
Re: Accounting for breaches/captures in OPR

Quote:
Originally Posted by sastoller View Post
I think using the real match data (microbuns method) to add the +20 for a breach and +25 for a capture to Qual matches is the best way to calculate this new OPR (I call it "Modified OPR"). It's also a pretty simple modification to my OPR calculation script since I already have the data columns there for breach and capture. Obviously I only add this to the final score if the match is not an elims match. This is most accurate to how elims matches are truly scored. I prefer to let the calculated contribution to tower weakening and defense breaching speak for itself in the analysis of those columns by themselves.
Code:
(if breach=='true')score+=20;} if(capture=='true'){score+=25;}
The problem with this is that it does a horrible job of predicting capture points in playoffs at weak events. Take the Lake Superior regional as an example. There was only a single qual capture at Lake Superior. The number 1 seed captured in 4 of their 6 playoff matches, for a capture rate of 67%, but their expected capture rate found by summing their individual capture OPRs would be just 12%. There are just simply not enough captures happening at some events for "OPR capture" to mean anything useful. In the worst case, like at Palmetto, "OPR capture" can not distinguish teams at all because there were zero captures in quals.

My guess is that my eOPR1 would do better than eOPR2/modified OPR at predicting playoff scores at weaker events like this, although I have not done a thorough investigation.

Quote:
One thing I would like to hear opinions on is if eliminations match data should be use in OPR calculations. My results change significantly when I factor in elims data for my Modified OPR and Regular OPR. See below (sorted by 'Mod OPR Qual'). OPRs tend to drop for robots in elims, probably due to the "cap" for breach points, the alliance partnership with two other good teams, and the fact that defense is a bigger factor in elims.
I believe that it would be unwise to use elimination data for these calculations for the reasons listed by Ed Law.
  #7   Spotlight this post!  
Unread 27-03-2016, 18:51
Edxu's Avatar
Edxu Edxu is offline
Strategy/Scouting Mentor
AKA: Edwin Xu
FRC #4476 (W.A.F.F.L.E.S Robotics)
Team Role: Mentor
 
Join Date: Jan 2013
Rookie Year: 2013
Location: Toronto, Canada
Posts: 190
Edxu has a brilliant futureEdxu has a brilliant futureEdxu has a brilliant futureEdxu has a brilliant futureEdxu has a brilliant futureEdxu has a brilliant futureEdxu has a brilliant futureEdxu has a brilliant futureEdxu has a brilliant futureEdxu has a brilliant futureEdxu has a brilliant future
Re: Accounting for breaches/captures in OPR

Quote:
Originally Posted by sastoller View Post

...

Perhaps someone who attended this regional could comment which OPR more accurately reflects true robot performance (specifically looking at 2013, 610, 1241 and 1305 in this list since they change rank depending on which OPR I rank by).

...

Having been at GTRE myself, from the list of 2013,610,1241 and 1305, I'd probably give a ranking of 1241>2013>610>1305 in quals matches.

1241's high goaling is fantastic, and building a strategy around them, feeding them balls and letting them score is a surefire way to do well in quals matches, making them even stronger with good planning. By themselves, they're also a quality defense crosser and cycler.

2013's overall a strong robot that can work independently of their alliance partners in quals, and their high goal shot is monstrously accurate when dialed in and firing from a consistent spot, which is pretty likely given the general lack of defensive play in quals matches.

610 is a low goal and defense crossing specialist, and we can ideally function independently of alliance partners in quals, but we suffered at GTRE from some robot issues and lack of high goal shot.

1305 is another strong independent robot, similar to 2013, but I think that 2013's a little bit stronger. It can also be noted that 1305's schedule had them playing with 2056,5807,4476,1241 and 610 in quals matches, among other notably strong teams.
__________________
2013 FRC World Champions (1477, 1241, 610)
Queens University Computing Class of 2020


2013-2016: Team 610
2017-????: Team 4476
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 09:02.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi