[computer-go] Rotate the dog or the tail?
Mark Boon
tesujisoftware at gmail.com
Mon Jun 26 15:43:40 PDT 2006
I've been off-line for quite a bit longer than I liked, so this may
come a bit late. I haven't been able to catch up with all the
messages yet. My intention to start working on computer-Go has had a
bit of a false start due to housing problems. But we have a house
now, and a wonderful one at that, so I hope I'll be able to
contribute again soon. Still a lot to do around the house, one of
them getting a satellite dish for internet, so I'm not making any
predictions this time about when that will be.
Maybe I can clarify my pattern-matcher experiences. I used the 243-
bin approach in the original Goliath. It actually rarely happens that
a useful pattern has more than one don't cares among the five center
points. So I didn't mind having 9 patterns for those few. A single
don't care happened a lot because of patterns starting on the 1st
line, so those were always stored three times. Still those were a
minority.
Indeed I used 8 boards with the stone information and I did the
matching 8 times for each pattern. This was explained in the Computer
Go article, storing the board information 8 times is cheaper than
storing the patterns 8 times.
In my later pattern-matcher, a Java version of which can be found in
my library that is available on SourceForge, I use a 4-way decision
tree. I found that the performance of such a pattern-matcher comes
close to my original one and it provides more flexibility in the
patterns stored.
In the latter I also don't store the patterns 8 times, just the one
single time. But the decision-tree is built with the 8 orientations
in it. This makes finding the patterns faster in one iteration
instead of eight. This doesn't increase memory very much, as the only
thing that increases in size is the decision-tree. On average it
takes about one node per pattern stored. Still it takes a bit more
memory than the original approach in Goliath, but for computers
nowadays memory doesn't come at such a premium as at the time.
Hopes this helps the discussion. And I hope to be able to post more
soon.
Mark Boon
More information about the computer-go
mailing list