As a quick test, I ran some games with just the random players. Random, above, is completely random; Smart will look first for a winning move and, if none is found, then makes a random move.
When either player goes against themselves (either the first or last set above), we see a distinct first move advantage for Black, of 55% and 60%.
When matched up against each other, the Smart player is able to win 82% of the time when it has the first move, and 70% of the time when it doesn’t. It’s my hope that including this version will provide a jump-start to the quality of the training data.
Also, I might need to optimize the library I wrote for playing games. Between these two players, it averages about 1,000 games per second (single threaded, Core I5 @2.9GHz). That’s not fast enough.