Jackal 2.0.0 - new version chess engine



UCI chess engine: Jackal
Author - Tomasz Jaworski

Jackal 2.0.0 what's new?

Overview

This version is a full rewrite from scratch. Pretty much nothing from 1.2.0 survived. Old repository is archived, 2.0.0 lives in a new one.

Estimated elo: 3485 (around 380 elo more than last version)
EAS: 403.35k

Networks

  • Networks got a lot bigger — both value and policy
  • Value network now uses threat inputs
    • Architecture: 82160 (Threat Inputs) → 4096 → 16 → 128 → 3
  • Policy architecture was completely changed
    • Architecture: 3072 → 8192 → 7840 (Move Index)
  • Output buckets based on SEE result
  • 7 networks total (3 value + 4 policy) — base + finetuned versions
    • Finetuned on filtered aggressive/sacrificial positions, used based on position score
  • Engine parameters tuned with SPSA

Search

A lot of things changed here. Some highlights:

  • Sac selection bonus - sac moves get a bonus when picking the reported move, scales with material and winning probability
  • Sac exploration bonus - sac moves get extra exploration weight during MCTS selection, scales with win probability
  • Draw pessimism - draws are penalized during simulation, mostly in opening and middlegame
  • Proof number search - one-sided PNS, biases search toward lines closest to being proven when winning
  • Butterfly history - added as bonus during search
  • Progressive widening - focus search on promising moves early
  • Multithreading fix - there was a bug, now it's fixed

Time Manager

Completely new and custom time manager built from scratch. Some of what it includes: soft and hard time limits, phase-based scaling, instability extensions, falling eval extension, visit distribution scaling, sacrifice extension, and more.




Comments

Popular posts from this blog

Torch-4 UCI v 1.01 - new version chess engine

Reckless 0.10.0 - new version super strong chess engine

Reckless 0.9.0 - new version super strong chess engine

We already have the new Fritz 20 program - what does it look like and how does it work?