Maximus

Discussion about development of draughts in the time of computer and Internet.
Post Reply
Krzysztof Grzelak
Posts: 718
Joined: Thu Jun 20, 2013 17:16
Real name: Krzysztof Grzelak

Maximus

Post by Krzysztof Grzelak » Mon Jul 01, 2019 15:03

I have a question for Jan Jaap van Horssen. Please write whether at any time you intend to make your Maximus program available to the stationary computer (PC). I am asking since I ask as many as a few years for it and it's no use isn't leaving.

Krzysztof.

jj
Posts: 136
Joined: Sun Sep 13, 2009 23:33
Real name: Jan-Jaap van Horssen
Location: Zeist, Netherlands

Re: Maximus

Post by jj » Fri Jul 26, 2019 11:58

Krzysztof, I'll see what I can do before your new tournament starts (in september).
Jan-Jaap
www.maximusdraughts.org

Krzysztof Grzelak
Posts: 718
Joined: Thu Jun 20, 2013 17:16
Real name: Krzysztof Grzelak

Re: Maximus

Post by Krzysztof Grzelak » Fri Jul 26, 2019 21:56

I understand and thank you very much.

jj
Posts: 136
Joined: Sun Sep 13, 2009 23:33
Real name: Jan-Jaap van Horssen
Location: Zeist, Netherlands

Re: Maximus

Post by jj » Thu Sep 12, 2019 19:11

Some information on the Maximus version that played in the tournament (https://laatste.info/bb3/viewtopic.php?f=53&t=8170).

The search is unchanged compared to the version that played the last tournament, the computer olympiad in 2016.

The evaluation is now based on machine learning, after the example set by Dragon, Scan and Kingsrow. Although some situations are handled by additional code. I first made a version using the Scan 2 pattern features. Now I use the same pattern features as Scan 3 and Kingsrow: four 6x4 patterns and their mirrors. However, I use a different set of non-pattern features (or classical features, as I call them) for things like material, left/right balance and kings. I do use the Scan pattern index function and game phase interpolation (2 phases), so credits to Fabien Letouzey for that. Also thanks to Fabien for pointing to the Othello papers by Michael Buro and for making his game-playing code available, which I think is exemplary.
To train the evaluation function I first played one million fast games with material evaluation only. Then I applied (stochastic) gradient descent to fit the weights using the game results (logistic regression), so supervised learning. Of course the devil is in the details, i.e., the hyperparameters used. Training takes about 38 minutes using 8 (hyper)threads.

The opening book of Maximus is still based on human games. But moves are filtered now by a short search, excluding moves that lead to game types that are unplayable in computer draughts, such as the short wing lock (KVO in Dutch). This means that the opening book is very modest in size, and obviously this is only a temporary solution.

Time management I made less extreme (allocate less extra time when a disadvantage comes into sight), leaving more time to defend inferior positions should they occur.

To save the trouble of distributing my endgame databases and to save disk space, Maximus used the Kingsrow endgame databases (max. 6 pieces) and the driver provided by Ed Gilbert.

Other than that, Maximus is still written in Java. This leaves a bit of a performance issue. Compared to Kingsrow, Maximus shows about half the speed in million nodes per second.

Below are some DXP match results. Time control is 75 moves in 5 minutes. The machine used has 6 cores (hyperthreading was switched off). No pondering was used. The familiar 2-move ballots were used, so 158 games per match.

Maximus 2.01 vs Scan 3.0: +0 -23 =135 (42.7%)
Maximus 2.01 vs Kingsrow 1.60b: +0 -16 =142 (44.9%)
Maximus 2.01 vs Maximus 0.92 (2012): +34 -1 =123 (60.4%)

Maximus settings: TT 25 bits, 6 threads, opening book: best moves, egdb 6 pieces.
Scan settings: TT 25 bits, 6 threads, book margin 0, book ply 4, egdb 6 pieces.
Kingsrow settings: TT 512 mb (or 256, I'm not sure), 6 threads, opening book: best moves, egdb 8 pieces, cache 12000 mb.
Maximus 0.92 is the version that played against Alexander Shvartsman in 2012 (on the same machine).

Jan-Jaap
www.maximusdraughts.org

Post Reply