Simulating Partial Round-Robin Tournaments
Tom Keith, 2013
When running a partial round-robin tournament, what is the best way to match up players in each round? I created computer simulation to find out.

## Partial Round-Robin Tournaments

A popular format for backgammon tournaments is the partial round-robin.

A full round-robin sees every player play every other player in the tournament. If there are n players in a tournament, a full round-robin needs n − 1 rounds to complete. This many rounds is not practical if you have more than about 10 players, so many tournaments opt to use some sort of "partial" round-robin.

A partial round-robin might have anywhere from 5 to 15 rounds, depending on the time available.

## Termination Methods

There are several methods you can use shorten a round-robin tournament. We will look at two:
• Truncation:  In a truncated round-robin, all players play every round up to a predetermined number. For example, all players might play for six rounds.

• Elimination:  In an elimination round-robin, players continue to play until they have lost a set number of matches. For example, if the limit is 3, every player continues to play until he has lost three times.

A truncated round-robin is good when you want to rank all participants from first to last. This method also maximizes the amount of play for everyone.

An elimination round-robin is good when the primary goal is to find an overall winner of the tournament, perhaps to award a trophy or cash prize. The advantage of this method is that only players who still have a chance of winning continue to play. (There are no "meaningless" matches.)

## Matching Up Players

When running a partial round-robin, an important question is how to match up players in each round — who plays who? There are two common pairing methods:
• Random Pairing:  Each player plays an opponent chosen at random.

• Swiss Pairing:  Each player plays an opponent who has the same record so far in the tournament. For example, suppose that after three rounds you have won two matches and lost one match. That means in the fourth round you will play someone else who has also won twice and lost once.

## Tournament Effectiveness

Is one pairing method better than the other?

To answer that question we first have to figure out what we mean by "better." One definition of better is how good the tournament is at separating the wheat from the chaff.

In my compter simulation each player has a different skill level. One player is the strongest and, on average, will win more often than any other player. There is a lot of luck in backgammon, and just because you are the strongest player doesn't mean you will win the tournament. But, over the long term, you should win tournaments more often than weaker players. And that's what we mean by tournament effectiveness.

If there are n players in the tournament, the average player wins about 1/n of the time. You would expect the strongest player to do much better than this. How much better depends partly on how the tournament is set up. If the strongest player wins more often under one format than he does under another format, we say that the first tournament format is more "effective."

## A Simulation

I wrote a computer simulation to find out which pairing method was more effective. The simulation works as follows.

There are 64 imaginary players, each with a different skill level. To implement the different skill levels, I ranked the players from 1 to 64. Let D be the difference in rank between two players. When two players play each other, the higher ranked player wins with a probability of 0.50 + (0.0025 × D) and the lower ranked player wins with probability of 0.50 − (0.0025 × D).

So, for example, suppose Player #1 (the best player in the tournament) plays Player #64 (the worst player). The difference in rank is D = 63. The favorite in this match-up will win 50 + (0.25 × D) percent of the time, or 65.75%. The underdog will win only 34.25% of the time.

I ran the tournaments using various setups. For each setup, I ran the simulation 1,000,000 times and tabulated how often each player won. In particular, I wanted to see how often Player #1 won to determine how effective that tournament setup was.

## Swiss versus Random Pairing in a Truncated Round-Robin

In a truncated round-robin tournament, nobody gets eliminated; everyone continues to play for k rounds. The winner of the tournament is the player with the most wins. (If two or more players are tied, the winner is chosen at random among the tied players. At least that's how it worked in my simulation; in a real tournament you might have some kind of tie-breaker.)

I simulated a truncated round-robin tournament with k = 6, 9, 12, and 15 rounds. Each tournament was run twice — once with players paired at random, and once with players paired using Swiss pairing. The tournament was run 1,000,000 times and results were tabulated to see how often each player #1 through #64 ended up the tournament winner.

An average player should expect to win the tournament 1/64 of the time, or about 1.56%. Player #1 (the strongest player) should do substantially better than this. And Player #64 (the weakest player) should do substantially worse.

The tables below summarize the results. From the tables, you can see that in a 6-round tournament with random pairing, Player #1 wins about 3.047% of the time (almost twice what you'd expect for an average player). In a 6-round tournament with Swiss pairing, Player #1 does even better. He wins 3.286% of the time. This is a significant difference. Strong players are definitely favored by Swiss-style pairing.

In a truncated round-robin tournament,
top players do better when Swiss pairing is used.

The color coding in the tables shows which pairing style you'd prefer based on how high ranked you are as a player. Green is the higher probability of winning. In a 6-round tournament, the top 23 players do better with Swiss pairing than they do with random pairing. (The fact that the colors alternate back and forth between Players #23 and #26 is simply a reflection of the small random variations you'd expect in the simulation results. If I had done more simulations, these variations could have been reduced.)

