Alphazero like implementation for Oware Abapa game

The documentation is incomplete yet, I’ll keep adding pages to the playground. But the code (once you fill the missing parts) should be ready to work.

The source code is in github:

Probably bugged, feel free to tweak it and improve it. And if you do, please share with me.

NOTE: The code is not a Copy&Paste bot at all, use it for “learning”, or better, to have some working example of what a NN bot could be.
First you need to setup the whole thing, then create a NN model, then set the hyperparameters and then train it for N hours. And even if you think you did all correctly, you can end up with a failed bot.

DISCLAIMER: I have no idea about NN, this is a trial and error, so many decisions I made are probably terrible from a ML expert POV. I made it public because top players share little bits of what a NN bot could be, but the devil is in the details. Once you start linking pieces you see that it’s a pretty hard taks.
They also use ML terms that are very hard to follow if you haven’t Machine Learning knowledge. I just ignored many parts I don’t understand, or that I haven’t coded.

14 Likes

a work in progress, rust implementation of cg-compatible alphazero, which is highly inspired by this work (thanks Marchete).
currently it perfroms worse, than my c++ one
this implementations aims small code size and simplicity.

3 Likes