If you have comments or suggestions, please e-mail them to
The Objective of Poker
Poker is about winning money. Unlike in other sports like soccer where it is bad form to ``run up the score'', poker is as much about taking a lot of money away from ordinary players as it is about taking a little money away from great players.
With this in mind, the AAAI Computer Poker Tournament will have two competitions, the bankroll competition, in order to determine who can take the most money from the average player, and the traditional competition, in order to determine who can get the slight edge on the best players.
Also, human poker is played for very few hands and has a high variance, and the difficulty of learning the weaknesses of an opponent stem from this fact. Therefore, we have made the decision to have any particular match be short, but we repeat the matches (with memory resets) several times to obtain more statistically significant results.
Each competition will consist fundamentally of heads-up duplicate matches. A duplicate match consists of an ordinary heads-up match of one-thousand 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 one-thousand hands. The purpose of the duplicate match is to reduce the randomness of the outcome. The bankrolls will be sufficiently large to ensure against bankruptcy.
Series of Duplicate Matches
In order to further reduce variance in the outcome, opponents will play a series of duplicate matches. After each duplicate match, the memory is reset.
In the bankroll competition, each submitted program will play a series of n duplicate matches against every submitted program in a round-robin fashion, where n will be determined by the number of programs and the available resources. The player with the highest total bankroll wins the competition.
The biggest issue with a bankroll competition is collusion. In
particular, there is a concern that ``anti-competitors'', competitors
that intentionally play poorly when they receive a particular signal,
could be submitted. Or, multiple submissions may be made by the same
group of people with one program having a model of the other program.
All such behavior is considered to be against the rules.
The traditional competition is a single-elimination tournament. Each time two programs face each other in the tree, they play a series of duplicate matches. The winner of a series is the player with the total maximum bankroll during that series. Earlier series will have fewer duplicate matches than later series.
In the traditional competition, the series will be longer than in the bankroll competition. Since each series results in a player being eliminated from the tournament, it is important to reduce variance further than in the bankroll competition, where the result of a series is totalled with the results of several other series. Again, the length of the series will depend upon the number of submitted programs and the available resources.
Rules for a Hand
Each hand is a hand of reverse blinds 10/20 limit texas hold-em. There are no ascending blinds, i.e. the rules in each hand are identical to the last. For a good overview of the rules of Texas Hold-em, see:
Some details of this particular variant:
- Reverse blinds implies that the second player (the dealer) puts in the small blind ($5), and the first player puts in the big blind ($10). Counterintuitively, this means that the second player has the first action on the preflop betting round (the first betting round). In later rounds, the first player bids first.
- 10/20 refers to the small bet ($10) and the big bet ($20) sizes. The small bet is the size of a bet or raise during the preflop betting round and the postflop (second) betting round. The big bet is the size of a bet or raise during the turn (third) betting round and the river (fourth) betting round.
- Limit refers to the fact that all bets are of a fixed size, and that there is a limit to how many raises can occur in a round of betting. In the preflop betting round, there can be a bet, a raise, and a re-raise. In later rounds, there can be a bet, a raise, a re-raise, and a second re-raise.
- In this competition, there will be no mucking: all players will reveal their cards at every showdown. If a player folds, then their cards will not be revealed until after the match is over.
The code for the server and a detailed description of the protocol
are available here.
The competition will be run on a cluster of 16 3.4 GHz P4 machines
running Windows XP Professional, with 1 GB RAM and 80 GB disk. It is
sensible during the competition to level the computational playing
field. The above specifications could be considered a high-end
Players will submit their code to the arbiter, in a manner to be
During each half of a duplicate match, the following will occur:
At the minimum, client machines will be 2 GHz machines running Windows XP. They will have at least 512 MB of RAM and 20 GB of free hard disk. Programs can take up to 10 GB of disk space.
The competition will be completely automated. Once the competition has begun, there will
be no more modifications to the programs. Ideally, programs should be submitted one week in advance of the competition to make sure that they run properly (i.e., all files are available and they do not crash).
The hard disk of a client machine will be reset to have poker academy and the files provided by a competitor. Hereafter, these files will be considered the ``program''.
- The program is started: no more than ten minutes can be spent for starting the program.
- The server connects to both clients, and begins the match.
- The total amount of time a player can take on one hand is k seconds, where k=7 for the bankroll competition and k=60 for the traditional competition. If the maximum time is exceeded, then the program automatically chooses to fold (even if it has the option to check).
The results of all matches, including the details of every hand, will be
recorded. A zipped file will be available online at this site after the
competition, and competitors will have two weeks to voice any concerns
Michael Littman (Rutgers University) has agreed to be the arbiter for
the competition, to generate the cards and handle any issues that
arise. We forsee three possible needs for arbitration: collusion,
abuse of the network, or some drastic hardware failure.
Handling Competitors Concerns
Each bot will have a team leader: the set of all team leaders and the
arbiter (Michael Littman) will form the decision making body. If any of
the competitors have a concern about collusion, then they should present
their concerns to the arbiter. The arbiter will then anonymize their
concerns and present them to the decision making body as a whole.
Then, the decision making body will comment upon the concern, and the
arbiter will make a final decision.
If a sufficiently serious infraction has occurred, the arbiter will
disqualify the bot.
If a bot is disqualified, it cannot win and its matches will not be
counted in the bankrolls of the other players.