Loki-2 performs generic opponent modeling (GOM) in the sense that it uses the same PT generation function for all the opponents without accounting for each opponent`s playing style. Obviously, treating all opponents the same is clearly wrong. Each player has a different style, ranging from loose (plays most hands beyond the flop) to tight (usually plays only those hands that have a very high probability of winning). In addition a player may be passive (calling instead of raising even with a strong hand) to aggressive (raising instead of calling). If the style of an opponent is known, a player can adjust betting decisions based on the opponent's style. For example, a perceived tight player who bets aggressively, probably has a strong hand. A loose player will play many marginal hands or may bluff a lot. This is useful information and may allow a player to fold a strong hand or call with a weak one when it is correct to do so. In general, a bet made by a loose aggressive player should not be taken as seriously as one made by a tight passive player.
Loki-2 can gather information about the opponents to obtain betting frequencies for each opponent and use this data to customize the PT function to account for the playing style of each opponent. This process is called specific opponent modeling (SOM). The default call and raise thresholds used in the PT generation function can be adjusted by betting frequency statistics gathered on each opponent from previous hands. Thus, the reweighting factors applied to the entries of each opponent's weight table are adjusted to better fit their playing style. For example, assume a tight opponent raises. Since in the case of a tight player, the call and raise thresholds will increase, few PTs generated will have a high raise value. Hence, after reweighting, this opponent's weight table will indicate fewer hands that are likely to be held.
Loki-1 already collected the betting action frequencies of the opponents each round based on the number of bets to call. These action frequencies are used by Loki-2 in the PT generation function to obtain the EHS thresholds required to perform the observed action. The EHS thresholds are obtained in the same way as was done in Loki-1. For example, assume Loki has observed twenty actions by a specific opponent on the turn with one bet to call. Assume the observations are six raises, eight calls and six folds. The EHS raise threshold used for this opponent by the PT generation function when an action is observed on the turn with one bet to call is . The EHS call threshold used is . Besides the accumulated (historic) action frequencies collected by Loki-1, Loki-2 keeps track of the last twenty actions of each opponent observed in the current session. EHS thresholds are calculated from both records (historic action frequencies and last twenty observed actions) and averaged to obtain the EHS thresholds used by the PT generation function. Keeping track of the last twenty actions allows Loki-2 to react more quickly to changes in the opponents' playing style.
Superior opponent modeling is much more complex than the current techniques used by Loki. Players can act to mislead their opponents into constructing an erroneous model. For example, early in a session strong poker players may try to create the impression of being very conservative, only to exploit that image later in that session when their opponents are using an incorrect model about them. Players can also vary their style over a session, and then recency of the information gathered about them has to be considered. Therefore, a strong player must continually adapt the model for opponents who may be varying their playing style or trying to deceive.