gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] bug fixed


From: Gunnar Farnebäck
Subject: Re: [gnugo-devel] bug fixed
Date: Thu, 12 Jan 2006 23:04:02 +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)

Alain wrote:
> in both cases, B19 is the first stone/dragon on the board
> => i suspected loop boundary problem
> 
> In engine/semeai.c : 47 
> #define MAX_DRAGONS 100 
> 
> instead of 50 fixes the problem:
> we have in one case 51 dragons, and in the other 53 

The loops are fine, due to this construction:

  if (num_dragons > MAX_DRAGONS) {
    TRACE("Too many dragons!!! Might disregard some semeais.");
    num_dragons = MAX_DRAGONS;
  }

  for (d1 = 0; d1 < num_dragons; d1++)

What's not fine is that there's no check that neighbor dragons have
numbers below MAX_DRAGONS.

Actually I'm rather sceptical about the approach to truncate the
number of analyzed dragons. I think it makes more sense to entirely
turn off the semeai analysis if there are too many dragons, on the
basis that it would only occur in pathological games where semeai
analysis is not critical for the result. I was going to propose
increasing MAX_DRAGONS first but after looking closer at the two crash
inducing games I changed my mind.

Patch added to the ticket.

/Gunnar




reply via email to

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