aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md34
1 files changed, 7 insertions, 27 deletions
diff --git a/README.md b/README.md
index 8d1b437..3daa539 100644
--- a/README.md
+++ b/README.md
@@ -2,13 +2,11 @@
## Overview
-Details forthcoming, but at a glance:
-
1. ctak is a C library for the game of Tak
-2. ctaklm is a line-mode interface to ctak and a computer opponent
- (for 5x5)
-3. ct1986 is a similar interface, but designed for a Raspberry Pi Zero
- running buildroot and displaying output on a character LCD.
+2. ctaklm is a line-mode interface to ctak and a computer opponent (for 5x5)
+3. ct1986 is a similar interface, but designed for a Raspberry Pi Zero running buildroot and displaying output on a character LCD.
+4. cttei is a TEI-speaking game engine for use wherever TEI is accepted.
+5. geminict is a special adaptation of ctak for use in a gemini CGI web-server.
## Building for the native platform
@@ -16,33 +14,15 @@ Details forthcoming, but at a glance:
## Building for the Raspberry Pi Zero
-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.
+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
## The computer opponent
-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
+Standard adversarial tree search (α-β negamax) with iterative deepening, using a neural network evaluation function for leaves and also a transposition table keyed on the Zobrist hash.
-=================================================================
-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.
+The architecture of the neural network is a standard, two-layer dense network which is trained exclusively through self-play using td-leaf (see `src/nn_train.py`). As input the network is fed the top layer of the board only as well as `flats used/flats remaining` fractions for both players and a single float indicating the parity of the board.
## License