For local Taekwondo tournament, because the players do not have a rank and it is usually the first match they participate in, the single-elimination algorithm ranking method cannot be used, for drawing the table of these competitions, I need an algorithm that will fairly arrange the players in the tournament table in such a way that it meets the following conditions:
1- The players of the same master should not fight each other in the first round of the tournament unless the number of players of the same master is more than half of the table, for example in the table of 8 players, if the number of players of a master is 5, 2 players from the same master must compete together.
2- The players are equally divided on both sides of the tournament table
3- According to the international rules of Taekwondo, byes should be given to the top players, but since there is no rank here, we have to arrange the players and then give byes to the players with the highest number based on the ranking of the world tournament table.
This is an example of how to arrange the players in the 16-players table of the World Taekwondo Championships:
**POOL 1** **POOL 2**
1 -- -- 3
|-- X X --|
16 -- | | -- 14
|-- X X --|
9 -- | | | | -- 11
|-- X | | X --|
8 -- | | -- 6
|-- X ---- **X** ---- X --|
5 -- | | -- 7
|-- X | | X --|
12 -- | | | | -- 10
|-- X X --|
13 -- | | -- 15
|-- X X --|
4 -- -- 2
For a more realistic example, in the world championships, how come the players of one country do not compete against each other in the first round and are equally and fairly divided on both sides of the table?
I read similar questions that were asked on this site or on different sites, but I did not reach a conclusion.
Isn’t there a more advanced algorithm to solve this problem?
Thank you in advance for your help
Navid Mir is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.