In the pre-flop we do not have the convenience of a percentile hand
valuing system. So
needs to be converted from a percentile
value to a value in the IR scale. To achieve this we use
to index
into a sorted array (sample the nearest point) of the 1326
IR7 values from Appendix A
(for simplicity IR7 is always used).
For example, suppose an opponent raises 30% of all hands,
this translates to hand with IR = +118 (roughly corresponding
to an average of 0.118 bets won per hand played) so we now
use
.
We do not observe
the consistency of an opponent adhering to the
estimated threshold, or of any other specific tendencies.
While two separate opponents may call on average with a 118 hand,
they both may have a very different standard deviation to the
distribution of hands they call with (one may rarely call with a hand
below 0 while another may sometimes play a hand as low as -200).
For the present implementation, we have selected
in an ad hoc manner: 68.26% of the
hands (or two standard deviations in a normal distribution)
lie in the income rate range -323 to +336.
However, we only use a linear interpolation
for re-weighting values within the range (
,
)
rather than an S-curve based on a normal distribution.
However, there is one clear source of error when
is very low. Consider a player who has been observed
to take a certain action in a certain situation 100% of the time.
We re-weight with
(the lowest value), but this means that
even the hands with the lowest IR will only be re-weighted with
a factor of 0.5 (which should be 1). For this reason,
we do not re-weight when
is
below the 5th percentile (-433 in IR7).
A more accurate fix is possible, but is unlikely to be worth the
added complexity.