Tournament blocks: Difference between revisions

m
no edit summary
m (→‎Blocks of 4: 28 block, first 5.... eh, closest thing to perfect balance. Try to do better.)
mNo edit summary
 
(10 intermediate revisions by one other user not shown)
Line 1: Line 1:
This article is meant as a repository for tournament and competitive blocks used for seating arragements. The content is mainly present in tabular form: reading it for the sake of reading is not recommended.
This article is meant as a repository for tournament and competitive blocks used for seating arragements. The content is mainly present in tabular form: reading it for the sake of reading is not recommended.  


== Ideal blocks ==
== Ideal tournament blocks ==
Ideal blocks require the organizer to plan according to the situation hey are planning for. Block sizes of 4 and of 5 change the dynamic completely.
Ideal blocks require the organizer to plan according to the situation they are planning for.  


=== Tournament ===
=== Tournament criteria to consider  ===
Tournaments often require a single hanchan between 4 players and then a shuffling of new opponents, aiming to complete a maximum or a set number of hanchan with minimal or no repeats between players.
Tournaments often require a single hanchan between 4 players and then a shuffling of new opponents, aiming to complete a maximum or a set number of hanchan with minimal or no repeats between players. That being said, there are imperatives making it impossible to satisfy every need at once.


=== League play ===
==== Opponent mixity ====
Leagues may require being able to shift between blocks of 4 and 5 players who end up playing 4 hanchan among each other per session.
The '''zero principle''': Never assume that your unique circumstances are the template for a fair tournament. Always assume that the model should work in all circumstances, not just tournaments of a specific length.
The '''first principle''': Maximize the player base that any individual can play against. This implies one of the following:
* With many players (P >= 6*R): The goal is to have people play against everyone once, with the rest at zero. No repeats.
* With few players (P < 6*R): The goal is to try to have every player play with everyone else once, with a minimal amount of repeats. Gaps may occur, with some players never playing against each other, a best fit is sufficient, as it is not always possible to make an optimal setup.
 
The '''second principle''': A tournament should present an equitable but not necessarily equal state at every stage in the tournament, with future stages building on preceding ones, contributing to a balanced state.
* If (R % 4) != 0; then ''maxWind - minWind = 1''.
* If (R % 4) = 0; then ''maxWind - minWind'' can take two values: either ''zero'', giving a wind balance after 4 matches (e.g.: 1111, 2222...), <br />or ''two'', with an imbalance. Note that the other two wind counts MUST BE EQUAL to R/4 (e.g.: 2110 or 0121, 1322 or 3221...). Wind counts such as {2200} are unacceptable.
* If (R % 4) = 1 AND R >= 5; then any wind imbalance must be corrected at this round. {2110} must become {2111} for any concerned player. Players who had a balanced wind count in a round that was a multiple of 4 can be anything, they do not have to repeat the previous order.
* A player can play the same wind back-to-back as long as the above rules are enforced.
 
The '''third principle''': A tournament grid should be acceptable regardless of the length of the tournament. Checks and balances should occur at every round when possible before proceeding with the next. A player who is caught with a number of front-loaded matches as the same wind or north-heavy should be assured that the tournament will give him a fair chance throughout the competition. Otherwise, the tournament organizer is technically responsible for inducing players in tilt or runaway positions.
 
The '''fourth principle''': Players should not play on the same table an abnormal amount of times. Empirically, it shouldn't exceed one of every 3 rounds.
 
The '''final principle''': Never assume that human intervention will "self-correct" one of the system's flaws. It won't. An example would be the fourth principle above: For multi-day tournaments, the tiles could be picked up, taken away, and replaced the next day. This not only does not guarantee that the same sets can't go back to the same table, if the loading and unloading are done in a consistent manner (by human reflex), there is a much greater chance that the same sets will return to the same location.


== Pitfalls and criticism of tournament blocks used for mahjong ==
== Pitfalls and criticism of tournament blocks used for mahjong ==
Tournament blocks could be used to impose a fair distribution of winds, balancing out variables such as how many times has a player started as East/South/West/North, when players have a degree of control regarding such assignments. However, they have also been used to segregate players, guaranteeing a zero-opportunity between people for a variety of reasons (not wanting to play a spouse, a club member, or someone from the same country), effectively manipulating the random chance everyone has to a more skewed probablility of meeting certain choice players even before drawing in a manner more restrictive than simply knowing who drawed beforehand.
=== Unfair draws leading to player tier protection or segregation ===
Prior to drawing lots, everyone should have the same chance of facing off against any other opponent. Lots must be established by one of two ways:
* A computerized draw witnessed by many assigning all players with no preference, or  
* Lots must be drawn at a specific time that anyone can reasonably assist.


The other mathematically unobservable fact resides in the truth that mahjong tiles can develop scratches and other identifying marks. Simply rotating players by [x,x,x,x]:->[x,x+1,x+2,x+3] will leave a quarter of the table with a potential opportunity to learn and exploit the tile markings. Luckily, the easiest way to minimize that impact is to change the transformation posited above to [x,x,x,x]:->[x+1,x+2,x+3,x+4].
Lots cannot be half-drawn prior to the main event at a side event without players' knowledge, nor should it be done at an "optional event" that caters to only a specific in-group of people.
 
