Go to Post By seeing other robot designs, teams can plan before hand on how to defend or defeat it. - Don Wright [more]
Home
Go Back   Chief Delphi > FIRST > General Forum
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 19-07-2016, 18:07
Brandon Zalinsky's Avatar
Brandon Zalinsky Brandon Zalinsky is offline
Roaming GeorgiaFIRST MC
AKA: The Mecanum Man
FRC #1058 (PVC Pirates)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2008
Location: Clemson, SC
Posts: 456
Brandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant future
Generating Schedules/Rankings

Hi y'all,

I've been trying to create a program in Excel to

1) Generate a FRC-style 2v2 schedule from a pool of teams
2) take in data points from each match (each alliance RP+total points)
3) Rank teams based on RP

Now, I've seen some resources like this and this, and I've made some progress, but I'm running into issues like a very poorly randomized schedule. Are there any resources available for this, or does anyone have insight into how to do this easily?

Thanks!
__________________
This is our Robot. There are many like it, but this one is ours.
Measure twice, cut once, curse, buy more, and cut again.

2014- Excellence in Engineering (UNH), District Chairman's Award (NU), #8 Quarterfinalist (NECMP), Winner (Mainely Spirit)
2013- Semifinalists (Battlecry@WPI) Winner (Mainely Spirit)
2012- Regional Chairman's (GSR), Finalists as the #11 Alliance Captain (Battlecry@WPI)
2011-Xerox Creativity Award (GSR), Semifinalists (GSR) Innovation in Control (Virginia)
2010-Champion (GSR), Undefeated (Chesapeake), Coopertition Award (Chesapeake), Quarterfinalists (Galileo) 8th AC (IRI)
2008-Undefeated (GSR), Xerox Creativity Award (GSR)
Reply With Quote
  #2   Spotlight this post!  
Unread 19-07-2016, 19:56
EricH's Avatar
EricH EricH is offline
New year, new team
FRC #1197 (Torbots)
Team Role: Engineer
 
Join Date: Jan 2005
Rookie Year: 2003
Location: SoCal
Posts: 19,682
EricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond repute
Re: Generating Schedules/Rankings

I had a problem once with Excel's randomizing. Seemed that whenever the sheet opened up, I got the same random number to start with. So... I put in a couple of extra "gimme a random number" lines and it cleared up.

https://www.chiefdelphi.com/media/papers/3042. I think I titled the relevant subroutines with "random" in the title.
__________________
Past teams:
2003-2007: FRC0330 BeachBots
2008: FRC1135 Shmoebotics
2012: FRC4046 Schroedinger's Dragons

"Rockets are tricky..."--Elon Musk

Reply With Quote
  #3   Spotlight this post!  
Unread 19-07-2016, 19:59
GeeTwo's Avatar
GeeTwo GeeTwo is offline
Technical Director
AKA: Gus Michel II
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Slidell, LA
Posts: 3,523
GeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond repute
Re: Generating Schedules/Rankings

The better you can bound the problem, the better you can decide which problems aren't really problems and which ones you need to address. As a first break point -- how many teams do you anticipate, and how many matches per team in your tournament? In particular, how does the number of teams in the tournament compare to the number of matches each team should play in? The pivot point is each team playing one fewer match than there are teams in the tournament. In the case that they are equal, each team should be able to play on alliance once with each team, and against each team twice. Whether the field is larger or smaller will determine which problems your process will have to deal with. If that point is in the middle of your possibilities, you may wind up making two different programs. In any case, I'm not sure that excel is the right tool for the software (though it would be great for verifying the list as generated as meeting the criteria, and for doing the tracking after the matchups are done).
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.
Reply With Quote
  #4   Spotlight this post!  
Unread 19-07-2016, 20:29
AllenGregoryIV's Avatar
AllenGregoryIV AllenGregoryIV is online now
Engineering Coach
AKA: Allen "JAG" Gregory
FRC #3847 (Spectrum)
Team Role: Coach
 
Join Date: Jul 2008
Rookie Year: 2003
Location: Texas
Posts: 2,546
AllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond repute
Send a message via AIM to AllenGregoryIV
Re: Generating Schedules/Rankings

I've done this before and have just ended up using VEX's Tournament manager. Works very well for generating 2v2 matches. Doesn't help your exact situation but if you are willing to just copy out the schedule you could make this work.
__________________

Team 647 | Cyber Wolf Corps | Alumni | 2003-2006 | Shoemaker HS
Team 2587 | DiscoBots | Mentor | 2008-2011 | Rice University / Houston Food Bank
Team 3847 | Spectrum | Coach | 2012-20... | St Agnes Academy
LRI | Alamo Regional | 2014-20...
"Competition has been shown to be useful up to a certain point and no further, but cooperation, which is the thing we must strive for today, begins where competition leaves off." - Franklin D. Roosevelt
Reply With Quote
  #5   Spotlight this post!  
Unread 19-07-2016, 21:11
jtrv's Avatar
jtrv jtrv is offline
github.com/jhtervay
AKA: Justin
FRC #2791 (Shaker Robotics)
Team Role: College Student
 
