lightvector / KataGo

GTP engine and self-play learning in Go
https://katagotraining.org/
Other
3.6k stars 569 forks source link

A GUI interface that supports Katago to pass two moves #980

Open awsjgy opened 2 months ago

awsjgy commented 2 months ago

The Wild Fox has a flying knife rule, which involves making two moves at once. If it's difficult to implement this by modifying the Katago code, I provide three relatively simple methods that can be achieved by only modifying the lizzieyzy code: 1. Add a pass state, which can be used to implement the optimal solution for two moves at a time by setting the pass switch. 2. Add a mode that allows for the selection of different moves on the same board. This is not only beneficial for the Wild Fox flying knife but also for game review. Currently, I am aware of the dual thinking mode, which can only use different engines to think based on one move. There is no mode that can analyze the specific situation after different moves in parallel, including the win rate and other information. 3. I have seen a feature that allows for the analysis of several specific points at the same time using the right mouse button. Can a pass function be added so that after analyzing several specific moves, I can hold the pass, and the engine can continue to analyze the optimal solution for one side to make two moves consecutively? These three methods are semi-manual replacements for automation, utilizing the principle of parallel thinking.

HackYardo commented 2 months ago

It is easy to do under the GoTextProtocol standard:

play black a16
genmove white
play black q4
play black k10
genmove white

But there are no GUI supports yet. If you are in urgent need, just do it in a CLI/Shell/Console/Terminal:

# open a terminal, e.g. WindowsTerminal
$ ./katago gtp -config path/to/gtp.cfg -model path/to/model.bin.gz
play b q16
genmove w
play ...
play ...
genmove ...
showboard
...... 

You can also use Sabaki instead, it has a GTP Console already.