LambdaGo is a software package bundling several functionalities for the ancient game of go. Currently, it contains
- supporting tools (rating calculations, tournament scheduling) for the Igo Math course; (moved to another repo, 2024.02.02)
- reference implementation of a Go engine for the Poetry of Programming course; (moved to another repo, 2024.02.01)
- post-processing and visualization tools for AI analysis described in the paper Derived metrics for the game of Go - intrinsic network strength assessment and cheat-detection (preprint here).
- Java runtime is needed to use LambdaGo, as it is written in Clojure. This is the minimum requirement.
- Leiningen is the build tool used in this project.
- Lizzie's auto-analysis output can be visualized by LambdaGo.
The jar
file can be downloaded from the release page, or when Leiningen is available it can be generated by lein uberjar
.
java -jar lambdago-YYYY.MM.DD-standalone.jar <command> <arguments>
After a complete analysis is done, Lizzie can save the analysis information into the SGF file, then
lizzie <sgf_file>
LambdaGo command will parse that SGF file, then show the analysis diagrams in a newly opened browser window.
lizzie-export <sgf_file>
Exporting creates a standalone html file instead opening the diagrams in the browser.
KataGo has an analysis engine
katago-input <sgf-file> <visits> <passed-visits>
This will produce an input for the KataGo analysis engine. The number of visits spent on each move need to be specified. The passed-visits
is optional, if given the number of moves to be analyzed doubles, but the cost of passing values will be available.
To visualize the analysis:
katago <analysis-output-file>
Alternatively, a single html file can be generated instead of showing it in a browser window.
katago-export <analysis-output-file>
In order to get this working, Vega and Vega Lite need to be installed, that can be done by npm install -g vega vega-lite vega-cli
.
To start LambdaGo in GTP mode:
gtp <engine>
where engine is either random
(playing random legal moves, including eye-fills), liberty
(playing random, but not filling eyes and aiming to capture low-liberty groups).