I'm about to implement this. Since I have multiple features (patterns,
is in atari, is adjacent to last play, etc.), the weight is the
product of the weight of all matching features.
I'm thinking about having a table of weights, storing the sum of each
row and the total (like Rémi suggested). I want to do this
incrementally, so if I find a new feature match in a position, I can
multiply its weight by the feature's weight. If I remove a feature, I
can divide.
My question/problem: How do I deal with features that have a weight of
zero? I'm sure there are certain 3x3 patterns that have the weight
zero, such as
###
#*.
#..
with * to be played. It's clear that when this pattern matches, the
total weight is set to zero. How do I find the resulting weight when
removing this pattern, though? Since I can't divide by zero, I would
have to reconstruct the weight by checking all features, which would
be relatively slow. Is there a way this can be avoided, such as
setting all weights to a very low value instead of zero?
Regards,
Isaac
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/