Subject: 2-stage Group-KO System Initial Parameters ------------------ n = # registered players R = max # rounds in group qualification stage S = max # rounds in KO finals Even Groups ----------- g = even group size r = played group rounds R odd => g := R+1, r := R R even => g := R, r := R-1 Number of Groups Z and Handling of Rest Players Y ------------------------------------------------- Z := round_up(n/g) If Z <> n/g, then a group of Y := n mod g rest players must be handled. This rest group is filled up to g - 1 players. For this take 1 player each out of g - 1 - (n mod g) randomly chosen other groups. Then g - (n mod g) groups have one Bye each. Player-Group-Distribution ------------------------- Use either the mix strategy or the homogenous strategy. Mix: Let sink the highest ranked player into one group at a time. Homogenous: Fill a single group with the highest ranked players left. Round by round within each even group fix player 1 and let all others move one place clockwise. In an even group with a Bye fix it instead. KO Rounds s ----------- s := min { S, round_down(ld(n/2)) } The second parameter is an emergency measure ensuring that the maximal power of 2 less than half of n is taken. KO Participants k ----------------- k := 2^s They will have to win their way through a binary tree. Seeding ------- Pi; i=1..n is the place due to the placement conditions (like points-direct_comparison-SODOS) after round r of player i in his group. The same place within a group may be reached by more than one player. Places are numbered due to the order 1,2,..,g. Q := { Pi | i=1..n } is the qualification pool of all players' places. // seeding procedure // all players of the remaining top places are seeded // ,however, for the last free of all k finals' places // random selection is done among equal qualification // place getters c := 0; for (j:=1; j<=g; j++) { M := { q in Q | q = j }; c += |M|; IF (c<=k) {seed M; IF (c=k) break;} ELSE {randomly_select_and_seed k-c+|M| of M; break;} }