[Top][All Lists]

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

Re: [gnugo-devel] Thinking on opponent's time?

From: Heikki Levanto
Subject: Re: [gnugo-devel] Thinking on opponent's time?
Date: Fri, 26 Oct 2001 23:50:18 +0200
User-agent: Mutt/1.2.5i

On Fri, Oct 26, 2001 at 08:52:42AM -0400, Trevor Morris wrote:
> It seems that GNU Go doesn't "think" on its opponents time.  A very
> simple approach might really help with GNU Go's responsiveness and
> NNGS strength.  

I have suggested this before, and I expect it to be shot down again. But I
still believe there are moves that will not require that long and serious
thinking from GNU Go.

For example, if GNU Go hanes on the first line in the end game, it expects
the opponent to block, and then it will connect:

   . . O X .
   . . O X .
   . 1 * 2 .

X plays *, O plays 1, and X will have to connect at 2 (and O needs a
connection too, but that's another story). If X does not want to connect at
2, he should not play * in the first place. So, before playing *, GNU Go
must analyze what happens if O blocks at 1, and decide how to answer to it.

So, my suggestion is to keep a cache of "reflex" moves, so that if O answers
1 immediately, we can quikcly play 2, without analyzing anything else on the

I am fully aware of the argument that reading depth influences the number of
possible variations, so that in more complex situations the result we read
now is not at all the same as the result we will read a move later; and that
this makes the cache management even more complex. But still, in simple
cases, where the tactical reading never gets very deep, setting up such a
reflex might pay off. It is not that it saves local reading, but that it
saves reading and analyzing the rest of the board...

- Heikki

Heikki Levanto  LSD - Levanto Software Development   <address@hidden>

reply via email to

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