On 7/20/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Jason House said: > Thanks for the documentation. I have a few questions. > > Looking at only the four neighbors to detect eye-like points seems like > it could leave many false eyes and allow captures of dangling chains. > Is there any mechanism to avoid this problem in the play of the bot? Eye detection is a tricky problem. But for immediate captures, bitmaps are fast and easy. 1) Start with bitmap of original stone; shift it up, down (assignment statements) left << & right >>, then AND each result with a bitmap of all vacant points, and if any result is nonzero, the chain is safe. 2) If not, AND each new bitmap with a bitmap of all same-color stones, then OR the results with the old . This gives a bitmap of all friendly stones adjacent to the original. 3) Replace the old bitmap with the new, and repeat the process until either a breathing space is detected or the new bitmap comes out identical with the previous one (hence there are no breathing spaces.)
That's essentially the best that I came up with. Since bit board operations on 19x19 are slow, I've essentially concluded that if I have to loop like that, I'm better off with other methods. Out of curiosity, does anyone have any performance comparisons? I personally am tempted to try 7x7 go since it can fit into a single 64 bit integer...
_______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/