diff options
| author | tslil clingman <tslil@posteo.de> | 2023-01-15 16:03:37 +0100 |
|---|---|---|
| committer | tslil <tslil@posteo.de> | 2026-08-28 19:37:41 +0100 |
| commit | ee216c008a188a9436fedb85c70ee5d1719733b1 (patch) | |
| tree | f1d8fa5efd71851dd4f8d3e2b26b1f95a6086cb9 /README.md | |
| parent | 7cf3a656d0c923dd92025c09747461f2f2d1bed0 (diff) | |
new neural network arch (faster + better) & minor changes + fixes
Gone is the convolutional neural network, for it turns out not only is
it more difficult to train, but all of the extra information about
board layers didn't make much of a difference at this size.
So cnn1986 has been replaced by nn1986, a standard, two-layer, dense
nn configured as a binary classifier and (mis)used in that capacity.
Note: total number of parameters is unchanged.
HARK: this new nn exposes a bug somewhere in ctak. Run ctlm with
self-play to see the completely borked board state at the end.
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 24 |
1 files changed, 18 insertions, 6 deletions
@@ -12,7 +12,7 @@ Details forthcoming, but at a glance: ## Building for the native platform - make native + make native ## Building for the Raspberry Pi Zero @@ -20,17 +20,29 @@ 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 + make pi ## The computer opponent -### Adversarial tree search implementation +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. -Details coming soon +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 -### The convolutional neural network cnn1986 + dense (Dense) (None, 64) 1856 -Details coming soon + 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 ~82% accuracy on the validation set. ## License |
