Tournament blocks

From Japanese Mahjong Wiki
Jump to navigation Jump to search

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 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.

Tournament

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.

League play

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.

Pitfalls and criticism of tournament blocks used for mahjong

Block repository

Tournament blocks

Simplest solution: Dutch cycles

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.

The obvious flaw with this solution is that players are segregated into blocks. The method is fair as long as players draw from one pool with all entries mixed AND that the draw occurs fairly, in the presence of all players, or failing that, that the location and time of draw be published beforehand with a fair chance for all to attend. Both NMB tournaments (2011 in Utrecht) and the 2014 WRC used this method, however they both had flaws in their implementation.

The general formula is that table t consists of players [t, t + n/4, t + 2n/4, t + 3n/4] in hanchan 1, 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 6. Heavily composite numbers of players will lead to collisions when {...}

Notes: Mathpuzzle.com has a few non-Dutch solutions for the "Social Golfer Problem".

Players Method Dutch Social Golfer Comment
16 (4*4) SG 5 ABCD EFGH IJKL MNOP,
AEIM BFJN CGKO DHLP,
AFKP BELO CHIN DGJM,
AGLN BHKM CEJP DFIO,
AHJO BGIP CFLM DEKN.
20 (5*4) Both 5 5 ABCD EFGH IJKL MNOP QRST,
AEIM BFJQ CGNR DKOS HLPT,
AFOT BELR CIPS DGJM HKNQ,
AJPR BHMS CEKT DFIN GLOQ,
ALNS BGIT CHJO DEPQ FKMR.
24 (6*4) SG 7 ABKU IJSE QRCM DGFX HLNO PTVW,
ACLV IKTF QSDN EHGR BMOP JUWX,
ADMW ILUG QTEO FBHS CJNP KRVX,
AENX IMVH QUFP GCBT DJKO LRSW,
AFOR INWB QVGJ HDCU EKLP MSTX,
AEPS IOXC QWHK BEDV FJLM NRTU,
AHJT IPRD QXBL CFEW GKMN OSUV.
28 (7*4) SG 9 ABCD EFGH IJKL MNab cdef ghij klmn,
AEgk BFMc Ndhl GIem HJai CKbn DLfj,
AFjn BEae bfim HKcl GLMh CINk DJdg,
AIci BJNn EKMj FLdm begl CGaf DHhk,
AGbd BHgm ELNi achn FKfk CJej DIMl,
AKeh BLbk FIag EJfl Ncjm CHMd DGin,
AHNf BGjl FJbh Meik EIdn CLcg DKam,
ALal BKdi GJck Mfgn HIbj CEhm DFNe,
AJMm BIfh CFil DEbc GKNg HLen adjk.
32 (8*4) SG 10 ABCD EFGH IJKL MNPO abcd efgh ijkl mnop,
AEIm BgcH DFKp kPdf Maei ChbG jNoL lJnO,
Alof Bhkm DNGi FaLO MbHK CPeJ Ejcp gIdn,
AciL BjdK DkbJ FgoP fGOp CIla EhMn NeHm,
AgNK BElP DIoH hdiO beLp Cjfm FMcJ kaGn,
AhJp BFin DcmO INbf leGK CMod EgkL jPaH,
AFde BoGJ DEaf hlNc PiKm CHLn gjbO IkMp,
APbn BNap DglM koce fHiJ CEKO FhIj dGLm,
AjMG BIeO DhPL gaJm cfKn CFkN Eobi ldHp,
AkHO BMfL Djen Flbm IPcG Cgip ENdJ hoaK.
40 (10*4) Unkn. 5/6ND
44 (11*4) Dutch 11
52 (13*4) Dutch 13
68 (17*4) Dutch 17
76 (19*4) Dutch 19

League play blocks

Considering that league blocks contain 5 players, the counting mechanism has to be recalculated for Dutch cycles. These numbers are for 6-session events or seasons. These Dutch cycle blocks can drop the last fifth in order to make groups of 4, expanding the solved ranges of players from 80% to 100% of the maximal solutions. For 40, using the social golfer solution below will work for 32 to 40 players. Given the distribution of primes, there is a solution within that 20% range except for 66 and 67 players. A way around it would be to have two "separable" leagues running up to 35 players per side, thus covering 66 and 67.

Players P1 P2 P3 P4 P5 Comment
30 0 0 0 0 0 2 sessions.
30 0 1 2 3 4
35 0 0 0 0 0 7 sessions (28P-35P)
35 0 1 2 3 4
35 0 2 4 6 1
35 0 3 6 2 5
35 0 4 1 5 2
35 0 5 3 1 6
35 0 6 5 4 3
45 0 0 0 0 0 3 sessions
45 0 1 2 3 4
45 0 2 4 6 8
50 0 0 0 0 0 5/6 sessions (40P-50P)
50 0 1 2 3 4
50 0 2 4 6 8
50 0 3 6 9 2
50 0 4 8 2 6
50 0 9 5 4 X0 (non-Dutch, one repeat for 10 pairs.)
55 0 0 0 0 0 11 sessions (44P-55P)
55 0 1 2 3 4
55 0 2 4 6 8
55 0 3 6 9 1
55 0 4 8 1 5
55 0 5 10 4 9
55 0 6 1 7 2
55 0 7 3 10 6
55 0 8 5 2 10
55 0 9 7 5 3
55 0 10 9 8 7

