gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] pattern questions


From: nando
Subject: Re: [gnugo-devel] pattern questions
Date: Tue, 28 Nov 2006 10:53:12 +0100

Hi,

On 11/27/06, alain Baeckeroot <address@hidden> wrote:
Hi

In regression test nngs:308 , gg3.7.10 wants M9 which is 1 point gote.
There are other much better moves (nearly 6 pts gote, 2 gote, 1 sente)

First pass move génération gives:
pattern 'DD6'+1 matched at M9
pattern 'DD6'+6 matched at M9
pattern 'DD6'+3 matched at M9
pattern 'DD6'+4 matched at M9
pattern 'Sente13'+2 matched at M9

and value 0 for M9
then a second pass due to endgame is done and wrongly choose M9.

I read the doc, but so far dont understand everything :(

Q1/ what means +1 +6 after the DD6 ?

I believe, it's the orientation which matched (out of the 8 possible
ones). In this case, it seems the symmetry set for the pattern is
actually wrong and should be a '+'.

Q2/ M9 is gote, so i'm surprised to see "Sente13" pattern

Pattern Sente13
# gf Revised constraint. (3.1.20)

*O

:-,sO

*a

;lib(a) == 2 && !attack(a) && safe_xmove(*) && safe_omove(*)
# Action adds a reverse followup value.
>defend_against_atari(a)

I agree M9 seems sente, but the problem is after opponent answer
we must capture to defend our string in atari, so it is gote.
I tried to put lib(a)>=3 ... this crashed gnugo :)

I haven't looked in detail, but since the pattern is meant to find
reverse-sente moves (moves which prevent a direct threat, here an
atari), maybe you want to try to add a "olib(*)>2" clause in the
constraint. Not sure it'll help though.

-- nando




reply via email to

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