BGA gets a lot of critique for their "try no to prevent" pairing policy for Swiss, but it's actually quite difficult to solve for 3+p games.
There are already MANY perfect pairing codes out there for 2 player card game and chess tournaments currently in use and there have been several papers published on algorithms. How to do it is more or less "solved" if you do some research. Based on my knowledge I could code it in 2p without too much issue, but it would still take some serious time to get correct.
To my knowledge no one has ever written a paper on how to do Swiss pairings for 3+ player games and no one has proposed an algorithm to do it before. BGA might be the very first.
The order of magnitude of difficulty to code for 3 players is so much higher! Each table has "3 pairings" and the code to shuffle players around to check their "pairing agreement" needs to be so much more complex. The code would be 4-9x as complicated.
Now also consider that BGA supports tournaments for up to 8 player games (correct me if I'm wrong) and they need a code that's universal for all player numbers and Swiss groups can also have uneven tables (4-4-4-4-3-3 for example) and the complexity skyrockets.
I understand why it works the way it does with its limitations and that they warn organizers not to use it for small groups.
There are already MANY perfect pairing codes out there for 2 player card game and chess tournaments currently in use and there have been several papers published on algorithms. How to do it is more or less "solved" if you do some research. Based on my knowledge I could code it in 2p without too much issue, but it would still take some serious time to get correct.
To my knowledge no one has ever written a paper on how to do Swiss pairings for 3+ player games and no one has proposed an algorithm to do it before. BGA might be the very first.
The order of magnitude of difficulty to code for 3 players is so much higher! Each table has "3 pairings" and the code to shuffle players around to check their "pairing agreement" needs to be so much more complex. The code would be 4-9x as complicated.
Now also consider that BGA supports tournaments for up to 8 player games (correct me if I'm wrong) and they need a code that's universal for all player numbers and Swiss groups can also have uneven tables (4-4-4-4-3-3 for example) and the complexity skyrockets.
I understand why it works the way it does with its limitations and that they warn organizers not to use it for small groups.