Monte Carlo Tree Search Options (Experimental)
Wordfish uci chess engine includes experimental support for Monte Carlo Tree Search (MCTS) to explore certain position types inspired by Shashin’s classification. The feature is based on original work by Stephan Nicolet and aims to leverage Lc0-style search in Petrosian high, high middle and middle positions.
UCI Options
- MCTS by Shashin: Boolean (default
false). Enables MCTS for the position categories described above. - MCTSThreads: Integer (default
0, range0–512). Number of helper threads dedicated to MCTS; the main thread continues alpha-beta search. - MCTS Multi Strategy: Integer (default
20, range0–100). Tree policy parameter used in multi-MCTS mode. - MCTS Multi MinVisits: Integer (default
5, range0–1000). Minimum visits threshold for the upper confidence bound in multi-MCTS mode. - MCTS Explore: Boolean (default
false). Also apply MCTS to highly Tal type positions and Capablanca positions.
Credits
The Monte Carlo Tree Search algorithm was originally introduced by Rémi Coulom in Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search (2006). For an overview and further references see the Chess Programming Wiki.

Hello,
What does Adaptive Style mean? Does it have to be used with MCTS?
What “Adaptive Style” means
When enabled, Wordfish dynamically nudges a few behaviour knobs based on the current position, game phase and time situation. Typical things it can adjust are:
Aggression / contempt: tilts slightly toward winning chances when you’re better, and toward safety when you’re worse or short on time.
Reductions & pruning: eases LMR/futility in sharp, king-exposed positions; is more conservative in quiet/technical positions.
Move ordering bias: gives extra credit to forcing/attacking moves when the eval signals initiative; prefers stabilising moves in fragile structures.
King-safety weight & mobility weight: up-weights king danger and piece activity in open positions; down-weights in locked/ending-like positions.
The goal is a style that adapts between dynamic and positional play without you having to pick a fixed style beforehand.
Does it have to be used with MCTS?
No. It’s independent.
With alpha-beta (the default), Adaptive Style just modulates the heuristics listed above.
With MCTS by Shashin, it complements tree policy parameters (e.g., exploration) by feeding a style-aware evaluation/priors, but it’s optional. You can run MCTS with Adaptive Style off or on.
When to enable it
Enable for analysis or human-like play (it often finds practical attacking resources and defends better under pressure).
Disable for strict reproducibility/benchmarks (fixed behaviour can give slightly steadier Elo in some test frameworks).
Suggested combos
Classical AB search (no MCTS), dynamic play
setoption name Adaptive Style value true
setoption name Experience Enabled value true
setoption name Experience Eval Weight value 5
setoption name Experience Min Depth value 27
MCTS flavour (Shashin) for exploratory analysis
setoption name MCTS by Shashin value true
setoption name MCTS Explore value true
setoption name MCTS Multi Strategy value 20
setoption name MCTS Multi MinVisits value 5
setoption name Adaptive Style value true ; optional but synergistic
Tournament stability (baseline)
setoption name Adaptive Style value false
setoption name MCTS by Shashin value false