Longer tournaments favor the better players too. With random pairing, the top player won 3.047% of the time in a 6-round tournament, 3.5% of the time in a 9-round tournament, 3.877% of the time in a 12-round touranament, and 4.235% of the time in a 15-round tournament. With Swiss pairing, the top player won 3.286% of the time in a 6-round tournament, 3.673% of the time in a 9-round tournament, 4.063% of the time in a 12-round tournament, and 4.424% of the time in a 15-round tournament.

As the top player wins more, it leaves less equity for the other players. In a 6-round tournament, the top 28 players showed positive equity (won more than 1/64 = .015625 of the time). In a 9-round tournament, only the top 27 players showed positive equity. In a 12-round tournament, only the top 26 players showed positive equity. And in a 15-round tournament, only the top 25 players showed positive equity.

6 Rounds

 Plr P(win) Random Swiss 1 .03047 .03286 2 .02963 .03167 3 .02923 .03109 4 .02809 .03030 5 .02763 .02932 6 .02719 .02872 7 .02632 .02784 8 .02593 .02717 9 .02522 .02691 10 .02468 .02573 11 .02404 .02540 12 .02334 .02463 13 .02310 .02388 14 .02249 .02326 15 .02178 .02247 16 .02142 .02204 17 .02066 .02164 18 .02039 .02098 19 .01990 .02077 20 .01923 .01991 21 .01906 .01916 22 .01850 .01869 23 .01810 .01831 24 .01778 .01763 25 .01717 .01739 26 .01689 .01662 27 .01657 .01625 28 .01593 .01573 29 .01559 .01528 30 .01508 .01499 31 .01482 .01441 32 .01425 .01422 33 .01402 .01337 34 .01368 .01317 35 .01361 .01292 36 .01317 .01253 37 .01270 .01212 38 .01255 .01174 39 .01227 .01124 40 .01169 .01105 41 .01157 .01081 42 .01123 .01040 43 .01082 .01018 44 .01080 .01010 45 .01023 .00956 46 .01014 .00928 47 .00987 .00904 48 .00964 .00878 49 .00934 .00838 50 .00901 .00836 51 .00886 .00805 52 .00867 .00775 53 .00829 .00759 54 .00803 .00736 55 .00784 .00710 56 .00753 .00679 57 .00751 .00654 58 .00717 .00662 59 .00703 .00608 60 .00691 .00595 61 .00661 .00575 62 .00634 .00554 63 .00629 .00537 64 .00609 .00521
9 Rounds

 Plr P(win) Random Swiss 1 .03500 .03673 2 .03366 .03584 3 .03301 .03497 4 .03185 .03318 5 .03095 .03222 6 .03026 .03143 7 .02931 .03033 8 .02849 .02966 9 .02772 .02903 10 .02697 .02782 11 .02662 .02703 12 .02533 .02609 13 .02450 .02568 14 .02396 .02435 15 .02311 .02367 16 .02251 .02286 17 .02186 .02243 18 .02110 .02161 19 .02050 .02102 20 .02005 .01983 21 .01948 .01936 22 .01903 .01864 23 .01824 .01851 24 .01748 .01774 25 .01722 .01711 26 .01681 .01648 27 .01612 .01613 28 .01557 .01536 29 .01533 .01461 30 .01454 .01450 31 .01430 .01398 32 .01374 .01350 33 .01346 .01274 34 .01291 .01257 35 .01261 .01211 36 .01202 .01157 37 .01177 .01148 38 .01130 .01089 39 .01105 .01045 40 .01050 .01009 41 .01041 .00993 42 .00999 .00953 43 .00938 .00906 44 .00930 .00872 45 .00894 .00828 46 .00852 .00811 47 .00835 .00793 48 .00810 .00752 49 .00785 .00719 50 .00760 .00707 51 .00735 .00677 52 .00708 .00640 53 .00674 .00619 54 .00649 .00585 55 .00634 .00564 56 .00602 .00546 57 .00585 .00510 58 .00549 .00514 59 .00551 .00492 60 .00529 .00471 61 .00512 .00459 62 .00485 .00422 63 .00476 .00412 64 .00444 .00398
