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

Re: [computer-go] Protocol B



Protocol B looks a lot like Chinese agreement to me, but I think that makes a bad choice for computer go. The reason is this scenario, which I consider likely:

Black's program plays Japanese-style. Presented with a "genmove" command in a situation where all moves lose points by Japanese rules, black will pass. Only if presented with a "genmove_cleanup" command (or a "resolve_disagreement_genmove", which seems like the same thing) will black try to capture dead opponents' stones. This is certainly reasonable.

White's program does the very minimum, interface-wise, that is required to avoid throwing games. For simplicity's sake, white is hard-coded to be stubborn during agreement phases -- "I win; my stones all live, your stones all die" -- so the agreement phase is a waste of time where this program is concerned. Before passing even once, white will capture all opponent stones; this allows white to treat genmove and genmove_cleanup the same. I think this is fair too, even if it's not so stylish.

What happens when these two programs play under a protocol that allows an arbitrary number of agreement phases? At some point, the last real point on the board is taken, but both sides may have dead stones left on the board. After that, in keeping with their programming, black passes repeatedly while white captures black's dead stones. When white captures black's last dead stone, things get bogged down:

1. KGS sends genmove to black, who passes
2. KGS sends genmove to white, who captures black's last dead stone.

3. Genmove: b passes
4. Genmove: w passes
5. Agreement phase (fails)

6. Genmove_cleanup: b moves to capture a stone
7. Genmove: w passes
8. Genmove: b passes
9. Agreement phase (fails)

10. Genmove_cleanup: w passes
11. Genmove_cleanup: b moves to capture a stone
12. Genmove: w passes
13. Genmove: b passes
14. Agreement phase (fails)
15. Repeats from step (10) until all white stones are captured

16. Genmove_cleanup: w passes
17. Genmove_cleanup: b passes
18. Game ends.

The endless attempts at agreement turn pairs of moves (white passes, black places a stone) into four moves plus an agreement phase. If you're going to have dozens of agreement phases then you have to be careful about time controls for those phases too. I think that is so ugly that it's a non-starter. I'd prefer almost anything else, from Tromp-Taylor to human adjudication. If you prefer your area rules to have an agreement phase (unlike Tromp-Taylor) so your program can indicate where it thinks the game "should" end, then great -- but only one, please. If the first agreement phase doesn't work then the others probably won't work either, especially with computers that aren't as adept as people are at identifying and resolving specific points of contention.

From: drd@xxxxxxxxxxxxxxxxx
Reply-To: computer-go <computer-go@xxxxxxxxxxxxxxxxx>
To: computer-go <computer-go@xxxxxxxxxxxxxxxxx>
Subject: Re: [computer-go] Protocol B
Date: Wed, 27 Jul 2005 22:20:36 -0400

Hi David,

> (pass - pass)
> ?score?
> if agree
> no problem, game over
> if disagree
> resolve-disagreement-genmove
> if reply is pass
> resolve-disagreement-genmove
> if reply is pass
> game over, everyone alive
> if reply is not pass
> continue game with genmove
> if reply is not pass
> continue game with genmove

> What do others think?

I like that. I also agree that this protocol is superior.
I'm not overly concerned with whether the agreement is about score or dead
stones, I'm happy with either.

I'm not sure it is absolutely necessary to have the special
resolve-disagreement-genmove command, since a program can infer this from the
fact of multiple passes. But I can see why some might feel it is better to
be explicit. It seems slightly cleaner and simpler not to have the extra
command but it's nothing I would lose any sleep over either way.

Don

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/
_________________________________________________________________
Don’t just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/

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