Skip to content

v1.1.0 - Search & Pruning Upgrades

Choose a tag to compare

@NotKaede-11 NotKaede-11 released this 09 Jul 08:16
· 29 commits to main since this release

Coco v1.1.0

A batch of search-selectivity, pruning, and tactical-vision upgrades. Every change was validated through the SPRT testing funnel before merge.

Highlights

  • Static Exchange Evaluation (SEE): A fast swap-list SEE now prunes losing captures in Quiescence Search before they touch the recursive tree.
  • Safe QS Futility Pruning: Quiet captures in Quiescence are pruned after the best 2 captures using a wide 350 cp margin (promotions excluded).
  • Internal Iterative Reductions (IIR): PV nodes with a total TT cache miss at depth >= 3 get depth reduced by 1, cutting redundant branch exploration for big branch reduction.
  • Improving Heuristic: Reverse Futility Pruning margins and Late Move Reductions now scale dynamically based on whether the static eval improved over the last 2 plies.
  • Dynamic Stockfish-Style Time Management: Best-move stability tracking, falling-evaluation extensions, and a single-legal-move (easy move) early cutoff now steer the clock budget.
  • Singular Extensions (partial): A conservative, non-recursive singular verification search around the TT move, with a multicut short-circuit when the exclude-search still fails high over beta.
  • Slider X-Ray King Masking: checkers / pinned / pin_rays are precalculated once per node and used to filter illegal moves before make_move, reducing search nodes while keeping peak NPS.

Performance

  • Bulk perft counting (depth-1 fast path) for faster perft.
  • Build now uses -march=native -flto for full host-ISA utilization and link-time optimization, with AVX2 intrinsics included in the NNUE header.

Assets

  • coco-chess.exe — statically-linked Windows build (no external DLLs required).
  • coco.nnue — the paired neural network weight file. Place it next to the executable (or in the working directory); the engine falls back between the two automatically.

Requirements

  • A CPU supporting AVX2 (built with -march=native).
  • Windows (x64).