=== Guest player exception ===
It is permissible to separate players from a guest organization (e.g.: Japanese pros). However, this exception cannot be used simply to split players by country, club or by other nefarious methods of discrimination. This is mahjong, not the UN. The only time it could be viewed as acceptable is during a specific inter-club rally, or at an event where each faction has equal representation, none of which has occured in NA/EU riichi mahjong. It is never acceptable to do it to avoid one specific player (the top gun, their spouse, their parent or child) and tournament organizers should show enough integrity to not allow or perform such tricks.
 
=== Same-table issues with marked tiles ===
The other mathematically unobservable fact resides in the truth that mahjong tiles can develop scratches and other identifying marks. Simply rotating players by [x,x,x,x]:->[x,x+1,x+2,x+3] will leave a quarter of the table with a potential opportunity to learn and exploit the tile markings. Luckily, the easiest way to minimize that impact is to change the transformation posited above to [x,x,x,x]:->[x+1,x+2,x+3,x+4] for Dutch cycle blocks. Other tournament blocks must show some care for this.


EMA tournaments have tried implementing in some of their events a "final round" where players are then re-ranked 1,2,3,4; 5,6,7,8; et cetera, enabling them to have 8 hanchan in an event where 24 or 48 people show up, as it is mathematically difficult or impossible to satisfy for more than 7. Otherwise, most of their tournament seating arrangements occur though Dutch cycles (transparent but with risks), or through software which may or may not be easily verifiable or reproducible (trusting the black box, security through obscurity). However, they have not statuated on a method for running tournaments. The two main software solutions have benefits but have significant drawbacks. Criticism for these kinds of points in participative tournaments is not generally a thing in Japan, as most tournaments there are knock-out events or small groups that accept duplication of pairings.
EMA tournaments have tried implementing in some of their events a "final round" where players are then re-ranked 1,2,3,4; 5,6,7,8; et cetera, enabling them to have 8 hanchan in an event where 24 or 48 people show up, as it is mathematically difficult or impossible to satisfy for more than 7. Otherwise, most of their tournament seating arrangements occur though Dutch cycles (transparent but with risks), or through software which may or may not be easily verifiable or reproducible (trusting the black box, security through obscurity). However, they have not statuated on a method for running tournaments. The two main software solutions have benefits but have significant drawbacks. Criticism for these kinds of points in participative tournaments is not generally a thing in Japan, as most tournaments there are knock-out events or small groups that accept duplication of pairings.
Line 24: Line 49:


==== Simplest solution: Dutch cycles ====
==== Simplest solution: Dutch cycles ====
{| class="wikitable" style="float:right; margin-left: 10px; width: 30%;"
|-
! Round !! Table !! East !! South !! West !! North
|-
| 1 || 1 || 01 || 02 || 03 || 04
|-
| 2 || 1 || 32 || 35 || 38 || 41
|-
| 3 || 1 || 23 || 16 || 37 || 30
|-
| 4 || 1 || 22 || 33 || 44 || 11
|-
| 5 || 1 || 29 || 14 || 43 || 28
|-
| 6 || 1 || 12 || 31 || 06 || 25
|-
| 7 || 1 || 19 || 40 || 21 || 42
|-
| 8 || 1 || 44 || 26 || 19 || 01
|-
| 9 || 1 || 34 || 17 || 24 || 07
|-
| 10 || 1 || 13 || 26 || 39 || 08
|-
| 11 || 1 || 36 || 27 || 18 || 09
|- bgcolor=#cccccc
| 2 || 5 || 04 || 07 || 10 || 13
|- bgcolor=#cccccc
| 3 || 9 || 11 || 04 || 18 || 25
|- bgcolor=#cccccc
| 4 || 2 || 26 || 37 || 04 || 15
|- bgcolor=#cccccc
| 5 || 6 || 05 || 34 || 19 || 04
|- bgcolor=#cccccc
| 6 || 10 || 04 || 23 || 42 || 17
|- bgcolor=#cccccc
| 7 || 3 || 27 || 04 || 29 || 06
|- bgcolor=#cccccc
| 8 || 7 || 14 || 41 || 04 || 31
|- bgcolor=#cccccc
| 9 || 11 || 09 || 22 || 35 || 04
|- bgcolor=#cccccc
| 10 || 4 || 04 || 39 || 30 || 21
|- bgcolor=#cccccc
| 11 || 8 || 43 || 04 || 33 || 38
|-
|colspan=6| '''Notes:''' This is a sample of the table matching for a 44-person tournament. Players are assigned in a linear manner to the tables in Round 1. In further rounds, note the players on Table 1 being backfilled by the people at higher tables in Round 1, and the numerical step downward. Also note the tables that Player 4 will be at in subsequent rounds, also with the numerical step upward.<br/>
'''Balances achieved:''' Opponent, Wind, Table. This match-up is solved '''if''' the number of players is sufficiently large or prime. Works for 7 (maybe more) hanchan for 28, 44, 52, 56, 64, 68, 76++. Works for 6 hanchan with 72. Works for 5 hanchan with 20, 40, 60. Do not use with 24, 32, 36, 48.<br/>
'''Source:''' [[User:Senechal]].
|}
<!-- {| class="wikitable" style="float:right; margin-left: 10px; width: 30%;"
|-
! Round !! Table !! East !! South !! West !! North
|-
| 1 || 1 || 01 || 12 || 23 || 34
|-
| 2 || 2 || 13 || 01 || 37 || 25
|-
| 3 || 3 || 27 || 40 || 01 || 14
|-
| 4 || 4 || 43 || 29 || 15 || 01
|-
| 5 || 5 || 01 || 16 || 31 || 35
|-
| 6 || 6 || 17 || 01 || 38 || 33
|-
| 7 || 7 || 24 || 41 || 01 || 18
|-
|colspan=6| '''Notes:''' This is an old table for a 44-person tournament. The numbering system is by block as opposed to linear.<br/>
'''Balances achieved:''' Same as above, except that the winds are imperfectly balanced. Balance is achieved but the player starting with East would have a speed advantage in any indivisible number of rounds (1 is obvious, 2 and 3 would always give East an advantage).<br/>
'''Source:''' [[User:Senechal]].
|}
-->
Dutch cycles (also called ____) serve a purpose of fairly distributing players across a set number of games, all while reducing/preventing repeats between pairs of players. This system works best when prime factors are in play, but breaks down when composite factors are used. Large player bases can mitigate some issues.
Dutch cycles (also called ____) serve a purpose of fairly distributing players across a set number of games, all while reducing/preventing repeats between pairs of players. This system works best when prime factors are in play, but breaks down when composite factors are used. Large player bases can mitigate some issues.


