2013 Qual Schedule Analysis

***All 81 Qual Schedules for 2013 (Weeks 1 thru 7 Regionals & Districts, plus MAR, MSC, Archimedes, Curie, Galileo, & Newton) are summarized in individual CSV files (which can be opened directly in Excel if file association is set).

For each event, a matrix shows which teams each team played With and Against.

FWIW, this shows anomalies in the scheduling algorithm where oftentimes a team will play with or against another team more than once, while not playing with or against dozens of other teams in the event.

http://www.chiefdelphi.com/media/papers/2822**

I noticed this at Northern Lights. There were a many teams we had two matches with (both with and against). But there were 5 teams we never played with or against, which was quite odd to me given there were only 48 teams and 10 qualification matches.

A few points.

There is a description of an early version of the scheduling software on the Idle Loop website. The FMS may use a more recent version but let’s assume the algorithm is the same.

The scheduling algorithm is stochastic, i.e. it has a random element to it, which is a standard approach for solving a complex optimization problem.
The particular criterion discussed above is “Pairing Uniformity” and it is one of the goals being optimized, but that has to be balanced against several other criteria including computation time.

Since the algorithm is stochastic, the “good schedule” metric isn’t really do the same teams play with/against each other more than once but rather does this happen much more frequently than we expect.

Smaller events such as Western Canada or Toronto East have few enough teams that it’s a mathematical necessity that the same teams face each other more than once.

Finally, most Regionals have 1-5 teams who play an additional surrogate match. If the purpose of this analysis is to see how it affects ranking then a team’s surrogate match should really be excluded, although they would still count as a partner or alliance for other teams. (This is a small effect)

At the Livonia district, we had to go against Team 27 in three of our first four matches during qualifications. We also played with them once in our last match of qualifications. It just seemed that the scheduling algorithm should have prevented something like that from occurring.

Ok maybe I am just not getting it what is the difference between W and A and what does each number in each mean

EDIT: Wait Senior moment W is With and A is Against? and the numbers are the occurrences

***I just added a one-page summary of the 162 qual schedule analysis spreadsheets.

http://www.chiefdelphi.com/media/papers/2822**

All 4 divisions in worlds have the same numbers. Does that mean they don’t use random generation?

With only 8 matches and a field of 100 any reasonable optimization algorithm should converge to the same general solution: play with 16 different teams and against 24 other different teams.
That solution will always give the same summary statistics.

…although that’s not what the schedule summaries are showing, since a pair of teams do play each other more than once.
So I reverse my conclusion.

It appears that the match scheduler does not care about multiple opponents/partners in surrogate matches. I checked the Archimedes schedule and the teams that had multiple opponents played each other once in their surrogate match and once in a match that counted.

Here is the scheduler’s analysis of the Archimedes schedule, which does not show repeats in matches that count.

