Loki-1's design has several limitations. First, expert knowledge appears in various places in the program (Bettor, Opponent Modeler), making Loki-1 difficult to maintain and improve. Second, the Bettor is deterministic (it always returns the same single action: fold, call, or raise, given identical input). This makes Loki-1's betting actions predictable. Finally, the Opponent Modeler does not distinguish between the different actions that an opponent might take (a call and a raise are treated the same) and does not perform ``negative reweighting''. The lack of negative reweighting gives a pessimistic vision to the Hand Evaluator, since the weights of the top hands are never decreased when a less aggressive opponent's action is observed. These issues led to a redesign of how knowledge is used in Loki-2.
The new version of Loki, called Loki-2, makes two fundamental changes to Loki-1's architecture. First, it introduces a data object called a probability triple that is used throughout the program. Chapter 4 explains probability triples in detail. For now consider a probability triple as three values defining the probability distribution of the betting actions (fold, call, raise) in a given context. In fact, Loki-2's architecture revolves around generating and using probability triples. Second, simulation with selective sampling is used to refine the betting strategy (see Chapter 5).
Figure 3.2 shows Loki-2's architecture. The Triple Generator contains the poker knowledge, and is analogous to an evaluation function in two-player games. The Triple Generator uses the hand value provided by the Hand Evaluator, the current game state, and expert-defined betting rules to compute a probability triple. Probability triples are used in three places in Loki-2. The Action Selector uses a single probability triple to decide what action to take (fold, call, raise). The Simulator uses probability triples to choose actions for simulated opponent hands. The Opponent Modeler uses an array of probability triples (PT) to update the weight table of each opponent. Loki-2 can be used with or without selective sampling simulation, as shown in the diagram. With simulation, the Simulator component replaces the simpler Action Selector.