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: bump
Subject: Re: [gnugo-devel] small plays at the end of the game
Date: Thu, 2 Dec 2004 17:08:43 -0800

> 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.

Dan





reply via email to

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