Ticket #43 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

Owl cuts, goal dragons and origins

Reported by: nando Owned by: gnugo
Priority: normal Milestone: 3.7.9
Component: source Version:
Severity: normal Keywords:
Cc: patch: yes

Description (last modified by nando) (diff)

I witnessed recently something weird while analyzing some OWL reading. It happened that an owl attack against an isolated (invading) stone succeeded (at stackp == 14 or so), just by tactically capturing that original lonely stone, despite the following facts:

  • the original stone had been at some point cut off from the goal
  • the rest of the group built along the variations had managed to get life

The appended patch is an attempt (IMO incomplete, see below) at fixing this problem.

Breakage:

auto02:7        PASS 1 S15 [1 (S15|R15)]
auto02:8        PASS 1 M18 [!0]

Nodes counts:

Total nodes: 1651143209 3235170 11909903

I didn't bother analyzing those passes, because the patch looks so much like a bugfix that I strongly doubt that they could be accidental. Moreover there are problems I'd like to discuss before going further.

The first problem I can see with this patch, is that it doesn't fix the problem: it is still possible that an owl reading focuses on a target (the str parameter) which is no longer part of the goal. This is due to the fact that I followed the convention previously used for captures in the new static function select_new_goal_origin(), namely that the new origin has to be one of the original strings under attack. Which brings me to the second topic.

Given the above mentioned convention, it is likely that GG will refuse to sacrifice a light invasion stone for the sake of making a group alive in the opponent's sphere of influence. Conversely, GG might be too optimistic in the treatment of such opponent stones filled with aji when the opponent is invading GG's moyo.

A test of a different policy (use whatever string still present in the goal as new origin) is quickly done and shows 11 passes and 18 failures. Do you guys think this issue is worth investigating or did I miss some important point ?

Attachments

nando_7_8.2.diff (1.9 kB) - added by nando 3 years ago.
If necessary and possible, select a new origin after an OWL cut occured

Regression Results

Attachment Rev. PASS FAIL Nodes Status
nando_7_8.2.diff never tested

Change History

Changed 3 years ago by nando

If necessary and possible, select a new origin after an OWL cut occured

Changed 3 years ago by nando

  • description modified (diff)

Changed 3 years ago by gunnar

  • status changed from new to closed
  • resolution set to fixed

Regarding auto02:7,8 they might very well be accidental. I haven't checked what's going on here but as far as testcases go these are very fragile and can switch result from almost any owl change.

Also for auto02:7, compare #16.

Changed 3 years ago by gunnar

  • status changed from closed to reopened
  • resolution fixed deleted

Something's wrong with my reflexes, automatically clicking fixed before clicking submit.

Well, let's just imagine that I wanted to test ticket reopening...

Changed 3 years ago by nando

Right you are, I just made the simple check with CVS and a bit more OWL nodes (1100), and both pass.

Though, it seems the patch has improved the reading in this case, since some variations involving capturing Q17 after it has been cut off the goal, aren't explored any longer by the patched version, and it makes the node count drop just below the current limit of 1000.

Changed 3 years ago by gunnar

Breakage updated against 3.7.8:

auto02:7        PASS 1 S15 [1 (S15|R15)]
auto02:8        PASS 1 M18 [!0]
2 PASS
Total nodes: 1677867424 3275055 12462682 (-0.0064% -0.15% +0.033%)

I see no reason not to use this patch.

Changed 3 years ago by gunnar

  • milestone changed from 3.8 to 3.7.9

Changed 3 years ago by arend

About the bigger problem: I agree that this logic "original stones captured => declare WIN" has problems, but it is necessary until something better has been found. The problem is that the "new parts" of the dragon may be stones of another dragon, to which a small, irrelevant tail of the dragon under attack managed to connect out.

Possibly one should distinguish between newly played stones, and originally existing stones that became part of the owl goal.

Changed 3 years ago by gunnar

The patch was added some time ago so I'm closing this picket now, with the bigger problem forked off to #114.

Changed 3 years ago by gunnar

  • status changed from reopened to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.