Pachi: Software for the Board Game of Go / Weiqi / Baduk

Pachi can refer to: a simple modular framework for programs playing the game of Go/Weiqi/Baduk, and a reasonably strong engine built within this framework.

About Pachi

Pachi's official
KGS accounts
pachi2 | pachi30s
pachi | pachIV | pachIW

The default engine plays by Chinese rules and should be about 3d KGS strength on 9×9. On 19×19, it might be about KGS 2k, assuming reasonable hardware, e.g. two-core Athlon64 machine. On a higher-end (e.g. six-way Intel i7) machine, it can hold a solid KGS 1d rank. When using a large cluster (64 machines, 20 cores each), it maintains KGS 3d and has won a 7-stone handicap game against Zhou Junxun 9p.

By default, Pachi currently uses the UCT engine that combines Monte Carlo approach with tree search; UCB1AMAF tree policy using the RAVE method is used for tree search, while the Moggy playout policy using 3×3 patterns and various tactical checks is used for the semi-random Monte Carlo playouts. Technical information about Pachi's architecture and algorithms can be found in Petr Baudis' Master's Thesis (more papers).

(More details.)

Download and Development

Current Pachi version is 9.01 (codename Hakugen), released on Oct 30, 2011. You can download the tarball, or browse older versions. You will need to compile it yourself for now; contributed binary builds and packages are heartily welcome!

Windows binary of development Pachi version 9.99 (commit d8248) kindly contributed by CurieCat: pachi-d8248-win32.7z

Pachi implements only the playing algorithm and does not have any builtin user-friendly interface. In order to play with Pachi, you will want to also install a "GTP frontend" software, e.g. gogui; you can also use e.g. kgsGtp to connect your Pachi instance to an internet Go server.

Pachi's main source code branch is maintained within the pachi.git repository. Patches and help is encouraged, as well as reuse of the source code base for your own research.

If you are running a new enough version of Pachi, you can download extra pattern files to further boost its strength. Beware that the files are large and Pachi will require a lot of memory to use them; read the README file for details and instructions.

Pachi is completely free, but you can help Pachi's development by donating below! Any amount is appreciated. Donations go to the main author Petr Baudis, who can then spend more time on Pachi instead of unrealed for-hire work. You may also request and donate to development of specific features.

or bitcoin address 1AiTsEWMaiYpeJAo15eJwwQ7DjskCc8r9j

Contact Information

We use the pachi@v.or.cz mailing list for discussions, coordinating development and providing user support.

Pachi is being developed by:

Petr Baudis
The original Pachi developer and current Pachi maintainer.
Jean-loup Gailly
Focuses on running Pachi's tree search distributed on large clusters. Also has done a lot of work on parameter tuning, tree memory allocator and time management.