Skip to content

Releases: tsoj/Nalwald

19

11 Jul 14:48
Compare
Choose a tag to compare

Changes

  • More data (including some DFRC)
  • Tweaked eval
  • Added piece combinations to eval
  • Changed eval optimization
  • Search tweaks
  • Tuned search parameters using weather-factory
  • Refactoring and bugfixes

70 ±10 Elo in selfplay vs Nalwald 18 at 30s+0.3s

Use the modern binaries if your CPU supports BMI2 and POPCOUNT.

Intel CPUs including and after Haswell (2013) support BMI2 and POPCOUNT.
AMD CPUs including and after Zen 1 (2017) support BMI2 and POPCOUNT.

18

10 Jul 23:02
Compare
Choose a tag to compare
18

Changes

  • Fixed issues with positions with more than 256 legal moves
  • Expanded pawn-relative PSTs to piece-relative PSTs
  • Added some enemy king context to piece-relative PSTs
  • Added passed pawns to piece-relative PSTs
  • More training data
    • This is probably where the majority of the improvement comes from, going from ~14 million to ~32 million
  • Removed evaluation features:
    • mobility
    • explicit king safety
    • both bishops
    • rook on open file
    • piece attacking other piece + forks
  • Better aspiration windows
  • Simplified hash table result handling
  • Fixed issues with multithreading and race conditions in hash table

98 ±5 Elo in selfplay vs Nalwald 17.1 at 20s+0.3s.

Use the modern binaries if your CPU supports BMI2 and POPCOUNT.

Intel CPUs including and after Haswell (2013) support BMI2 and POPCOUNT.
AMD CPUs including and after Zen 1 (2017) support BMI2 and POPCOUNT.

17.1

10 Jul 23:01
Compare
Choose a tag to compare

Changes

  • Maybe fixed losing on time issues for sudden death time controls
  • New evaluation optimization data
  • Removed the zurichess training set

Negligible Elo improvement.

Use the modern binaries if your CPU supports BMI2 and POPCOUNT.

Intel CPUs including and after Haswell (2013) support BMI2 and POPCOUNT.
AMD CPUs including and after Zen 1 (2017) support BMI2 and POPCOUNT.

17

10 Jul 23:00
Compare
Choose a tag to compare
17 Pre-release
Pre-release

Changes

  • Added pawn contextual piece square tables
  • Added internal iterative reductions
  • Added aspiration windows
  • Improved pawn structure tables by considering rank of pawns
  • Optimized evaluation parameter optimization
  • Tuned history heuristic
  • Tuned nullmove, futility, and late move reductions
  • Tuned check and passed pawn extensions
  • Tuned PVS
  • Added "passed pawn is moveable" evaluation parameter
  • Added "piece attacking other piece" evaluation parameter
  • More training data
  • Implemented proper MultiPV support
  • Added UCI option go nodes
  • Made code more beautiful

196 ±14 Elo in selfplay vs Nalwald 16 at 10s+0.1s.
Likely more than 50 Elo better against other engines.

Use the modern binaries if your CPU supports BMI2 and POPCOUNT.

Intel CPUs including and after Haswell (2013) support BMI2 and POPCOUNT.
AMD CPUs including and after Zen 1 (2017) support BMI2 and POPCOUNT.

16

10 Jul 22:58
Compare
Choose a tag to compare
16

Changes

  • performance improvements
  • bigger passed pawn evaluation table
  • improved hash table
  • better optimization data
  • bug fix in repetition check
  • extended killers

103 ±17 Elo in selfplay vs Nalwald 15 at 15s+0.3s.
Probably ~50 Elo better against other engines.

Use the modern binaries if your CPU supports BMI2 and POPCOUNT.

Intel CPUs including and after Haswell (2013) support BMI2 and POPCOUNT.
AMD CPUs including and after Zen 1 (2017) support BMI2 and POPCOUNT.

15

10 Jul 22:57
Compare
Choose a tag to compare
15

