[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[computer-go] Third KGS tournament: game-end protocol



I have been persuaded by posters to this list that I should eventually require bots playing in KGS computer Go tournaments to support the game-end protocol. The protocol is:

< --------------------------- quote starts --------------------------- >
1. To play in a tournament, programs must either implement both "kgs-genmove_cleanup" and "final_status_list dead", or they must play until all of their opponent's dead stones are removed from the board. It's OK if "play until dead stones removed" is an option, but they have to make sure that this option is turned on whenever they are going to be in a tournament, or they will do poorly in the tournament!
2. Programs play as normal.
3. After double pass in a tournament game, programs that support both "kgs-genmove_cleanup" and "final_status_list dead" will be sent "final_status_list dead", which will be uploaded to the server as the list of dead stones. Programs which are missing either of those from their list of supported commands will tell the server that no stones are dead.
If there is disagreement, "kgs-genmove_cleanup" will be sent to programs that support it, "genmove" to programs that do not. Note that there cannot be a disagreement if neither program supports "kgs-genmove_cleanup" (since after all both will have reported all stones as alive!), so at least one program will get the cleanup command.
4. After a second double pass, both programs will report to the server that no stones are dead, and the server will score from there.
< ---------------------------- quote ends ---------------------------- >

I am sceptical about programmers' ability to implement this correctly, so I am not yet requiring bots to support this protocol. Instead, at present the following applies:

< --------------------------- quote starts --------------------------- >
If at the end of a game, there is a group whose status is uncertain (in the view of the Tournament Director), then:
1. If both bots have implemented the game-end protocol as recommended, this can't happen.
2. If only one bot has implemented the protocol, the Tournament Director will give the win to that bot, even if it thinks it is its own group that is dead.
3. If neither bot has implemented the protocol, the Tournament Director will use his discretion. He may assign a loss to both players [actually, he can't - there is no way to do this in a KGS event].
< ---------------------------- quote ends ---------------------------- >

The recent third KGS Computer Go Tournament did not see any bot resume play to establish its claims about status. What did happen, in four of the games, was that two bots disagreed about the status of at least one group, and rather than resume play, they alternately and repeatedly asserted their claim by marking the disputed group(s) as dead and as alive. In the least clear such case, the disputed group was unsettled: it had one eye, and could make, or be denied, a second eye. In the clearest such case, the disputed group had 26 foolproof eyes. Six of the eight bots in the Formal division became involved in these arguments, and one risked missing its game in the next round, preferring to continue to argue.

In each case, I as Director had to form a view about the true result of the game (which is made harder when the stones keep flashing on and off), and enter the result manually. In three of these four cases, the game record was then wrongly saved by the KGS system, so as to be inaccessible/unreadable.

Right. Now to the point of this email. If (2) above applies, i.e. one bot implements the game end protocol correctly and the other doesn't, how will I as Director know? What will I see happen? Can I conclude that all six bots that became involved in disputes did not implement the protocol correctly? Or is it possible that some of the six did implement it correctly, but were foiled by their opponent's lack of cooperation?

Nick
--
Nick Wedd nick@xxxxxxxxxxxxxxxxx
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/