Hello,

I have lurked for a while now on this list, and now that I finally
have a weak monte-carlo/UCT program (goanna) up on CGOS, I decided
that I should say hello. I am going to be spending some time on this
project in the next few months, hopefully learning something about
monte-carlo based tree search in the process.

I have a couple of questions regarding pondering and GTP. Since the
protocol unfortunately does not support it in a clean way, how have
people tackled this problem?

I was planning to invoke a search after a "genmove" command and then
try and use the results of the speculative search if the next command
is a "play" command. Is there any obvious problems with this approach?

Also, I can see two different ways to ponder, and at the moment I am
undecided as to what makes more sense. I should say that I am only
interested in the case where two reasonably strong programs play each
other. Here is a summary of my thoughts:

Suppose your opponent thinks for X seconds on average.

You can:

a) Guess your opponents next response, and assume they will make this
move. Fire off a search from the resultant position. If you guess
correctly, then you save X seconds. But if you only guess correctly p
% of the time, you expect to gain pX seconds of extra thinking time
per move.

b) Think as if you were your opponent. Once your opponent makes a
move, you keep the relevant sub-tree. This means that you will always
get useful information from each ponder, but (assuming that you don't
use the transposition information) you have wasted time searching
moves the opponent didn't choose. I think a crude way of estimating
the amount of time gained by this form of pondering would be to
determine the expected value of:

'the size of subtree left after opponent move' / 'size of ponder subtree' * X


My intuition suggests that b) is the better approach, but I know that
a) works much better in computer chess.

Any comments would be most appreciated.

Joel Veness
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to