Quoting Darren Cook <[EMAIL PROTECTED]>:


My conclusion is that random playouts will never produce a very strong
player (within realistic resource limits); I now see why heavy playouts
performed so much better in Don's experiments. I also suspect the
playout style may need to be modified for stage of the game.

If you combine random playouts with UCT "never" is too strong, since UCT
converges towards perfect play no matter how bad the playouts are. But it is
true that to make an efficient strong program you need to use heavt playouts.


I'd be interested to hear other opinions. I'd also be very interested to
hear what people think are the quickest (in CPU time) changes required
to playouts in order to get random playouts to score this position
correctly (e.g. less than 10% black wins). The above results were using
libego "out of the box", so it is easy to prove your theory experimentally.

Valkyria uses to methods to bias playouts towards better moves.

1) First it checks if it should react to the last move. For example in your
position white should always capture at C9 if black plays atari with A8 or B9.
This is the simplest form of semai you could detect and get it right almost
always. It gets more tricky if black extends the stones in atari to C9 first
because then white need to respond with a ladder capture. In this case some
simple code might find a lot of good moves, but in general ladders are complex
things to program so that playout always plays moves that works. Valkyria has
some kind of compromise for the moment. It reads easy ladders to any depth, but
gives up if they are complex.

2) If 1) did not provide a move then a move is picked at random. But before the
move is played it is checked for being bad. Bad moves are rejected and a new
random move is selected. White should for example never play F1 or H1 because
these moves destroys eyshape and liberties without any gain. With libego this
is perhaps much harder to do. In Valkyria my go board engine keeps track of
eyeshape in a way that makes it easy for me to write code to check those
things.


-Magnus


_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to