Join Date: Jan 2013
Rookie Year: 2012
Location: Latham, NY
Posts: 142
jtrv is a name known to alljtrv is a name known to alljtrv is a name known to alljtrv is a name known to alljtrv is a name known to alljtrv is a name known to all
Re: Generating Schedules/Rankings

I'm personally exploring things like the Swiss-system tournament for my own project. I haven't implemented it so I cannot give any details, though.
__________________
2791 (2012-2016)
Alumni & part-time programming mentor of 2791.
My views do not reflect the views of my team.
2012 - BAE Granite State Regional Finalists & Imagery Award, Connecticut Semifinalists & Creativity Award
2013 - BAE Granite State Regional Quarterfinalists & Quality Award, WPI Regional Finalists & Excellence in Engineering Award
2014 - New York Tech Valley Quarterfinalists, Finger Lakes Semifinalists & Quality Award
2015 - New York Tech Valley Quarterfinalists & Quality Award, Finger Lakes Quarterfinalists & Industrial Design Award
2016 - New York Tech Valley Semifinalists & Quality Award, Finger Lakes Semifinalists
Reply With Quote
  #6   Spotlight this post!  
Unread 19-07-2016, 23:20
gblake's Avatar
gblake gblake is offline
6th Gear Developer; Mentor
AKA: Blake Ross
no team (6th Gear)
Team Role: Mentor
 
Join Date: May 2006
Rookie Year: 2006
Location: Virginia
Posts: 1,933
gblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond repute
Re: Generating Schedules/Rankings

Quote:
Originally Posted by Brandon Zalinsky View Post
Hi y'all,

I've been trying to create a program in Excel to

1) Generate a FRC-style 2v2 schedule from a pool of teams
2) take in data points from each match (each alliance RP+total points)
3) Rank teams based on RP

Now, I've seen some resources like this and this, and I've made some progress, but I'm running into issues like a very poorly randomized schedule. Are there any resources available for this, or does anyone have insight into how to do this easily?

Thanks!
I see two topics here: A) Generating match schedules, and B) Producing and updating rankings on-the-fly
A) Is pretty easy, if you are wise enough to produce your schedules ahead of your competition. If I can find my old results, I can send you some for possible numbers of teams ranging from small to pretty large. If I can't find those past results, I can probably be convinced to find the old software and regenerate them.

Neither you, nor VEX, nor FIRST, ever need to create a schedule at an event. Instead, at an event, you only need to randomly assign (and reassign, as necessary) the real teams at the event to the placeholder team slots in an appropriate pre-computed schedule.

If you have 24 teams at your event, you grab the precomputed 24-team schedule. Pick a pseudo-random point within the schedule to start extracting match assignments, and randomly make one-for-one substitutions of each of your actual teams for one of the imaginary teams in the schedule.

So, with a fistful of pre-computed schedules, and the ability to cut-and-paste the match data into a spreadsheet, this part of the problem is put to bed.

B) I have an ugly spreadsheet that (along with the ugly parts) contains a simple way to produce (in the spreadsheet) rankings. To update the rankings (after new match results have been entered into the spreadsheet), you tell Excel to recompute all formulae (automatically, or manually - See File->Options->Formulas).

However, don't allow reevaluating all your formulae to change the random assignment of real teams to the fake teams in the original schedule. Use a manually entered seed in the assignment process, if that assignment process is part of your spreadsheet.

Basically, you blend all of a team's ranking info into a big integer, and then use Excel's Large function to find the 1st, 2nd, 3rd, or whatever ranked team by examining the integers of all your teams.

To create the big integer you do something like this:
(#_matches*100000000)+(RP*1000000)+(QP*10000)+(tot al_points_scored)

You will need to pay attention to things like not letting total_points_scored grow large enough collide with the QP*10000 term.
I can send you my ugly spreadsheet that includes a version of both A & B, along with some other things (like a referee's match-score-entry sheet for the 2008 FVC game). I can correspond or chat with you as we both try to figure out what I was thinking 8 years ago.

On the other hand, if you take care of A & B, the rest is tedious, but not too hard to do from scratch on your own.

Blake
PS: I found where I uploaded fortyfive, 20-match, 2-vs-2, schedules (for any number of teams, between 5 and 51, attending an event) into the VEX Forum roughly 8 years ago. VEX Forum Thread If you can't download the file attached to my post in that forum, let me know and I'll get it to you some other way.

PPS: For more info, see here Other CD thread, and here Another other CD thread
__________________
Blake Ross, For emailing me, in the verizon.net domain, I am blake
VRC Team Mentor, FTC volunteer, 5th Gear Developer, Husband, Father, Triangle Fraternity Alumnus (ky 76), U Ky BSEE, Tau Beta Pi, Eta Kappa Nu, Kentucky Colonel
Words/phrases I avoid: basis, mitigate, leveraging, transitioning, impact (instead of affect/effect), facilitate, programmatic, problematic, issue (instead of problem), latency (instead of delay), dependency (instead of prerequisite), connectivity, usage & utilize (instead of use), downed, functionality, functional, power on, descore, alumni (instead of alumnus/alumna), the enterprise, methodology, nomenclature, form factor (instead of size or shape), competency, modality, provided(with), provision(ing), irregardless/irrespective, signage, colorized, pulsating, ideate

Last edited by gblake : 20-07-2016 at 09:10.
Reply With Quote
  #7   Spotlight this post!  
Unread 20-07-2016, 05:51
IKE's Avatar
IKE IKE is offline
Not so Custom User Title
AKA: Isaac Rife
no team (N/A)
Team Role: Mechanical
 
Join Date: Jan 2008
Rookie Year: 2003
Location: Michigan
Posts: 2,145
IKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond repute
Re: Generating Schedules/Rankings

Do you really want it similar to FRC algorithm? For 2v2, I believe you can do a geometric progression to ensure even partners an opponents. Such a progression does not work well for 3v3 though.
Reply With Quote
  #8   Spotlight this post!  
Unread 20-07-2016, 22:27
Brandon Zalinsky's Avatar
Brandon Zalinsky Brandon Zalinsky is offline
Roaming GeorgiaFIRST MC
AKA: The Mecanum Man
FRC #1058 (PVC Pirates)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2008
Location: Clemson, SC
Posts: 456
Brandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant futureBrandon Zalinsky has a brilliant future
Re: Generating Schedules/Rankings

Quote:
Originally Posted by GeeTwo View Post
[...]
Great questions. I've been trying to look at a maximum of 36 teams, and I've been to generating the schedules in "sets" of 9 matches (with fair surrogate-ing based on numbers of teams not divisible by 4). In order to make each team play 5 matches, I just generated 5 sets of 9 matches. The randomness issue came up with a repetition of matches between those match sets.

Quote:
Originally Posted by AllenGregoryIV
[...]
Looks wicked neat. I'll definitely check that out.

Quote:
Originally Posted by gblake
[...]
I think I follow you. By how ugly do you mean ugly? Is it spaghetti or just a lot of information? I'll check out that vexforum post, I didn't even think of going to VEX for this, they've been doing 2v2 for years.
__________________
This is our Robot. There are many like it, but this one is ours.
Measure twice, cut once, curse, buy more, and cut again.

2014- Excellence in Engineering (UNH), District Chairman's Award (NU), #8 Quarterfinalist (NECMP), Winner (Mainely Spirit)
2013- Semifinalists (Battlecry@WPI) Winner (Mainely Spirit)
2012- Regional Chairman's (GSR), Finalists as the #11 Alliance Captain (Battlecry@WPI)
2011-Xerox Creativity Award (GSR), Semifinalists (GSR) Innovation in Control (Virginia)
2010-Champion (GSR), Undefeated (Chesapeake), Coopertition Award (Chesapeake), Quarterfinalists (Galileo) 8th AC (IRI)
2008-Undefeated (GSR), Xerox Creativity Award (GSR)
Reply With Quote
  #9   Spotlight this post!  
Unread 21-07-2016, 23:47
gblake's Avatar
gblake gblake is offline
6th Gear Developer; Mentor
AKA: Blake Ross
no team (6th Gear)
Team Role: Mentor
 
Join Date: May 2006
Rookie Year: 2006
Location: Virginia
Posts: 1,933
gblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond reputegblake has a reputation beyond repute
Re: Generating Schedules/Rankings

Quote:
Originally Posted by Brandon Zalinsky View Post
I think I follow you. By how ugly do you mean ugly? Is it spaghetti or just a lot of information? I'll check out that vexforum post, I didn't even think of going to VEX for this, they've been doing 2v2 for years.
It's not spaghetti, but it is somewhere in the neighborhood of Mac and Cheese.

If I were going to use a spreadsheet(s) to run a scrimmage, I think I would cherry pick methods/algorithms from my old spreadsheet tabs that were cobbled together while I was leaning what I wanted, and I would put those capabilities into a new workbook while using hindsight to give the new workbook a good architecture.

You are welcome to a copy of the old file, and some advice from me about it.

Blake
__________________
Blake Ross, For emailing me, in the verizon.net domain, I am blake
VRC Team Mentor, FTC volunteer, 5th Gear Developer, Husband, Father, Triangle Fraternity Alumnus (ky 76), U Ky BSEE, Tau Beta Pi, Eta Kappa Nu, Kentucky Colonel
Words/phrases I avoid: basis, mitigate, leveraging, transitioning, impact (instead of affect/effect), facilitate, programmatic, problematic, issue (instead of problem), latency (instead of delay), dependency (instead of prerequisite), connectivity, usage & utilize (instead of use), downed, functionality, functional, power on, descore, alumni (instead of alumnus/alumna), the enterprise, methodology, nomenclature, form factor (instead of size or shape), competency, modality, provided(with), provision(ing), irregardless/irrespective, signage, colorized, pulsating, ideate
Reply With Quote
Reply


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 On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 00:40.

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