[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnugo-devel] Inessential worms
From: |
Daniel Bump |
Subject: |
Re: [gnugo-devel] Inessential worms |
Date: |
Sun, 25 Nov 2001 18:59:43 -0800 |
> > I don't see a very big problem with not having an eye space there. On
> > the other hand I can see a an advantage in not amalgamating since it
> > would simplify valuation of a move which threatens to win the semeai.
>
> This is a consistent point of view. To make it work, we would
> disallow worms which are cutting stones. Thus we would simply
> add a condition !worm[pos].cutstone to the definition of an
> inessential worm.
>
> Some positions that are currently handled by the ordinary life
> and death code would then become semeai, but if we have a reliable
> semeai module that would not be a problem. And semeai6.sgf
> (and variants in which the number of liberties is changed)
> are examples of this.
I ran the regressions with this. That is, with the patch below.
It has no effect on any test. However, it seems to me that this
patch is a good idea. It will have the effect of making semeai()
called more freqently, but we are hoping that semeai() will become
more reliable in the future.
Dan
Index: engine/worm.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/worm.c,v
retrieving revision 1.23
diff -u -r1.23 worm.c
--- engine/worm.c 2001/11/10 14:07:10 1.23
+++ engine/worm.c 2001/11/26 02:55:21
@@ -585,6 +585,7 @@
&& worm[pos].origin == pos
&& worm[pos].genus == 0
&& worm[pos].liberties2 == 0
+ && !worm[pos].cutstone
&& worm[pos].lunch == NO_MOVE)
{
int edge;