Whist/Pinochle Tournament Overview

multi-player 4n player design | Whist/Pinochle Tournament Creator

Tournament Generator Overview

This tool creates balanced Whist/Pinochle tournament schedules using mathematical designs that satisfy strict constraints:

  • Each player partners each other player exactly once
  • Each player opposes each other player exactly twice
  • No player plays at the same table in consecutive rounds for 16 or more players (8 and 12 aren't able to achieve this)

Based on seeds from Durango Bill with optimization techniques from JDAWiseman.

1a Initial Seed Row

A Seed row is used from Durango Bill's site (but really any combination can work other than 0, 1, 2, 3, 4, etc). Bill's seeds create better distributions for larger tournaments due to his cyclical combinatory datasets.

Seed row expansion visualization

Seed row expansion process

1b Seed Row Expansion

The seed row is expanded similar to that shown on Devenezia's site which is typical for tournament expansion.

The Pn headings identify the player slot and the number in the grid is the individual player ID. Most statistical formulas label players from 0 - n.

The grid is created by incrementing the player ID by +1. The max player ID (15 in his case) is fixed for the grid. The players IDs are recycled to 0, after the n-1 number. There will then be a 0 - n distribution for each round / row.

Seed row expansion visualization

Seed row expansion process

1c Human Relatable Format

The grid is then incremented by +1 to make it more relatable. Often times this format is used for tournaments and satisfies the minimum partner/opponent combinations.

Human readable grid format

Grid converted to human-readable format

1d Preliminary Table Alignment

The tourney grid is highlighted to show the table alignment with colored bands before table optimization.

Table alignment with colored bands

Table alignment visualization

2 Optimizing: Progressive Shifting

Progressive table shifting is a major part of optimization based on JDAWiseman's work.

In this case each row are progressively shifted by n mod 4 (players divided by the 4 players at each table) or 4 in this case. The first row moves entire table groups to the left. The blue table then moves to the end. The second row moves 2 Table groups to the left...so the blue and the gold table move to the end.

This progressive shuffling breaks up the #16 player from being stuck at Table 1.

Progressive shifting visualization

Progressive shifting of tables

2a Optimizing: Identifying Table Repetition Issue

However, this also causes a pattern of each player having a round where they get stuck at the same table, highlighted in light red.

Table repetition issue highlighted

Table repetition issue identification

2b Optimizing: Table Group Shuffling and Row reordering

Now we can then shuffle table groups ↔ within each row. This won't break the player/partner/opponent relationship we created earlier.

In this case anywhere from 1 to 3 tables are shuffled to break up the consecutive tables issue. Afterwards you'll see there is a new pattern established across the entire grid. This will not create an even distribution of players/table relationships, but no player will play at the same consecutive table.

Finally, round / row reordering ↕ can help level the distribution and keep the extremes like a player not appearing at a table in the entire tournament. This is an exhaustive search and takes about 100x the number of attempts as the number for player/table combinations to achieve at least a 90% quality level.

Table group shuffling result

Final shuffled table arrangement

3 Optimized: Final Table and Round Alignment

An even distribution of players/table relationships is not possible. The optimizer avoids extreme situations and often times players will appear at a table from 3-5 times. Re-running the optimizer or trying more attempts may yield better results.

Table group shuffling result

Final shuffled table arrangement