Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Rules/Strategy (http://www.chiefdelphi.com/forums/forumdisplay.php?f=6)
-   -   Computer generated initial alliances (http://www.chiefdelphi.com/forums/showthread.php?t=128474)

IceStorm 07-04-2014 17:18

It would be nice to see it take into account rookie teams as well. At our event last weekend it paired up 3 rookies against 3 veteran teams. Needless to say it wasn't a very fun match to watch.

AGPapa 07-04-2014 17:33

Re: Computer generated initial alliances
 
Quote:

Originally Posted by IceStorm (Post 1370633)
It would be nice to see it take into account rookie teams as well. At our event last weekend it paired up 3 rookies against 3 veteran teams. Needless to say it wasn't a very fun match to watch.

It's generally bad to classify how good or bad a team is by their age. In 2007 FIRST tried to implement something like your suggestion to balance the matches. Each event was broken into the lower third of team numbers, the middle third and the upper third. Each alliance would then be composed of one team from each.

This was the result. Team 11 played team 25 in half of their qual matches in New Jersey. The worst problems came when good teams with high numbers (like 1114) attended events. Other teams with similar numbers would always be paired against them and never with them. It was a complete disaster and the algorithm had to be changed for later weeks. Team age is not a good predictor of robot quality.

EDIT: Found an old thread.

GaryVoshol 07-04-2014 17:35

Re: Computer generated initial alliances
 
Quote:

Originally Posted by IceStorm (Post 1370633)
It would be nice to see it take into account rookie teams as well. At our event last weekend it paired up 3 rookies against 3 veteran teams. Needless to say it wasn't a very fun match to watch.

They tried that once, and it was a miserable failure. The teams were divided into 3 "pools" based on team number, and each alliance got one from A, one from B and one from C. Which meant that you as a rookie team could never be paired with one of the other good rookie teams, but you could be playing against them.

(Incidentally, Team 1114 fell into the "C" pool at the old GLR that year, because there were so many lower-numbered teams.)

The fact is, the age of a team (team number sequence) has very little to do with the effectiveness of a team. We've seen low-numbered teams perform poorly, and rookies come out near the top.

Travis Hoffman 07-04-2014 17:58

Re: Computer generated initial alliances
 
I would just like to ensure there is some standard that requires an event's team list to be randomized before being "injected" into the algorithm. Or better yet, the algorithm generates some generic schedule populated by Teams 1-X and then randomly assigns teams from the team list to those Team 1-X spots after the fact.

Ideally, I'd prefer human eyeballs not see anything related to actual team identities until after the ideal schedule is generated and approved, with all desired parameters agreeable to event staff. I do NOT count knowledge of specific team positions within that schedule as a parameter that should concern event staff. That includes any allocation for non-inspected teams. The schedule is supposed to be RANDOM. If a team is dinged RANDOMLY by the fact they failed to understand the urgency of receiving an inspection, such is the way fate works sometimes.

There is also the risk of more insidious schedule adjustments to creep into the current process. "I don't like this schedule because <insert some subconscious aversion related to seeing a schedule with a certain mix of team pairings that enables rationalization of a re-click>". *Clicks mouse again* "Oh that's much better."

This schedule generating process sounds like it contains weak points where much blar can be introduced, if the non-random tendencies of human beings let such things happen.

Humanity is fallible. Whether consciously or otherwise, non-random injection of human preference into the final outcome of a match schedule has likely happened at least once at events spanning the broad expanse of FIRST history. The majority of folks out there would not even consider such a thing, but if there's a simple solution that could prevent the tiny percentage of those who would from adversely impacting the process, as well as prevent any subconscious thoughts of the otherwise pure from leaking their way into the final schedule that is printed and distributed, I think that is a change that needs to be made.

MikeE 07-04-2014 18:16

Re: Computer generated initial alliances
 
Quote:

Originally Posted by Travis Hoffman (Post 1370667)
I would just like to ensure there is some standard that requires an event's team list to be randomized before being "injected" into the algorithm. Or better yet, the algorithm generates some generic schedule populated by Teams 1-X and then randomly assigns teams from the team list to those Team 1-X spots after the fact.

Glad to see Travis arguing for the RNG :)

IceStorm 07-04-2014 18:42

Quote:

Originally Posted by GaryVoshol (Post 1370648)
They tried that once, and it was a miserable failure. The teams were divided into 3 "pools" based on team number, and each alliance got one from A, one from B and one from C. Which meant that you as a rookie team could never be paired with one of the other good rookie teams, but you could be playing against them.



(Incidentally, Team 1114 fell into the "C" pool at the old GLR that year, because there were so many lower-numbered teams.)



The fact is, the age of a team (team number sequence) has very little to do with the effectiveness of a team. We've seen low-numbered teams perform poorly, and rookies come out near the top.




Guess I never realized they tried this before. After reading your post I see your point of why it wouldn't work.

Alan Anderson 07-04-2014 23:20

Re: Computer generated initial alliances
 
Quote:

Originally Posted by AGPapa (Post 1370646)
It's generally bad to classify how good or bad a team is by their age. In 2007 FIRST tried to implement something like your suggestion to balance the matches. Each event was broken into the lower third of team numbers, the middle third and the upper third. Each alliance would then be composed of one team from each.

Quote:

Originally Posted by GaryVoshol (Post 1370648)
They tried that once, and it was a miserable failure. The teams were divided into 3 "pools" based on team number, and each alliance got one from A, one from B and one from C. Which meant that you as a rookie team could never be paired with one of the other good rookie teams, but you could be playing against them.

I don't think FIRST was behind the Alliance Algorithm of Doom. The software developer was told to change it after the first week's matchups were universally recognized as being very bad. It got a teeny bit better, but the underlying method of splitting the teams into three groups based on team number wouldn't go away.

rich2202 08-04-2014 06:38

Re: Computer generated initial alliances
 
I like the idea of having one set of match combinations for M to N number of teams (where M is the least number of teams at a Regional, and N is the most number of teams). I'm guessing that 30 pre-determined combinations covering 40-70 teams would work.

Then, assign teams that have not passed inspection to the later 1st matches (one red and one blue per match), and randomly assign teams to the rest of the spots.

Libby K 08-04-2014 08:58

Re: Computer generated initial alliances
 
Quote:

Originally Posted by Chris is me (Post 1369026)
I also noticed that 2791 played with / against the same teams a ton of times at Finger Lakes. Events that large normally have less repeats. Other teams had a lot of repeats as well.

We played with / against 341 three times (1/2). We played twice against 1126. We also played 1 with and 1 against teams 20, 1592, 174, 1450, 1551, and 3173. Not that upset about it or anything, just thought there was a bit less emphasis on playing unique teams this year than prior years.

1923 had this happen at Lenape, but not Mt. Olive. It was definitely odd.

We saw 2590, 341, and someone else (i'm burned out and my brain isn't working) at least three times, whether they were on our side of the glass or across the field. It was unexpected for sure.

Lil' Lavery 08-04-2014 13:42

Re: Computer generated initial alliances
 
Quote:

Originally Posted by Alan Anderson (Post 1370897)
I don't think FIRST was behind the Alliance Algorithm of Doom. The software developer was told to change it after the first week's matchups were universally recognized as being very bad. It got a teeny bit better, but the underlying method of splitting the teams into three groups based on team number wouldn't go away.

From everything I recall, you're correct. FIRST was not aware that the algorithm functioned that way until it was unveiled. The "pooling" issue persisted throughout the entire season, including championship. It was decidedly worse in week one, and improved as the season progressed. VCU (week 1 in 2007) was easily the worst schedule I've ever seen in FRC history. The teams in the "low number pool" played against the same opponent in the low number pool every single match (ie 116 faced 122 every match). Same for the high number pool teams (1541 faced 1598 every match). The low team's opponent from the middle pool would become their partner in their next match, but the pairing didn't remain constant. It has set the bar for absolutely awful match pairing algorithms.

itsjustmrb 08-04-2014 15:00

Re: Computer generated initial alliances
 
From the link provided...

MatchMaker Scheduling Algorithm
By Tom and Cathy Saxton
© 2007-2008, Idle Loop Software Design, LLC
Latest Revision: January 11, 2008 MatchMaker Version: 1.0.2b1

“The algorithm used by FIRST to generate the qualification match schedule at the FIRST Robotics Competitions (FRC) is critical to the success of the regional and championship competitions. This paper discusses the desired properties of the match schedule, and an algorithm that finds near-optimal solutions in a practical time frame.
The algorithm begins by seeding the match schedule with the simplest possible schedule: the teams are dumped in the schedule sequentially in the exact same order for every round. Thereafter, teams are only rearranged within rounds. This guarantees the round uniformity requirement: no schedule that breaks the round uniformity requirement is ever even generated.”


I am not going to get into the debate about whether an older team (lower number) is better or not, but I have noticed the match schedule seems to lump lower number teams together a little more often.(As well as bunch the higher numbers) For example, in the Curie Division last year, there were 50 teams numbered above 2130 and 49 below.
We played 8 matches against 24 teams, 11 of which were numbered over 2130 and 13 were below. Of the 16 alliance partners, 13 were numbered above and only 3 were below.
Maybe the schedule generator should randomize the numbers before the teams are dumped in the schedule instead of sequentially.

Joe Ross 08-04-2014 16:10

Re: Computer generated initial alliances
 
Quote:

Originally Posted by itsjustmrb (Post 1371264)
I am not going to get into the debate about whether an older team (lower number) is better or not, but I have noticed the match schedule seems to lump lower number teams together a little more often.(As well as bunch the higher numbers) For example, in the Curie Division last year, there were 50 teams numbered above 2130 and 49 below.
We played 8 matches against 24 teams, 11 of which were numbered over 2130 and 13 were below. Of the 16 alliance partners, 13 were numbered above and only 3 were below.
Maybe the schedule generator should randomize the numbers before the teams are dumped in the schedule instead of sequentially.

I count 4 teams you were with below 2130 and 12 teams above. On the other hand, 4645 was with 12 teams below 2130 and 4 teams above and 193 was with 4 teams below and 12 teams above.

Even with randomization of inputs, someone would get a schedule like that, unless team number was an explicit factor in the scheduler.

itsjustmrb 08-04-2014 16:19

Re: Computer generated initial alliances
 
Quote:

Originally Posted by Joe Ross (Post 1371288)
I count 4 teams you were with below 2130 and 12 teams above. On the other hand, 4645 was with 12 teams below 2130 and 4 teams above and 193 was with 4 teams below and 12 teams above.

Even with randomization of inputs, someone would get a schedule like that, unless team number was an explicit factor in the scheduler.

You are correct, there were 4, I missed the last team. I assumed when the teams are dumped in the schedule sequentially in the exact same order for every round, that team number is an explicit factor, but I may be wrong.

MikeE 08-04-2014 16:33

Re: Computer generated initial alliances
 
Quote:

Originally Posted by itsjustmrb (Post 1371264)
I am not going to get into the debate about whether an older team (lower number) is better or not, but I have noticed the match schedule seems to lump lower number teams together a little more often.(As well as bunch the higher numbers) For example, in the Curie Division last year, there were 50 teams numbered above 2130 and 49 below.
We played 8 matches against 24 teams, 11 of which were numbered over 2130 and 13 were below. Of the 16 alliance partners, 13 were numbered above and only 3 were below.
Maybe the schedule generator should randomize the numbers before the teams are dumped in the schedule instead of sequentially.

That description describes the initial seeding, which is followed by hundreds of thousands of iterations to find a better schedule.

In fact using the test you suggest (for each match on Curie 2013 how many teams are >2130) the distribution is close to the expected distribution.
Stating it more precisely there is no significant evidence to suggest that the alliance pairings are non-random.

itsjustmrb 08-04-2014 16:40

Re: Computer generated initial alliances
 
Quote:

Originally Posted by MikeE (Post 1371305)
Stating it more precisely there is no significant evidence to suggest that the alliance pairings are non-random.

I am sorry if you thought I was suggesting that it wasn't random, I only suggested that the teams not be dumped in the schedule sequentially in the exact same order for every round.


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

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