Changes

  • added pawn structure mask
  • added fork detection to evaluation
  • removed some evaluation parameters
  • refactored a few things, including evaluation parameter tuning
  • changed late move and futility reduction conditions
  • added late move pruning
  • improvements to principal variation search
  • fixed some bugs
  • some performance improvements
  • made hash table denser
  • added multithreading (Lazy SMP)
  • added multi PV and searchmoves support

Roughly 50 Elo better than version 14.
With 4 threads, Nalwald is ~80 Elo better than when using a single thread.

Use the modern binaries if your CPU supports BMI2 and POPCOUNT.

Intel CPUs including and after Haswell (2013) support BMI2 and POPCOUNT.
AMD CPUs including and after Zen 1 (2017) support BMI2 and POPCOUNT.

14

10 Jul 22:56
Compare
Choose a tag to compare
14

Changes

  • piece values are now tapered and optimized
  • code cleanup, fixed bugs
  • changed LMR conditions
  • relaxed time management for long time controls
  • small changes in futility reductions
  • mobility and king-safety parameters are now using tables instead of multipliers
  • new training data from self-play games
  • now checking for check after delta pruning in quiesce
  • introduced randomized replacement scheme for the hash table
  • added counter move history heuristic
  • changed null windows search conditions

89.3 +/- 7.5 compared to Nalwald 1.12
108.7 +/- 7.5 compared to Nalwald 1.11

Use the modern binaries if your CPU supports BMI2 and POPCOUNT.

Intel CPUs including and after Haswell (2013) support BMI2 and POPCOUNT.
AMD CPUs including and after Zen 1 (2017) support BMI2 and POPCOUNT.

1.12

10 Jul 22:55
Compare
Choose a tag to compare

Changes

  • added Chess960/FRC support
  • fixed excessive memory usage above set hash table limit
  • fixed rare crashes
  • minor NPS improvements
  • better command line functionality
  • hid an easteregg
  • better code structure
  • (only negligible Elo improvement)

Use the modern binaries if your CPU supports BMI2 and POPCOUNT.

Intel CPUs including and after Haswell (2013) support BMI2 and POPCOUNT.
AMD CPUs including and after Zen 1 (2017) support BMI2 and POPCOUNT.

1.11

10 Jul 22:54
Compare
Choose a tag to compare

Changes

  • futility reduction
    • changed reduction values and conditions
    • now including captures and promotions
    • added SEE to futility reduction
  • new null move reduction depth calculation
  • new late move reduction depth calculation
  • added hash result futility pruning
  • optimizing the K factor for the sigmoid function before optimizing evaluation parameters
  • now also decreasing history heuristic value for move if it fails low
  • decreased fail-high delta pruning margin
  • added evaluation parameter: bonus if knight attacks bishop, rook, or queen
  • improved optimization algorithm

115.3 +/- 7.6 compared to Nalwald 1.10

Use the modern binaries if your CPU supports BMI2 and POPCOUNT.

Intel CPUs including and after Haswell (2013) support BMI2 and POPCOUNT.
AMD CPUs including and after Zen 1 (2017) support BMI2 and POPCOUNT.

1.10

10 Jul 22:53
Compare
Choose a tag to compare

Changes

  • Nalwald now better understands the 50-move rule
  • ordering badly losing tactical moves behind quiet moves
  • relaxed null move pruning conditions
  • added fail-high delta pruning
  • removed check-avoiding quiet moves in quiesce
  • all evaluation parameters are now interpolated between opening and endgame values
  • optimization changes:
    • gradient is now averaged out with previous discounted gradients
    • generated and used new labeled positions
  • replaced futility pruning with futility reductions

Use the modern binaries if your CPU supports BMI2 and POPCOUNT.

Intel CPUs including and after Haswell (2013) support BMI2 and POPCOUNT.
AMD CPUs including and after Zen 1 (2017) support BMI2 and POPCOUNT.