This is the official repository of the IEEE ToG paper A Study of Solving Life-and-Death Problems in Go Using Relevance-Zone Based Solvers.
If you use this work for research, please consider citing our paper as follows:
@article{shih2025study,
title={A Study of Solving Life-and-Death Problems in Go Using Relevance-Zone Based Solvers},
author={Shih, Chung-Chin and Wu, Ti-Rong and Wei, Ting Han and Hsu, Yu-Shan and Guei, Hung and Wu, I-Chen},
journal={IEEE Transactions on Games},
year={2025},
publisher={IEEE}
}
This repository contains the Relevance-Zone based solvers for Go life-and-death problems, as described in the paper.
The following sections provide instructions on:
- Build: How to set up and compile the project.
- Usage: How to provide Tsumego problems as input and interpret the generated solution trees and results.
Follow the steps below to set up the environment and compile the project.
First, clone the repository:
git clone git@github.com:rlglab/study-LD-RZ.git
cd study-LD-RZThen, start the container.
This will automatically pull the necessary image (which may take a few minutes).
# Start the container
./scripts/run-container.shInside the container, run the following commands to clean, configure, and compile the solvers.
# Clean previous builds
./scripts/clean-up.sh
# Configure with CMake
./scripts/setup-cmake.sh release caffe2
# Compile (optionally add -j <cores> for multithreaded compilation)
makeTo solve the Life-and-Death (L&D) problems, the solver must be provided with the directory where the problems are located (the default directory is tsumego.)
Each problem is encapsulated in JSON format, specifying problem settings such as sgf, ko rules, the player to move, crucial stones, and other configurations required by the solver.
The problems are specified in the candidate.list file, which already contains the seven analyzed problems.
You can also solve other problems in the tsumego directory by editing candidate.list.
To apply the different settings for the Transposition Table and Pattern Table as described in the paper, run the following commands using the corresponding configuration files:
For RZS-TT:
Release/CGI -conf_file cfg/RZS-TT.cfg -mode tsumego_solverFor RZS-PT:
Release/CGI -conf_file cfg/RZS-PT.cfg -mode tsumego_solver- All results are saved in JSON format along with a solution tree (.sgf) under the
resultdirectory. - Example:
- For the problem
chao_vol1_p088: - The output files will be:
result/result_chao_vol1_p088.json result/uct_tree_chao_vol1_p088.sgf
- For the problem
- The result JSON file contains statistics generated from the solving process, such as
NumSimulations,Time, and other relevant metrics. - The solution tree (.sgf) flie can be viewed using our specialized SGF viewer (Windows only), which supports board coloring for better visualization (Download).
- Green indicates the Relevance-Zone (RZone).
- Red indicates the winning move for the player attempting to live.