Learning

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

Moderators: hgm, Rebel, chrisw

criko
Posts: 138
Joined: Wed Feb 28, 2018 2:50 pm

Learning

Post by criko »

Hi all,

which engine has the best and effectively learning implemented?
Which engine has real learning from bad moves or lost games?

SugaR ?
Eman ?
ShashChess ?

Any response would be helpful and appreciated?

regards
Chris
abgursu
Posts: 91
Joined: Thu May 14, 2020 3:34 pm
Full name: A. B. Gursu

Re: Learning

Post by abgursu »

Eman's (and Sugar's) for me. I used learning engines since first they came to Stockfish (There was ShashChess 6.1 first, copied learning code from Kelly's personal project. There was no Brainlearn at that time. Before these engines, earliest engine that uses position learning was Critter as far as I know.) The learning didn't effect openings too much at that time, it was effective on hard puzzles and fortresses mostly. Then Eman came with a similar code and with fixed lots of bugs when there was a lot of bugs in Brainlearn such as reseting the whole experience in shutdowns or generating a lot of experience files(each file was for one "first 16 moves"). Eman's learning was great, it was effective for everything in a game and it gave us possibility to use experience as an opening book. ShashChess' and BrainLearn's bugs are fixed, but I still believe Khalid's learning is better than Andrea and Kelly's. Eman learns hard puzzles at one take but I remember I was repeating two or three times to make BrainLearn realize the position completely.
peter
Posts: 3185
Joined: Sat Feb 16, 2008 7:38 am
Full name: Peter Martan

Re: Learning

Post by peter »

abgursu wrote: Mon Apr 19, 2021 1:46 pm Eman's (and Sugar's) for me. I used learning engines since first they came to Stockfish (There was ShashChess 6.1 first, copied learning code from Kelly's personal project. There was no Brainlearn at that time. Before these engines, earliest engine that uses position learning was Critter as far as I know.)
As for learning SF, there was SF_PA (Persistent analysis) from Jeremy Bernstein many years ago. Full name was SF_PA_GTB, because it was using Gaviota- tbs then too, Syzygys were not even around then.

Before this one first learning SF there was Houdini up to version 4 (pity not any more later on), and much sooner Shredder up to version 12 (pity not any more since 13) and Hiarcs (still up to latest version).

As for up to date learning engines my favorites are in this descending order: Eman, SugaR and ShashChess (BrainLearn, don't see much differences as for their experience files between BL and ShashChess, guess they can be used in exchange to each other too).

Yet I still liked SF_PA mostly as for persistently stored hash- entries in quantity and quality, Marco Zerbinati tried a revival of Jeremy Bernstein's code too several years ago called SF_PA_MZ, pity he stopped developing that rather soon again then.

My biggest hope as for learning engines in future would be a new Shredder again maybe, S12 had one of the best learning features of all of them too, relativized to these former times of then.

A learning komodo would be a fine thing too of course, storage of full hash helps in analysis of certain positions now and then to restart without having to fully refill hash by new pondering again, but it can't be compared to the versatility of Experience files of today's, neither to those of the past regards
Peter.
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: Learning

Post by carldaman »

The Baron and Romichess have good learning features, too, but they're not top engines, though Baron is quite strong. Hiarcs is also supposed to have learning, but I'm not sure it works that well.
peter
Posts: 3185
Joined: Sat Feb 16, 2008 7:38 am
Full name: Peter Martan

Re: Learning

Post by peter »

carldaman wrote: Tue Apr 20, 2021 4:42 am The Baron and Romichess have good learning features, too, but they're not top engines, though Baron is quite strong. Hiarcs is also supposed to have learning, but I'm not sure it works that well.
Hiarcs was one of the first engines ever with the position- learning feature and it did and does work quite well too, (a Hiarcs NNUE would be great fun probably anyhow, I guess) main point with all learning engines have to be considered with this one as well as well as with all the other ones: engines can learn only, what they compute by themselves, as for evals and as for the depthes, the evals come from and count for.

There's one more or less relevant exception from this rule: SugaR at its external Experience Tool, has a menue- item called Experience from PGN too, and this one, unlike Eman's equivalent, takes the evals stored along with the moves of games in .pgn- bases, it takes those ones as given for evals stored in experience- files created in that way, at least as much as I know about it.
Therefore this one Experience from PGN- Tool- works much faster then e.g. Eman's one does, (that has to evaluate each and every move in .pgn to a given depth on engine's own, as well as in Backward analysis, it does so in Experience from PGN- Tool, SugaR's doesn't. So, if there aren't any evals stored along with the moves, only the moves themselves are stored in experience file of SugaR's created with the external Experience from PGN Tool.

Tried it some times till now, works as it should, .exp- file grows about as much as with game- playing and analysis as well, (as sais, only if there are evals stored already too, if not, .exp stays very small) about the quality of the entries, my doubt would be this one: if the evals stored in .pgn aren't good ones, the ones in .exp won't be any better, would they? And then there are normally always more or less big differences in evals for the one and the other one side in games of two engines playing against each other. So there will be normally a better one eval for one and a worse one for the other one side of the board.

Anyhow, the other one (actually the same one from other perspective) main principal stays undisputed always still: only evals of pondering at good hardware- TC can make play of engine better by experience, if hardware- TC of games played to learn from as well as from analysis, you can't expect good and helpful experience- files being created by too short hardware- TC.

That's one thing all the authors of the learning engines did point out from the very beginning of bringing up a new one learning feature, and they keep on doing so again and again, Robert Houdart, Richard Vida, Kelly Kinyama, Andrea Manzo, Khalid Omar, Marco Zerbinati, many years ago already Ed Schröder (Rebel and Pro Deo have learning files too) Mark Uniacke, Stefan Meyer-Kahlen and Jeremy Bernstein (coming up with SF_PA then, I still miss the development of this one SF- branch a lot too) said so already, as far as I remember, from almost of all of them I did read this at least once in a while in readme- files and postings:

Don't create Experience- Files by bullet- and blitz- games (at least not < 6'+2" of at least 8x3GHz or 12'+2" and 4 even weaker cores I'd say, of course it depends on the purpose you want to have the .exp- files themselves for too, e.g. if for blitz with read only or for ongoing learning at playing LTC- games), otherwise they are more or less worthless or make play of engines even worse then letting them play without such files, of course they do some damage even, if entries in experience are worse then the ones the engine gets on its own at playing and analysing with better hardware- time regards
Peter.