PGG106 / Alexandria

bitboard chess engine
GNU General Public License v3.0
97 stars 26 forks source link

Introduce horizontal mirroring in the NNUE architecture #445

Closed PGG106 closed 3 months ago

PGG106 commented 3 months ago

This PR introduces an horizontally mirrored net and adapts the inference to support it. Support required the rewrite of the accumulator logic to work on one pov at a time since now the 2 povs are basically independent. It introduces the ability to keep track of if an accumulator needs a refresh and to refresh it, the nnue updating isn't recursive anymore.

Passed STC

Elo | 5.48 +- 3.19 (95%) SPRT | 8.0+0.08s Threads=1 Hash=16MB LLR | 2.89 (-2.25, 2.89) [0.00, 3.00] Games | N: 13702 W: 3534 L: 3318 D: 6850 Penta | [75, 1610, 3307, 1742, 117]

Passed LTC

Elo | 8.81 +- 4.04 (95%) SPRT | 40.0+0.40s Threads=1 Hash=64MB LLR | 2.89 (-2.25, 2.89) [0.00, 3.00] Games | N: 7376 W: 1845 L: 1658 D: 3873 Penta | [10, 811, 1875, 966, 26] https://chess.swehosting.se/test/7542/