I've found a misfeature with the owl cut functionality. The idea of
owl cuts is that certain patterns (owl attack patterns with the C
attribute) can force a recomputation of the goal area. This is done by
a connectivity analysis and the largest connected component is
retained as goal.

To see what can go wrong, consider testcase auto02:8,

   A B C D E F G H J K L M N O P Q R S T
19 . . . . . . . . . . . X . . . . . . . 19
18 . . O . O . . . . . X O X . O . O . . 18
17 . . X O . . . . O . . O . X . X O . . 17
16 . . X + . O . . . + . O . X . X X O . 16
15 . . . X . . . . . . . . . . . . . . . 15
14 . . . . . X . O . . . . . O . . . . . 14
13 . . . . . . X . O . . . . . . O . . . 13
12 . . . . . . . X . O . . . O . . . . . 12
11 . . X . . . . . X O . . O . . . . . . 11
10 . . . + . . . . . X . O . . . X . . . 10

The objective is to owl_attack Q17. Although this testcase passes,
some strange things happen along the way. In the first variation, the
moves W S15, B J18, W H18, B K17, W J16, B K19 are played, leading to

   A B C D E F G H J K L M N O P Q R S T
19 . . . . . . . . . X . X . . . . . . . 19
18 . . O . O . . O X . X O X . O . O . . 18
17 . . X O . . . . O X . O . X . X O . . 17
16 . . X + . O . . O + . O . X . X X O . 16
15 . . . X . . . . . . . . . . . . . O . 15
14 . . . . . X . O . . . . . O . . . . . 14
13 . . . . . . X . O . . . . . . O . . . 13
12 . . . . . . . X . O . . . O . . . . . 12

All black stones in the upper right belong to the goal. Now comes the
funny part. When white plays P17 (pattern A718, a C pattern), Q17 is
removed from the goal. This is perfectly fine but then do_owl_defend()
promptly declares that it has successfully escaped, apparently to Q17!

For more graphical boards, see
http://83.250.34.74/gnugo/trac.cgi/ticket/16

/Gunnar


_______________________________________________
gnugo-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnugo-devel

Reply via email to