Trying to group a league with a variable amount of entries poses its own challenges. In order to start a league asymmetrically, it is possible to start seeding groups from 17 members and every 5 onward. However, this alone will guarantee that groups can be made but not that no rematches will occur. For an ideal solution like 35, in theory, 7 groups of 4 can use the same solution, however, with 3 groups pre-formed at 27 members, the minimum requirement would be to end up with 31 players [31, 35]. Likewise, for the 55 solution, overloading groups of 5 may render the ability to make 11 groups but with more groups of 4. If [48, 50] players are present, two separate blocks of 24/25 are usable for 6-session seasons.

Min Groups of 5 Groups of 4 Spare Max Comment
27 3 0 12 35 <=30 : 6 groups, >=31 : 7 groups.
32 4 0 12 40 <=35 : 7 groups, >=36 : 8 groups.
37 5 0 12 45 <=40 : 8 groups, >=41 : 9 groups.
42 5 0 17 50 <=45 : 9 groups, >=46 : 10 groups.
48 7 0 12 50 <=50 : 10 groups in 25s, >=51 : 11 groups in 55.
52 7 0 17 60 <=55 : 11 groups in 55, >=56 : 12 groups in 25 and 35.
57 8 0 17 60 <=60 : 12 groups in 25 and 35, >=61 : 14 groups in 35s (5*8 + 4*4 + 5*1).
62 10 0 12 60 <=65 : 13 groups, >=66 : 14 groups.
67 11 0 12 60 <=70 : 14 groups, >=71 : 15 groups.
72 12 0 12 60 <=75 : 15 groups, >=76 : 16 groups.


15-player season

Session and Table Player 1 Player 2 Player 3 Player 4 Player 5 Deadline
Session 1 - Table 1 (+1) P1 P2 P3 P4 P5 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 2 P6 P7 P8 P9 P10 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 3 P11 P12 P13 P14 P15 Saturday 2015-04-04 23:59 UTC
Session 2 - Table 1 (+3) P1 P4 P7 P10 P13 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 2 P2 P5 P8 P11 P14 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 3 P3 P6 P9 P12 P15 Saturday 2015-04-18 23:59 UTC
Session 3 - Table 1 (+8) P1 P9 P2 P10 P3 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 2 P11 P4 P12 P5 P13 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 3 P6 P14 P7 P15 P8 Saturday 2015-05-02 23:59 UTC
Session 4 - Table 1 (+11) P1 P12 P8 P4 P15 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 2 P11 P7 P3 P14 P10 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 3 P6 P2 P13 P9 P5 Saturday 2015-05-16 23:59 UTC
Session 5 - Table 1 (+5) P1 P6 P11 P5 P10 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 2 P15 P4 P9 P14 P3 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 3 P8 P13 P2 P7 P12 Saturday 2015-05-30 23:59 UTC
Session 6 - Table 1 (+7) P1 P8 P15 P7 P14 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 2 P6 P13 P5 P12 P4 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 3 P11 P3 P10 P2 P9 Saturday 2015-06-13 23:59 UTC


25-player season

An ideal number of participants would be 25. 24 is easy, 21 to 23 require a minor adjustment.

Session and Table Player 1 Player 2 Player 3 Player 4 Player 5 Deadline
Session 1 - Table 1 (+1) P1 P2 P3 P4 P5 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 2 P6 P7 P8 P9 P10 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 3 P11 P12 P13 P14 P15 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 4 P16 P17 P18 P19 P20 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 5 P21 P22 P23 P24 P25 Saturday 2015-04-04 23:59 UTC
Session 2 - Table 1 (-4) P1 P22 P18 P14 P10 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 2 P6 P2 P23 P19 P15 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 3 P11 P7 P3 P24 P20 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 4 P16 P12 P8 P4 P25 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 5 P21 P17 P13 P9 P5 Saturday 2015-04-18 23:59 UTC
Session 3 - Table 1 (+7) P1 P17 P8 P24 P15 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 2 P6 P22 P13 P4 P20 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 3 P11 P2 P18 P9 P25 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 4 P16 P7 P23 P14 P5 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 5 P21 P12 P3 P19 P10 Saturday 2015-05-02 23:59 UTC
Session 4 - Table 1 (+11) P1 P12 P23 P9 P20 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 2 P6 P17 P3 P14 P25 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 3 P11 P22 P8 P19 P5 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 4 P16 P2 P13 P24 P10 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 5 P21 P7 P18 P4 P15 Saturday 2015-05-16 23:59 UTC
Session 5 - Table 1 (+6) P1 P7 P13 P19 P25 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 2 P6 P12 P18 P24 P5 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 3 P11 P17 P23 P4 P10 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 4 P16 P22 P3 P9 P15 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 5 P21 P2 P8 P14 P20 Saturday 2015-05-30 23:59 UTC
Session 6 - Table 1 (+5) P1 P6 P11 P16 P21 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 2 P2 P7 P12 P17 P22 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 3 P3 P8 P13 P18 P23 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 4 P4 P9 P14 P19 P24 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 5 P5 P10 P15 P20 P25 Saturday 2015-06-13 23:59 UTC

