Very little work has been done on poker by computing scientists, although there are numerous commercial and hobbyist approaches. The various computer-based approaches to poker can be classified into three high-level architecture descriptions (or a mixture thereof): expert system, game-theoretic optimal play, and simulation / enumeration-based systems. Each of these will be discussed in the following sections.
This chapter will also discuss several case studies of programs by computing scientists and hobbyists. Included in the former group is the historical work of Nicolas Findler along with the more recent ideas of Daphne Koller and Avi Pfeffer. Findler worked on a poker-playing program for 5-card draw poker . Koller and Pfeffer implemented the first practical algorithm for finding optimal randomized strategies in two-player imperfect information games . Among the hobbyist approaches examined are several that play poker on an online poker server over IRC (Internet Relay Chat). Three of these programs are r00lbot, replicat and xbot (although variations of these sometimes run under different names). Additionally there are two public domain programs: Smoke'em Poker for Microsoft Windows, as well as Seven-Card Stud and Texas Hold'em implementations by Johann Ruegg for the UNIX curses package. There are numerous approaches by commercial companies, although only a few have a target audience of professional players. The best of these is Turbo Texas Hold'em by Wilson Software (http://www.wilsonsoftware.com). It is an extremely rule-based system.
The final section discusses the architecture selected for our poker player and the reasons behind the selection.