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!
Machine-learned engines
-
- 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
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
???
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
???
-
- Posts: 17
- Joined: Wed Apr 13, 2011 2:46 pm
- What do you like about checkers?: Programming checkers!
Re: Machine-learned engines
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
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
-
- 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
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.
-
- Posts: 17
- Joined: Wed Apr 13, 2011 2:46 pm
- What do you like about checkers?: Programming checkers!
Re: Machine-learned engines
Hi John,
when you say "wins" or "loses", what kind of matches are those? (Openings, number of games, time controls, hardware)?
best regards
Martin
when you say "wins" or "loses", what kind of matches are those? (Openings, number of games, time controls, hardware)?
best regards
Martin
-
- 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
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.
-
- Posts: 17
- Joined: Wed Apr 13, 2011 2:46 pm
- What do you like about checkers?: Programming checkers!
Re: Machine-learned engines
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
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