This guide is for engine developers.
There a couple of extra GTP commands you can implement to integrate with Sabaki's engine analysis.
color
- The GTP color of the player whose perspective we want to analyze.interval
- The interval in which updates should occur in centiseconds.
First, output a =
to indicate the start of the response. Every interval
centisecond, output a line of the following form:
info <keyvalue>... pv <vertex>... (info <keyvalue>... pv <vertex>...)...
# Example
info move D4 visits 836 winrate 4656 prior 839 lcb 4640 order 0 pv D4 Q16 D16 Q3 R5 info move D16 visits 856 winrate 4655 prior 856 lcb 4639 order 1 pv D16 Q4 Q16 C4 E3 info move Q4 visits 828 winrate 4653 prior 877 lcb 4633 order 2 pv Q4 D16 Q16 D3 C5
where keyvalue
is two non-whitespace strings joined by a space and vertex
a
GTP vertex.
Necessary key value pairs are:
move
- The GTP vertex of the move being analyzed.visits
- The number of visits invested inmove
so far.winrate
- If specified as an integer, it represents the win rate percentage times 100 ofmove
, e.g.9543
for95.43%
. If specified as a float, i.e. includes a.
, it represents the win rate percentage given between0.0
and1.0
.
Optional key value pairs:
scoreLead
- The predicted average number of points that the current side is leading by when playingmove
.
The response will terminate when any input is written to stdin
.
color
- The GTP color of the player whose move we want to generate.interval
- The interval in which updates should occur, in centiseconds.
First, output a =
to indicate the start of the response. Every interval
centisecond, output a line of the following form:
info <keyvalue>... pv <vertex>... (info <keyvalue>... pv <vertex>...)...
See analyze
for more details.
In the end, when the engine has finished generating the move, the response should terminate with the following line:
play <vertex>