[Top][All Lists]

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

Re: [gnugo-devel] regressions and bugs

From: Gunnar Farnebäck
Subject: Re: [gnugo-devel] regressions and bugs
Date: Thu, 06 Dec 2007 21:51:51 +0100
User-agent: Mozilla-Thunderbird (X11/20071008)

Emanuele Cisbani wrote:
> 2007/12/5, Gunnar Farnebäck <address@hidden>:
> [...]
>> In this case which is already settled PASS is an allowed
>> answer but also other moves which bring black further ahead in the
>> semeai are accepted.
> [...]
> If black play A9 or C9 reduce his territory by one.
> For this reason the best move IMHO should be only PASS.

The semeai reading isn't concerned with territory, only the result of
the semeai. To choose move with respect to territory is the
responsibility of the value_moves code. (Incidentally A9 and C9 do not
lose territory, black is forced to play there eventually anyway. It's
just not urgent.)

> Ok, I accept that black remove the ko threat of withe.
> And we can assign to this move a value >= 1.

GNU Go doesn't give it a positive value, it's only to the local semeai
analysis that wants to report that it does something good.

> But on this assumption we should accept also withe
> ko treath like valid moves:
> 2 analyze_semeai A10 A11
> #? [0 0 (PASS|A12|B12|C12)]
> Sorry, but where is my mistake?

It's just a question of conventions. GNU Go reading functions are
designed not to return a move when they fail with their objective.

> -=-
> Second question: the first test
> 1 analyze_semeai A11 A10
> has this result:
> 1 FAILED: Correct '1 1 (PASS|A9|C9)', got '1 1 F9'
> Do we need a restricted_analyze_semeai function?
> :-)

Right, this is a very bad test of GNU Go semeai knowledge. What
happens here is that the tactical reading sees that A10 is captured no
matter what, so A11 and and D10 are joined into a single dragon. Then
when asked for a defense move for the dragon at A11, it finds F9 which
extends from the D10 string. When analyzing the board it wouldn't
consider this a semeai at all and thus not call the semeai reading.

I'm not sure how best to handle this test, possibly change it to
tactical reading tests, but for now you can leave it and make a note
about the problem.

In general the interaction between tactical reading and semeai reading
is complicated when there are few liberties in the semeai. Sometimes
the tactical reading gets it wrong and fools up everything. With
sufficient liberties the tactical reading doesn't get involved and the
semeai reading can do its work as intended.


reply via email to

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