Try the New Recent Posts Link available above Recent Topics on the Front Page

Main Menu

Balanced Seeding

Started by Tom, October 04, 2011, 03:13:23 PM

Previous topic - Next topic


This has been a rather tough introduction of a new feature!

As many know over the past few weeks the Bloody Mary Sunday tourney has been plagued by bot crashing.

These problems WERE due to the new Balanced Seeding.

I think I finally have the bugs licked, sorry for the problems, but it only crashed 3 out of the last 9 Bloody Mary's
(But when it died it *was* bloody! Many thanks to Socksey who stepped up and ran a tourney!)

Anyway... by now you are likely wanting to know what the heck balanced seeding is!

Some people objected to seeding by Rating as it not reflective of what normally happens in live tourneys.
(Some of the more vocal objections came from highly rated players, so I also think *always* getting a bye gets boring for them as well  ;) )

Sixtie and I struggled with this to find a possible solution.

One thing the seed by rating had going for it was that the stronger players are generally spread across the bracket so they
will meet in the quarter-finals or later.

Dorbel made most of the well pointed arguments for needing a new method and the three of us discussed a variety of solutions.
We ran many ideas past each other and when we came up with a reasonable set of guidelines I then took those rules
and figured out a way to program them...

What we ended up with a system that will take the players sort them by rating (sixtie's desire to have top players face each other in late rounds)
and then randomly assign byes from the field (Dorbel's desire for randomness).

This is what I do to generate the bracket:

  • Sort Players by Rating
  • NB = number of byes
  • Divide the Field into NB groups
  • Randomly select one player from each group to receive a bye

So for example if we have 26 players there will be 6 byes awarded.
The group size will be 4.33333333, which means some groups will have 4 and others 5 players
(In this example 4 will have 4 and 2 will have 5)

We then randomly pick one player of each group to get the bye.

I am very pleased with the way this came out, it is very fair to players and helps keep tourneys exciting for spectators.



good work -- thx all mentioned for your time and efforts


thanks for the thanks, stoggie .. like other things around our all volunteer FIBSland, there has been a surprising amount of work going on behind the scenes that few people know about .. i'm quite sure, as admin of FIBSboard, you know what i mean

we've been working on balanced seeding as a TourneyBot feature for well over a year .. for such a fundamentally simple and straightforward idea, it has required much more blood, sweat, and tears than anyone could have ever expected, but then good design never comes easy .. in addition, literally thousands of words have been exchanged over the great seeding debate .. however, without that open and often heated debate, the balanced seeding would not have been born .. hopefully, balanced seeding will become the great compromise that satisfies all sides and most importantly satisfies our players

effectively, balanced seeding takes the best of both traditional seeding styles, random seeding and seeded by rating .. to summarize what Tom said, it creates first round bracket clusters from sets of players grouped by rating .. the number of groups is determined by the number of byes to be awarded which is always a given for any size field .. this grouping preserves the feature of top pairs NOT being assigned a first or even second round match, similar to what we have when we seed by rating .. then from each cluster where a bye is to be assigned, balanced seeding assigns the first round bye randomly  .. for any bracket in our weekly tourneys where byes are assigned, clearly the best and least controversial approach

seeding by rating is an excellent approach, IMO, whenever there are exactly 8, 16, 32, 64, or 128 (powers of two) .. in those situations, there is no bye awarded and top seeds will never meet until the quarterfinal rounds .. there are other tourneys where seeding by rating may be preferred, but other than the discretion of the TD or preference of the players, i can't think of any

random seeding also has its place .. for a quick fun tourney, a truly random draw is just plain fun .. however, random seeding is random -- duh .. on occasion, all top seeds (by rating) can be paired randomly in such a way as they all meet in the first or second rounds .. while there is nothing intrinsically wrong with that, most folks would agree that such pairings take some of the dramatic tension out of a bracketed tourney

hopefully, all the kinks will soon be removed from the balanced seeding code in TourneyBot and we will all begin enjoying the tension of tournaments with well structured brackets, NOT the tension of wondering whether TourneyBot will start the tourney after registration

special thanks to Tom for all his work on continuing to develop and support TourneyBot -- all our tournament fun would be much more clumsy without it; also to socksey for saving a few Bloody Mary tourneys recently; and to dorbel for his continuing constructive criticism

A little inaccuracy sometimes saves tons of explanation. -- Unknown
e-mail me


Is balanced seeding to be implimented in TourneyBot to be used for all tourneys using TourneyBot or will there still be a random option?   :mellow:


We could certainly slow the aging process down if it had to work its way through Congress. - Will Rogers


Quote from: socksey on October 05, 2011, 02:53:11 AM
Is balanced seeding to be implimented in TourneyBot to be used for all tourneys using TourneyBot or will there still be a random option?   :mellow:

It is just one of Many options.

TourneyBot supports the following seeding

  • Random
  • Rating
  • Registration Order
  • Experience
  • Name
  • Allow (Allow List sets Top Seeds, rest are random
  • Balanced

I just noticed that these seeding options are only valid for Single Elimination tourneys, Doubles seem to always be randoom



Two questions. Do we need so many options? If we do, should the tourney director announce which option is being used?


Quote from: dorbel on October 05, 2011, 03:47:14 PMDo we need so many options?

Options are not bad as long as they don't add confusion.

Quote from: dorbel on October 05, 2011, 03:47:14 PMIf we do, should the tourney director announce which option is being used?

I think the TD should announce when they do something Different than 'normal'

Since most of the tourneys run are on automatic it is not a problem.

I like the unusual seeding for April 1st tourneys :)
In another league we had 'Surprise' tourneys where the seeding type was set right before the tourney was started.



Any player who wants to know what seeding is being used need only 'tell tourneybot tourney (insert tourney # here)'.  All of the pertinent information about the tourney will be displayed, including seeding, tourney director/s, match lengths, limitations, number of players, etc.  The only thing not covered is special rules which is left up to the Tourney Director in charge.


Don't worry about avoiding temptation. As you grow older, it will avoid you. - Winston Churchill


Here is an update on the Balanced Seeding

We encountered a lot of problems when we first started using it.

So we stopped using it and the problems apparently stopped.

Later we discovered an issue with the tourney starting in the middle of player registration.
(In the Middle?? Well it can take a few seconds to check repbot...)

I found and fixed that problem and now I believe that this could have been causing 'balanced seeding' crashes.

Other points that lead me to consider this, when I ran tests I could not get it to fail but yet, on Sunday BAM crash...

With the Bloody Mary's being so popular there could have been a higher occurrence of people registering
at the last second, hitting the bug...

I am going to test this theory by manually setting the Mon-Thur 3/5's to balanced when I am there.

I am not going to rush into getting this set by default on the automatic tourneys until after New Years
mostly because I may not always be on hand to recover from a failure!

I am fairly confident this is this problem partly because I can not see any other logical reason.