Line 30: Line 128:
The general formula is that table t consists of players [t, t + n/4, t + 2n/4, t + 3n/4] in hanchan 0 {mathematically speaking so the formula works}, and for future hanchan h, tables consist of [t, ((t + 1*h) % n/4) + n/4, ((t + 2*h) % n/4) + 2n/4, ((t + 3*h) % n/4) + 3n/4]. Its usefulness can be demonstrated as soon as there are 44 or more participants, and preferably not a multiple of 3. Heavily composite numbers of players will lead to collisions when tables = h * factor. The 2014 WRC had 120 players over 30 tables: as 120 (as well as 30) is divisible by 10, it would lead to a collision when h = 10, making the 11th hanchan place naively two players who met before across all 30 tables. It is also divisible by 5, but for larger events, a collision cannot occur if 1*factor, 2*factor or 3*factor does not equal or surpass the number of tables.
The general formula is that table t consists of players [t, t + n/4, t + 2n/4, t + 3n/4] in hanchan 0 {mathematically speaking so the formula works}, and for future hanchan h, tables consist of [t, ((t + 1*h) % n/4) + n/4, ((t + 2*h) % n/4) + 2n/4, ((t + 3*h) % n/4) + 3n/4]. Its usefulness can be demonstrated as soon as there are 44 or more participants, and preferably not a multiple of 3. Heavily composite numbers of players will lead to collisions when tables = h * factor. The 2014 WRC had 120 players over 30 tables: as 120 (as well as 30) is divisible by 10, it would lead to a collision when h = 10, making the 11th hanchan place naively two players who met before across all 30 tables. It is also divisible by 5, but for larger events, a collision cannot occur if 1*factor, 2*factor or 3*factor does not equal or surpass the number of tables.


