There is a dilemma here. Your suggestion is basically that epsilon0 be a fixed fraction of the (estimated) payoff level in a niche. XCS as presently set up makes epsilon0 a fixed value regardless of niche.

[In fact, it's a fixed percentage of the overall payoff range, as mentioned in Section 4 the paper. But that does not make a difference in principle].

The question, at least in my mind, is whether it is reasonable to make smaller-payoff niches more accurate in absolute terms-- as your suggestion would require. Suppose the payoff in a niche is quite nominal, say 30 out of a total range of 1000 (i.e. some niches pay 1000). And suppose, as you say, that epsilon0 is about five percent of the niche payoff. Then for this niche, the system will try to make distinctions of the order of 1, while for large paying niches, the distinctions will be of the order of 50.

I guess my question is whether, given the low payoff of the first niche, it is worth the system's fussing about distinctions of 1. In terms of the system's overall "income" it wouldn't seem to matter what it does in that niche.

Anyway, that is the way I've done it for the moment, and your suggestion is certainly worth holding in reserve.

You state earlier in the paper that different niches have different payoff levels. This fact is pivotal to developing classifier fitness based on accuracy. But why then do you use a constant value of epsilon 0? Would it not be more appropriate to use a measure more in line with the predicted value, for example eps0 = 0.05*P (5% of the prediction)?