Releases: vshcherbyna/igel
Igel 3.6.0
What's new:
- extend by 2 in singular extension on non pv move
- improve low bound condition in singular extension
- check beta score in probcut condition
- store in TT in standing pat in qsearch
- implement iid
- tune null move depth
- tune razor depth
- remove instant moves handling
Regression run against Igel 3.5.0:
Long Time Control With Increment (60s+0.6s)
Elo | 21.28 +- 3.60 (95%)
Conf | 60.0+0.60s Threads=1 Hash=64MB
Games | N: 8860 W: 2461 L: 1919 D: 4480
Penta | [7, 798, 2299, 1298, 28]
Short Time Control With Increment (10s+0.1s)
Elo | 20.07 +- 3.21 (95%)
Conf | 10.0+0.10s Threads=1 Hash=8MB
Games | N: 13918 W: 3953 L: 3150 D: 6815
Penta | [76, 1392, 3306, 2023, 162]
Igel 3.5.0
What's new:
- new network architecture
- new network c049c117
Regression run against Igel 3.4.0:
Long Time Control With Increment (60s+0.6s)
ELO | 43.10 +- 3.70 (95%)
CONF | 60.0+0.60s Threads=1 Hash=64MB
GAMES | N: 17568 W: 5631 L: 3463 D: 8474
Short Time Control With Increment (10s+0.1s)
ELO | 38.72 +- 3.35 (95%)
CONF | 10.0+0.10s Threads=1 Hash=8MB
GAMES | N: 22976 W: 7639 L: 5089 D: 10248
Igel 3.4.0
What's new:
- fixing major bug in accumulator handling for null moves
- avoid heap objects (std::vector) in search function to reduce heap fragementation
- switching to pure nnue evaluation
- new network architecture HalfKav2_hm
- new network ign-3-debc71a4
Regression run against Igel 3.3.0:
Long Time Control With Increment
ELO | 75.10 +- 5.38 (95%)
CONF | 60.0+0.60s Threads=1 Hash=64MB
GAMES | N: 8480 W: 3133 L: 1328 D: 4019
Igel 3.3.0
What's new:
- new network architecture
- new network ign-2-51ba2968
Regression run against Igel 3.2.0:
Short Time Control With Increment
Score of Igel 3.3.0 64 BMI2 AVX2 vs Igel 3.2.0 64 BMI2 AVX2: 1713 - 756 - 2531 [0.596] 5000
... Igel 3.3.0 64 BMI2 AVX2 playing White: 1073 - 258 - 1169 [0.663] 2500
... Igel 3.3.0 64 BMI2 AVX2 playing Black: 640 - 498 - 1362 [0.528] 2500
... White vs Black: 1571 - 898 - 2531 [0.567] 5000
Elo difference: 67.3 +/- 6.8, LOS: 100.0 %, DrawRatio: 50.6 %
Igel 3.2.0
What's new:
- smaller margin for prunning quiets
- scale down eval to 1000
- history extensions only on non pv moves
- adjust scale formula
- less reductions in lmp when not improving
- negative extensions
- futility pruning improvements
- implement cutnode
- new network ign-1-9a48854b created by using prev network (ign-1-3e998e78) and re-trained with a different lambda
Regression run against Igel 3.1.0:
Long Time Control With Increment
ELO | 43.53 +- 3.13 (95%)
CONF | 60.0+0.60s Threads=1 Hash=64MB
GAMES | N: 25000 W: 8152 L: 5036 D: 11812
Short Time Control With Increment
ELO | 41.22 +- 3.25 (95%)
CONF | 10.0+0.10s Threads=1 Hash=8MB
GAMES | N: 25008 W: 8572 L: 5619 D: 10817
Igel 3.1.0
What's new:
- Scale eval at 1280
- More aggressive pruning of quiets when not improving
- Use 150 cp when razoring
- Avoid tt cutoff for rule50
- Improve statistics in SMP mode
- New network trained using 16B of d5-d8 data from Igel HCE/ign-1-139b702b with d16 validation using ign-1-139b702b
Regression run against Igel 3.0.5:
Long Time Control With Increment
ELO | 30.13 +- 2.64 (95%)
CONF | 60.0+0.60s Threads=1 Hash=64MB
GAMES | N: 20000 W: 3906 L: 2176 D: 13918
Short Time Control With Increment
ELO | 28.08 +- 3.18 (95%)
CONF | 10.0+0.10s Threads=1 Hash=8MB
GAMES | N: 20000 W: 5193 L: 3580 D: 11227
Igel 3.0.5
This version of Igel won League 1 tournament in TCEC Season 21 - https://en.wikipedia.org/wiki/TCEC_Season_21#League_1
What's new:
- Train a new network using Igel 2.6.0 (HCE), Igel 2.9.0 (NNUE) and Igel 3.0.0 (NNUE) data: ign-1-d593efbd
- Better time management in sd time control
- Skip tt cutoff for null moves in search
- Skip null move prunning on tt hit
- Vote for best thread in SMP mode
- Less aggressive time use in non repeated tc
Regression run against Igel 3.0.0:
Long Time Control No Increment
ELO | 51.95 +- 2.85 (95%)
SPRT | 60.0+0.0s Threads=1 Hash=64MB
LLR | 0.00 (-2.94, 2.94) [0.00, 0.00]
Games | N: 20548 W: 5296 L: 2246 D: 13006
Long Time Control With Increment
ELO | 40.20 +- 2.74 (95%)
SPRT | 60.0+0.6s Threads=1 Hash=64MB
LLR | 0.00 (-2.94, 2.94) [0.00, 0.00]
Games | N: 20408 W: 4600 L: 2249 D: 13559
Igel 3.0.0
What's new:
- Train a new network using Igel 2.6.0 (HCE) and Igel 2.9.0 (NNUE) data: ign-1-139b702b
- Remove 'EvalFile' option - as of Igel 3.0.0 the network file is always embedded in the executable
- Fix in check extensions
- Use incbin on Linux to inject network file into the binary
- Tune null move prunning conditions
- Tune probcut prunning conditions
- Tune quiets prunning
- Fix bogus condition for history calculation
- Implement more aggressive null move prunning
- Stop extension of captures
- Prevent explosion of history extensions
- Implement better time management for sudden death time control
- Count not played quiets for LMP prunning
- Remove dummy 100 multiplier for history ordering calculation
- Fix compilation issues with gcc 10 and Android NDK's Clang
- Remove unused counter move table
- Fix out of boundary access for history array
- Fix issue with singular extensions - reported by ChizhovVadim (author of CounterGo chess engine)
- Fix crash when 'ucinewgame' command is not issued - reported by Ipmanchess
- Fix crash when thread position is not initialized - reported by Ipmanchess
Regression run against Igel 2.9.0:
Short Time Control No Increment
ELO | 115.05 +- 3.88 (95%)
SPRT | 10.0+0.0s Threads=1 Hash=8MB
LLR | 0.00 (-2.94, 2.94) [0.00, 0.00]
Games | N: 20652 W: 9913 L: 3314 D: 7425
Short Time Control With Increment
ELO | 75.88 +- 3.53 (95%)
SPRT | 10.0+0.1s Threads=1 Hash=8MB
LLR | 0.00 (-2.94, 2.94) [0.00, 0.00]
Games | N: 20904 W: 8061 L: 3567 D: 9276
Long Time Control No Increment
ELO | 83.16 +- 4.04 (95%)
SPRT | 60.0+0.0s Threads=1 Hash=64MB
LLR | 0.00 (-2.94, 2.94) [0.00, 0.00]
Games | N: 13508 W: 4814 L: 1641 D: 7053
Long Time Control With Increment
ELO | 58.22 +- 3.81 (95%)
SPRT | 60.0+0.6s Threads=1 Hash=64MB
LLR | 0.00 (-2.94, 2.94) [0.00, 0.00]
Games | N: 13540 W: 4023 L: 1775 D: 7742
Igel 2.9.0
What's new:
- Switch to own network based on Igel search and evaluation (ign-0-9b1937cc)
- NNUE dynamic eval scaling
Regression run against Igel 2.8.0 at 60s+0.6:
ELO | 23.78 +- 3.56 (95%)
SPRT | 60.0+0.6s Threads=1 Hash=64MB
LLR | 0.00 (-2.94, 2.94) [0.00, 0.00]
Games | N: 16112 W: 4102 L: 3001 D: 9009
Regression run against top engines at tc=all/20s+0.2:
Rank Name Elo +/- Games Score Draws
0 Igel 2.9.0 64 BMI2 AVX2 -84 7 6000 38.2% 40.8%
1 Stockfish 12 64-bit 387 25 1000 90.3% 18.3%
2 Komodo 14 64-bit 122 16 1000 66.9% 46.4%
3 Ethereal 12.75 64-bit 83 16 1000 61.8% 46.9%
4 Fire 7.1 64-bit 21 16 1000 53.0% 46.3%
5 Xiphos 0.6 64-bit 5 16 1000 50.7% 45.0%
6 Komodo 14 MCTS 64-bit -13 16 1000 48.2% 41.6%
Igel 2.8.0
What's new:
- Fix null move pruning bug (54 elo)
- Use 250cp as lazy eval threshold
- Improve time management for sudden death time controls
- Use Dietrich Kappe's Night Nurse improved net (internal version ninu-0.2.5b.nnue)
Regression run against Igel 2.7.0 at tc=10+0.1:
Score of Igel 2.8.0 64 BMI2 AVX2 vs Igel 2.7.0 64 BMI2 AVX2: 1012 - 411 - 1380 [0.607] 2803
Elo difference: 75.67 +/- 9.15
Regression run against top engines in tc=all/60+0.6:
Rank Name Elo +/- Games Score Draws
0 Igel 2.8.0 64 BMI2 AVX2 53 6 8000 57.6% 40.7%
1 Stockfish 11 64-bit 258 26 500 81.5% 33.0%
2 Komodo 14 64-bit 110 21 500 65.3% 51.8%
3 Ethereal 12.25 64-bit 36 22 500 55.2% 48.4%
4 Komodo 14 MCTS 64-bit 15 22 500 52.2% 48.4%
5 Xiphos 0.6 64-bit 1 22 500 50.1% 48.6%
6 Fire 7.1 64-bit -14 22 500 48.0% 47.6%
7 RofChade 2.202 64-bit -63 22 500 41.1% 48.2%
8 Booot 6.4 64-bit -76 23 500 39.3% 41.8%
9 Defenchess 2.2 64-bit -87 24 500 37.7% 39.8%
10 Laser 1.7 64-bit -94 24 500 36.8% 41.2%
11 Fizbo 2 64-bit -118 24 500 33.7% 41.4%
12 RubiChess 1.7.3 64-bit -122 23 500 33.1% 42.6%
13 Andscacs 0.95 64-bit -130 25 500 32.1% 35.8%
14 Gull 3 64-bit -151 26 500 29.6% 32.8%
15 Pedone 2.0 64-bit -186 27 500 25.5% 30.6%
16 Strelka 5.5 64-bit -266 33 500 17.8% 18.8%
Regression run against top engines in tc=all/20+0.2:
Rank Name Elo +/- Games Score Draws
0 Igel 2.8.0 64 BMI2 AVX2 -179 7 6000 26.3% 38.1%
1 Stockfish 12 64-bit 458 30 1000 93.3% 13.0%
2 Komodo 14 64-bit 208 17 1000 76.8% 39.7%
3 Ethereal 12.75 64-bit 173 16 1000 73.0% 42.7%
4 Fire 7.1 64-bit 130 17 1000 67.8% 41.1%
5 Xiphos 0.6 64-bit 121 16 1000 66.7% 47.6%
6 Komodo 14 MCTS 64-bit 103 16 1000 64.3% 44.3%