Bout Order for Big Pools

I know that you have dreamt of holding a tournament with 32 fencers all in one big pool. If you're a pentathlete, maybe! Or just a psycho, like me.

But, what bout order should you use? It turns out not to be so obvious how to order the bouts in a big pool. Even in a small pool! C'mon, a pool of 6 should be easy, right? Wrong! In a pool of 6, there are 15 bouts. With any 15 "things" there are 1307674368000 ways of ordering them. Try sifting through that many options!

I was recently tasked with running a bunch of pools of 15, and in between falling asleep at night and standing in the shower thinking about the nightmare of such a giant pool, I came up with something like a solution. In a pool of 15, there are 105 bouts, and 1.08e168 possible orders. That's a 1 with 168 digits after it. If you count the number of atoms in the universe, and square that number, you get somewhere near the number of possible ways to order such a pool. A universe of universes, so to speak. Needless to say, it's not simple testing each order to find the best one.

Never the less, I wrote a little program that simplified the problem a little, and then looks for good orders within certain constraints.

Good vs Bad Bout Orders

What is a "good" order of bouts for a pool? It is one where each fencer has about the same break between bouts as everyone else, throughout the whole pool. In a pool of 3 or 4, you will always have a situation where a fencer has to fence two bouts back-to-back, with no break -- there's no way around it. Once you have 5 fencers, you can guarantee everyone at least a one bout break every time. You need 7 fencers to guarantee a two bout break, 9 fencers for a three bout break, etc.

So one characteristic of a good order is that every fencer gets at least a minimum break of (N-3)/2, where N is the number of fencers in the pool.

Another characteristic of a good order is that no fencer suffers a long break, like sitting around for 5 bouts waiting, in a pool of 6 fencers. In a pool of 3, every fencer will have at least one back-to-back bout, and at least one two-bout break. It's unavoidable. But you don't need to have an order where any fencer has a break longer than 2 bouts. In a pool of 5 or 6 the maximum break is 3 bouts, 7 or 8 it's 4 bouts, etc.

So another characteristic of a good order is that every fencer gets at most a break of N/2, where N is the number of fencers in the pool. Every fencer's first bout also comes within the first (N/2)+1 bouts in the pool, and last bout in the final (N/2)+1 bouts.

The final characteristic is a purely aesthetic one. From a mathematical point of view, these orders are identical:
1-3, 1-2, 2-3; and 1-2, 1-3, 2-3; If you swap the people in the 2 and 3 spots, the orders are the same. So why start a pool with 1-4, 2-5, etc? Aesthetically, beginning with 1-2, 3-4, 4-5, etc., is nicer, and that is they type of order my algorithm finds.

Sample Bout Orders

2 fencers

1-2

3 fencers

1-2 1-3 2-3

4 fencers

1-2 1-3 2-4 3-4 1-4 2-3

5 fencers

1-2 3-4 1-5 2-3 4-5 1-3 2-4 3-5 1-4 2-5

6 fencers

1-2 3-4 1-5 2-6 1-3 4-5 3-6 2-4 1-6 3-5 4-6 2-5 1-4 2-3 5-6

7 fencers

1-2 3-4 5-6 1-7 2-3 4-5 6-7 1-3 2-5 4-6 3-7 1-5 2-6 4-7 3-5 1-6 2-4 5-7 3-6 1-4 2-7

8 fencers

1-2 3-4 5-6 1-7 2-8 3-5 1-4 2-6 3-7 1-8 4-5 2-7 3-6 4-8 1-5 6-7 2-3 5-8 4-7 1-6 3-8 2-4 5-7 6-8 1-3 2-5 4-6 7-8

9 fencers

1-2 3-4 5-6 7-8 1-9 2-3 4-5 6-7 8-9 1-3 2-5 4-7 6-8 3-9 1-5 2-7 4-8 6-9 3-5 1-7 2-8 4-6 5-9 3-7 1-8 2-6 4-9 5-7 3-8 1-6 2-4 7-9 5-8 3-6 1-4 2-9

