I'm cross-posting this to the computer and gtp lists. Perhaps that is the best thing to do until the gtp list gets critical mass.
Heikki wrote:
I do agree that it is important to specify the behaviour of the undo command now, to avoid different implementations. But I also agree that the command is of limited use, probably only in human-computer games, which is but one use for the protocol. Thus I do not agree that "undo" must belong to the minimal set of commands all programs must implement.
Let me point out some possibilities that require undo.
An undo command opens up a world of possibilities. For example we could create a meta-machine that asks GNU Go for its top 2 or 3 moves, tries them, evalutes the board and then chooses the one with the top score. My guess is that it will be slow but immediately stronger than GNU Go. More ambitiously, make a metamachine that does limited global search. Slow, but computers don't get bored if the game is slow. One could code this in a couple of hours using perl and the gtp. But it would require undo. One could do experiments involving multiple engines along the lines of Althofer's n-Hirns. (I don't think the exact n-Hirn idea that was successful in Chess will work immediately in Go, though Althofer has been trying it, but there are possibilities of doing something using multiple engines.)
Dan