Until enough data has been accumulated for a category (20 points, this value was selected arbitrarily), we weight the frequencies with hard-coded defaults7.1d[c][a], and mix the observed frequencies with the defaults, using linear interpolation:
However, each player will play the earlier rounds more than the later rounds ( i.e. more pre-flops than flops, and so on). Assuming that a player's style does not change drastically between rounds, we can take advantage of data gathered in prior rounds and use only one set of defaults and a recursive definition of frequency. To this end, we must first adjust the notation to consider the round. Given that the definition for the category c is composed of a round r and number of bets to call b, we can also define c as (r,b) where r=0 for the pre-flop. Now we can recursively define the new frequency function f'' based on the reduced set of defaults d'[b][a]:
An alternative approach would have been to use Loki's own frequencies as the default behavior for opponents, however the majority of human players on IRC were observed to play much looser than Loki. The default frequencies were therefore based on a typical IRC player (and do not involve any additional computation).