Consideration of these other programs and the various advantages of the different approaches led us to select a primarily enumeration-based approach for the purposes of this thesis. There were several reasons:

- The expert system is too limited and context sensitive (the game is far too complex to cover all possible contexts). It also is inflexible, and will inherit any error in the designer's approach to the problem.
- The game-theoretic optimal strategy is very complex to compute and, if such a system could be built, presumes optimal play on the part of the opponents. We are working under the assumption that our opponents will make errors and therefore maximal play is preferable.
- An enumeration-based approach is easy to combine with an opponent modeling system based on the probability distribution of possible opponent holdings.
- Most of the desired values are computationally feasible in
real-time. Where this is not so, there are many ways to
calculate good approximations of the measures
(
*e.g.*random simulation, pre-computation, heuristics). - Values calculated by enumeration (as opposed to simulation) are more accurate since random sampling introduces variance, and rule-based systems are subject to systemic error.

* Loki* (Figure 4.3) is a complete poker-playing
program (able to play a full
game of Texas Hold'em unaided). There are three main co-dependent
components which control the play of the
program. These components are discussed in the following chapters.
They are ** hand evaluation** (using the opponent models and game state,
it generates values which roughly correspond to
the probability of holding the strongest hand),
** betting strategy** (it uses the values generated by hand evaluation,
the opponent models, and the game state to determine the best action),
and ** opponent modeling** (it translates the betting history of the opponent
into information about betting behavior and possible hands held).