Ticket #215 (new enhancement)
Opened 6 months ago
Static safety
| Reported by: | gunnar | Owned by: | gnugo |
|---|---|---|---|
| Priority: | normal | Milestone: | 3.9.x |
| Component: | source | Version: | |
| Severity: | normal | Keywords: | |
| Cc: | patch: | yes |
Description
In the testcase endgame:1010,

















































































This ticket aims to create a new reading paradigm which should be able to determine safety with high confidence (but not unsafety). I.e. if it says that a dragon is safe it really is safe, but if it says unsafe it may or may not be in any actual danger.
The way to do this is to perform search which decides whether the opponent can stop the dragon from becoming unconditionally alive (see unconditional.c). The difference to tactical reading is that it terminates with either capture or unconditional life, in contrast to either capture or 5 liberties (fewer deep in the tree). The difference to owl reading is that it does not rely on eyespace calculations (sometimes incorrect). In contrast to both tactical reading and owl reading it shouldn't be selective at all but actually try all local moves.
The attached patch gunnar_9_1.6 adds a first crude implementation of this kind of reading. It's only available through the new GTP command static_safety. Try e.g. static_safety E2 in the position above. In this state it's not yet efficient enough to correctly find that B8 is safe, however, but that shouldn't be too hard to fix with an improved search.
Attachments
Regression Results
| Attachment | Rev. | PASS | FAIL | Nodes | Status | |
| gunnar_9_1.6.diff | never tested |