Schedule Statistics
-------------------

          #: number of matches played, a '+' after the number
               indicates one additional round as a surrogate
          d: minimum delta between matches (e.g. '1' means back-to-back)
       part: number of distinct partners followed by most frequent repeat count
        opp: number of distinct opponents followed by most frequent repeat count

       both: number of distinct teams seen as partner or opponent
               followed by most frequent combined repeat count
        r/b: balance between red and blue alliance appearances
               eg, 3b means team appeared as blue 3 times more than as red
 4+ repeats: any teams seen four or more times as partners or opponents

 team   #   d    part    opp    both    r/b   4+ repeats
 ----  --  --   -----   -----   -----   ---   ------------
   11:  8  11 | 16  1 | 24  1 | 40  1 |  0
   20:  8   9 | 16  1 | 24  1 | 40  1 |  0
   33:  8   9 | 16  1 | 24  1 | 40  1 |  0
   51:  8   8 | 16  1 | 24  1 | 40  1 |  0
   71:  8   9 | 16  1 | 24  1 | 40  1 |  2r
   78:  8  11 | 16  1 | 24  1 | 40  1 |  0
  126:  8   9 | 16  1 | 24  1 | 40  1 |  2r
  172:  8  11 | 16  1 | 24  1 | 40  1 |  2r
  236:  8  14 | 16  1 | 24  1 | 40  1 |  0
  254:  8   8 | 16  1 | 24  1 | 40  1 |  2b
  291:  8   9 | 16  1 | 24  1 | 40  1 |  2b
  314:  8  11 | 16  1 | 24  1 | 40  1 |  0
  316:  8   8 | 16  1 | 24  1 | 40  1 |  0
  321:  8   9 | 16  1 | 24  1 | 40  1 |  2r
  326:  8   9 | 16  1 | 24  1 | 40  1 |  2b
  365:  8   8 | 16  1 | 24  1 | 40  1 |  0
  379:  8  10 | 16  1 | 24  1 | 40  1 |  2b
  433:  8+ 11 | 16  1 | 24  1 | 40  1 |  0
  469:  8   8 | 16  1 | 24  1 | 40  1 |  0
  525:  8  11 | 16  1 | 24  1 | 40  1 |  2r
  639:  8   9 | 16  1 | 24  1 | 40  1 |  2b
  694:  8  14 | 16  1 | 24  1 | 40  1 |  0
  701:  8   8 | 16  1 | 24  1 | 40  1 |  2b
  801:  8   9 | 16  1 | 24  1 | 40  1 |  2r
  812:  8   8 | 16  1 | 24  1 | 40  1 |  0
  836:  8   9 | 16  1 | 24  1 | 40  1 |  0
  840:  8   9 | 16  1 | 24  1 | 40  1 |  0
  846:  8  11 | 16  1 | 24  1 | 40  1 |  2r
  868:  8   8 | 16  1 | 24  1 | 40  1 |  2b
  910:  8   8 | 16  1 | 24  1 | 40  1 |  2r
  930:  8+  9 | 16  1 | 24  1 | 40  1 |  0
  948:  8   8 | 16  1 | 24  1 | 40  1 |  0
  955:  8   8 | 16  1 | 24  1 | 40  1 |  0
  973:  8  10 | 16  1 | 24  1 | 40  1 |  0
  987:  8+  8 | 16  1 | 24  1 | 40  1 |  0
 1011:  8  10 | 16  1 | 24  1 | 40  1 |  0
 1071:  8  12 | 16  1 | 24  1 | 40  1 |  0
 1075:  8   9 | 16  1 | 24  1 | 40  1 |  2b
 1100:  8   8 | 16  1 | 24  1 | 40  1 |  2b
 1334:  8  13 | 16  1 | 24  1 | 40  1 |  0
 1448:  8  10 | 16  1 | 24  1 | 40  1 |  0
 1519:  8  10 | 16  1 | 24  1 | 40  1 |  0
 1595:  8   8 | 16  1 | 24  1 | 40  1 |  0
 1610:  8   9 | 16  1 | 24  1 | 40  1 |  2b
 1660:  8   8 | 16  1 | 24  1 | 40  1 |  2r
 1714:  8   9 | 16  1 | 24  1 | 40  1 |  2b
 1747:  8  11 | 16  1 | 24  1 | 40  1 |  0
 1756:  8   8 | 16  1 | 24  1 | 40  1 |  0
 1796:  8  11 | 16  1 | 24  1 | 40  1 |  0
 1836:  8   8 | 16  1 | 24  1 | 40  1 |  2b
 1868:  8  10 | 16  1 | 24  1 | 40  1 |  2b
 1902:  8   8 | 16  1 | 24  1 | 40  1 |  0
 1967:  8   8 | 16  1 | 24  1 | 40  1 |  2b
 2016:  8  10 | 16  1 | 24  1 | 40  1 |  0
 2081:  8  11 | 16  1 | 24  1 | 40  1 |  2r
 2137:  8   8 | 16  1 | 24  1 | 40  1 |  0
 2165:  8   9 | 16  1 | 24  1 | 40  1 |  0
 2408:  8  13 | 16  1 | 24  1 | 40  1 |  0
 2415:  8  12 | 16  1 | 24  1 | 40  1 |  0
 2457:  8   9 | 16  1 | 24  1 | 40  1 |  0
 2468:  8   8 | 16  1 | 24  1 | 40  1 |  2r
 2486:  8   9 | 16  1 | 24  1 | 40  1 |  2r
 2543:  8   8 | 16  1 | 24  1 | 40  1 |  2r
 2590:  8  12 | 16  1 | 24  1 | 40  1 |  0
 2604:  8   9 | 16  1 | 24  1 | 40  1 |  0
 2614:  8   9 | 16  1 | 24  1 | 40  1 |  0
 2704:  8   8 | 16  1 | 24  1 | 40  1 |  0
 2705:  8  12 | 16  1 | 24  1 | 40  1 |  0
 2709:  8  10 | 16  1 | 24  1 | 40  1 |  0
 2959:  8  11 | 16  1 | 24  1 | 40  1 |  2b
 3003:  8   9 | 16  1 | 24  1 | 40  1 |  2r
 3008:  8   9 | 16  1 | 24  1 | 40  1 |  0
 3044:  8+  8 | 16  1 | 24  1 | 40  1 |  0
 3145:  8  14 | 16  1 | 24  1 | 40  1 |  2r
 3242:  8  10 | 16  1 | 24  1 | 40  1 |  0
 3245:  8  12 | 16  1 | 24  1 | 40  1 |  0
 3310:  8  10 | 16  1 | 24  1 | 40  1 |  0
 3314:  8   8 | 16  1 | 24  1 | 40  1 |  0
 3467:  8   9 | 16  1 | 24  1 | 40  1 |  2b
 3478:  8   9 | 16  1 | 24  1 | 40  1 |  0
 3504:  8   8 | 16  1 | 24  1 | 40  1 |  2r
 3612:  8  10 | 16  1 | 24  1 | 40  1 |  2b
 3627:  8   8 | 16  1 | 24  1 | 40  1 |  0
 4067:  8   8 | 16  1 | 24  1 | 40  1 |  0
 4265:  8   8 | 16  1 | 24  1 | 40  1 |  0
 4450:  8   8 | 16  1 | 24  1 | 40  1 |  0
 4466:  8   9 | 16  1 | 24  1 | 40  1 |  0
 4470:  8   9 | 16  1 | 24  1 | 40  1 |  2r
 4471:  8   9 | 16  1 | 24  1 | 40  1 |  2r
 4499:  8  10 | 16  1 | 24  1 | 40  1 |  0
 4501:  8   9 | 16  1 | 24  1 | 40  1 |  0
 4537:  8  10 | 16  1 | 24  1 | 40  1 |  0
 4545:  8  13 | 16  1 | 24  1 | 40  1 |  0
 4585:  8   8 | 16  1 | 24  1 | 40  1 |  0
 4589:  8  11 | 16  1 | 24  1 | 40  1 |  0
 4637:  8   8 | 16  1 | 24  1 | 40  1 |  0
 4673:  8   9 | 16  1 | 24  1 | 40  1 |  2b
 4731:  8   9 | 16  1 | 24  1 | 40  1 |  0
 4753:  8  12 | 16  1 | 24  1 | 40  1 |  2b
 4810:  8   8 | 16  1 | 24  1 | 40  1 |  2r
-------------------------------------
 best:  8  14 | 16  1 | 24  1 | 40  1 |  0
worst:  9   8 | 16  1 | 24  1 | 40  1 |  2  (38)

That pattern continues in all 4 divisions and several other schedules based on 8 matches from 100 teams. The surrogate teams also appear in the last match in all cases I’ve looked at, so I suspect that’s an artifact of the initial population of the matches.

So I think we’re back to there being no evidence that the matches were not generated randomly with the standard scheduling algorithm.

*At Razorback, there were 101 pairs of teams who played against each other twice.

There were 17 pairs of teams who played against each other 3 times.

There were 217 pairs of team who did not play against each other.

Each team played exactly 12 matches, so I assume there were no surrogates (or am I misunderstanding what a surrogate is, in this context?).