[Pachi] Any api for a competition between pachi and an improved pachi(MIC based)
pasky at ucw.cz
Sat Mar 26 15:16:19 CET 2016
On Sat, Mar 26, 2016 at 09:59:38PM +0800, magnet_guo at sina.cn wrote:
> I'm a researcher wish to run pachi on TH-2A, the most powerful super-computer on the earth(Top500, 2016). My plan is to have competitions between two same pachi program running on CPU and MIC separately, to see whether using MIC with no modifications can improve the power of MCTS or not. That will also provide me with data I need to improve pachi for MIC.
That sounds very awesome! Please do keep us posted about your
Pachi communicates using GTP, which is a universal protocol for Go
programs. This protocol is synchronous client-server, so if you want to
match two programs, you need a third tool which talks to two programs
using GTP and forwards the moves between them.
The standard tool for this purpose is called "twogtp" (and in fact
comes in two flavors, one as part of gogui and another standalone; the
standalone one is part of pachi in tools/twogtp.py; the gogui one is
in Java, but has more features, like swap colors between matches or
produce result tables with nice statistics).
To get you started - if the two programs run on the same computer,
matching two Pachis in a 20-game match on 15x15 board (my favorite
format for playtesting) with 300s per game sudden death and 16 threads,
that should be as easy as:
tools/twogtp.py --black './pachi -t _300 threads=16' --white './pachi -t _300 threads=16' --size 15 --komi 7.5 --games 20
Sum of Bernoulli trials is normally distributed given enough games, so
you can use 1.96 * standard deviation to get 95% confidence bounds on
If you want to connect Pachis running on separate computers, you need
to tunnel the GTP stream through the network somehow. An easy
possibility is to just use ssh, if available:
tools/twogtp.py --black './pachi -t _300 threads=16' --white 'ssh micserver ./pachi -t _300 threads=64' --size 15 --komi 7.5 --games 20
Using the gogui-twogtp is analogous, except that the parameter format
is slightly different. You can take a look at how t-play/autoplay/
executes things (it uses gogui-twogtp).
If you have good ideas, good data and fast computers,
you can do almost anything. -- Geoffrey Hinton
More information about the Pachi