12 Rounds

 Plr P(win) Random Swiss 1 .03877 .04063 2 .03750 .03918 3 .03606 .03800 4 .03490 .03665 5 .03420 .03549 6 .03307 .03418 7 .03165 .03283 8 .03079 .03192 9 .02991 .03075 10 .02843 .02971 11 .02777 .02846 12 .02710 .02749 13 .02603 .02660 14 .02474 .02568 15 .02462 .02490 16 .02354 .02400 17 .02256 .02275 18 .02180 .02188 19 .02094 .02145 20 .02009 .02060 21 .01928 .01994 22 .01903 .01900 23 .01820 .01813 24 .01766 .01759 25 .01701 .01691 26 .01629 .01609 27 .01561 .01565 28 .01534 .01495 29 .01463 .01441 30 .01426 .01381 31 .01371 .01317 32 .01301 .01264 33 .01269 .01221 34 .01192 .01148 35 .01165 .01143 36 .01127 .01076 37 .01081 .01034 38 .01039 .00994 39 .01001 .00937 40 .00964 .00899 41 .00927 .00869 42 .00867 .00828 43 .00851 .00805 44 .00839 .00759 45 .00770 .00726 46 .00745 .00691 47 .00725 .00661 48 .00701 .00647 49 .00670 .00608 50 .00654 .00581 51 .00617 .00556 52 .00587 .00541 53 .00549 .00518 54 .00543 .00471 55 .00515 .00443 56 .00490 .00444 57 .00483 .00418 58 .00455 .00401 59 .00426 .00376 60 .00415 .00370 61 .00406 .00339 62 .00373 .00340 63 .00357 .00310 64 .00348 .00299
15 Rounds

 Plr P(win) Random Swiss 1 .04235 .04424 2 .04039 .04279 3 .03914 .04118 4 .03784 .03925 5 .03648 .03803 6 .03502 .03652 7 .03399 .03542 8 .03262 .03364 9 .03160 .03254 10 .02987 .03131 11 .02899 .02969 12 .02798 .02905 13 .02700 .02740 14 .02595 .02640 15 .02505 .02550 16 .02393 .02428 17 .02313 .02322 18 .02227 .02208 19 .02124 .02129 20 .02050 .02062 21 .01983 .01975 22 .01873 .01901 23 .01807 .01802 24 .01751 .01733 25 .01668 .01633 26 .01619 .01561 27 .01550 .01496 28 .01474 .01446 29 .01397 .01371 30 .01355 .01317 31 .01290 .01255 32 .01255 .01200 33 .01182 .01143 34 .01149 .01095 35 .01083 .01035 36 .01051 .00995 37 .00994 .00933 38 .00973 .00892 39 .00902 .00858 40 .00875 .00815 41 .00853 .00785 42 .00800 .00751 43 .00772 .00712 44 .00719 .00679 45 .00697 .00655 46 .00657 .00607 47 .00624 .00577 48 .00614 .00556 49 .00575 .00518 50 .00549 .00485 51 .00518 .00480 52 .00506 .00446 53 .00472 .00420 54 .00448 .00396 55 .00437 .00378 56 .00400 .00360 57 .00385 .00347 58 .00373 .00325 59 .00347 .00316 60 .00333 .00295 61 .00307 .00272 62 .00299 .00256 63 .00286 .00245 64 .00263 .00234

## Swiss versus Random Pairing in an Elimination Round-Robin

In an elimination round-robin tournament, players continue to play until they have lost a specified number of matches. For example, players might continue playing until they have lost three times.

