Ticket #1 (new enhancement)
splee_5_5.1 - break_chain3() revisions
| Reported by: | gunnar | Owned by: | gnugo |
|---|---|---|---|
| Priority: | normal | Milestone: | Future |
| Component: | source | Version: | |
| Severity: | normal | Keywords: | |
| Cc: | patch: | yes |
Description
This is an ancient patch by SP Lee, most recently revised in http://lists.gnu.org/archive/html/gnugo-devel/2004-09/msg00242.html
Finally I had time for my patch 5.5.1b which has been pending for long time. I have minimized the modification so that the tuning is minimum. The original break_chain3 is to find the chain with 3 liberties and check the escape potentials through all the 3 liberties. Suppose a, b and c are the resulting liberties of the chain after playing a stone in turn on the 3 liberties, sorted in decending order. The original function break_chain3_moves only adds break chain moves if b is less than 4 (a>=b, b>=c). My patch changes the above constraint to b less or equal to 4 and c<4. Furthermore I have also added some constraints to let the chain breaking stone not easy to be captured, unless it's a single stone. Regression changes: ./regress.sh . arb.tst 203 unexpected FAIL: Correct 'T7', got 'N3' ./regress.sh . nngs.tst 370 unexpected PASS! 371 unexpected PASS! ./regress.sh . global.tst 22 unexpected FAIL: Correct 'F2', got 'J6' ./regress.sh . 13x13.tst 39 unexpected FAIL: Correct 'H4|J4', got 'J5' ./regress.sh . owl1.tst 263 unexpected PASS! ./regress.sh . nngs4.tst 420 unexpected FAIL: Correct 'G6', got 'F4' ./regress.sh . ninestones.tst 370 unexpected PASS! ./regress.sh . 9x9.tst 210 unexpected PASS! Totally 4 fails and 5 passes. However, the passes are more impressive than fails, refer to the comments in the .tst file: # W misses break-chain (I think!?!) -tm loadsgf games/nngs/Lazarus-gnugo-3.1.17-200112301450.sgf 82 371 attack R5 #? [0]* # Extremely bad misread. (Made GNU Go play at L9 with the last move before # that position.) loadsgf games/wing-yuhiko-gnugo.sgf 115 263 owl_defend M13 #? [1 R11]* On the other hand, most of the regression fails are debatable. I'll put the detailed explaination below. arb:203 12 . O . . O . . . O . . O O O O O O . O 12 11 O . . . . O . . . . . . . . . O X O . 11 10 X O O + O X O O . + . . . . . O X X O 10 9 X X O . O X X O . . . . O . O O X . X 9 8 . X O O O X . X O O . . O O X O X . X 8 7 . X X X X . . X X . O O X X . X . X . 7 6 . . . . X X X . . X X X O X X X X O O 6 5 . . X . . O . . . . X O O O O O O X . 5 4 . . . X . . X . . X . X X X X O X X X 4 3 . . . . . X O . X . . X . O O O O X . 3 2 . . . . . . X . . O O . X O . O O O X 2 1 . . . . . . . . . . . . X O X . O X . 1 A B C D E F G H J K L M N O P Q R S T This is a complicated situation with up to 6 ko's in the lower right corner. I don't think gnugo can really handle this situation until some time in the far future. T7 is a good move in that it makes the black alive for sure and let white not easy to live. However, black is also not dead even playing on N3. For example, B:N3,W:T1,B:T7,W:T3,B:T5. Or B:N3,W:P7,B:R7,W:S8,B:T11. Both before and after patch, the ko_depth is reached during tactical reading (attack n6). Surprisingly, the reading code after patch generates less variations in this situation. global:22 After the patch an extra tactical attack move is generated during owl analysis, resulting in a similar situation as I mentioned in http://lists.gnu.org/archive/html/gnugo-devel/2004-09/msg00238.html. In another word, this patch reveals another weak point of gnugo. 13x13:39 8 . . . . . . . . . . . . . 8 7 . . . + . . + . . + X . . 7 6 . . . X . X X X . . . X . 6 5 . . . . . X O O . . O O X 5 4 . . X + O O X . . O . . O 4 3 . X . O . . . X X O . . . 3 2 . . O . . . . X O O . . . 2 1 . . . . . . . . . . . . . 1 A B C D E F G H J K L M N The move J5 is clearly better than H4 or J4, in my opinion. The black group on lower side has no chance to live. nngs4: 420 12 . . X O . . . . . . . . . . . . O . . 12 11 . . X O . . . . . . . . . . . . O X . 11 10 . . X X . X . . . + . . . . . + X . . 10 9 . . . . . . . X . . . . . . . . . . . 9 8 . . . . . O O X . . . . . . . . . . . 8 7 . . X . X O X O O . . . . . . . . . . 7 6 . . . . O X . X . O X . . . X . X . . 6 5 . . . O . X . . X O . . . . . . . . . 5 4 . . . + O . O . X + O . . . . O . X . 4 3 . . O . . . . . . . . . . O . O X . . 3 2 . . . . . . . . . . . . . . . . . . . 2 1 . . . . . . . . . . . . . . . . . . . 1 A B C D E F G H J K L M N O P Q R S T G6 makes an ineffient shape of black. Although black can then catch 3 white stones, the black group doesn't have 2 eyes and has to catch the 3 stone in the end game. The newly generated move F4 is interesting in that black is threatening to catch G4 (for example B:F4,W:G6,B:G5,W:G7,B:F3), which is larger than the 3 white stones. I don't think there is any misreading here. Any comments and suggestions are welcome.
Attachments
Regression Results
| Attachment | Rev. | PASS | FAIL | Nodes | Status | |
| arend_7_9.16.diff | 2381 | patch does not apply | details | |||
| splee_5_5.1c.diff | 2381 | patch does not apply | details | |||
| splee_5_5.1d.diff | 2381 | 6 | 7 | +0.3% -0.042% +0.1% | details |
Change History
Note: See
TracTickets for help on using
tickets.

