[Top][All Lists]
[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