So I realized, hey, not everyone necessarily knows how a Swiss tournament works. So along with talking about how pairing, byes, and absences will be handled, I'll give a very quick rundown of a Swiss tournament.
The basic idea of a Swiss tournament is that people with equal scores play each other in each round. The first round is often randomly seeded. In the second round, N players will have won their match, N players will have lost, and M players will have drawn. For the second round, players who won will be paired with other players who won, players who lost with others who lost, and players who drew with other who drew. There is a major extra constraint, though: no player will play any other player twice. For instance, if there's only one drawn match in the first round, one of the players who drew will play someone who won in the first round; the other will play someone who lost.
We will add another constraint, which is that players should play as many matches as possible with all the card sets.
We will use scores of 2 for a match win, 1 for a draw, and 0 for a loss, so that we don't have to mess with fractions.
Pairing Algorithms
First Round
Players will be placed into two bins1 consisting of (A) those with all sets on Goko, and (B) those with some or zero sets. One player from each bin will be randomly paired until one bin is empty. If the empty bin contains players who have some sets, they will be paired first with players who have no sets.
We will treat these bins A and B as colors in later algorithms.
Second Round
Players will be placed into six bins based on score and available sets: 2A, 2B, 1A, 1B, 0A, 0B. Players in 2A and 2B will be randomly paired until one bin is empty, as will players in 0A and 0B. The system for determining the remaining pairings will necessarily depend on which bins remain; the system will preferentially pair games that will have all sets available, while excluding games that would have two players paired a second time, and excluding more than one pairing between a player with 2 points and a player with 0 points (and this pairing will only exist if there are no draws and an odd number of players in each bin).
Tie-Breaking
After two rounds, tie-breakers become necessary for determining pairing. Tie-breakers will be as follows:
(1) Solkoff score. This is the sum of the current scores of all opponents played. For instance, if A beats B, B beats C, and A and C draw, then:
A has score = 3, Solkoff = 3
B has score = 2, Solkoff = 4
C has score = 1, Solkoff = 5
(2) Cumulative score. This is the sum of the player's scores as the rounds progress. A player who goes W-L-D-W has scores of 2, 2, 3, 5 at the end of each round, and cumulative scores of 2, 4, 7, 12 at the end of each round.
(3) Cumulative opponents' scores. This is the sum of the cumulative scores of all opponents played.
(4) Result between ties. If two players are still tied at this point and have played one another, the winner of that game wins the tie.
(5) After all rounds, if a tie still exists for eighth place, that tie will be broken by a coin flip.
Further Rounds
Pairing algorithm is as follows:
(1) Order players according to score, then secondarily according to tiebreaker rules in order. There will be many ties still, which means there will be an ordered set of bins k = 1, 2, ... , N. Each player can further be labeled based on this bin plus original bin A or B.
(2) Choose a random player in the highest bin. Pair this player based on the following priorities:
(A) With a player in this bin of opposite color
(B) With a player in the next lower bin of opposite color
(C) With a player in this bin of the same color
(D) With a player in the next bin of the same color (if this bin is empty)
At each level, exclude pairings that would cause two players to meet a second time. (In later rounds, this may cause players to be two or more bins apart.)
Repeat until all players are paired.
Byes and Unplayed Matches
Both of these situations mess with Solkoff and other tie-breaker scores, as those scores rely on the status of the opponent... who may or may not exist. First, though, we classify these types of matches.
(1) Bye Match: If there are an odd number of players, the lowest player will receive a bye each round. The player who receives a Bye wins by default.
(2) Pure Win by Default: Player A makes an effort to schedule the match, while player B is unresponsive. Player A notifies me by PM of this situation, and player B does not say anything; Player A wins by default, Player B loses by default.
(3) Draw by Default: Both players make good-faith efforts to schedule a match, but are unable to find a mutually agreeable time. BOTH players must inform me of this situation; each receives a draw by default.
(4) Mutual Default: A match is unplayed and neither player makes contact with me. Both players lose by default.
For scoring purposes, a win, draw, or loss by default still counts as 2, 1, or 0 points. For tie-breaker scores, a win by default counts as 1 point, and a draw or loss by default counts as 0 points.
All defaults generate a pair of virtual opponents, one for each player. The virtual opponent generated depends on the default:
(1) A player who wins by default is considered to have played, for that round, a virtual opponent that started the round with the same number of points as the player, lost to the player, and draws every later round. So, a player who wins in round 1, draws in round 2, and then wins by default in the third round, is considered to have played an opponent who will end the tournament with 2 + 1 + 0 + 1 + 1 = 5 points. That virtual opponent will have cumulative scores of 2, 3, 3, 4, 5.
(2) A player who draws by default is considered to have played, for that round, a virtual opponent that started the round with the same numbers of points as the player, drew with the player, and draws every later round.
(3) A player who loses by default is considered to have played an opponent that has lost all matches.
--------
OK... I hope that's explicit enough for everyone!
1Computational bins, wise guy