machine learning for Steamhammer
Working at glacial speed, I pieced together a machine learning algorithm for use in Steamhammer. It passed basic tests today. When I’m sure that it works for real cases that I care about, I’ll release the code. It’s short.
I used a little-known idea and combined it with a standard algorithm employed in a slightly old-fashioned way. It took me a long time to put the thoughts together, but the result is that it fits in 374 lines of code, including blanks and comments, with no dependencies. (It will likely be longer when I release it.) It should be as accurate as a conventional (non-“deep”) neural network, but it learns faster and runs faster. It’s there in the literature, I just had to put the pieces together.
Hooking it into Steamhammer will take more code that the method itself. I’ve claimed before that the first use will be for an evaluation function, “Am I winning?” but that’s not strictly true. The first use will be to train the evaluation function! Once it has useful accuracy it will be put to work in opening selection, and it can be bootstrapped for all kinds of midgame strategy decisions.
Don’t hold your breath, I’m still working at glacial speed, and even global warming won’t change that right away.