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/