From c9823c76dd43aa40bef3f67fa0940a78cb40bf05 Mon Sep 17 00:00:00 2001 From: tslil clingman Date: Wed, 17 Mar 2021 23:10:53 -0400 Subject: Corrected generation of training data for 6s --- src/pptdb.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/pptdb.c') diff --git a/src/pptdb.c b/src/pptdb.c index 8684c47..79f60c5 100644 --- a/src/pptdb.c +++ b/src/pptdb.c @@ -29,8 +29,6 @@ uint64_t heights[16]; FILE *training_fh = NULL; float max_flats, outcome_black; -const int max_depth = 6; - static void write_input(const int dx, const int dy, const uint8_t swap) { // Two numbers for flats remaining @@ -41,7 +39,7 @@ write_input(const int dx, const int dy, const uint8_t swap) { // Write the board layers float val; int col, row; - for (uint8_t depth = 0; depth < max_depth; depth++) { + for (uint8_t depth = 0; depth < board_size + 1; depth++) { row = (dy>0)?-1:board_size; for (int i = 0; i < board_size; i++) { row += dy; @@ -134,11 +132,13 @@ parse_line(const char *pt, const ssize_t read) { } } } - // Generate training data, not too early in the game, all - // orientations - if (generate && ply + 3 >= total_plies) { -#define RANDPM1 ((rand()&1)?-1:+1) - write_input(RANDPM1, RANDPM1, rand()&1); + // Generate training data, not too early in the game and not at + // the end, under all eight symmetries of the board + if (generate && ply < total_plies && ply + 2 >= total_plies) { + write_input(+1, +1, 1); write_input(+1, +1, 0); + write_input(+1, -1, 1); write_input(+1, -1, 0); + write_input(-1, +1, 1); write_input(-1, +1, 0); + write_input(-1, -1, 1); write_input(-1, -1, 0); } // Parse next action while (idx