Skip to content

LC0 MCTS Experimental

Choose a tag to compare

@Videodr0me Videodr0me released this 01 Jul 08:30
· 5 commits to master since this release
127d8e2

V3 - MCTS Experimental

This version is now feature complete for the time being and can be used for CLOPing optimal values. By default all new features are turned off, except for certainty-propagation and auto-extending. The latter two features can safely be left on, they yield about 10 Elo (depending a little on time controls) and do not need to be "tuned" in the sense that they can only be turned off and on. The other features will yield more elo but are sensitive to parameterization and need serious tuning. Some tuning-tipps will be given after listing the paramters:

New Parameters:

--policy-compression-decay (default = 1.0 = previous behavor, range 0.0 .. 2.0, no effect if policy compression is disabled)

Controls the decay of --policy-compression. Higher values (>1) reduce the effect of policy compression faster with increasing depth, while lower values (<1) reduce the effect more slowly.

--variance-scaling

Adds empirical variance as half-normal limited noise to upper bound (range -2.0 .. 2.0, default 0.0 = off). Higher values will use more of the empirical variance and have a larger effect, while small values (near 0.0) will have a lesser effect. Usually this should be positive.

--policy-softmax-temp = 1.0 (disabled = 1.0, range 0.001 - 10.0)

Softmax temperature parameter added from main branch with identical behavior.

Other parameter default settings:

--certainty-prop        =    1 (enabled)
--auto-extend           =    1 (enabled
--tree-balance          = -1.0 (disabled, note the minus sign)
--tree-scale-left       =  1.0 (neutral = 1.0, has no effect if tree balance is disabled)
--tree-scale-right      =  1.0 (neutral = 1.0, has no effect if tree balance is disabled)
--policy-compression    =  0.0 (disabled)
--easy-early-visits     =  0.0 (disabled)
--optimal-select        =    0 (should be left at 0)
--cpuct                 =  1.2
--fpu-reduction         =  0.0

Tuning Tipps

Certainty propagation and auto extending should be left on at all times (they complement each other well). Optimal select should always be set to 0. Cpuct, fpu-reductions, policy-softmax-temperature can be tuned normally. Some notes about the other parameters:

  • Tree-Balancing
--tree-balance
Speculative range 0.7 .. 5.0
Sensible range 0.9 .. 3.0
Positive Elo tested with values 1.07, 1.5 and 2.0

--tree-scale-left
Speculative range 0.001 .. 3.0
Sensible range 1.3 .. 2.5
Positive Elo  tested with values 1.5 and 2.0

--tree-scale-right
Speculative range 0.01 .. 2
Sensible range 0.01 .. 0.4
Positve Elo tested with values 0.1, 0.2 and 0.3
  • Policy Compression
--policy-compression
Speculative range 0.0 .. 0.2
Sensible range 0.0 .. 0.08
Positive Elo tests with 0.06, 0.07 and 0.01

--policy-compression-decay
Speculative range 0.5 .. 3.0
Sensible range 0.9 .. 1.5
No tests yet. The above results for policy compression correspond to --policy-decay set to 1.0
  • Easy Early Visits
--easy-early-visits
Largely untested. Should be left off for first tuning efforts = 0.0.
Unfortunately this behaves discontinuous when set to value > 0.0.
Recommendation, tune all other parameters first leaving this off = 0.0, and only 
then maybe do another run with this enabled in the range 0.001 .. 1.0.
  • Variance Scaling
--variance-scaling
Speculative range 0.0 .. 0.2
Sensible range 0.0 .. 0.05
Postive Elo tests with value 0.01

Please use at least 2000 visits per move, better 10000 per move and more than 10000 games. This version needs an unzipped NN weight file and cuda 9.0 and corresponding cudnn dlls.