gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] small plays at the end of the game


From: David G Doshay
Subject: Re: [gnugo-devel] small plays at the end of the game
Date: Thu, 2 Dec 2004 17:55:07 -0800


On 2, Dec 2004, at 5:08 PM, address@hidden wrote:


Why is it that GNU Go has move evaluations  of 0.0 for all possible
moves at the end of the game, but it has a specific best move? This
quirk resulted in SlugGo making end game errors because I had not
expected that GNU Go would do that.

GNU Go's policy is to fill all liberties, partly because filling
a liberty is worth one point in Chinese rules, and partly because
mistakes can be made while filling a liberty if backfilling is
needed, so the best discipline is to play this part of the
endgame out to the end.

Therefore there's the function fill_liberty() whose purpose
is to propose a move to fill a liberty. It is called from genmove:

  if (val < 0.0
      && fill_liberty(move, color)
      && (!allowed_moves || allowed_moves[*move])) {
    val = 1.0;
    TRACE("Filling a liberty at %1m\n", *move);
    record_top_move(*move, val);
    move_considered(*move, val);
    time_report(1, "fill liberty", NO_MOVE, 1.0);
  }

Of course it has to propose a particular move.

Yes, this is what I am seeing, situations where backfilling can be
done right or wrong. GNU Go did the right thing with the floating
point value of the right move being 0.0 and the value of the wrong
move being 0.0.

Thanks,
David






reply via email to

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