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

Re: computer-go: head-to-head go engine testing



> My question is (perhaps) a FAQ, but I haven't seen anything readily 
> available on the subject, so here goes:
> 
> How would one test two go engines against each other? Say I am writing an 
> engine, and would like to test it against another computer go engine. How 
> would I go about doing that? ie. what communication protocol, etc. can I 
> use to text program X against gnugo or another program Y that I also have 
> written, if X and Y only support GMP (Go Modem Protocol)?
> 
> Is there an architecture for this, or do I have to create my own server, 
> a la NNGS et al, and have two engines connect and negotiate a game? How 
> would I view such games (SGF, probably)? Would I be able to use NNGS for 
> my purposes? Is there anything simpler?

The Go Text Protocol (GTP) is more convenient for testing
two engines against each other than the GMP.

http://www.lysator.liu.se/~gunnar/gtp/

A program called twogtp distributed with GNU Go can be used to play
tournaments of a few hundred games between two engines that support 
the GTP, optionally saving the game records as sgf files. In practice
this is a pretty good way to compare two engines.

In addition to the above link (with a link to a draft specification
of the protocol) see the GTP documentation in the GNU Go Texinfo doc.

http://www.gnu.org/software/gnugo/devel.html

Dan