The general structure of a program for a perfect information game, such as chess or checkers, contains an evaluation function and a search algorithm. Loki's knowledge-based betting strategy is, in fact, analogous to a static evaluation function. If deterministic perfect information games are used as a model then the obvious extension is to add ``search'' to Loki's evaluation function.
In checkers or chess, the average branching factor is 3 and
30-40 respectively. One can consider
all possible moves as deeply as resources permit. However, in poker
the existence of hidden information, uncertainty and multiple players
makes the same approach infeasible. There are too many possibilities
to consider. In a two-player Texas Hold'em game there are
possible states at the beginning of the flop and
possible opponent's hole cards (see Figure 4.2 in [19]) plus
multiple possibilities for each betting round. Therefore, computing the complete
game tree for poker is prohibitively expensive in real-time.
If exhaustive search is out of the question, how do we add ``search'' to
Loki?
We can examine (simulate) a representative sample, as large as resources permit, from all the possible game scenarios. The larger the sample and the more informed the selection process, the higher the chances to deduce meaningful conclusions.
A simulation consists of playing out a hand in many likely scenarios, from the current state of the game through to the end, to determine how much money each decision will win or lose. Every time Loki-2 faces a decision, it performs a simulation to get an estimate of the expected value (EV) of each betting action and then chooses the action with the greatest expectation. Inside each simulation, Loki-2 uses probability triples (PTs) to generate actions for all the opponents and itself, as well as, opponent modeling information (weight tables) to bias the selection of opponent's cards.