[Top][All Lists]
[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: |
Wed, 20 Oct 2004 05:07:54 +0200 |
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) |
Sometimes an owl critical dragon has multiple tactical defenses as
well, some of which only work with ko or with a worse ko than is
possible to get. This patch devalues such moves.
Regression results:
arb:203 FAIL N3 [T7]
trevorb:140 PASS K2 [!H4]
trevorb:960 PASS C3 [!D5]
nicklas2:2103 FAIL A7 [PASS]
global:44 PASS D5 [D5]
nngs3:1080 PASS K7 [!H7]
olympiad2004:103 PASS C18 [C18]
5 PASS
2 FAIL
Total nodes: 1617186235 2971992 12876935 (-0.17% -3.4e-05% -0.14%)
Breakage analysis:
arb:203 The value of N3 increases when the DEFEND P1 move reason
is revalued. The change doesn't effect the territorial
value, probably because P1 is inessential, but now the
move gets a smallish but positive secondary value
instead of two negative penalties (defense only with ko
and suspected ineffective defense). This mostly seems
accidental.
trevorb:140 Good pass. (There may be other issues there but the
change in move valuation is definitely for the better.)
trevorb:960 Very good pass. Actually similar to trevorb:140 but more
clear-cut.
nicklas2:2103 Accidental failure. The problem is with group safety
estimation and the patch removes a bogus penalty for
suspected ineffective defense.
global:44 The move valuation is rather confused but the patch
looks like a real improvement.
nngs3:1080 Mostly accidental.
olympiad2004:103 Good pass.
- devalue tactical defenses of owl critical dragons when there are
better owl defenses elsewhere
/Gunnar
Index: engine/value_moves.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/value_moves.c,v
retrieving revision 1.131
diff -u -r1.131 value_moves.c
--- engine/value_moves.c 13 Sep 2004 10:45:11 -0000 1.131
+++ engine/value_moves.c 22 Sep 2004 15:40:26 -0000
@@ -1866,7 +1866,18 @@
secondary_value += 0.2 * this_value;
break;
}
-
+
+ if (DRAGON2(aa).owl_status == CRITICAL
+ && (owl_defense_move_reason_known(pos, aa)
+ < defense_move_reason_known(pos, aa))
+ && !semeai_move_reason_known(pos, aa)) {
+ DEBUG(DEBUG_MOVE_REASONS,
+ " %1m: %f (secondary) - ineffective defense of %1m
(critical)\n",
+ pos, 0.2 * this_value, aa);
+ secondary_value += 0.2 * this_value;
+ break;
+ }
+
/* Mark the string as saved, for evaluation in the influence code. */
mark_changed_string(aa, safe_stones, strength, INFLUENCE_SAVED_STONE);
TRACE(" %1m: defense of worm %1m\n", pos, aa);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnugo-devel] move valuation patch,
Gunnar Farnebäck <=