gnugo-devel
[Top][All Lists]
Advanced

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

[gnugo-devel] Surround revisions


From: Nando
Subject: [gnugo-devel] Surround revisions
Date: Wed, 8 Jan 2003 14:56:46 +0100

Following patch implements some large surround code revisions.

The main idea is to restrict the considered set of hostile enclosing
stones to those really involved in the surrounding of the goal dragon.
The implementation uses various algorythms to compute distances and
hostile stones are discarded from the mn array when a pair other
hostile ones can be found which makes the considered one useless.

O.X.O  In this example, the bottom O stone would get discarded.
.....
.O.O.
.....
..O..

Virtual enclosing points are generated at the edge for stones on the
second and third lines. This should account for the edge being a
natural barrier.

In order to compute distances between corners of the convex hull
a sorting by angle algorythm has been implemented. If the distance
between a pair enclosing stones is large, the surround status gets
decreased to WEAKLY_SURROUNDED, or even 0 for very large ones.

O.X.O
.....
.O.O.         This is "more" surrounded than ...

O.XXXXXX.O    ...this.
..........    In this example, the surround status would be lowered
.O......O.    to WEAKLY_SURROUNDED.


Finally, surrounding computations have been moved earlier in
make_dragons() in order to influence the computed escape route just
before the weakness evaluation. When a dragon is WEAKLY_SURROUNDED,
the escape_route is divided by 2. If the dragon is SURROUNDED,
escape_route is simply set to 0. Possibly, better tunings can be
found here.


Regressions breakage : 8 PASSes and 4 FAILs

trevora:130     PASS  Good, value of saving E4 gets increased.
nngs1:20        PASS  Not sure. Value of F17 gets increased because
                      D17 is thought to be weakly surrounded. In a
                      sense, it is not completely wrong...
nngs1:46        PASS  Bogus. G15 doesn't address the real issue.
nngs1:48        FAIL  This one passed recently with a patch I
                      submitted. I was wondering if it was accidental
                      or not. It seems it actually was.
trevor:412      PASS  Looks lucky.
trevor:1060     FAIL  Weird one. A new attack is found at E2 and GG
                      doesn't see the tactical defense H4 G3 F2 during
                      the owl reading, although it can find the
                      combination when asked directly
global:26       PASS  Good. (effect on C14)
13x13:65        PASS  Probably lucky.
nngs3:130       FAIL  I honestly don't know. N14 is big too, but GG
                      should not tenuki such attachments. A specific
                      pattern to solve this ?
safety:5        PASS  Good.
safety:7        PASS  Good.
ninestones:150  FAIL  GG is worried about D14, which is indeed
                      getting a bit surrounded.


Despite the apparently positive PASS/FAIL delta, the results are
actually not so great. On the other hand, the passes in safety.tst are
promising, so I'm rather confident that the patch is a good improvement.


/nando


- surround code revised
- surround status used to correct escape route in make_dragons()
- new utility function square_dist() in board.c

Attachment: surround_3_15.1
Description: Text document


reply via email to

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