Three main approaches to program design were summarized in this chapter: the expert system (hard-coded rules based on the knowledge of an expert), game-theoretic optimal strategies, and simulation/enumeration-based. The first two approaches have some obvious limitations. However, the different approaches can be combined to various extents.
While there are many poker-playing programs, none are very strong, and few make source code or a description of the inner workings available. Also, with the exception of Findler and Koller/Pfeffer there are few resources in the computing science literature. There is also little on building a high-performance poker program, except for some ideas presented in [2].