Java Chess Engine

View on GitHub


The LearningImpl project is using Neuroph Java framework in order to apply supervised machine learning and tune the Bagatur’s evaluation function. It is using Multilayer perceptron (MLP) feedforward artificial neural network. It has one layer with many features as the evaluation function becomes too slow to calculate with more layers and cannot compensate the better quality achieved by more layers.

How to run

If you want to run one of the supervised learning main classes first you have to generate training chess positions with evaluations using the UCITracker project, which saves these positions into a file. For that purpose you need a strong chess engine like Stockfish, Komodo, Houdini, Rybka or other. Than use the UCITracker to run self-play games of this engine and track down the positions played and their evaluations so later a supervised learning can take place.

Interesting sources