===== Blocks of 4 =====
==== Tested blocks of 4 ====
{| class="wikitable"
These blocks should be as close to optimal as humanly possible. Tournaments aiming to run only 4 rounds may require using a different set of tables as balancing may require different pairings to obtain a specific goal at 4 rounds which is potentially unattainable in a solution aimed for 5 or more rounds. Comments and sources included when possible.
 
Format is in CSV with extra spaces between tables when possible.
{| class="mw-collapsible mw-collapsed wikitable"
|-
! 16 Players !! Round !! Out of !! Raw data !! Balanced data
|-
| 16 || 1 || 4/5 || 01,05,09,13,  02,06,10,14,  03,07,11,15,  04,08,12,16 || AEIM BFJN CGKO DHLP
|-
| 16 || 2 || 4/5 || 07,04,13,10,  06,01,16,11,  05,02,15,12,  08,03,14,09 || GDMJ FAPK EBOL HCNI
|-
| 16 || 3 || 4/5 || 09,15,06,04,  10,16,05,03,  13,11,02,08,  14,12,01,07 || IOFD JPEC MKBH NLAG
|-
| 16 || 4 || 4/5 || 12,13,03,06,  11,14,04,05,  15,10,08,01,  16,09,07,02 || LMCF KNDE OJHA PIGB
|-
| 16 || 5 ||  5 || 01,02,03,04,  05,06,07,08,  09,10,11,12,  13,14,15,16 || ABCD EFGH IJKL MNOP
|-
|colspan=5| '''Notes:''' In 4 rounds, players 13 and 15 will have to play the same table 3 times. In 5 rounds, add players 4, 6, 11 and 14. This is unavoidable, the alternative being that players will play 4 times on a table.<br/>
'''Balances achieved:''' Opponent, Wind, Table. This match-up is solved.<br/>
'''Source:''' Pegg, adapted by [[User:Senechal]].
|}
 
{| class="mw-collapsible mw-collapsed wikitable"
|-
! 20 Players A !! Round !! Out of !! Raw data
|-
| 20 || 1 || 6/7 || 01,02,03,04,  05,06,07,08,  09,10,11,12,  13,14,15,16,  17,18,19,20
|-
| 20 || 2 || 6/7 || 14,03,06,17,  18,04,10,13,  16,05,09,19,  15,08,01,11,  20,07,12,02
|-
| 20 || 3 || 6/7 || 12,17,16,01,  03,11,13,05,  08,20,14,10,  19,15,04,07,  06,09,02,18
|-
| 20 || 4 || 6/7 || 18,11,07,03,  04,12,20,06,  17,13,02,15,  14,01,05,09,  10,16,08,19
|-
| 20 || 5 || 6/7 || 08,19,12,13,  20,15,09,03,  07,01,18,14,  11,06,04,16,  02,05,17,10
|-
| 20 || 6 || 6/7 || 07,09,13,01,  15,19,10,06,  02,08,16,18,  05,20,11,17,  03,04,14,12
|-
| 20 || 7 || 7/7 || 04,17,08,09,  12,18,05,15,  11,14,19,02,  06,13,01,20,  10,16,03,07
|-
|colspan=4| '''Notes:''' This is not a solution to the Social Golfer Problem but it does balance out fairly well to get players to play against almost everyone.<br/>
'''Balances achieved:''' Wind, Table. This match-up is imperfect. 20 Players B is a simple Dutch cycle of players, more suitable for 4 or 5 rounds.<br/>
'''Source:''' [[User:Yazphier]], balanced by [[User:Senechal]].
|}
 
{| class="mw-collapsible mw-collapsed wikitable"
|-
! 28 Players Dutch !! Round !! Out of !! Raw data
|-
| 28 || 1 || 7 || 01,08,15,22,  02,09,16,23,  03,10,17,24,  04,11,18,25,  05,12,19,26,  06,13,20,27,  25,26,27,28
|-
| 28 || 2 || 7 || 13,07,25,19,  14,01,26,20,  08,02,27,21,  09,03,28,15,  10,04,22,16,  11,05,23,17,  12,06,24,18
|-
| 28 || 3 || 7 || 16,28,06,11,  17,22,07,12,  18,23,01,13,  19,24,02,14,  20,25,03,08,  21,26,04,09,  15,27,05,10 
|-
| 28 || 4 || 7 || 24,20,09,05,  25,21,10,06,  26,15,11,07,  27,16,12,01,  28,17,13,02,  22,18,14,03,  23,19,08,04 
|-
| 28 || 5 || 7 || 04,14,17,27,  05,08,18,28,  06,09,19,22,  07,10,20,23,  01,11,21,24,  02,12,15,25,  03,13,16,26 
|-
| 28 || 6 || 7 || 12,03,23,21,  13,04,24,15,  14,05,25,16,  08,06,26,17,  09,07,27,18,  10,01,28,19,  11,02,22,20
|-
| 28 || 7 || 7 || 18,26,02,10,  19,27,03,11,  20,28,04,12,  21,22,05,13,  15,23,06,14,  16,24,07,08,  17,25,01,09 
|-
|colspan=4| '''Notes:''' This is a Dutch solution to the seating of 28 players. There are ways to guarantee a shuffle for more rounds but in the context of running a contest with 7 or 8 rounds, a final table solution could be used at this stage with a sense of equitable fairness.<br/>
'''Balances achieved:''' Opponent, Wind, Table. This match-up is sufficiently fair. Standard warnings apply for a fair draw.<br/>
'''Source:''' [[User:Senechal]].
|}
 
{| class="mw-collapsible mw-collapsed wikitable"
|-
|-
! Players !! Block !! Of !! Raw data !! Balanced data
! 44 Players Dutch !! Round !! Out of !! Raw data  
|-
| 44 || 1 || 7 || 01,12,23,34,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  11,22,33,44
|-
| 44 || 2 || 7 || xx,11,xx,xx,  22,01,xx,xx,  12,xx,xx,33,  xx,xx,44,23,  xx,xx,34,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx
|-
| 44 || 3 || 7 || xx,xx,xx,xx,  xx,xx,11,xx,  xx,xx,01,xx,  xx,xx,xx,22,  xx,xx,xx,12,  33,xx,xx,xx,  23,xx,xx,xx,  xx,44,xx,xx,  xx,34,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx
|-  
|-  
| 16 || 1 || 4/5 || AEIM BFJN CGKO DHLP || AEIM BFJN CGKO DHLP
| 44 || 4 || 7 || 44,xx,xx,xx,  34,xx,xx,xx,  xx,xx,xx,11,  xx,xx,xx,01,  xx,xx,xx,xx,  xx,xx,22,xx,  xx,xx,12,xx,  xx,xx,xx,xx,  xx,33,xx,xx,  xx,23,xx,xx,  xx,xx,xx,xx
|-  
|-  
| 16 || 2 || 4/5 || AFKP BELO CHIN DGJM || FAPK EBOL HCNI GDMJ
| 44 || 5 || 7 || xx,xx,xx,xx,  xx,xx,23,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  01,xx,xx,xx,  xx,xx,xx,34,  xx,xx,xx,xx,  xx,22,xx,xx,  xx,12,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx
|-  
|-  
| 16 || 3 || 4/5 || AGLN BHKM CEJP DFIO || NLAG MKBH JPEC IOFD
| 44 || 6 || 7 || xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,33,  xx,xx,xx,23,  xx,01,xx,xx,  xx,xx,xx,xx,  xx,xx,xx,xx,  xx,xx,44,xx,  22,xx,34,xx,  12,xx,xx,xx
|-  
|-  
| 16 || 4 || 4/5 || AHJO BGIP CFLM DEKN || OJHA PIGB LMCF KNDE
| 44 || 7 || 7 || xx,xx,06,22,  xx,44,07,12,  xx,34,08,xx,  xx,xx,09,xx,  xx,xx,10,xx,  xx,xx,11,xx,  33,xx,01,xx,  23,xx,02,xx,  xx,xx,03,xx,  xx,xx,04,xx,  xx,xx,05,xx
|-  
|-  
| 16 || 5 || 5 || ABCD EFGH IJKL MNOP || ABCD EFGH IJKL MNOP
|colspan=4| '''Notes:''' This is a Dutch solution to the seating of 44 players. Should there be a need to extend beyond 7 rounds, this can go up to 11.<br/>
'''Balances achieved:''' Opponent, Wind, Table. This match-up is sufficiently fair. Standard warnings apply for a fair draw.<br/>
'''Source:''' [[User:Senechal]].
|}
 
 
{| class="mw-collapsible mw-collapsed wikitable"
|-
! Players !! Block !! Of !! Raw data !! Balanced data
|-  
|-  
| 20 || 1 || 5 || ABCD EFGH IJKL MNOP QRST ||  
| 20 || 1 || 5 || ABCD EFGH IJKL MNOP QRST ||  
Line 123: Line 303:
| 36 || 8 || 8 ||colspan=2| [&#160;[1, 7, 15, 35], [2, 14, 25, 32], [3, 16, 18, 28], [4, 17, 27, 29], [5, 11, 19, 26], [6, 20, 22, 34], [8, 9, 21, 30], [10, 13, 23, 36], [12, 24, 31, 33]&#160;]  
| 36 || 8 || 8 ||colspan=2| [&#160;[1, 7, 15, 35], [2, 14, 25, 32], [3, 16, 18, 28], [4, 17, 27, 29], [5, 11, 19, 26], [6, 20, 22, 34], [8, 9, 21, 30], [10, 13, 23, 36], [12, 24, 31, 33]&#160;]  
|- style="background:#ccf"
|- style="background:#ccf"
| 40 || all of || 5/6ND ||colspan=2| Dutch cycles break after 5.
| 40 || all of || 5/8ND ||colspan=2| Dutch cycles break after 5.
|-
| 40A || 1 || 9 ||colspan=2| [&#160;[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24], [25, 26, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36], [37, 38, 39, 40]&#160;]
|-  
|-  
| 40 || 1 || 9 ||colspan=2| [&#160;[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24], [25, 26, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36], [37, 38, 39, 40]&#160;]  
| 40A || 2 || 9 ||colspan=2| [&#160;[1, 5, 9, 13], [2, 6, 10, 17], [3, 7, 11, 21], [4, 8, 12, 25], [14, 18, 22, 29], [15, 19, 23, 33], [16, 20, 24, 37], [26, 30, 34, 38], [27, 31, 35, 39], [28, 32, 36, 40]&#160;]  
|-  
|-  
| 40 || 2 || 9 ||colspan=2| [&#160;[1, 5, 9, 13], [2, 6, 10, 17], [3, 7, 11, 21], [4, 8, 12, 25], [14, 18, 22, 29], [15, 19, 23, 33], [16, 20, 24, 37], [26, 30, 34, 38], [27, 31, 35, 39], [28, 32, 36, 40]&#160;]  
| 40A || 3 || 9 ||colspan=2| [&#160;[1, 6, 11, 25], [2, 7, 9, 29], [3, 5, 10, 15], [4, 13, 17, 24], [8, 14, 21, 34], [12, 16, 22, 39], [18, 23, 28, 37], [19, 26, 31, 36], [20, 32, 35, 38], [27, 30, 33, 40]&#160;]  
|-  
|-  
| 40 || 3 || 9 ||colspan=2| [&#160;[1, 6, 11, 25], [2, 7, 9, 29], [3, 5, 10, 15], [4, 13, 17, 24], [8, 14, 21, 34], [12, 16, 22, 39], [18, 23, 28, 37], [19, 26, 31, 36], [20, 32, 35, 38], [27, 30, 33, 40]&#160;]  
| 40A || 4 || 9 ||colspan=2| [&#160;[1, 12, 15, 29], [2, 22, 28, 34], [3, 6, 30, 35], [4, 9, 14, 36], [5, 25, 33, 37], [7, 10, 24, 32], [8, 13, 19, 27], [11, 17, 23, 40], [16, 18, 31, 38], [20, 21, 26, 39]&#160;]  
|-  
|-  
| 40 || 4 || 9 ||colspan=2| [&#160;[1, 12, 15, 29], [2, 22, 28, 34], [3, 6, 30, 35], [4, 9, 14, 36], [5, 25, 33, 37], [7, 10, 24, 32], [8, 13, 19, 27], [11, 17, 23, 40], [16, 18, 31, 38], [20, 21, 26, 39]&#160;]  
| 40A || 5 || 9 ||colspan=2| [&#160;[1, 8, 24, 28], [2, 5, 11, 39], [3, 19, 22, 25], [4, 15, 21, 38], [6, 14, 26, 32], [7, 18, 35, 40], [9, 20, 23, 27], [10, 30, 36, 37], [12, 13, 31, 34], [16, 17, 29, 33]&#160;]  
|-  
|-  
| 40 || 5 || 9 ||colspan=2| [&#160;[1, 8, 24, 28], [2, 5, 11, 39], [3, 19, 22, 25], [4, 15, 21, 38], [6, 14, 26, 32], [7, 18, 35, 40], [9, 20, 23, 27], [10, 30, 36, 37], [12, 13, 31, 34], [16, 17, 29, 33]&#160;]  
| 40A || 6 || 9 ||colspan=2| [&#160;[1, 14, 17, 39], [2, 8, 35, 37], [3, 18, 27, 32], [4, 22, 31, 33], [5, 16, 23, 26], [6, 12, 21, 36], [7, 13, 28, 38], [9, 15, 24, 30], [10, 20, 25, 40], [11, 19, 29, 34]&#160;]  
|-  
|-  
| 40 || 6 || 9 ||colspan=2| [&#160;[1, 14, 17, 39], [2, 8, 35, 37], [3, 18, 27, 32], [4, 22, 31, 33], [5, 16, 23, 26], [6, 12, 21, 36], [7, 13, 28, 38], [9, 15, 24, 30], [10, 20, 25, 40], [11, 19, 29, 34]&#160;]  
| 40A || 7 || 9 ||colspan=2| [&#160;[1, 22, 36, 38], [2, 23, 25, 32], [3, 26, 29, 37], [4, 5, 18, 34], [6, 13, 33, 39], [7, 15, 17, 27], [8, 11, 20, 30], [9, 21, 28, 31], [10, 16, 19, 35], [12, 14, 24, 40]&#160;]  
|-  
|-  
| 40 || 7 || 9 ||colspan=2| [&#160;[1, 22, 36, 38], [2, 23, 25, 32], [3, 26, 29, 37], [4, 5, 18, 34], [6, 13, 33, 39], [7, 15, 17, 27], [8, 11, 20, 30], [9, 21, 28, 31], [10, 16, 19, 35], [12, 14, 24, 40]&#160;]  
| 40A || 8 || 9 ||colspan=2| [&#160;[1, 19, 21, 40], [2, 12, 18, 33], [3, 8, 17, 31], [4, 7, 16, 30], [5, 20, 28, 29], [6, 24, 27, 34], [9, 22, 26, 35], [10, 14, 23, 38], [11, 13, 32, 37], [15, 25, 36, 39]&#160;]  
|-  
|-  
| 40 || 8 || 9 ||colspan=2| [&#160;[1, 19, 21, 40], [2, 12, 18, 33], [3, 8, 17, 31], [4, 7, 16, 30], [5, 20, 28, 29], [6, 24, 27, 34], [9, 22, 26, 35], [10, 14, 23, 38], [11, 13, 32, 37], [15, 25, 36, 39]&#160;]  
| 40A || 9 || 9 ||colspan=2| [&#160;[1, 7, 23, 31], [2, 13, 20, 36], [3, 16, 34, 40], [4, 10, 29, 39], [5, 12, 27, 38], [6, 15, 22, 37], [8, 9, 32, 33], [11, 18, 24, 26], [14, 19, 28, 30], [17, 21, 25, 35]&#160;]  
|-  
|-  
| 40 || 9 || 9 ||colspan=2| [&#160;[1, 7, 23, 31], [2, 13, 20, 36], [3, 16, 34, 40], [4, 10, 29, 39], [5, 12, 27, 38], [6, 15, 22, 37], [8, 9, 32, 33], [11, 18, 24, 26], [14, 19, 28, 30], [17, 21, 25, 35]&#160;]  
| 40B || 1 || 8 ||colspan=2| [&#160;[1, 11, 21, 31], [2, 12, 22, 32], [3, 13, 23, 33], [4, 14, 24, 34], [5, 15, 25, 35], [6, 16, 26, 36], [7, 17, 27, 37], [8, 18, 28, 38], [9, 19, 29, 39], [10, 20, 30, 40]&#160;]
|-
| 40B || 2 || 8 ||colspan=2| [&#160;[37, 28, 19, 10], [38, 29, 20, 1], [39, 30, 11, 2], [40, 21, 12, 3], [31, 22, 13, 4], [32, 23, 14, 5], [33, 24, 15, 6], [34, 25, 16, 7], [35, 26, 17, 8], [36, 27, 18, 9]&#160;]
|-
| 40B || 3 || 8 ||colspan=2| [&#160;[25, 33, 9, 17], [26, 34, 10, 18], [27, 35, 1, 19], [28, 36, 2, 20], [29, 37, 3, 11], [30, 38, 4, 12], [21, 39, 5, 13], [22, 40, 6, 14], [23, 31, 7, 15], [24, 32, 8, 16]&#160;]
|-
| 40B || 4 || 8 ||colspan=2| [&#160;[1x, x, 3x, 2x], [1x, x, 3x, 2x], [1x, x, 3x, 2x], [1x, x, 3x, 2x], [1x, x, 3x, 2x], [1x, x, 3x, 2x], [1x, x, 3x, 2x], [1x, x, 3x, 2x], [1x, x, 3x, 2x], [1x, x, 3x, 2x]&#160;]
|-
| 40B || 5 || 8 ||colspan=2| [&#160;[x, 1x, 2x, 3x], &#160;]
|-
| 40B || 6 || 8 ||colspan=2| [&#160;[1, 7, 23, 31], [2, 13, 20, 36], [3, 16, 34, 40], [4, 10, 29, 39], [5, 12, 27, 38], [6, 15, 22, 37], [8, 9, 32, 33], [11, 18, 24, 26], [14, 19, 28, 30], [17, 21, 25, 35]&#160;]
|-
| 40B || 7 || 8 ||colspan=2| [&#160;[1, 7, 23, 31], [2, 13, 20, 36], [3, 16, 34, 40], [4, 10, 29, 39], [5, 12, 27, 38], [6, 15, 22, 37], [8, 9, 32, 33], [11, 18, 24, 26], [14, 19, 28, 30], [17, 21, 25, 35]&#160;]
|-
| 40B || 8 || 8 ||colspan=2| [&#160;[1, 7, 23, 31], [2, 13, 20, 36], [3, 16, 34, 40], [4, 10, 29, 39], [5, 12, 27, 38], [6, 15, 22, 37], [8, 9, 32, 33], [11, 18, 24, 26], [14, 19, 28, 30], [17, 21, 25, 35]&#160;]  
|-  
|-  
| 44 (11*4) || Dutch || 11 ||
| 44 (11*4) || Dutch || 11 ||
Line 153: Line 349:


=== League play blocks ===
=== League play blocks ===
This section may receive heavy edits or be deleted in the future. It is not worth the effort to consider the league issues until a far off future.
Considering that league blocks contain 5 players, the counting mechanism has to be recalculated almost from scratch. These numbers are to satisfy 6-session events or seasons. For all Dutch cycles, as well as some non-Dutch SGP blocks can drop the last fifth in order to make groups of 4, expanding the solved ranges of players from as low as 80% to 100% of the maximal solutions. Considering all our solutions for 25+ are good for 6+ sessions, solutions for larger numbers can concatenate smaller groups with the minimum amount of sessions needed to make a larger group that satisfies that lower bound. The solution for 25 players in 6 sessions can drop one player, the solution for 40 present below can drop 5, although it may be possible that a solution allowing to drop 8 exists.
Considering that league blocks contain 5 players, the counting mechanism has to be recalculated almost from scratch. These numbers are to satisfy 6-session events or seasons. For all Dutch cycles, as well as some non-Dutch SGP blocks can drop the last fifth in order to make groups of 4, expanding the solved ranges of players from as low as 80% to 100% of the maximal solutions. Considering all our solutions for 25+ are good for 6+ sessions, solutions for larger numbers can concatenate smaller groups with the minimum amount of sessions needed to make a larger group that satisfies that lower bound. The solution for 25 players in 6 sessions can drop one player, the solution for 40 present below can drop 5, although it may be possible that a solution allowing to drop 8 exists.


{| class="wikitable"
{| class="mw-collapsible mw-collapsed wikitable"
|-
|-
! Players !! Round !! Of !! Match-ups
! Players !! Round !! Of !! Match-ups
Line 298: Line 496:
==== WAML-relevant summary ====
==== WAML-relevant summary ====
If we can get player blocks of 25♥, 30♥, 35, 40♥, 45♥, 50♥, 55 or sums of their multiples (60♥ = 25♥ + 35; 65 = 25♥ + 40; 70 = 35 + 35; 75yes; 80yes; 85♥♥yes; 90yes; 95yes; 100♥yes; ...) or a number significantly close, with 80%-100% range (or 100% -1 per heart), then we can cover the whole span from <!-- [24, 25], [28, 35], [39,40], [44, 55], [48, 50], [52, 60], [52, 65], [56, 70]... --> 48+ if we stop forming asymmetrical groups after 4 are made. <!-- up to 55 is covered by waiting, 56 is doable with 4 groups of 4 out of 13 [56, 65] ... two 35s [60, 70] ... 35 and 40 for [64, 75] ... 40s [68, 80] --> A fifth group can be drawn at 57 with no dificulty.
If we can get player blocks of 25♥, 30♥, 35, 40♥, 45♥, 50♥, 55 or sums of their multiples (60♥ = 25♥ + 35; 65 = 25♥ + 40; 70 = 35 + 35; 75yes; 80yes; 85♥♥yes; 90yes; 95yes; 100♥yes; ...) or a number significantly close, with 80%-100% range (or 100% -1 per heart), then we can cover the whole span from <!-- [24, 25], [28, 35], [39,40], [44, 55], [48, 50], [52, 60], [52, 65], [56, 70]... --> 48+ if we stop forming asymmetrical groups after 4 are made. <!-- up to 55 is covered by waiting, 56 is doable with 4 groups of 4 out of 13 [56, 65] ... two 35s [60, 70] ... 35 and 40 for [64, 75] ... 40s [68, 80] --> A fifth group can be drawn at 57 with no dificulty.
==== 2021 Canada WRC options ====
With the 2020 pandemic forcing a lot of play online, newer interest has been developing into launching a balanced league.
Some new results have come up allowing more flexibility in league play, within reason. The parameters involve a 5-session season, with an intended minimum group size of 16. Data provided in braces, 0-indexed, if differing from above solutions. General descriptors without data remain 1-indexed.
{| class="wikitable"
|-
! Min. Players !! Max Players !! Mechanism !! Comment !! 0-indexed grid
|-
| 16 || 19 || 4P perfect + AABBB + BBCCD + CCAAC || First 16 players play each other without repeats. Players 17-19 have between 6-9 duplicates, no triplicates. || {0, 4, 8, 12, 16}, {1, 5, 9, 13, 17}, {2, 6, 10, 14, 18}, {3, 7, 11, 15} <br/> {0, 5, 10, 15, 16}, {1, 4, 11, 14, 17}, {2, 7, 8, 13, 18}, {3, 6, 9, 12} <br/> {0, 6, 11, 13, 18}, {1, 7, 10, 12, 16}, {2, 4, 9, 15, 17}, {3, 5, 8, 14} <br/> {0, 7, 9, 14, 18}, {1, 6, 8, 15, 16}, {2, 5, 11, 12, 17}, {3, 4, 10, 13} <br/> {0, 1, 2, 3}, {5, 4, 7, 6, 16}, {10, 11, 8, 9, 18}, {15, 14, 13, 12, 17}
|-
| 20 || 25 || Dutch cycle for 20 + CCABD + AEDCA + BDBDC + DBCEE + EAEAB || 20 and 21 have zero duplicates. 22-25 have 5 duplicates, and no triplicates. || {0, 1, 2, 3, 21}, {4, 5, 6, 7, 22}, {8, 9, 10, 11, 20}, {12, 13, 14, 15, 23}, {16, 17, 18, 19, 24} <br/> {0, 4, 8, 12, 24}, {1, 5, 9, 16, 23}, {2, 6, 13, 17, 20}, {3, 10, 14, 18, 22}, {8, 11, 15, 19, 21} <br/> {0, 5, 14, 19, 20}, {1, 4, 11, 17, 22}, {2, 8, 15, 18, 23}, {3, 6, 9, 12, 21}, {7, 10, 13, 16, 24} <br/> {0, 9, 15, 17, 24}, {1, 7, 12, 18, 20}, {2, 4, 10, 19, 21}, {3, 5, 8, 13, 22}, {6, 11, 14, 16, 23} <br/> {0, 11, 13, 18, 21}, {1, 6, 8, 19, 24}, {2, 7, 9, 14, 22}, {3, 4, 15, 16, 20}, {5, 10, 12, 17, 23}
|-
| 26 || 27 || Mix and randomize || {TBD.}
|-
| 28 || 28 || Use 4P ||
|-
| 29 || 30 || Use 5P || For 29 players, ignore 30th player in grid, those sessions are 4P
|-
| 31 || 35 || Use 5P grid for 35 ||
|-
| 36 || 40 || Use 5P grid for 40 || Grid can ignore last 5 players.
|}


== External links ==
== External links ==
2

edits