[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnugo-devel] reading patch
From: |
Gunnar Farnebäck |
Subject: |
[gnugo-devel] reading patch |
Date: |
Sat, 19 Mar 2005 22:19:08 +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) |
This patch allows self atari in special_rescue_moves() when it may set
up a snapback. Regression results:
owl1:351 PASS 1 E11 [1 (PASS|E11|F19|G18)]
reading:218 pass
2 PASS (1 PASS, 1 pass)
Total nodes: 1675790408 3161119 13118597 (+0.16% -0.0056% -0.015%)
- special_rescue_moves() revised to allow self atari moves which may
set up a snapback
/Gunnar
Index: engine/reading.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/reading.c,v
retrieving revision 1.156
diff -u -r1.156 reading.c
--- engine/reading.c 7 Dec 2004 04:50:02 -0000 1.156
+++ engine/reading.c 7 Mar 2005 14:04:51 -0000
@@ -1840,10 +1840,12 @@
{
int color = board[str];
int other = OTHER_COLOR(color);
+ int otherlib;
int k;
/* Use approxlib() to test for trivial capture. */
- if (approxlib(lib, other, 3, NULL) > 2)
+ otherlib = approxlib(lib, other, 3, NULL);
+ if (otherlib > 2)
return;
/* Loop over the four neighbours of the liberty, (lib + d). */
@@ -1851,8 +1853,8 @@
int d = delta[k];
if (board[lib + d] == EMPTY) {
- /* Don't play into a self atari. */
- if (is_self_atari(lib + d, color))
+ /* Don't play into a self atari unless we have a potential snapback. */
+ if (is_self_atari(lib + d, color) && otherlib > 1)
continue;
/* Be more demanding when the string has four liberties. (Mostly
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnugo-devel] reading patch,
Gunnar Farnebäck <=