[Computer-go] Some personal thoughts on 9x9 computer go

valkyria at phmp.se valkyria at phmp.se
Fri Mar 2 06:50:51 PST 2018


Hi,
somebody asked me to post my views on 9x9 go on the list based on my 
experience with correspondence go on OGS and little Golem.

I have been playing online correspondence tournaments since 2011 with 
Valkyria which is a MCTS heavy playout MCTS using AMAF heavily tuned for 
9x9. Also with the kind Support of Ingo, I used to generate a lot of 9x9 
data for opening book preparations many years ago.

http://www.littlegolem.net/jsp/games/gamedetail.jsp?gtid=go9&page=ch

During these years I collected a opening book based on running Valkyria 
with 2 thread something like 2 to 24 hours. I can do this because of a 
hash table that works well. Valkyria is tuned to be very selective, so 
it follows an iterative deepening algorithm where it searches for some 
time and the discard the tree, storing the best move. In each iteration 
it will start a new search with an empty tree, but will use the hash 
table to research known position more efficiently. This way it can 
overcome the problem that a MCTS fills memory very quickly.

Valkyria has no stopping rule, so in the end it is mostly a hybrid 
human/computer decision when to stop search. But most of the time I just 
wait until it seems to converge on a single move with a clear winrate 
advantage. For the openings I tend to do choose moves many times, mostly 
to avoid lines where it has lost in the past, but I only choose moves it 
has been investigated during iterative search.

If I run Valkyria on 9x9 CGOS (2295 Bayes Elo) it is not very strong, 
but against amateur humans on OGS and LG it has been very successful but 
not unbeatable.

On LG there is a player Gerhard Knop (who I think uses one or more 
programs as support (or at least used to do I just read this indirectly 
somewhere) which seems to be clearly strong right know. At least 
recently he seems to be very good with white against Valkyria.

So what have I found out about 9x9?

I used to think that with the Opening book of Valkyria black is an easy 
win with a komi less than 7.0. Since Gerhard Knop has been beating 
Valkyria with white I changed into thinking black should be an easy 
win... but my opening book is not very close to optimal play, it is just 
the playing style of Valkyria.

Other human players are playing very well too and it often happens that 
Valkyria wins games which was evaluated as a loss despite the enormous 
(well for a single PC guy, I am not Deepmind) computations behind all 
moves. The strongest humans repeatedly play moves that Valkyria never 
read deeply, even after 12 hours of computations, which turn out to be 
as strong or better than the expected best move.

So is 9x9 easier than 19x19? Yes of course... but it is not that easy. 
In go there is the complexity of the number of legal moves but this is 
no longer the big problem. Most moves can be searched safely very 
shallow or not at all. In a well played 9x9 games it is a simultaneous 
problem of: endgame, life and death, semeai with ko fights, subtle 
differences in move ordering for forced moves etc. This give fighting 
lines that cannot be reliably evaluated by MCTS until read 40-70 ply 
deep because all stones are unstable.

I have not yet trained a value network for 9x9 but I can imagine that it 
might still be very hard to get close to perfect evaluation, so any 
engine would still need to search very deep to play close to perfection.

 From the current surge of strong engines on CGOS 9x9 I just learned that 
my engines is even further from perfect play that I previously thought 
since there are no sign of these engines being near perfect play given 
win/loss/jigo statistics.


TL;DR:
  I did 9x9 computer go for many years and I think 9x9 go is much harder 
than I originally thought. I am not ruling out a super strong 9x9 go 
program appearing next weak. I am just saying that close to perfect is 
much stronger than that I have seen so far.


Best
Magnus Persson


More information about the Computer-go mailing list