I simulated an elimination round-robin tournament with 1, 2, 3, and 4 losses. Each tournament was run twice — once with players matched at random, and once with players matched using the Swiss pairing. The tournament was run 1,000,000 times and the results tabulated to see how often each player #1 through #64 was the last to survive. The tables below summarize the results.

A single knockout round-robin tournament is the same as straight elimination tournament and always takes 6 rounds. A double knockout round-robin takes about 9.862 rounds to find a winner. A triple knockout round-robin takes about 12.935 rounds. And a quadruple knockout round-robin takes about 15.844 rounds.

The surprising thing about these tables is that there is no advantage to tournament effectiveness of using Swiss pairing rather than random pairing. The strongest players do equally well with either system.

In an elimination round-robin tournament,
there is no difference in tournament effectiveness
between Swiss pairing and random pairing.

There is, however, one advantage to Swiss pairing. The average length of the tournament is slightly less with Swiss than with random pairing. For example, in a 3-loss tournament, random pairing takes 12.94 rounds on average to finish and Swiss pairing takes only 12.63 rounds on average to finish.

But as a practical matter this difference is not very significant when you consider the extra work required to run a Swiss tournament. In fact it's likely the time saved by doing a simple random draw outweighs the time savings for Swiss suggested by the simulation.

1 Loss

(6.000 rounds rand)
(6.000 rounds Swiss)

 Plr P(win) Random Swiss 1 .03276 .03264 2 .03176 .03163 3 .03102 .03098 4 .03027 .03006 5 .02947 .02965 6 .02862 .02880 7 .02789 .02791 8 .02740 .02704 9 .02654 .02650 10 .02590 .02611 11 .02532 .02514 12 .02450 .02455 13 .02405 .02381 14 .02319 .02331 15 .02272 .02248 16 .02207 .02194 17 .02137 .02182 18 .02060 .02099 19 .02057 .02022 20 .01990 .01970 21 .01927 .01920 22 .01883 .01879 23 .01811 .01816 24 .01772 .01776 25 .01737 .01727 26 .01682 .01675 27 .01615 .01632 28 .01582 .01597 29 .01538 .01561 30 .01473 .01505 31 .01423 .01452 32 .01420 .01400 33 .01381 .01356 34 .01344 .01341 35 .01308 .01290 36 .01254 .01251 37 .01223 .01221 38 .01184 .01190 39 .01154 .01149 40 .01097 .01117 41 .01062 .01069 42 .01047 .01037 43 .01008 .01035 44 .00971 .00991 45 .00980 .00953 46 .00933 .00934 47 .00918 .00915 48 .00870 .00873 49 .00839 .00854 50 .00838 .00836 51 .00800 .00797 52 .00780 .00778 53 .00743 .00742 54 .00735 .00720 55 .00705 .00700 56 .00673 .00690 57 .00666 .00659 58 .00633 .00644 59 .00614 .00608 60 .00592 .00590 61 .00571 .00572 62 .00564 .00561 63 .00535 .00535 64 .00523 .00525
2 Losses

(9.862 rounds rand)
(9.841 rounds Swiss)

 Plr P(win) Random Swiss 1 .03732 .03685 2 .03591 .03563 3 .03521 .03447 4 .03383 .03385 5 .03307 .03286 6 .03199 .03140 7 .03069 .03022 8 .03008 .02982 9 .02896 .02872 10 .02786 .02798 11 .02740 .02686 12 .02646 .02633 13 .02567 .02547 14 .02456 .02422 15 .02413 .02361 16 .02326 .02302 17 .02216 .02246 18 .02162 .02162 19 .02081 .02076 20 .02013 .01999 21 .01939 .01945 22 .01883 .01877 23 .01817 .01814 24 .01776 .01765 25 .01675 .01698 26 .01648 .01658 27 .01577 .01604 28 .01534 .01525 29 .01488 .01481 30 .01417 .01437 31 .01391 .01368 32 .01325 .01338 33 .01291 .01308 34 .01237 .01244 35 .01194 .01194 36 .01136 .01165 37 .01104 .01139 38 .01069 .01090 39 .01027 .01050 40 .01015 .01003 41 .00940 .00974 42 .00938 .00941 43 .00896 .00919 44 .00861 .00864 45 .00837 .00844 46 .00799 .00809 47 .00768 .00775 48 .00735 .00742 49 .00713 .00725 50 .00700 .00697 51 .00659 .00661 52 .00637 .00670 53 .00596 .00630 54 .00575 .00602 55 .00556 .00574 56 .00539 .00556 57 .00524 .00536 58 .00498 .00517 59 .00467 .00489 60 .00460 .00476 61 .00440 .00445 62 .00427 .00422 63 .00400 .00409 64 .00380 .00404
