gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] 100 game series


From: Daniel Bump
Subject: Re: [gnugo-devel] 100 game series
Date: Thu, 21 Feb 2002 17:57:21 -0800

> Move 66 (when N10 was played) involves a serious semeai mistake. The
> traces say
> 
> | Considering semeai between N18 and M13
> | Changing matcher_status of N18 from CRITICAL to ALIVE.
> | Changing safety of N18 from CRITICAL to ALIVE.
> | Changing matcher_status of M13 from CRITICAL to DEAD.
> | Changing safety of M13 from CRITICAL to ALIVE.
> 
> Notice the inconsistency in matcher_status and safety change for M13.
> That is fixed by the appended patch. Still it is clearly incorrect to
> change M13 to DEAD since it trivially can live by connecting at M14,
> so there's some more bug here. Maybe Dan can comment on this.

Yes, this shows a bug.

The current CVS version doesn't do this, but decides the owl code
is sufficient. So I went back to 3.1.25 (patched with gunnar_1_26.2
and arend_1_26.4).

The owl code finds both N18 and M13 dragons CRITICAL so 
the semeai code gets called. We run owl_analyze_semeai(M13, N18).

There is an implicit assumption around line 514 of owl.c that if
the opponent is alive then we are dead. Moreover, the criterion
for being alive includes the possibility of escape, and since
N18 has escape_route 10, M13 is declared dead without being
given a chance to generate a move. If it were allowed to,
pattern D1001 would find the connection at M14.

There may be multiple changes suggested by this example,
but in a nutshell that is what is happening.

Dan



reply via email to

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