Skip to content
Home » News » MonteCarlo Tree Search section in wordfish 2.0

MonteCarlo Tree Search section in wordfish 2.0

wordfish

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, range 0512). Number of helper threads dedicated to MCTS; the main thread continues alpha-beta search.
  • MCTS Multi Strategy: Integer (default 20, range 0100). Tree policy parameter used in multi-MCTS mode.
  • MCTS Multi MinVisits: Integer (default 5, range 01000). 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.

Download Wordfish MCTS

2 thoughts on “MonteCarlo Tree Search section in wordfish 2.0”

    1. 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

Leave a Reply

Your email address will not be published. Required fields are marked *