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

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Damir
Posts: 2801
Joined: Mon Feb 11, 2008 3:53 pm
Location: Denmark
Full name: Damir Desevac

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

Post by Damir »

Damir
Posts: 2801
Joined: Mon Feb 11, 2008 3:53 pm
Location: Denmark
Full name: Damir Desevac

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

Post by Damir »

1 ply NN Engine

"Proof of concept for the SlyMlego platform with the “1ply” experimental engine
@stevexyz stevexyz released this Apr 28, 2018 · 20 commits to master since this release

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:

Install all the required libraries (python-chess, TF, Keras, etc)
Download the attached network (or train a new one with the instructions given on home page)
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)
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!" (Gitub site)