Hi Don, Thanks for all your comments.
I should have mentioned in my initial post that I have a bit of a chess programming background - which means I know option A quite well. I have implemented pondering with both the Winboard and UCI protocols, so I am confident that I know what needs to be done (and hopefully, how to avoid those nasty bugs) in terms of the implementation.
One might argue that your time is better spent on algorithmic improvements to make your program play better moves. This argument is based on the fact that this kind of improvement is the type of thing you might imagine being applied to a polished program that is being made ready for competition and that it is easier to get improvements doing other things.
Yes, I can see why many people would think this. My goal is not to improve my programs ELO strength as fast as possible, rather I want a solid framework by the end of the year. Since pondering is one of those messy implementation details, I felt it important to try to nail the design early on in the process. I definately think it fits into the 'low hanging fruit' category, especially in my case where I have implemented it before.
By the way, Lazarus predicts approximately 21% of the opponent moves. However I believe in reality is more effective that this would indicate. When playing strong opponents it predicts more moves. Near the end of a game the prediction rate becomes meaningless because it's just filling the board (more or less) randomly. My 21% is based on all opponents, all moves of the game.
Thanks for this statistic - it is a strong argument for preferring method A. As you say, having a high prediction rate in the earlier parts of the game is much more important with method A - you simply save more time for future moves. I will definately do some experiments later, but not until my program is at least 1900 on CGOS (since the results would be meaningless). Joel _______________________________________________ computer-go mailing list [email protected] http://www.computer-go.org/mailman/listinfo/computer-go/
