Monday, February 13, 2012

Swiss Tournament Byes

Some of my old Magic friends from way back when I lived out in New Brunswick are putting together a tournament series out in the Maritimes which sounds interesting. They have a recently set up forum set up here which is getting updated with more information over time about the series and just about Magic in the Maritimes in general.

One of the things they have planned is to award byes to the winners of the first 5 tournaments which get used in a big end of season event. My brother noticed this and was concerned that adding in byes would change how many rounds should be run in the tournament compared to the default 'number of rounds given number of entrants' chart. (Yes, pedantry runs in the family.) He suggested that it could make an interesting 'crunching the numbers' post and I'm all for getting topics to crunch without having to think them up myself. So, here we go...


To start with we need to define what we even want to accomplish when we work out the number of rounds to play. Here are the axioms I'm starting from...

  • At some point we're going to cut from swiss rounds to a top 8 who will then play a single elimination play-off.
  • The system should not have any false negatives. (Everyone who performs well enough to deserve to make top 8 will do so.)
  • The system can have false positives. (Some people who haven't performed well enough can still make top 8.)
  • A player deserves to make the top 8 if they have a record of X-1-0 or better.

Essentially we want the tournament to have a large enough number of rounds such that we can guarantee that there are at most 8 people with a record of X-1-0 or better. It's acceptable if it turns out some people with a worse record advance as well so we don't mind if we only end up with 7 deserving players at the end of our swiss rounds but we must schedule enough rounds to guarantee there aren't 9 such players.

The way to think about this is to lump all of your players into one of three buckets: those that are undefeated, those that have 1 loss, and those that are not deserving to make top 8. It's important to note that once you've fallen into the undeserving category there's no way to get back out of it and therefore we don't actually care how many people fall into that category. 


I was initially worried that draws (intentional or otherwise) would really muck with everything but I've since realized it doesn't matter as shown below:

First, think of someone with a draw as having lost two points off of their theoretical maximum. (A win is worth three points. A draw is worth one.) 

Consider someone with three draws. That person has lost six points which is the same as someone with two losses and is therefore in our undeserving category and we don't care.

Consider someone with two draws. They've lost four points which is worse than someone who has a X-1-0 record. They're really close but they don't meet our deserving criteria so we still don't care.

Consider someone with one draw. They've lost two points which leaves them better than someone with an X-1-0 record. These people are still deserving of making the top 8. Note however that with either a loss or a draw they'll fall into oblivion. Someone with just one loss is in the same position. Another loss or draw and they'll fall into oblivion too. As such for the purposes of this discussion we can model a draw as a loss.

A match with two losers is less restrictive in terms of the number of rounds than a match which has a winner. Adding extra losses to the pool can only serve to eliminate more people sooner. Remember that we're trying to guarantee we play enough rounds which means we need to look at the worst case scenario in terms of keeping contenders around. Therefore we're going to assume every match has a winner since that builds us to our worst case.


The initial question had to deal with how adding byes would change the numbers. In order to have something to compare against we need to get the current numbers. I could just look them up but I think it will help to actually derive them here. To do so I'm going to fill in the following table: In general in any given round all the undefeated players will play each other and half of them will remain undefeated while the other half become single losers. At the same time the single losers play each other with half of them remaining single losers and the other half getting eliminated from contention. Note that this only really works with continuous numbers so the contenders column is idealistic and frankly wrong a lot of the time. If we have an odd number of contenders then one of them has to get paired down and should get credit with a full win. (This is the case because we're looking for worst case scenario and need to keep as many contenders around as possible.) On top of that if there's an odd number of undefeated players we need to have one get paired down. This case is trickier because early on in the tournament the undefeated guy needs to win but in the last couple rounds the single loss guy might need to win. At any rate I've built an Excel spreadsheet to account for this which was used to work out the valid # of players column for the edge cases.

Before RoundUndefeatedsSingle LosersContendersValid # of Players
1n0n1-8
2n/2n/2n
3n/4n/23n/49-10
4n/83n/8n/211-16
5n/16n/45n/1617-24
6n/325n/323n/1625-34
7n/643n/327n/6435-64
8n/1287n/128n/1665-128
9n/256n/329n/256129-208


Now what happens if we give four of the players coming into the tournament two byes to start off the tournament and a fifth player three byes to start the tournament? Well, we end up artificially inflating the number of players in the undefeated columns at the start but everything should flow out of the same pattern after that. The formulae get a little messy so I'm going to just post the results from my modified spreadsheet. Ask if you want details... (Be aware I changed the headers here to make it easier to read.)

# of Rounds PlayedValid # of no-bye PlayersValid # of Players
01-81-8
1
29-109
311-16
417-2410-13
525-3414-29
635-6430-45
765-12846-109
8129-208110-201

Possibly a more useful way to present the information is to look at how many rounds need to be added depending on the number of entrants compared to my first table...


# of Entrants# of Added Rounds
1-90
102
11-131
14-162
17-241
25-290
30-341
35-450
46-641
65-1090
110-1281

2 comments:

Caspur said...

So, essentially if we add one round we will be safe in all cases >16 players.

Ziggyny said...

Yes. You may end up not having even needed to add the round but it can't hurt to do so. Doing so will let more people at X-2 or X-1-1 make it which is probably a positive assuming you have time to run the extra round.