[Top][All Lists]

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

Re: [gnugo-devel] disconnect crash (was dynamic connection status)

From: Gunnar Farneback
Subject: Re: [gnugo-devel] disconnect crash (was dynamic connection status)
Date: Sun, 20 Jan 2002 15:02:05 +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 logic in the komaster == GRAY case is simply wrong but I don't
> > have a solution available. Until someone can come up with a fix for
> > this I suggest we change KOMASTER_SCHEME to 2 or 3.
> This logic is OK. But there was a bug in komaster_trymove. 

I don't think so. The comment about not remembering who was komaster
before it turned gray is a real issue. The is_ko() and is_suicide()
tests should only be made for one of the colors, not both.

> The ko point didn't get moved when the ko was taken unless komaster was
> color. This looks clearly wrong and in Gunnar's example led to a mismatch
> between the ko point and the actual location of the last ko taken after 
> B:E7 W:F7 B:E9. Because of this the ko appeared (wrongly) to have been
> resolved and the komaster reverted to EMPTY.

No, the ko point shouldn't be moved in this case. We want the komaster
to be cleared if the original conditional ko capture is resolved, not
if the later ko capture by the other color (which causes komaster to
turn gray) is resolved. Well, actually we may want it to revert
partially in the latter case, but then we need a bit more complexity
in the model.

As "proof" of this statement I offer this position, sgf at the end of
the message:

   A B C D E F G H J
 9 . O X . . . . X . 9
 8 O O X . X X X X . 8
 7 . O X X X O O X X 7
 6 X X O O O . O O O 6
 5 . O X X O O O . . 5
 4 O O O X X X O O O 4
 3 O X O O O X X X X 3
 2 X . X X O O X . X 2     WHITE has captured 0 stones
 1 . X . X O X . X . 1     BLACK has captured 0 stones
   A B C D E F G H J

The problem is whether the white B5 string can be tactically defended.
Obviously white has to take the ko at B2. Equally obvious the only
move for black is to recapture at B3, turning komaster to BLACK and
kom_pos to B2. Next white is not allowed to recapture once more due to
the komaster scheme so the only move is G1, a different ko capture
which is allowed. This turns komaster to GRAY and kom_pos moves to F1
after Dan's patch, but remains at B2 before the patch.

After this black wins the fight by filling the ko at B2. Nothing
happens with komaster and kom_pos at this move. Next white has no
useful move and (implicitly) passes. Black still has to prove it can
in fact capture white and must start with F1.

Before the patch kom_pos would be at B2 and it would be realized that
this ko had been resolved, so komaster would revert to EMPTY now. Thus
black would be allowed to capture at F1 and later at A5.

After the patch kom_pos would be at F1, but this ko hasn't been
resolved, so komaster would remain gray, disallowing black to capture
at F1. Thus black has no useful move and B5 is considered tactically
safe. This is clearly wrong.

Below is a table with the result of "defend B5" and the number of
tactical reading nodes for the different komaster schemes (1a before
the patch, 1b after the patch).

1a:   GOOD_KO  B2    192 variations
1b:   WIN      B2    216 variations
2:    GOOD_KO  B2    177 variations
3:    GOOD_KO  B2    177 variations 
> This patch doesn't break any regressions in the first
> batch and gives two unexpected PASS, namely
> ld_owl:193 and 199.
> For reading.tst the node count jumped from 113585 to 115470.
> For ld_owl, the node count jumped from 
> 3193474 (tactical) and 12514 (owl) to
> 3249085 (tactical) and 12267 (owl).

Let's add the remaining komaster schemes to this comparison:

                               1a       1b       2        3
reading.tst, tactical nodes  113585   115470   114218   114127
ld_owl.tst, tactical nodes  3205945  3261695  3236102  3212039
ld_owl.tst, owl nodes         12069    11801    11768    11793
unexpected passes              -     193,199  193,199  193,199

It seems the two latter komaster schemes have an edge, given the
available evidence.


GN[White (W) vs. Black (B)]
SY[Cgoban 1.9.10]TM[30:00+30:00/25];

reply via email to

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