35-player season

Solved via Dutch cycles up to 7 sessions.

40-player season

With 40, it has been a problem optimally solved with the "social golfer problem", up to 8 sessions.

Session and Table Player 1 Player 2 Player 3 Player 4 Player 5 Deadline
Session 1 - Table 1 (+8) P1 P9 P17 P25 P33 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 2 P2 P10 P18 P26 P34 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 3 P3 P11 P19 P27 P35 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 4 P4 P12 P20 P28 P36 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 5 P5 P13 P21 P29 P37 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 6 P6 P14 P22 P30 P38 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 7 P7 P15 P23 P31 P39 Saturday 2015-04-04 23:59 UTC
Session 1 - Table 8 P8 P16 P24 P32 P40 Saturday 2015-04-04 23:59 UTC
Session 2 - Table 1 P1 P10 P19 P28 P37 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 2 P2 P9 P20 P27 P38 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 3 P3 P12 P17 P26 P39 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 4 P4 P11 P18 P25 P40 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 5 P5 P14 P23 P32 P33 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 6 P6 P13 P24 P31 P34 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 7 P7 P16 P21 P30 P35 Saturday 2015-04-18 23:59 UTC
Session 2 - Table 8 P8 P15 P22 P29 P36 Saturday 2015-04-18 23:59 UTC
Session 3 - Table 1 P1 P11 P21 P31 P36 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 2 P2 P12 P22 P32 P35 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 3 P3 P9 P23 P29 P34 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 4 P4 P10 P24 P30 P33 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 5 P5 P15 P17 P27 P40 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 6 P6 P16 P18 P28 P39 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 7 P7 P13 P19 P25 P38 Saturday 2015-05-02 23:59 UTC
Session 3 - Table 8 P8 P14 P20 P26 P37 Saturday 2015-05-02 23:59 UTC
Session 4 - Table 1 P1 P12 P23 P30 P40 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 2 P2 P11 P24 P29 P39 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 3 P3 P10 P21 P32 P38 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 4 P4 P9 P22 P31 P37 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 5 P5 P16 P19 P26 P36 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 6 P6 P15 P20 P25 P35 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 7 P7 P14 P17 P28 P34 Saturday 2015-05-16 23:59 UTC
Session 4 - Table 8 P8 P13 P18 P27 P33 Saturday 2015-05-16 23:59 UTC
Session 5 - Table 1 P1 P13 P20 P32 P39 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 2 P2 P14 P19 P31 P40 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 3 P3 P15 P18 P30 P37 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 4 P4 P16 P17 P29 P38 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 5 P5 P9 P24 P28 P35 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 6 P6 P10 P23 P27 P36 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 7 P7 P11 P22 P26 P33 Saturday 2015-05-30 23:59 UTC
Session 5 - Table 8 P8 P12 P21 P25 P34 Saturday 2015-05-30 23:59 UTC
Session 6 - Table 1 P1 P14 P18 P29 P35 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 2 P2 P13 P17 P30 P36 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 3 P3 P16 P20 P31 P33 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 4 P4 P15 P19 P32 P34 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 5 P5 P10 P22 P25 P39 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 6 P6 P9 P21 P26 P40 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 7 P7 P12 P24 P27 P37 Saturday 2015-06-13 23:59 UTC
Session 6 - Table 8 P8 P11 P23 P28 P38 Saturday 2015-06-13 23:59 UTC
Session 7 - Table 1 P1 P15 P24 P26 P38 (not played)
Session 7 - Table 2 P2 P16 P23 P25 P37 (not played)
Session 7 - Table 3 P3 P13 P22 P28 P40 (not played)
Session 7 - Table 4 P4 P14 P21 P27 P39 (not played)
Session 7 - Table 5 P5 P11 P20 P30 P34 (not played)
Session 7 - Table 6 P6 P12 P19 P29 P33 (not played)
Session 7 - Table 7 P7 P9 P18 P32 P36 (not played)
Session 7 - Table 8 P8 P10 P17 P31 P35 (not played)
Session 8 - Table 1 P1 P16 P22 P27 P34 (not played)
Session 8 - Table 2 P2 P15 P21 P28 P33 (not played)
Session 8 - Table 3 P3 P14 P24 P25 P36 (not played)
Session 8 - Table 4 P4 P13 P23 P26 P35 (not played)
Session 8 - Table 5 P5 P12 P18 P31 P38 (not played)
Session 8 - Table 6 P6 P11 P17 P32 P37 (not played)
Session 8 - Table 7 P7 P10 P20 P29 P40 (not played)
Session 8 - Table 8 P8 P9 P19 P30 P39 (not played)