Generalize NNUE architecture
authorFabian Fichter <ianfab@users.noreply.github.com>
Fri, 30 Jul 2021 13:18:37 +0000 (15:18 +0200)
committerFabian Fichter <ianfab@users.noreply.github.com>
Sat, 21 Aug 2021 10:43:15 +0000 (12:43 +0200)
commit823672b9a28b9aeccafa2f4cf94b92b217b4f31b
treed7ed788fda8f110cff57d309529010a285cf3f24
parent5dd3efe3da780ea7d955aba80aea82623fb0fcb6
Generalize NNUE architecture

Remove restrictions on board size and piece types
in order to enable NNUE for most supported variants.

This change modifies the indexing for fairy pieces,
therefore existing networks for fairy variants, currently only Makruk,
will not work properly any more and need to be replaced.

Limitations that are not addressed as part of this are:
- A "king" piece type with a constant count of 1 is required.
- Pockets are not considered.
13 files changed:
src/Makefile
src/Makefile_js
src/evaluate.cpp
src/evaluate.h
src/nnue/evaluate_nnue.cpp
src/nnue/features/half_ka_v2.h
src/nnue/features/half_ka_v2_shogi.cpp [deleted file]
src/nnue/features/half_ka_v2_shogi.h [deleted file]
src/nnue/features/half_ka_v2_variants.cpp
src/nnue/features/half_ka_v2_variants.h
src/types.h
src/variant.cpp
src/variant.h