|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools | Rate Thread | Display Modes |
|
#36
|
||||||
|
||||||
|
THe CDI way...
Bruce,
At the Chief Delphi Invitational, we (I) had to come up with some way of picking teams for the seeding matches. Basically, I violated some of the constraints that you (Bruce) put up in order to get a better (in my view) set of pairings. One thing I did was relax the contraint that every team had to play their Nth match before another any other team could play their (N+1)th match. Without relaxing this contraint, I always got to the end of a round of matches and was stuck with some pretty crumby pairings. Here is what I replaced that contraint with: No team could play their (N+2)th match before every team played their Nth match. This gave the program the freedom to have teams play well paired matches at the end of a round of matches (though it does make the end of a round a but fuzzier to see because other than at the beginning and end of the seeding, there is never a point when every team has played the same number of matches). Here is how I would pick the pairing: For NNN = 1 to Nmatches [list=1][*]Find the set of all teams that have played the fewest number of matches* [*]Randomly pick from the above set assign it as Team1 [*]Find the set of all teams that been Team1's partner the least often AND have not already played 2 more matches than Team1* [*]Randomly pick from the above set assign it as Team2 [*]Find the set of all teams that have played against Team1 and Team2 least often AND have not already played 2 more matches than Team1* [*]Randomly pick from the above set assign it as Team3 [*]Find the set of all teams that have played against Team1 and Team2 least often AND have partnered with Team3 least often AND have not already played 2 more matches than Team1* [*]Randomly pick from the above set assign it as Team4 [/list=1] Next NNN *If you want you can put other constraints here such as "not having played in the last 3 matches" This process does not ASSURE good seeding round pairings but it is pretty good. What I do after the seeding round is set is to compute some metrics that let me judge whether it is a good set of matches or not. For example I compute the number of times a team plays with or against the same team. If there are too many teams playing with or against the same teams too often, I hit the "recalculate" button and compute another set of pairings. You can also compute other things like how often a team has matches too close or whatever other criteria you like and, again, just keep hitting the recalculate button until you get there pairing configuration you like. Anyway, in 6 years of Chief Delphi Invitationals, I have not had too many complaints. Joe J. |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Divisions are out!! | Joel J | Championship Event | 55 | 06-04-2003 01:34 |
| national competition divisions a little fishy | archiver | 2001 | 5 | 24-06-2002 03:06 |
| 4 divisions in florida... (was it my idea?) | archiver | 2001 | 7 | 23-06-2002 23:13 |
| See the DIVISIONS! | Digo | Championship Event | 2 | 16-04-2002 17:14 |
| Divisions | Tom | Championship Event | 2 | 10-04-2002 21:23 |