Ticket #153 (new defect)
Misevaluation of cutting moves. Intransitivity in connections
| Reported by: | alain | Owned by: | gnugo |
|---|---|---|---|
| Priority: | normal | Milestone: | 3.9.x |
| Component: | source | Version: | |
| Severity: | major | Keywords: | |
| Cc: | patch: | yes |
Description (last modified by alain) (diff)
Cutting the tail of a dragon, and capturing it is valued nearly zero, (more precisely only the value of the move without the capture).
For Black at move 178 (last chance), M12 is valued 4.2, it is worth 40.0
Move at M12 threatens to attack M14 Move at M12 expands territory Move at M12 connects N13 and J11 M12: 5.00 (followup) - threatens to capture M14 M12: 2.11 - change in territory M12: 5.00 - total followup value, added 0.00 as territorial followup M12: 2.32 - added due to followup (5.00) and reverse followup values (0.00) M12: -0.21 - shape (shape values +1.00(1) -2.00(1), shape factor 0.952) Move generation values M12 to 4.21 3. M12 4.22
mv 179 M11 for White is valued 0.11 !
pattern 'CC43'+3 matched at M11 Move at M11 threatens to attack O11 Move at M11 cuts L13 and J11 Move at M11 strategically or tactically unsafe M11: 2.92 (followup) - threatens to capture O11 M11: not a safe move M11: 0.01 - change in territory M11: 2.92 - total followup value, added 0.00 as territorial followup M11: 0.10 - cut/connect dame bonus Move generation values M11 to 0.11
Attachments
Regression Results
| Attachment | Rev. | PASS | FAIL | Nodes | Status | |
| intransivity_7_11.1.diff | 2381 | patch does not apply | details |
Change History
Changed 5 years ago by alain
-
attachment
al1-ggexp-mv-178-M11.sgf
added
comment:1 Changed 5 years ago by alain
Using GoGui? too analyse this : W M11 is worth 28 points for the estimator.
estimate_score = W+65.2 (upper bound: 68.8, lower: 61.6) play w M11 = estimate_score = W+93.0 (upper bound: 121.4, lower: 64.5)
comment:3 Changed 5 years ago by alain
Comment from Nando: This is intransitivity example:
- A-B are connected
- B-C are connected
- A-C can be cut
WIP: Look at pattern CB3b in conn.c
comment:4 Changed 5 years ago by nando
Yup, I was thinking of this:
Pattern CB3c O!O .*. .OX :8,B c!a .*. .bX ;!oplay_disconnect(b,c) ;&& !oplay_disconnect(c,a) ;&& xplay_connect(*,a,b) != WIN
Note: the oplay_disconnect() aren't expensive per se, since they will be verified sooner or later (during amalgamation in find_connections())
It could work alone, but maybe we additionally need something like following (which would also cover intransivities found by pattern CB2b)
Pattern CC403 O.O ..x fragile double connection .O? :8,- dbc .ax .e? ;xcut(a) && xcut(b) && !xplay_disconnect(c,d) && !xplay_disconnect(d,e) && xplay_connect(a,c,e) != WIN >amalgamate_most_valuable_helper(c,d,e);
As we said in our chat on KGS, a better solution would be to algorythmically find intransivities. I tried once and failed (just too expensive). Maybe you can come up with something... In the meantime, fixing this issue with a few patterns looks acceptable to me (provided they don't break anything and aren't too expensive, of course)
comment:5 Changed 5 years ago by nando
I wish I could edit my previous comment...
I meant "... found by pattern CB3b"
comment:6 follow-up: ↓ 7 Changed 5 years ago by nando
- patch set
I tested my proposed patterns. First with CB3c alone:
Total nodes: 1693715088(+0.1%) 3342094(+0.2%) 12606306(+0.1%)
Breakage:
nando:23 PASS 0 [0] kgs:220 FAIL N12 [T10] kgs:340 PASS L4 [L4]
The PASS in nando:23 is simply ok.
N12 in kgs:220 is also rather big, but probably overvalued with the patch. The more important problem I see in this testcase is the fact that S9 is still seen as an OWL defense of T9.
L4 in kgs:340 is not bad, but the move only gets better valued because of the local connection issue. The engine still doesn't see the followup(s) (saving the stones on the right)
PS: Gunnar, does the tst() macro still work ok ?
comment:7 in reply to: ↑ 6 Changed 5 years ago by gunnar
Replying to nando:
PS: Gunnar, does the tst() macro still work ok ?
Now it's repaired. Thanks for noticing.
comment:8 Changed 5 years ago by alain
Another case : iliya-gorbyn-w134-h10.sgf. Just before W134 cut at H10:
Owl_attack E17: 0 owl_defend E17: WIN H10 (defense effective)
So E17 is said alive => no need to connect in H10! But once W has cut, black E17 is dead.
Some logic need to be improve, when owl_defense is connect, then the cut/connect move is worth a lot.
comment:9 Changed 5 years ago by alain
- Summary changed from Misevaluation of cutting moves to Misevaluation of cutting moves. Intransitivity in connections
Another example of intransitivity in connections:
http://files.gokgs.com/games/2006/12/29/mamago-ggexp-2.sgf move 126+

mv 178 last chance to connect and prevent M11 cut (40 points)