Swiss System: wonky algorithm at work …

Tournaments organization / Organisation des tournois
Post Reply
User avatar
yzemaze
Posts: 38
Joined: 23 May 2011, 12:49

Swiss System: wonky algorithm at work …

Post by yzemaze »

In this tournament https://boardgamearena.com/tournament?id=213020 round 4 was completely wonky. At this point the standings were:

Code: Select all

1     umueller            573      3.0   4.00  16.00  4.00  5w1  9w1  2w1
2     kostra              410      2.0   6.00  13.00  5.00  3w1  7w1  1s0
3     Zockerle            465      2.0   5.00  15.00  4.00  2s0  8w1  4w1
4     amires21            555      2.0   5.00  11.00  4.00  8w1  6w1  3s0
5     yzemaze             673      2.0   4.00  13.00  4.00  1s0  10w1 7w1
6     AnnenMay            523      2.0   2.00  16.00  2.00  10w1 4s0  9w1
7     Forg1v              237      1.0   4.00  16.00  4.00  9w1  2s0  5s0
8     latschen            153      1.0   4.00  15.00  4.00  4s0  3s0  10w1
9     Ottmar Döring       0        0.0   6.00  10.00  5.00  7s0  1s0  6s0
10    Kutschera           43       0.0   5.00  10.00  4.00  6s0  5s0  8s0
[Please ignore s and w. I didn’t bother to check the start player.]

So one would expect matches between the top 6, 7 vs 8 and 9 vs 10. There were multiple possible combinations for top 6 matches and both 7 vs 8 and 9 vs 10 hadn’t taken place, yet. 7 vs 10 and 8 vs 9 would’ve been possible, too. And yet round 4 was this:

Code: Select all

6 1	AnnenMay	umueller
5 2	yzemaze		kostra
3 7	Zockerle	Forg1v
4 9	amires21	Ottmar Döring
8 10	latschen	Kutschera
latschen and Kutschera were paired twice in a row and there were two pairings with 2 vs. 1 wins.
After expected wins by Zockerle and amires21 there were 5 players with 3 wins instead of just 4 players:

Code: Select all

1     umueller      573      3.0   8.00   32.00  8.00  4w1  9w1  6w1  5s0  
2     Zockerle      465      3.0   8.00   32.00  7.00  6s0  7w1  3w1  8w1  
3     amires21      555      3.0   8.00   30.00  8.00  7w1  5w1  2s0  9w1  
4     yzemaze       673      3.0   6.00   36.00  6.00  1s0  10w1 8w1  6w1  
4     AnnenMay      523      3.0   6.00   36.00  6.00  10w1 3s0  9w1  1w1  
6     kostra        410      2.0   10.00  30.00  9.00  2w1  8w1  1s0  4s0  
7     latschen      153      2.0   6.00   36.00  6.00  3s0  2s0  10w1 10w1 
8     Forg1v        237      1.0   8.00   34.00  8.00  9w1  6s0  4s0  2s0  
9     Ottmar Döring 0        0.0   10.00  30.00  9.00  8s0  1s0  5s0  3s0  
10    Kutschera     43       0.0   10.00  24.00  8.00  5s0  4s0  7s0  7s0 
Round 5 pairings:

Code: Select all

3 1	amires21	umueller
4 2	yzemaze		Zockerle
5 7	AnnenMay	latschen
6 9	kostra		Ottmar Döring
8 10	Forg1v		Kutschera

Code: Select all

