diff options
Diffstat (limited to 'src/pptdb.c')
| -rw-r--r-- | src/pptdb.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/pptdb.c b/src/pptdb.c index bb94987..286678d 100644 --- a/src/pptdb.c +++ b/src/pptdb.c @@ -24,10 +24,10 @@ #include <tak.h> -float max_flats; +int generate; uint64_t heights[16]; FILE *training_fh = NULL; -int generate, outcome_black; +float max_flats, outcome_black; const int max_depth = 6; @@ -71,7 +71,7 @@ write_input(const int dx, const int dy, const uint8_t swap) { } } } - fprintf(training_fh,"%d\n", outcome_black); + fprintf(training_fh,"%.1f\n", outcome_black); } // Warning: performs _no_ checks on input whatsoever @@ -136,11 +136,9 @@ parse_line(const char *pt, const ssize_t read) { } // Generate training data, not too early in the game, all // orientations - if (generate && ply + 4 >= total_plies) { - 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); write_input(+1, +1, 1); + if (generate && ply + 2 >= total_plies) { +#define RANDPM1 ((rand()&1)?-1:+1) + write_input(RANDPM1, RANDPM1, rand()&1); } // Parse next action while (idx<read && pt[idx++]!=','); @@ -198,8 +196,8 @@ int main(int argc, char **argv) { // Reset everything reset_state(size); // Store the outcome of this game. Black win = 1 - if (line[read-4] == '0') outcome_black = 1; - else outcome_black = -1; + if (line[read-4] == '0') outcome_black = 0.9; + else outcome_black = -0.9; // Parse the line r = parse_line(line,read-4); // Adjust counts if we're not generating training data |
