Odd teams pairing in tournaments - need ideas and feedback

For Fantasy Football related chat that doesn't come under any of other forum categories.

Moderator: TFF Mods

Post Reply
Kafre es Ispurio
Experienced
Experienced
Posts: 61
Joined: Tue Jan 04, 2005 10:20 am
Location: Bilbao (Spain)

Odd teams pairing in tournaments - need ideas and feedback

Post by Kafre es Ispurio »

Hi all!

It's been a while since my last message here and I'm not sure if this should go here in General or in Tournaments, so please mods feel free to move it.

I'm currently trying to define an algorithm to allow odd teams pairing in a Blood Bowl teams tournament. I'mgoing to throw a few ideas and see if I can get some feedback.

If you are not acquainted with how a standard Swiss pairing algorithm works, let me explain it to you:

A pairing algorithm shorts the groups per points and tie breakers, from high to low. After that, it proceeds to do the table matching downwards. IE: A vs B, C vs D, etc. If they have played before, the match collides and the lowest pointed group is changed for the next one. IE: E vs G. Then the match collision is checked again. This procedure is repeated for every group on the table until a valid match is found. If the table count reaches the end and there is still a collision, the table marching starts evaluating the tables upward. In a perfect scenario after a few retries the algorithm resolves the table and the round matching is created.

Once this is more or less clear, when you want to allow an odd number of teams/groups to participate in a tournament you face a couple of additional problems. The idea is indeed pretty simple, make the three last groups face each other (END-2 vs END-1 vs END, but I'm going to call them A, B and C for practical reasons) and generate a result for them according to the team members match results.

If we want all the team members to play this is only possible for pair number of team members. For instance: A1 vs B1, A2 vs C1 and B2 vs C2.

The algorithm organises the groups per points, and watch for collisions as described before but for this matches... It must include a triple check for collisions at the end, as the last three groups don't have to have played against each other before ( A vs B, A vs C, B vs C ). Doing this implies that it will generate additional collisions every round, and this will move upward in the table some underdog teams. This in large tournaments with many groups may not be a problem, but will generate deviations in the Swiss pairing in smaller tourneys. Note: I don't really have the maths in mind to determine the line, I really could use some help here.

For the algorithm to create the last group matches, I think that the best approach is generating three different matches as there were 6 groups. IE: A vs BC, B vs AC, C vs AB. I know it can be handled with only two matches but I don't know how to make it work. Do you see a different approach?

Once the algorithm has the last three group matches, I would generate the individual matches related to the group matches. To do this, we short the groups' coaches by points or whatever the selected method. For instance:

A1, B1, C1
A2, B2, C2
A3, B3, C3
A4, B4, C4

Where A1, B1 and C1 are the coaches with more points of each group A, B and C, and A4, B4 and C4 the coaches with less points. Then It will make a fixed pairing and the single matches would be: A1 vs B1, C1 vs A2, B2 vs C2, A3 vs B3, C3 vs A4, and B4 vs C4. I think this fixed pairing could lead to some kind of unfair pairing as the C1 coach could have more points than B1 and will be facing a lesser rival: A2... I know they are in the bottom of the barrel but do you have an idea on how I could fix this?

For obtaining the result of the group matches the algorithm will take into account all the single matches that involve a group. Then the related group matches will be filled with coaches from both rival teams like this:

GROUP MATCH TABLE "N - 2": A VS BC
A1 vs B1
A2 vs C1
A3 vs B3
A4 vs C3

GROUP MATCH TABLE "N - 1": B VS AC
B1 vs A1
B2 vs C2
B3 vs A3
B4 vs C4

GROUP MATCH TABLE "N": C VS AB
C1 vs A2
C2 vs B2
C3 vs A4
C4 vs B4

The individual matches will only be resolved once, but they will be counted in every group match to calculate the "main" group points. Every group points will be calculated independently. For example, the only valid points for TABLE N will be the ones obtained by group C (C1, C2, C3 and C4 coaches) while the team AB will be discarded. Do you see this as a valid approach or do you think this could lead to wrong results?

Thank you very much to anyone that wants to collaborate.

Reason: ''
Post Reply