3 Losses

(12.935 rounds rand)
(12.634 rounds Swiss)

 Plr P(win) Random Swiss 1 .04083 .04163 2 .03988 .04020 3 .03824 .03867 4 .03693 .03679 5 .03565 .03601 6 .03422 .03476 7 .03317 .03324 8 .03156 .03222 9 .03075 .03101 10 .02932 .02975 11 .02871 .02850 12 .02782 .02798 13 .02654 .02667 14 .02559 .02572 15 .02481 .02481 16 .02370 .02363 17 .02298 .02291 18 .02210 .02223 19 .02137 .02134 20 .02043 .02048 21 .01972 .01957 22 .01885 .01871 23 .01800 .01802 24 .01741 .01746 25 .01686 .01656 26 .01613 .01612 27 .01576 .01532 28 .01497 .01461 29 .01431 .01415 30 .01395 .01362 31 .01333 .01339 32 .01260 .01249 33 .01217 .01206 34 .01163 .01146 35 .01094 .01115 36 .01082 .01040 37 .01030 .01029 38 .00980 .00950 39 .00950 .00932 40 .00909 .00895 41 .00867 .00861 42 .00829 .00835 43 .00799 .00777 44 .00764 .00766 45 .00707 .00719 46 .00691 .00698 47 .00675 .00658 48 .00642 .00637 49 .00592 .00594 50 .00563 .00579 51 .00560 .00557 52 .00528 .00521 53 .00512 .00498 54 .00482 .00476 55 .00457 .00440 56 .00434 .00432 57 .00409 .00397 58 .00402 .00399 59 .00382 .00383 60 .00364 .00344 61 .00339 .00347 62 .00319 .00314 63 .00312 .00302 64 .00301 .00294
4 Losses

(15.844 rounds rand)
(15.568 rounds Swiss)

 Plr P(win) Random Swiss 1 .04422 .04437 2 .04259 .04253 3 .04108 .04134 4 .03901 .03947 5 .03794 .03798 6 .03632 .03629 7 .03508 .03480 8 .03356 .03366 9 .03211 .03224 10 .03115 .03100 11 .02988 .03009 12 .02892 .02857 13 .02743 .02749 14 .02641 .02657 15 .02498 .02548 16 .02406 .02410 17 .02338 .02318 18 .02242 .02235 19 .02151 .02115 20 .02033 .02038 21 .01976 .01942 22 .01868 .01862 23 .01778 .01811 24 .01718 .01740 25 .01637 .01645 26 .01594 .01561 27 .01503 .01487 28 .01429 .01439 29 .01376 .01372 30 .01314 .01318 31 .01281 .01258 32 .01211 .01216 33 .01157 .01150 34 .01092 .01082 35 .01057 .01055 36 .00996 .00993 37 .00966 .00972 38 .00912 .00907 39 .00866 .00863 40 .00837 .00819 41 .00789 .00797 42 .00755 .00750 43 .00708 .00702 44 .00680 .00678 45 .00640 .00643 46 .00613 .00605 47 .00595 .00583 48 .00552 .00550 49 .00526 .00529 50 .00497 .00489 51 .00469 .00493 52 .00448 .00449 53 .00421 .00438 54 .00402 .00409 55 .00399 .00388 56 .00365 .00370 57 .00348 .00343 58 .00327 .00337 59 .00317 .00305 60 .00297 .00297 61 .00291 .00282 62 .00264 .00276 63 .00254 .00254 64 .00237 .00236

## Summary

In a truncated round-robin tournament, the strongest players do better when Swiss pairing is used.

In an elimination round-robin tournament, the strongest players do equally well regardless of whether random pairing or Swiss pairing is used.