switch to returning an array of actions instead of a linked list
might as well enable size 6
Change transposition table lookup policy
Details forthcoming, but at a glance:
make native
Download and extract a recent version of buildroot into the working
directory. Edit BUILDROOT_DIR=buildroot-2020.11.1
in Makefile
to
point to the extracted directory.
make pi
Standard adversarial tree search (α-β negamax) with iterative deepening, using a neural network evaluation function for leaves and also transposition tables implemented using Zobrist hasing and a chaining hash table.
The architecture of the neural network is a standard, two-layer dense classification network
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_1 (InputLayer) [(None, 28)] 0
dense (Dense) (None, 64) 1856
dense_1 (Dense) (None, 2) 130
=================================================================
Total params: 1,986
Trainable params: 1,986
Non-trainable params: 0
which was trained on the binary classification problem of predicting the winner from a given board state. As input the network is fed the top layer of the board only (see nn1986.c for details) as well as flats used/flats remaining
fractions for both players and a single float indicating the parity of the board. At the time of training, on the dataset given by resources/extract.sh
, this achieves ~75% accuracy on the validation set.
GPLv3+