gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] ALL_MOVE considered superfluous


From: Inge Wallin
Subject: Re: [gnugo-devel] ALL_MOVE considered superfluous
Date: Mon, 7 Oct 2002 19:35:54 +0200 (MEST)

Arend wrote:
> As far as I remember you introduced the name ALL_MOVE and had some
> further plans with it. Personally I've nothing against renaming it back
> to DEFEND_BOTH_MOVE...

No, no, no.  That is *not* what I am suggesting. I am suggesting to
remove it altogether.

> DEFEND_BOTH_MOVE is _not_ the same as two defend move reasons.  A
> DEFEND_BOTH_MOVE concerns two stable worms, i.e. if opponent attacks any
> single of the two, he cannot capture it. But if he attacks both of them
> at once, we cannot defend both at a time. A DEFEND_BOTH_MOVE prevents
> this.

You are right.  In value_moves.c there is the following piece of code
that evaluates an ALL_MOVE.  Currently this can only be generated with
DEFEND_STRING as parameter.

        aa_value = worm[aa].effective_size;
        bb_value = worm[bb].effective_size;
        this_value = 2 * gg_min(aa_value, bb_value);

So we see here that Arend is correct.  The value reported for the move
reason is (almost) the same as the value for DEFEND_MOVE for the
smallest of the two strings.  

However.  This is also the exact same thing that YOUR_ATARI_ATARI_MOVE
is supposed to do.  A YOUR_ATARI_ATARI_MOVE defends against a
combination that captures one of several strings (two in the special
case of DEFEND_BOTH).  In the case of YOUR_ATARI_ATARI_MOVE, the
choice between the strings is already done before registering the move
reason in combination.c.  Otherwise it is the same.

So the thing that led me to start the discussion remains: that there
is a redundant move reason.

> This nowhere explicitly documented so. And IIRC some code in
> value_moves.c/move_reasons.c isn't exactly sure about this meaning.

Very likely.

     -Inge




reply via email to

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