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
pachipachi | minipachi

The default engine plays by Chinese rules and should be about 7d KGS strength on 9×9. On 19×19, it can hold a KGS 2d rank on modest hardware (Raspberry Pi, dcnn) or faster machine (e.g. six-way Intel i7) without dcnn. When using a large cluster (64 machines, 20 cores each), it maintains KGS 4d and has won e.g. 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. MM patterns are used in the tree search. Technical information (only slightly dated) about Pachi's architecture and algorithms can be found in Petr Baudis' Master's Thesis (more papers).

(More details.)

Download and Development

Current stable Pachi version is 12.40 (codename Jowa), released on Apr 6, 2019. You can download it or explore the source code online.

(old) Android version of stable Pachi version 10.00 with ElyGo frontend kindly contributed by Emmanuel Mathis: PlayStore APK source

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 (example config).

Pachi's source code 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.

Pachi is completely free, but you can help Pachi's development by donating below! Donations go to Pachi's maintainer lemonsqueeze, who can then spend more time on Pachi.


If Pachi was useful in your research, we will be glad if you cite the paper Baudis, Gailly – Pachi: State of the art open source Go program.

(citation export)


Contact Information

We use github for discussions, coordinating development and providing user support.
In the past pachi@v.or.cz mailing list has been used as well.

Pachi is developed by:

Petr Baudis
The original Pachi developer.
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.
Lemonsqueeze
Current Pachi maintainer.