I had a real shock today, on a par with the shock of England losing 0-0
to Algeria the other day.

I'd always though playouts, even heavy ones, have a random element. But
in fact they are a sequence of deterministic if/else statements, at
least in Fuego [1] and Mogo [2].

I'd always thought patterns and atari moves and the like were just
weights. So if there was a chain in atari then e.g. saving it might get
played 60% of the time, but 25% of the time a pattern move would be
played, and 15% of the time a pure random move. But actually it is 100%
of the time the save move will be played.

The other surprise to me was that pattern moves are only played if they
apply next to the last move played. (Fuego uses the last two moves.)

Q1. Are all the other strong programs doing the same thing?

Q2. Are there any published experiments showing that the if/else chain
is stronger than introducing some noise?

Q3. Like Q2, but has anyone measured the strength difference for
allowing the patterns to apply to the whole board. (I realize this is
going to be slower, but I'm wondering how much stronger/weaker it is if
making playout count constant and ignoring CPU time; with the talk of
using FPGAs/GPUs, other approaches may be just as quick.)

TIA for any other interesting thoughts,

Darren


[1]: From "Fuego Go: the missing manual" by Grace Lin
(http://users.soe.ucsc.edu/~glin/go.html), and also confirmed with the
source code (gouct/GoUctPlayoutPolicy.h, GeneratePatternMove()):

Generates a move in the following order:
Nakade Heuristic Move
Atari Capture
Atari Defense
Low Liberty Move
Pattern Move
Capture Move
Random Move
Pass Move
NULL Move

(NB. I think the nakade heuristic is off by default, but I need to
confirm that.)


[2]: From Algorithm 1 in http://hal.inria.fr/inria-00386477/en/
1. if the last move is an atari, then: Save the stones which are in
atari if possible (this is checked by liberty count).
2. if there is an empty location among the 8 locations around the last
move which matches a pattern then: Play randomly uniformly in one of
these locations.
3. if there is a move which captures stones then: Capture stones.
4. if there is a legal move then: Play randomly a legal move
5. Return pass.


-- 
Darren Cook, Software Researcher/Developer

http://dcook.org/gobet/  (Shodan Go Bet - who will win?)
http://dcook.org/work/ (About me and my work)
http://dcook.org/blogs.html (My blogs and articles)
_______________________________________________
Computer-go mailing list
[email protected]
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Reply via email to