[computer-go] A thought about Bot-server communications

Gunnar Farnebäck gunnar at lysator.liu.se
Tue Dec 11 10:12:57 PST 2007


Nick Wedd wrote:
>> Sorry, but I can't take this seriously. If your board update routine
>> fails, just fix it. As long as you trust the controller to send legal
>> moves, it's well defined how the board will look. The same board
>> update logic can be used for all rulesets. If you don't agree about
>> the legality, complain in a logfile. If you don't trust the controller
>> to send legal moves, you have a problem that is hardly properly solved
>> by asking it for a different board state description.
> 
> I agree that the server knows better than me about the legality.  I 
> trust the server to make legal moves.  I just might not know how to 
> update the board state after a move I had not realised was possible.
> 
> In 1998, running the Ing Cup, I tested all the entrants for their 
> behaviour when someone played a suicide move at them.  Many Faces put up 
> a polite dialog box explaining that this was an illegal move.  Go++ was 
> more amusing:  it allowed the move (which you would approve) but left 
> the suicided stones on the board, where they became almost unkillable, 
> it could not capture them by removing their last liberty as they didn't 
> have one, the only way to lose them was to capture exactly one of their 
> surrounding stones, in a perverted kind of snapback.  I would have 
> preferred these programs to have been able to respond "wtf is going on, 
> please tell me the current board state".

Well, the thing is that fixing the board update logic should in most 
cases be a matter of adding a small number of lines, or in extreme cases 
even removing some lines. In terms of programming it's a much bigger 
operation to obtain information by external communication and then 
trying to recover the internal data structures.

/Gunnar


More information about the computer-go mailing list