Duplicate Poker

Duplicate poker is a mechanism that allows for lower variance evaluation of poker agents. Using this technique has allowed the competition to better evaluate the different agents that enter using limited computational resources. Some form of this mechanism has been used since the first competition in 2006.

Heads-up Duplicate Matches

A duplicate match consists of an ordinary heads-up match of k hands between two players. The cards played are recorded (or the seed used to shuffle is saved) and then the players' memories are reset, they switch positions and play a second k hands.

Multiplayer Duplicate Matches

Introduced in the 2009 competition, multiplayer duplicate generalizes the heads-up duplicate format for the 3 player matches. If we consider that there are 3 possible seats that each bot can sit in, and 2 different relative orderings of the other 2 bots given the position of one bot, then there are six total possible configurations of 3 players at a given table. If we choose to play N hands per match then the following system will assure all players rotate through all possible seats and relative orderings:

  • Seat the players in some ordering, say bot 1 is the small blind, bot 2 the big blind and bot 3 the button
  • Play N/6 hands using standard poker rules: after every hand the button and blinds rotate one seat to the left
  • Reset the memory of the bots
  • Rotate the seating of the players to the left, so in our example bot 1 is now on the button, bot 2 is SB, bot 3 is BB
  • Play N/6 hands again, dealing the same cards as before to the same seats as before (bot 1's first hand is now bot 3's first hand from round 1)
  • Reset the bots again
  • Rotate once more
  • Play the same N/6 hands again
  • Reseat the players in the other relative ordering - bot 1 SB, bot 3 BB, bot 2 button
  • Repeat the above process of dealing out the same N/6 hands to the same seats, reseting the memories and rotating the bots between rounds

Series of Duplicate Matches

In order to accurately evaluate how well an agent would fare against a given opponent (or set of opponents) in a match of a specified length, we would like to have repeated duplicate matches. To do this, the agents must remember nothing between each duplicate match. Therefore, in a series of duplicate matches, each agent's memory is reset after every duplicate match.