10 fencers

1-2 3-4 5-6 7-8 1-9 2-10 3-5 4-6 1-7 2-8 3-9 4-10 1-5 2-6 3-7 4-8 9-10 1-6 5-7 2-4 3-8 6-9 7-10 1-4 5-8 2-9 3-10 6-7 1-8 4-9 5-10 2-3 6-8 7-9 1-10 4-5 3-6 2-7 8-10 5-9 1-3 4-7 6-10 2-5 8-9

11 fencers

1-2 3-4 5-6 7-8 9-10 1-11 2-3 4-5 6-7 8-9 10-11 1-3 2-5 4-7 6-9 8-10 3-11 1-5 2-7 4-9 6-10 8-11 3-5 1-7 2-9 4-10 6-8 5-11 3-7 1-9 2-10 4-8 6-11 5-7 3-9 1-10 2-8 4-6 7-11 5-9 3-10 1-8 2-6 4-11 7-9 5-10 3-8 1-6 2-4 9-11 7-10 5-8 3-6 1-4 2-11

12 fencers

At this point, the software takes quite a while to find a good bout order for a pool with an even number of fencers, because it looks first for orders which begin 1-2 3-4 5-6 7-8 9-10 11-12 and by examining our previous even pools, we can see that they all would not use 11-12 after 9-10, but would instead use 1-11 then 2-12.

So let's look for some patterns!

Patterns

Patterns in odd numbered pools are easy to see. Let's look at a pool of 5, 7 and 9, and highlight the highest numbered fencer:

Pool of 5:
1-2 3-4 1-5 2-3 4-5
1-3 2-4 3-5 1-4 2-5

Pool of 7:
1-2 3-4 5-6 1-7 2-3 4-5 6-7
1-3 2-5 4-6 3-7 1-5 2-6 4-7
3-5 1-6 2-4 5-7 3-6 1-4 2-7

Pool of 9:
1-2 3-4 5-6 7-8 1-9 2-3 4-5 6-7 8-9
1-3 2-5 4-7 6-8 3-9 1-5 2-7 4-8 6-9
3-5 1-7 2-8 4-6 5-9 3-7 1-8 2-6 4-9
5-7 3-8 1-6 2-4 7-9 5-8 3-6 1-4 2-9

Trivial! So let's look at the other numbers. In order for the pattern to be clear, I'll use the pool of 11.

One:
1-2 3-4 5-6 7-8 9-10 1-11 2-3 4-5 6-7 8-9 10-11
1-3 2-5 4-7 6-9 8-10 3-11 1-5 2-7 4-9 6-10 8-11
3-5 1-7 2-9 4-10 6-8 5-11 3-7 1-9 2-10 4-8 6-11
5-7 3-9 1-10 2-8 4-6 7-11 5-9 3-10 1-8 2-6 4-11
7-9 5-10 3-8 1-6 2-4 9-11 7-10 5-8 3-6 1-4 2-11

Two:
1-2 3-4 5-6 7-8 9-10 1-11 2-3 4-5 6-7 8-9 10-11
1-3 2-5 4-7 6-9 8-10 3-11 1-5 2-7 4-9 6-10 8-11
3-5 1-7 2-9 4-10 6-8 5-11 3-7 1-9 2-10 4-8 6-11
5-7 3-9 1-10 2-8 4-6 7-11 5-9 3-10 1-8 2-6 4-11
7-9 5-10 3-8 1-6 2-4 9-11 7-10 5-8 3-6 1-4 2-11

Three:
1-2 3-4 5-6 7-8 9-10 1-11 2-3 4-5 6-7 8-9 10-11
1-3 2-5 4-7 6-9 8-10 3-11 1-5 2-7 4-9 6-10 8-11
3-5 1-7 2-9 4-10 6-8 5-11 3-7 1-9 2-10 4-8 6-11
5-7 3-9 1-10 2-8 4-6 7-11 5-9 3-10 1-8 2-6 4-11
7-9 5-10 3-8 1-6 2-4 9-11 7-10 5-8 3-6 1-4 2-11

