Skip to content

Releases: stevexyz/SlyMlego

Simple converging model with Monte Carlo Tree Search

12 May 10:06
Compare
Choose a tag to compare

In this release it can be seen as also a "very simple" model with just one hidden layer composed of 210 densely connected 8x8 neurons (with relu activation) can anyway show very good accuracy.
In the code there is also the first working draft (still to be verified) of a Mcts based engine.

Proof of concept for the SlyMlego platform with the “1ply” experimental engine

28 Apr 21:09
Compare
Choose a tag to compare

This is a release oriented to developers and machine learning enthusiasts and not to general public. It has been developed and tested on Linux (even if mostly should work also on Windows/Mac/etc where Keras and TF are available).

Like the more famous AlphaZero from Google this engine uses a residual artificial neural network architecture. Differences are that it has been trained in a supervised way (with Stockfish as the trainer) instead of using the reinforcement learning approach, the size is just of 4 layers instead of 40, there is no tree search at all, and currently there is just the value network in place.

How to use:

  1. Install all the required libraries (python-chess, TF, Keras, etc)
  2. Download the attached network (or train a new one with the instructions given on home page)
  3. Install xboard (or other CECP compatible GUI) and add to it "OnePlyEngineXBoard2.py" (please note that it should start in the directory of the model; if not you can pass a parameter with the model itself with the proper directory)
  4. Play! :)

This particular engine has been implemented not to be strong, but to show the very raw ANN evaluation of a single position: the engine "horizon" is in fact just the move it's playing (hence the name), so for example can leave the queen to be freely captured since not even the very first counter move is evaluated! Taking into consideration this, and that it has absolutely no explicit logic in the code (opening / endgame / ordering / tree search / etc) the engine shows to understand anyway pretty well the position!