Skip to content

A simple framework for different Go engines, utilities for managing a Go course and additional AI analysis for post-processing and visualization tools, written in Clojure.

License

Notifications You must be signed in to change notification settings

egri-nagy/lambdago

Repository files navigation

Clojure CI

LambdaGo Logo

LambdaGo is a software package bundling several functionalities for the ancient game of go. Currently, it contains

  1. supporting tools (rating calculations, tournament scheduling) for the Igo Math course; (moved to another repo, 2024.02.02)
  2. reference implementation of a Go engine for the Poetry of Programming course; (moved to another repo, 2024.02.01)
  3. 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).

Requirements

  • 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.

Running the LambdaGo system

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>

Commands

AI analysis visualization of Lizzie output

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.

AI analysis for KataGo

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.

The GTP mode

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).

About

A simple framework for different Go engines, utilities for managing a Go course and additional AI analysis for post-processing and visualization tools, written in Clojure.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published