1     amires21      555      4.0   12.00  66.00  12.00  7w1  3w1  5s0  9w1  4w1  
2     yzemaze       673      4.0   11.00  66.00  11.00  4s0  10w1 8w1  6w1  5w1  
3     AnnenMay      523      4.0   9.00   68.00  9.00   10w1 1s0  9w1  4w1  7w1  
4     umueller      573      3.0   15.00  60.00  15.00  2w1  9w1  6w1  3s0  1s0  
5     Zockerle      465      3.0   15.00  56.00  13.00  6s0  7w1  1w1  8w1  2s0  
6     kostra        410      3.0   12.00  67.00  12.00  5w1  8w1  4s0  2s0  9w1  
7     latschen      153      2.0   11.00  64.00  11.00  1s0  5s0  10w1 10w1 3s0  
8     Forg1v        237      2.0   10.00  68.00  10.00  9w1  6s0  2s0  5s0  10w1 
9     Ottmar Döring 0        0.0   16.00  58.00  14.00  8s0  4s0  3s0  1s0  6s0  
10    Kutschera     43       0.0   14.00  52.00  12.00  3s0  2s0  7s0  7s0  8s0  
9 and 10 weren’t paired at all. (Likely) Better players were matched against inferior opponents on multiple occasions. The top players did see less of each other than possible (and desirable). All this shouldn’t occur if the algorithm would work fine. The ripple effects were pretty noticable and prevented more meaningful tournament results both at the top and the bottom.

@BGA-Admins: If none of you is inclined to remedy this situation, please contact me. I’d really like to improve the tournaments :)
User avatar
DrRockenheimer
Posts: 31
Joined: 30 January 2023, 02:56

Re: Swiss System: wonky algorithm at work …

Post by DrRockenheimer »

My guess is that the algorithm does something like this, in a sequence from top to bottom:

1) matches #1 umueller against the player tied with 2 wins in lowest position (due to lower opponent points), which is #6 AnnenMay
2) matches #2 kostra against the remaining tied-with-2-wins player in lowest position, which is #5 yzemaze
3) matches #3 Zockerle, not against #4 amires21 because has played already, or next choice #8 latschen because has played already, but against #7 Forg1v
4) matches #4 amires21, not against #8 latschen because has played already, nor #10 Kutschera because ? (I don't know, maybe 0-win players treated differently, or Kutschera differently because 3rd game was forfeit??), but against #9 Ottmar Döring
5) matches remaining two players, #8 latschen and #10 Kutschera, despite previous matchup (which had been forfeited)

I think that scheme is consistent with the 5th round pairings, though not clear how the algorithm decided who #2 Zockerle would play among the two players tied for #4. Again Kutschera was treated differently, so probably forfeit treated as lower rank than other losses. (Starting player may also be part of the scheme in a way that is not readily apparent.)

Although this method does not work well in this case, involving a relatively small number of players, such an algorithm has the advantage of being pretty simple (mimicking what could be done fairly quickly with physical cards in an in-person tournament), and prioritizing fair matchups for the top performaing players.
User avatar
GameChanger888
Posts: 1
Joined: 08 December 2020, 22:33

Re: Swiss System: wonky algorithm at work …

Post by GameChanger888 »

Thank you for posting this!
I am experiencing similar problems with the algorithm in this tournament: https://boardgamearena.com/tournament?id=139742

My impression ist that the algorithm fails completely.
Instead of matching the top players against each other, they are repeatedly matched against lower ranked players. Just one example: the leading player 'Farmer King' is repeatedly matched together with a player 'vieux_rat_enrage' who actually has already (mentally) left the tournament!

With this pairing algorithm it's impossible for players in the top ten to catch up ..
User avatar
Mathew5000
Posts: 234
Joined: 02 January 2021, 01:41

Re: Swiss System: wonky algorithm at work …

Post by Mathew5000 »

GameChanger888 wrote: 19 February 2024, 17:16 My impression ist that the algorithm fails completely.
Instead of matching the top players against each other, they are repeatedly matched against lower ranked players.
Yes, this is a known problem: https://boardgamearena.com/bug?id=56504

In my opinion, it's never a good idea to select "try to prevent same players to be opponents twice" when creating a tournament. Unfortunately, that's the default.

See also my comments at:
viewtopic.php?t=33908
viewtopic.php?t=25428
viewtopic.php?t=23988
viewtopic.php?t=28338
User avatar
ErikLevin
Posts: 119
Joined: 06 January 2024, 14:13

Re: Swiss System: wonky algorithm at work …

Post by ErikLevin »

