|laziness, impatience, and hubris|
Re: Round robin tournament problemby benizi (Hermit)
|on Oct 22, 2003 at 21:14 UTC||Need Help??|
blokhead's (now-stricken) array above looked awfully like a Latin square to me, and in my search for a Latin square-generating algorithm, I came across Latin Squares, which describes the technique when applied to round-robin scheduling.
Summary follows the readmore
Only works for EVEN N. For odd N, add 1 and treat the extra player as a bye.
Essentially, you start (step 1:) with an addition chart, mod N-1.
(Step 2:) Copy the diagonal entries to the ends of their columns and the ends of their rows (creating an NxN array)
(Step 3:) Relabel the 0's as N-1's, relabel the player numbers, and delete the diagonal.
Update: To bring this back to perl-land: