[Top][All Lists]

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

Re: [gnugo-devel] Inessential worms

From: Gunnar Farneback
Subject: Re: [gnugo-devel] Inessential worms
Date: Sun, 25 Nov 2001 14:12:44 +0100
User-agent: EMH/1.14.1 SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/20.7 (sparc-sun-solaris2.7) (with unibyte mode)

Dan wrote:
> The reason this change is needed is to prevent spurious
> amalgamations of dragons, a known problem. For an example
> of this look at the A12/A14 dragons in semeai6.sgf. The
> B dragon is wrongly considered inessential. (Run gnugo -T
> and see that the two dragons it adjoins are considered
> connected.)

The long-term solution to the amalgamation problems is to give
readconnect responsibility for doing the amalgamation. For the time
being, any change of inessential strings that improves matters is okay
with me.

>       for (m = 0; m < board_size; m++)
>       for (n = 0; n < board_size; n++) {
>         int apos = POS(m, n);
>           int safetya, safetyb;
>           if (board[apos] != other
>               || worm[apos].origin != apos
>               || !adjacent_strings(pos, apos))
>                  continue;
>           owl_analyze_semeai(pos, apos, &safetya,
>                              &safetyb, NULL, 0);
>           if (safetya != DEAD)
>               return 0;
>       }

Wouldn't it be easier and faster to do this with chainlinks()? Or am I
missing something?


reply via email to

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