pasky/pachi

A fairly strong Go/Baduk/Weiqi playing program

What it solves

Pachi provides a modular framework and a high-strength game engine for playing the board game Go (Weiqi/Baduk). It allows users to play against a computer, analyze games, and explore variations using a combination of traditional search algorithms and modern deep learning.

How it works

The engine uses a UCT (Upper Confidence Bound applied to Trees) engine that integrates Monte Carlo Tree Search (MCTS) with the RAVE (Rapid Action Value Estimation) method for tree policy. It employs a Moggy playout policy using 3x3 patterns and tactical checks for semi-random simulations. To further enhance move selection, Pachi utilizes MM patterns and deep convolutional neural networks (DCNN) as policy networks to guide the search, specifically at the root node.

Who it’s for

It is designed for Go players of various skill levels who want a strong opponent for practice, as well as developers interested in modular game AI frameworks. It is compatible with GTP (Go Text Protocol) interfaces like GoGui, Sabaki, and Lizzie.

Highlights

  • Hybrid AI Approach: Combines MCTS, RAVE, and deep learning (DCNN) for strong play.
  • Flexible Hardware Support: Capable of running on modest hardware like a Raspberry Pi or high-performance clusters.
  • Analysis Tools: Supports visualization of best moves and score estimates through compatible frontends.
  • Modular Framework: Built as a modular system that can be used to develop and refine Go-playing programs.

Related

  • Project
  • Project
  • Project
  • Project
  • Project