7.2 Learning

Each time an opponent makes a betting action, the weights for
that opponent are modified to account for the action. For example,
a raise increases the weights for the stronger hands likely
to be held by the opponent given the flop cards, and decreases the
weights for the weaker hands.

With this re-weighting system we consider two distinct
levels of modeling, as discussed in Section 7.1.2.
First, an opponent's betting actions are used to adjust the weights.
The actual transformation function used for the re-weighting is
independent of the player in question.
A different weight array is still maintained for each opponent, but
a raise observed in a certain category is treated the same for all players.
Second, we maintain data between games (the action frequencies) and
these frequencies are used to adjust the transformation function itself.
This technique is called specific opponent modeling,
because the re-weighting depends on the opponent's
model. In fact, the only difference between the two levels is that without
specific opponent modeling, the re-weighting function always
uses the generic default frequencies ( i.e.f''p[r,b][a] = d[b][a]).

The remainder of this section discusses the general idea of the
re-weighting system, and then presents the specific details
with respect to the pre-flop and post-flop rounds.