I know this might qualify for offtopic, but as it could eventually get used on this site (or maybe already had been thought about it), I'm posting it here to get more traffic.
I am working on a bags (cornhole, bean bag toss) tourney for work. We played last year and I won, but I didn't play any of the runnerups, so I'm trying to figure out how to better schedule things this year. There will be too great of a number of players to do a round robin, so I think swiss would be the way to go. Guessing that there will be at least 4850 players. how would one set up such a thing? I get the math behind two player swiss system, but a 4player, 2v2 where partners don't stay the same...
help!
'top
How many rounds do you think you will play?
as many as it takes, i guess. i don't know what number of participants i have constrain it to. trying to figure out how many are going to want to partake.
i'll have to look and see how many we played last year.
Here's my idea 
you need a number of players divisible by 4
Use this double elimination bracket here
https://www.printyourbrackets.com/64teamdoubleelimination.html
In each of the 4 brackets put an equal number of people filling topdown  put the rest as bye's for record keeping
In each matchup call the players A and B (so in game 1 player A is listed higher/first over player B and so on)
Instead of players playing eachother they play players in another bracket somewhere on the page.
Here is what I came up with  I sort of bruteforced it so am not sure if it would out great (especially with bye's and at the end), but tried to make players play with different people
https://docs.google.com/spreadsheets/d/1K3Krd3MmbKy753JlGD7gknNjVsSIzLH9v07nw3BACSw/edit?usp=sharing
Does this make any sense? Seem like it would work?
i ...kinda... follow, but it's definitely kinda hard to. but it did lead me to put thoughts together to give an example of what i'm thinking. just need help coding up excel (or something) to make it work for random winners  in this case, and to simplify following, the left half of the 'vs' always wins:
Round 1

Round 3 Winners

Round 5 Winners


1A  17A  vs  1B  17B  1A  5A  vs  9A  13A  1A  2A  vs  3A  4A  
2A  18A  vs  2B  18B  2A  6A  vs  10A  14A  
3A  19A  vs  3B  19B  3A  7A  vs  11A  15A 
Championship


4A  20A  vs  4B  20B  4A  8A  vs  12A  16A  1A  vs  2A  
5A  21A  vs  5B  21B  
6A  22A  vs  6B  22B 
Round 3 Losers

Consolation


7A  23A  vs  7B  23B  17A  21A  vs  25A  29A  3A  vs  4A  
8A  24A  vs  8B  24B  18A  22A  vs  26A  30A  
9A  25A  vs  9B  25B  19A  23A  vs  27A  31A  
10A  26A  vs  10B  26B  20A  24A  vs  28A  32A  
11A  27A  vs  11B  27B  
12A  28A  vs  12B  28B  1B  5B  vs  9B  13B  
13A  29A  vs  13B  29B  2B  6B  vs  10B  14B  
14A  30A  vs  14B  30B  3B  7B  vs  11B  15B  
15A  31A  vs  15B  31B  4B  8B  vs  12B  16B  
16A  32A  vs  16B  32B  
Round 2 Winners

17B  21B  vs  25B  29B  
1A  9A  vs  17A  25A  18B  22B  vs  26B  30B  
2A  10A  vs  18A  26A  19B  23B  vs  27B  31B  
3A  11A  vs  19A  27A  20B  24B  vs  28B  32B  
4A  12A  vs  20A  28A  
5A  13A  vs  21A  29A 
Round 4 Winners


6A  14A  vs  22A  30A  1A  3A  vs  5A  7A  
7A  15A  vs  23A  31A  2A  4A  vs  6A  8A  
8A  16A  vs  24A  32A  
Round 4 Losers


Round 2 Losers

9A  11A  vs  13A  15A  
1B  9B  vs  17B  25B  10A  12A  vs  14A  16A  
2B  10B  vs  18B  26B  
3B  11B  vs  19B  27B  too hard to think about to fill the rest out…  
4B  12B  vs  20B  28B  
5B  13B  vs  21B  29B  
6B  14B  vs  22B  30B  
7B  15B  vs  23B  31B  
8B  16B  vs  24B  32B 
man with all the ubermathnerds here, thought i'd get a better response. wonder if it's the time of year :^\
By when do you need it?
I think this is quite a simple problem to solve if you bruteforce it. However, I am way too busy right now (have even cut my WG activity by more than half). If you can wait a few weeks, I could help.
Overall idea:
As Amidon said, you need a number of players divisible by 4. Maybe small modifications are possible if we deal with other numbers, won't consider that now.
Given that your total number of players is quite small (I'm assuming lesser than 100), there is no issue if we use an extremely inefficient algorithm to come up with the draw. Which should be quite easy to come up with.
One would need to run the following till a solution is obtained, which will give a printable solution for N = 4k players
Number of rounds: ceil (log2N) + 1. Ceil relevant for eventual generalization for different N. +1 for the last 1v1 round.
 Random pairing initially. Then for each successive round:
 Create subgroups with people with the same number of wins. Starting from the topmost group, make all but the bottom group divisible by 4 by adding up to 3 members from the lower group. This can either be done randomly or by giving some score to each player, and chosing the x highest.
 For a particular subgroup, randomly pair teams and opponents. Keep doing this till you run through all possible combination such that you don't repeat partners or opponents. If not possible, reduce the constraint to not repeating opponents from last round, and so on.
Of course, this is not guaranteed to converge in reasonable time. And could be very slow even for something like 5000 players. But with less than 100, there should be no trouble.
games will be played 7/20. games will be played at a local park, so will need something that isn't too intensive (on the order of mins), as I can do it by hand in 510 but i'd rather be playing and letting the admins take care of this (who will have no clue what's going on).
Another idea  I play in 2v2 pitch (card game) tournaments. around 40 people. we play 6 rounds 2 games each round. Games to 11. Winner of each game gets a 3 point bonus.
Each team's score is a cumulative of the points they earned in each game plus the game bonus.
They have some chart that says who you play each round  so you don't play every other team  like a truncated round robin.
You could make up some thing like this and rotate the 4 players somehow.
we tried something like that last year. ended up with the top 4 never having played one another. and the other 3 didn't like that I came out on top ;^)
i think playing your partner works if you follow the winners, assuming you filter down line by line each time; but things get more complicated when starting to play with the losers brackets. think there might need to be points awarded (2=W, 1=Tie, 0=L ?).
Another try at double elimination
https://docs.google.com/spreadsheets/d/1NEjpkWSDEex1AhVeXkbxGtPOL3pzb1mtE3myh1eHvbc/edit?usp=sharing
I think this will work, but could be better structured to avoid playing with the same people twice.
Amidon37 wrote:Another try at double elimination
https://docs.google.com/spreadsheets/d/1NEjpkWSDEex1AhVeXkbxGtPOL3pzb1mtE3myh1eHvbc/edit?usp=sharing
I think this will work, but could be better structured to avoid playing with the same people twice.
that's pretty similar to what i came up with but without double elim (conserving time)
https://docs.google.com/spreadsheets/d/191TTnmB2BS86VPs3Fim40yo7mEByNi8pHz3AXP6tobA/edit?usp=sharing
now my problem is: we're looking at only having 44ish players (hoping to get up to 48) and now i need to add in W/L and Score Differential to place 2 'loser bracket' players into the 'winner bracket' to fill out the tables. (See 44/48 player tabs) you could end up with a couple 1loss players in the final...
update:
We held our tourney this past Friday. I ended up having 48 players. I ended up using the pattern in 'final_draft_48' tab of my previous post.
as mentioned in the tab: I needed to fill two spots on the undefeated tables for Round#4, so I had to rank the players after the first 3 rounds to find the best 21 players. Since I had to do this on the fly; I ended up using W/L & Goal Differential. Next year I hope to program this out better, and maybe use SODOS or something better.
It ended up going rather well, although a bit slow from round to round (especially 3 to 4). I hope to automate it better next year. I didn't hear any complaints about how it was seeded, so that's good I guess.
Sounds fun!