Four:
1-2 3-4 5-6 7-8 9-10 1-11 2-3 4-5 6-7 8-9 10-11
1-3 2-5 4-7 6-9 8-10 3-11 1-5 2-7 4-9 6-10 8-11
3-5 1-7 2-9 4-10 6-8 5-11 3-7 1-9 2-10 4-8 6-11
5-7 3-9 1-10 2-8 4-6 7-11 5-9 3-10 1-8 2-6 4-11
7-9 5-10 3-8 1-6 2-4 9-11 7-10 5-8 3-6 1-4 2-11

And so on.

So what's the "pattern"? When the bout order for a pool of N fencers (N is odd) is written like this, in (N-1)/2 rows of N bouts, it breaks into two parts. The right (N-1)/2 columns, and the left (N+1)/2 columns.

    Left Block                        Right Block
1-2 3-4 5-6 7-8 9-10      1-11 2-3 4-5 6-7 8-9 10-11
1-3 2-5 4-7 6-9 8-10      3-11 1-5 2-7 4-9 6-10 8-11
3-5 1-7 2-9 4-10 6-8      5-11 3-7 1-9 2-10 4-8 6-11
5-7 3-9 1-10 2-8 4-6      7-11 5-9 3-10 1-8 2-6 4-11
7-9 5-10 3-8 1-6 2-4      9-11 7-10 5-8 3-6 1-4 2-11

First look at the left block. Start in the top row. If a number is smaller than its partner in the top row, in the second row it moves to the left; if it is larger, it moves to the right. This gives it its "momentum" for the whole pool. You'll notice that when the number is supposed to move left but is in the leftmost column, or right but is in the rightmost column it moves straight down once, then changes direction: "bouncing" inside the block.

That completely describes how numbers move in the left block, for the whole pool, for any size odd-numbered pool. And the top row consists of the first (N-1)/2 bouts: 1-2, 3-4, 5-6, etc. Very easy to set up.

Now look at the right block. First the exception to all the rules for smaller numbers: The highest number only moves straight down.

For all the others, if a number is smaller than its partner it moves right in the next row, and if it is larger it moves left, opposite from the left block. It keeps that momentum for the whole pool. And if it should move left but is in the leftmost block, or is supposed to move right but is in the rightmost bloc, it immediately changes direction ("bounces"), without once moving straight down.

The only thing we have left is laying out the bouts in the top row of the rightmost column. The first is 1 vs N. The second is 2-3, then 4-5, 6-7, etc. Voila, we're done.

We can now use these simple rules to pretty easily write a bout order for any size odd numbered pool. Pool of 99? Easy! Perhaps time consuming, if we're doing it with paper and pencil, but I suspect a computer program might make short work of this. Work for another day!

But what about a pool of 98 fencers? We're not there yet!

Large Even Numbered Pools

Let's look at even numbered pools.

The pool of 4 results from my program aren't very good, for reasons I won't go into, but basically because it's looking for results in a very large pool, not a very small one. So we'll skip to the pool of Six fencers. There are two ways to look at this:
3 columns5 columns
1-2 3-4 1-5
2-6 1-3 4-5
3-6 2-4 1-6
3-5 4-6 2-5
1-4 2-3 5-6
1-2 3-4 1-5 2-6 1-3
4-5 3-6 2-4 1-6 3-5
4-6 2-5 1-4 2-3 5-6

At this point, I realize my program has found one of many possible bout orders for a pool of 6, and much like the bad bout order for a pool of 4, it has found one with no clear pattern in it. So let's go back and work on the software to get more bout orders to check out.

9:51am EST, January 31, 2007.


snider.com/jeff