The bug report seems to be about when players have already played all other players, because the number of rounds were too many for the number of participants. That then you get repeatedly paired against the same opponent multiple times.
With "prevent pairing against same opponent" enabled, perhaps BGA's algorithm isn't made to handle the case once that is impossible, and it just gives up and makes the same pairing over and over.

Normally, not playing the same opponent more than once is the very definition of a Swiss pairing system. With 18 players in 2-player matches, the optimal rounds to play would be 5 or slightly more, no more than 9.
With 20 rounds, it is of course not possible anymore to satisfy both of the goals of Swiss pairing (Participants should play others with similar score and never the same player more than once)

I have never created a tournament, do you have to decide on number of rounds when setting it up? Ideally the number of rounds should be set to its optimal number by the system automatically once it knows how many players are registered... So that should/could definitely be a bug report/Suggestion as well. Or it should require minimum and maximum player count to match the number of rounds set. E.g. if you set it to 4 rounds, the number of participants must be no fewer than 9 and no more than 16.

The Carcassone tournament mentioned in the thread start had 10 players and ran 5 rounds. 4 rounds would have been better, but I think 5 should still be possible to work out. So it is strange that the mentioned pairings in round 4 and 5 were so bad. It seems BGA's algorithm is too simplistic. If it just assigns match-ups top-to-bottom and at the end finds that two players should play each other again, it should backtrack and try another combination where that doesn't happen (unless it's unavoidable). So that's definitely another case for a bug report it seems.
User avatar
Mathew5000
Posts: 234
Joined: 02 January 2021, 01:41

Re: Swiss System: wonky algorithm at work …

Post by Mathew5000 »

ErikLevin wrote: 20 February 2024, 22:36Normally, not playing the same opponent more than once is the very definition of a Swiss pairing system.
By definition, a Swiss-system tournament has competitors facing other competitors with the same record, in each round of the tournament. The beauty of this system is its tendency to rank all competitors close to their "true" skill level. For example, suppose it's midway through the tournament and you face someone with roughly the same skill level as yourself, who currently has the same record. If you win, then you'll have a better record but tougher competition in the next round.
With 18 players in 2-player matches, the optimal rounds to play would be 5 or slightly more, no more than 9.
I agree that it's necessary to have at least five rounds (otherwise you run the risk of having more than one undefeated player at the end of the tournament), but I don't agree that 9 is an upper limit. A "marathon" Swiss style tournament played online can work quite well, with for example, 18 entrants and 50 or more rounds, as long as (1) the players wish to play that many games, and (2) the matchmaking system attempts to pair players with the same current record, regardless of how many times they have already faced each other.
User avatar
ErikLevin
Posts: 119
Joined: 06 January 2024, 14:13

Re: Swiss System: wonky algorithm at work …

Post by ErikLevin »

Yes, I think we are writing the same thing. :) I think this thread was about issues with tournaments where "don't pair the same players more than once"is enabled? So that being enabled was the context of my post.
User avatar
DrRockenheimer
Posts: 31
Joined: 30 January 2023, 02:56

Re: Swiss System: wonky algorithm at work …

Post by DrRockenheimer »

GameChanger888 wrote: 19 February 2024, 17:16 Thank you for posting this!
I am experiencing similar problems with the algorithm in this tournament: https://boardgamearena.com/tournament?id=139742

My impression ist that the algorithm fails completely.
Instead of matching the top players against each other, they are repeatedly matched against lower ranked players. Just one example: the leading player 'Farmer King' is repeatedly matched together with a player 'vieux_rat_enrage' who actually has already (mentally) left the tournament!

With this pairing algorithm it's impossible for players in the top ten to catch up ..
That's a 4-player game with 20 rounds of tournament and only 58 players at the start. That seems to push the concept of the Swiss-system beyond all reason. But for purposes of merely selecting 16 dedicated strong players for a later stage, maybe it will work a little bit in practice? Still, quite possible the algorithm fails, not anticipating a tournament where players necessarily all play against each other, needing to minimize times played against each other?

Swiss-system is designed for lots of players and a limited number of rounds. If many rounds are available compared to the number of players, some sort of ladder tournament format would make more sense.
Post Reply

Return to “Tournaments / Les tournois”