Machine-learned engines

Topics about Checkers programming and other projects.
I hope to keep users informed of the ACF website projects.
Post Reply
fierz
Posts: 17
Joined: Wed Apr 13, 2011 2:46 pm
What do you like about checkers?: Programming checkers!

Machine-learned engines

Post by fierz »

I didn't see this mentioned anywhere in this forum, so thought I would post it: A bit more than 2 years ago, Ed Gilbert introduced a machine-learned evaluation function in KingsRow, making it far stronger than any other checkers program. I have done something similar for Cake (but on a lower level - still, it is again far stronger than anything that came before machine-learned evaluations). Recently, Jon Kreuzer published a new version of GUI checkers, called guiNN, that uses techniques that have become very popular in chess programming. His evaluation is based on neural networks, a more complex form of machine learning than either Ed or I used. Ed added the KingsRow endgame database driver to guiNN, and you can download the result from Ed's github repository at https://github.com/eygilbert/GuiNN_Checkers, or read more about this development on Jon Kreuzer's webpage at https://www.3dkingdoms.com/checkers.htm.
While guiNN is probably still a tick weaker than my latest version of Cake, it is also much better than any checkers engine developed before machine learning, and due to its neural network architecture may also be able to make more progress in the future. Very recommended!
johndraughts
Posts: 16
Joined: Mon Jul 13, 2020 1:11 am
What do you like about checkers?: Hi, checkers is a technical strategy game much like chess with a never ending way to improve your game. I have played both American pool and straights checkers as well as a little 10x10 and they are all great games.

Re: Machine-learned engines

Post by johndraughts »

Hello Fierz, I was wondering if you still have a copy of the original Cake++ 1.41 or a functional version of Cake San Souci? It would be nice to have a copy of these antique programs and compare them to the modern programs. It's a good way to see how engines have progressed over the years.

Nemesis vs Cake++ 1.4
32-5-251

Cake San Souci vs Cake++ 1.4
38-4-246

GuiNN 2.05 vs Cake++ 1.4
???
fierz
Posts: 17
Joined: Wed Apr 13, 2011 2:46 pm
What do you like about checkers?: Programming checkers!

Re: Machine-learned engines

Post by fierz »

Hi John,

I do still have some of those old engines, but they are all compiled for 32 bit, so you would need to have a 32-bit CheckerBoard install to use them. For some of them, I still have the source code, and could maybe even make a modern version which would run in a 64-bit environment.
Then again, those old engines are really horrible compared to the modern 3 engines mentioned in my initial post, and I don't know if I want to resurrect such an old engine just to have it slaughtered :-)
You can still find Cake Sans Souci on my webpage here: http://www.fierz.ch/download.php and if you get Ed Gilbert's KingsRow 1.19b in the 32-bit-version you can see for yourself how much better the engines are now.
It's long ago, but my feeling is that Cake Sans Souci was probably similar in playing strength to Nemesis which won the world championship in 2002. It would certainly not have made the mistakes that Cake Las Vegas made in that championship (http://www.fierz.ch/vegas.htm). At the time, I thought it was really good, but a match against KingsRow 1.19b would show something different!

best regards
Martin
johndraughts
Posts: 16
Joined: Mon Jul 13, 2020 1:11 am
What do you like about checkers?: Hi, checkers is a technical strategy game much like chess with a never ending way to improve your game. I have played both American pool and straights checkers as well as a little 10x10 and they are all great games.

Re: Machine-learned engines

Post by johndraughts »

Hey Fierz, when I tested the latest Cake 1.88q it lost in two engine matches under different timer settings against GUI NN (both using the 10 piece database). GUI NN loses against the older Cake 1.88d, but Cake 1.88q narrowly beats Cake 1.88d.
fierz
Posts: 17
Joined: Wed Apr 13, 2011 2:46 pm
What do you like about checkers?: Programming checkers!

Re: Machine-learned engines

Post by fierz »

Hi John,

when you say "wins" or "loses", what kind of matches are those? (Openings, number of games, time controls, hardware)?

best regards
Martin
johndraughts
Posts: 16
Joined: Mon Jul 13, 2020 1:11 am
What do you like about checkers?: Hi, checkers is a technical strategy game much like chess with a never ending way to improve your game. I have played both American pool and straights checkers as well as a little 10x10 and they are all great games.

Re: Machine-learned engines

Post by johndraughts »

they were the standard 144 openings in the engine match feature (so 288 game match), it was played under 2 sec and 5 seconds a move. The PC is a bit older, an older i5 with 12 GB ram.
fierz
Posts: 17
Joined: Wed Apr 13, 2011 2:46 pm
What do you like about checkers?: Programming checkers!

Re: Machine-learned engines

Post by fierz »

Hi John,

the 288 games that you get like this at such time controls will mostly be draws. The last time I tried this I got +5-6=277 for my current development version of Cake vs KingsRow 1.19b (5s/move, 8-piece databases, no books of course). With such low numbers of decisive games, a lot is just pure randomness, and if one engine wins a game or two more or less is meaningless in my opinion (you can try to repeat your matches N times and see how much the result changes). Until recently I used an 11-man deck with only drawn openings (from Ed Gilbert) at much faster searches (0.1s), which gives 4506 games; and even that turned out to be a bit too little. I am now using 8 such matches for ~36'000 games so that the randomness of the result is not too big (4 matches in parallel, with a repeat). Ed Gilbert also uses such big matches in testing. Sometimes I mix in 1s- matches, and so that this doesn't take forever I "only" do the 4 parallel matches for ~18000 games.

best regards
Martin
Post Reply