On Aug 31, 2009, at 10:12 PM, terry mcintyre wrote:
If you maintain a list of "strings" ( connected groups ) of stones
and their liberty counts - or perhaps the actual liberties - it
should be fairly quick to find a string with just one liberty.
I'm currently using pseudoliberties, so that might be tricky. As David
Fotland points out, though, the difference shouldn't be huge.
In any case, if I read the explanation correctly, this happens
infrequently, if several less-expensive tests fail; the cost would
be amortized over many trials.
Ah, that helps some. I was testing just this aspect of the policy; if
I do the escaping and the patterns first, the hit is not as bad
(although worse than I'd like).
My current implementation is:
- Traverse the board. For each point that is the "root" of an enemy
chain, check if that chain is in atari:
- If it has >4 pseudoliberties, it's trivially not in atari.
- Otherwise, traverse it looking for liberties, abandoning the search
if a second liberty is ever found.
- If only one liberty is found, increase the number of stones
captured by playing at that liberty by the size of the chain.
- From those moves that capture, choose the one that captures the most
stones.
Is there a better way?
Peter Drake
http://www.lclark.edu/~drake/
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/