gnugo-devel
[Top][All Lists]
Advanced

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

[gnugo-devel] move valuation patch


From: Gunnar Farnebäck
Subject: [gnugo-devel] move valuation patch
Date: Sun, 05 Dec 2004 21:38:56 +0100
User-agent: EMH/1.14.1 SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/21.3 (sparc-sun-solaris2.9) MULE/5.0 (SAKAKI)

Ideally a tactically critical dragon should never be amalgamated to an
alive dragon. Sometimes this happens, however, like in testcase
strategy:13. This is partly due to a reading mistake, reading:194.

What I want to discuss here is that in such situations the move
valuation becomes worse than it should have to be. In strategy:13 the
correct move is clearly black N18, which would solve all local
problems. Unfortunately L17 (and L18) is valued higher, 29 points
versus 23 points.

What is really odd here is that N18 has all significant move reasons
that L17 has plus a couple more owl, semeai, and connection move
reasons, so it really shouldn't be valued lower. The problem is with
the territorial valuation, which for the L16 string, the one which is
tactically critical while part of a living dragon, is directly weird.

Of the L16 stones, the L17 move gets delta-territory of two points for
nine stones, 0 points for L15 and L14, and -0.16 for L16. This doesn't
make much sense but the valuation for the N18 move is even worse.
Seven of the stones has 0 delta-territory, and the rest 1.0, 0.84,
0.65, 0.65, 0.60, 0.60. Take a look with view.pike to see for
yourselves.

The patch below solves this problem and makes the valuation of the L16
string consistent. Afterwards N18 is valued significantly higher at 49
points, with N15 second at 29.

The full regression results are:

strategy:13     PASS N18 [N18]
kgs:230         PASS J19 [J12|J11|L10|L9|J19]
2 PASS
Total nodes: 1668138986 3068264 13283102 (-0.0023% -0.023% +0.00018%)

Kgs:230 is similar with the huge L19 string considered tactically
critical but alive as a dragon (actually not amalgamated with anything
else).

/Gunnar

Index: engine/move_reasons.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/move_reasons.c,v
retrieving revision 1.128
diff -u -r1.128 move_reasons.c
--- engine/move_reasons.c       24 Aug 2004 15:24:30 -0000      1.128
+++ engine/move_reasons.c       22 Sep 2004 15:39:55 -0000
@@ -594,7 +594,8 @@
 concerns_noncritical_dragon(int pos, int what)
 {
   UNUSED(pos);
-  return dragon[what].status != CRITICAL; 
+  return (dragon[what].status != CRITICAL
+         && worm[what].attack_codes[0] == 0);
 }
 
 




reply via email to

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