[Computer-go] Need help with fuego source code
dbriemann at gmail.com
Mon Jun 24 03:32:54 PDT 2013
I'm reading this mailing list for a while but I've never wrote something
here until now.
I'm currently in a late phase of my master thesis on a move predictor for
computer go. I have several working move predictors trained on a large set
of 6d+ amateur games.
My current goal is to use the move predictor as an extension to an existing
go mcts engine. Most of all I want to use it for the opening phase of the
game to produce better quality moves.
I've chosen Fuego since it's written in c++ which I'm more comfortable with
I have extended the GoUctPlayoutPolicy::GenerateMove() function. It still
tries to generate moves with heuristics first( nakade, atari, etc.) but
after that the random move selection is biased.
The move predictor scores all empty/valid moves and then a move is chosen
based on the probabilities. This is only done for board situations with
less than X stones(x is 100 right now). Also i limit the possible moves at
this stage to the best Y predictions made(Y is 30 right now).
To give you an impression, this is what it looks like in fuego for a well
known opening position: http://www.abload.de/img/board7brdj.png
So what is puzzling me right now is this: Even if I limit the possible
playout moves to the best Y predictions, fuego will play different moves.
For example in the linked picture it could play K11, which is not in the
predictor move list. This happens too if I disable all heuristics and just
do the biased playouts.
So my guess is, Fuego is doing searches somewhere else too, which are
independent from the GoUctPlayoutPolicy::GenerateMove() function. Does
anybody have an idea what I am missing here? And how I can limit fuego to
only consider some moves?
Sorry for this longish text.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Computer-go