Ticket #99 (closed defect: fixed)
possible decide-dragon error
| Reported by: | terrymac | Owned by: | gnugo |
|---|---|---|---|
| Priority: | normal | Milestone: | 3.7.9 |
| Component: | patterns | Version: | |
| Severity: | normal | Keywords: | |
| Cc: | patch: | yes |
Description (last modified by arend) (diff)
The following go problem ( taken from Mastering the Basics, Volume 2, problem 25 ) the output of gnugo --decide-dragon B2 is:
$ gnugo --decide-dragon B2 ld_0025.sgf finished examine_position B2 cannot be attacked (3 variations) B2 can be defended at D1 (2 variations)
This is incorrect; the two white stones can be attacked at B1 - which gnugo does discovers, when asked the status of the B3 group.
;GM[1]FF[4]CA[UTF-8]AP[CGoban:2]ST[2] RU[Japanese]SZ[19]KM[0.00] PW[loser]PB[to win]AW[ap][bp][cp][dp][ep][eq][br][cr][er][es]AB[aq][bq][cq][dq][ar][dr])
Attachments
Regression Results
| Attachment | Rev. | PASS | FAIL | Nodes | Status | |
| gunnar_7_9.8.diff | never tested |
Change History
comment:2 Changed 6 years ago by arend
- Keywords reading error removed
- Component changed from source to regressions
- Description modified (diff)
comment:3 Changed 6 years ago by gunnar
So the position looks like this,






























and the question is whether the two white B2 stones be attacked. (Actually this is not in itself a central question since it would be perfectly fine to sacrifice them in order to capture the black stones. But here it works out the same.)
Since this is a very simple position with only a few nodes visited, the trace output is quite small:
$ ./gnugo -l ld_0025.sgf --decide-dragon B2 -t
finished examine_position
owl_attack B2
eye space at B1 of type 310
save lunch at A3 with B1, score 81, probable eye 2, max eye 2
Trying black B1. Escape = 0. Current stack: B:B1 (variation 1)
Pattern D1325 found at D1 with value 86
Trying white D1. Escape = 0. Current stack: B:B1 W:D1 (variation 2)
A4 (2) B4 (2) C4 (2) D4 (2) E4 (2) E3 (2) B2 (1) C2 (1) E2 (2) D1 (2) E1 (2)
save lunch at A3 with C1, score 81, probable eye 2, max eye 2
save lunch at B1 with C1, score 61, probable eye 1, max eye 1
Variation 2: ALIVE (2 or more secure eyes)
Pattern A608 found at B1 with value 75
B2 cannot be attacked (3 variations)
[...]
The problem is quite clear. After black B1, white D1, all white stones are suddenly part of the dragon and it's considered safe. Naturally that analysis is bogus. How to solve it is somewhat less clear. The simplest solution is to adjust patterns, in particular D1325 which came up with D1, but there may be good reasons to fix it more systematically in the owl code.
comment:4 Changed 6 years ago by gunnar
- Component changed from regressions to patterns
- Milestone changed from 3.8 to 3.7.9
The attached patch gunnar_7_9.8 adds the position as a testcase. It also revises the constraints of D1322 and D1325 to check that neither of the own strings is in atari, making the move meaningless. Finally D1327 and D1328 are removed since they mostly duplicate D1322 and D1325.
comment:6 Changed 6 years ago by gunnar
The regression results are, excluding the new testcase,
gunnar:83 FAIL N10 [M10] 1 FAIL Total nodes: 1683384885 3314439 12620693 (-0.029% -0.097% -0.016%)
This fail is totally accidental though, since the only direct effect of the patch is that the status of N9 changes from alive to critical, which is obviously correct.

