[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnugo-devel] Proposed owl_determine_life() improvement

From: Nando
Subject: [gnugo-devel] Proposed owl_determine_life() improvement
Date: Sun, 3 Nov 2002 07:04:10 +0100


Let's take an example, it will be easier to explain.


In this position, the engine just played a for the defender and now
looks for an attack for O. The function owl_determine_life() is
called and finds 1 secure eye in the corner, a half-eye and a lunch
(the O stones on the bottom) which is worth 1 possible eye. It
results in a returned probable_eyes of the form 'a2cd', because this
portion of code doesn't notice that b saves the lunch _and_ keeps
the second eye falsen. Since the position happen at a stackp higher
than owl_distrust_depth and since no vital attacks were found, the
engine gives up the attack with a "getting deep, looks lively",
thinking that the defender already has 2 eyes...

The patch addresses such situations.

Regression breakage :

nngs1:46    FAIL   Unrelated. The previously returned move (B12)
                   was not good, since it doesn't address the
                   real issue (security of the UR group). I'd
                   suggest to revise the test to make it more

golife:2    PASS   properly solved

global:32   PASS   Improved. Gnu Go now understands that E13 neither
                   kills nor saves the big white dragon. But, it
                   still doesn't see that allowing white to play G8
                   would result in a dangerous semeai (which black
                   would loose I think)

handtalk:2  FAIL   Accidental. With --owl-node-limit 1200, the test
                   succeeds. Another way to deal with it is to raise
                   a bit the value of D1401 (I tested it has no
                   other impact than fixing this fail). Not sure
                   it's the "right thing" to do though.

nngs2:480   PASS   Improved. Gnu Go now sees the danger for the
                   J9 dragon (that's good), but I'm not so sure
                   that the move found (J6) secures life.

nando_3_12.1a generates 2 aditional FAILures, which are properly
(IMO) solved by nando_3_12.1b. In both cases, Gnu Go thought that
a group was safe, which was actually correct, but it was based on
misreadings. The new eye pattern solves nicklas1:1801 properly
(the owl code is actually already able to find this move, but under
circumstances, like being over owl_branch_depth, only the very
first move found is tried) and the generalisation of D318 solves


Attachment: nando_3_12.1a
Description: Text document

Attachment: nando_3_12.1b
Description: Text document

reply via email to

[Prev in Thread] Current Thread [Next in Thread]