[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/