Train your engine !

General discussion about computer chess...
User avatar
deeds
Posts: 1008
Joined: Wed Oct 20, 2021 9:24 pm
Location: France
Contact:

Re: Train your engine !

Post by deeds » Sun Jan 22, 2023 12:17 pm

rulleeeee wrote:
Sun Jan 22, 2023 10:05 am
What program do you teach Eman with?
to choose openings to learn : expRate and openingRate
I check several opening's lists on my experience file and on experience files/opening books from other users.
Then I compare the experience rate of each opening and select the ones where my experience file has no experience data.
I also select tourney's openings where Eman will play.

to learn openings : cutechess-cli
I run a gauntlet with Eman against few opponents for each opening to learn.
Since i made my learning farms, Eman can learn several openings at the time.
At the end, i merge the experience files into one (then i defrag it and i fix it).

to find experience data to reinforce : expToPGN
I check all the learned openings in order to find experience data with shallow depth.
The tool creates one pgn per opening with all the moves/lines to reinforce.
Then I append all pgn files into one.

to reinforce experience data : commenter_pgn
Eman analyses at D40 each move of each line of the pgn file.
The tool saves the analysed positions in order to save time.
Eman also analyses at 10min/move its lost games.

rulleeeee
Posts: 46
Joined: Wed Aug 06, 2014 6:33 pm
Real Name: Grzesiek

Re: Train your engine !

Post by rulleeeee » Sun Jan 22, 2023 2:46 pm

Thank you very much for the explanations :)

Regards :)

Oh and will this experience file ever be made public or is it only trained for private purposes?

User avatar
deeds
Posts: 1008
Joined: Wed Oct 20, 2021 9:24 pm
Location: France
Contact:

Re: Train your engine !

Post by deeds » Sun Jan 22, 2023 3:13 pm

rulleeeee wrote:
Sun Jan 22, 2023 2:46 pm
Oh and will this experience file ever be made public or is it only trained for private purposes?
My eman.exp was already published until 2022 but i didn't like its misuse by idiots, cheaters, saboteurs, traitors...

In order not to punish other people, i published on github the tools to edit and improve their experience files.

To my knowledge, no one has equivalent learning data to exchange with me, so mine is private.

rulleeeee
Posts: 46
Joined: Wed Aug 06, 2014 6:33 pm
Real Name: Grzesiek

Re: Train your engine !

Post by rulleeeee » Sun Jan 22, 2023 3:18 pm

I'm a total amateur, but I already gave you Eman's experience on fourm MZ once, in the future I'll give you a second time :)

Thanks again for your help ;)

User avatar
deeds
Posts: 1008
Joined: Wed Oct 20, 2021 9:24 pm
Location: France
Contact:

Re: Train your engine !

Post by deeds » Wed Feb 22, 2023 4:41 pm

What to do after learning an opening ?

Previously, Eman learned the "b90 f8e7" opening thanks to a gauntlet of 4 x 500 games (Eman vs BrainLearn/HypnoS/ShashChess/Aurora) :

[Event "Eman's learning"]
[Site "deeds"]
[Date "?"]
[Round "?"]
[White "eman"]
[Black "eman"]
[Result "*"]
[ECO "B90"]
[PlyCount "20"]

1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Be3 e5 7. Nb3 Be6 8.
f3 Nbd7 9. g4 h6 10. Qd2 Be7 *

So after learning 2000 games on an opening, here is my routine...

1°) how was the learning of this opening ?

For that I use pgnToScores to get the general learning curve, to see the effectiveness according to the opponent, to get the ELO scores, etc.

pgnToScores.exe "b90 f8e7 - eman_experience_vs_brainlearn_hypnos_shashchess_aurora.pgn"
Image

"learning session 09.ods"
Image
reminder :
from the 1st to the 500th game : Eman starts without experience data (on this opening) and plays 500 games against BrainLearn
from the 501th to the 1000th game : Eman starts with experience data from 500 games (on this opening) and plays 500 games against HypnoS
from the 1001th to the 1500th game : Eman starts with experience data from 1000 games (on this opening) and plays 500 games against ShashChess
from the 1501th to the 2000th game : Eman starts with experience data from 1500 games (on this opening) and plays 500 games against Aurora


"learning session 09.ods"
Image
reminder :
Aurora (=the Eman's opponent from the 1501th to the 2000th game) is Stockfish + learning feature
Here, all engines have a learning feature so they don't play several times the same bad moves

User avatar
deeds
Posts: 1008
Joined: Wed Oct 20, 2021 9:24 pm
Location: France
Contact:

Re: Train your engine !

Post by deeds » Wed Feb 22, 2023 4:47 pm

2°) what are the most effective moves ?

For that I use "scid vs. pc" to see the most effective moves, to update my opening book, etc.

"scid vs. pc"
Image

On the "key" positions, i check what moves are configured in the other opening books :
Image

I update my opening book with the other most used moves :
Image

User avatar
deeds
Posts: 1008
Joined: Wed Oct 20, 2021 9:24 pm
Location: France
Contact:

Re: Train your engine !

Post by deeds » Wed Feb 22, 2023 4:50 pm

3°) what do the experience files contain ?

For that I use "(brainlearn) experience viewer" to see the experience data of each engine.

Eman
Image

BrainLearn
Image

HypnoS
Image

ShashChess
Image

Aurora
Image

The "count" and "depth" values of the "h2h4" move (11. h4) confirm that this move was the most played.
The "score" and "quality" values of the "e1c1" move (11. 0-0-0) do not always show that it was the most effective.
When the engines will read their experience file, they won't always choose "e1c1".
Without user intervention (experience data reinforcement/editing), the "experience book" or the "self-q-learning" features will often be mistaken and choose "h2h4".
Hence the interest of using an opening book containing the most effective moves obtained at learning.

User avatar
deeds
Posts: 1008
Joined: Wed Oct 20, 2021 9:24 pm
Location: France
Contact:

Re: Train your engine !

Post by deeds » Wed Feb 22, 2023 4:56 pm

4°) What is the ELO rating (on this opening) ?

For that I use ordo.

Code: Select all

   # PLAYER                             :  RATING  ERROR  POINTS  PLAYED   (%)    W     D    L  D(%)  OppAvg  OppN
   1 brainlearn 19.2 nn-1e7ca356472e    :       2     23   251.0     500  50.2  100   302   98  60.4       0     1
   2 Eman experience                    :       0   ----  1184.5    2000  59.2  511  1347  142  67.3     -75     4
   3 ShashChess 25.3 nn-1e7ca356472e    :     -77     23   202.0     500  40.4   12   380  108  76.0       0     1
   4 HypnoS 051122 nn-1e7ca356472e      :     -83     24   198.5     500  39.7   21   355  124  71.0       0     1
   5 Aurora 301022 nn-1e7ca356472e      :    -141     25   164.0     500  32.8    9   310  181  62.0       0     1

White advantage = 123.36 +/- 6.07
Draw rate (equal opponents) = 50.00 % +/- 0.00

User avatar
deeds
Posts: 1008
Joined: Wed Oct 20, 2021 9:24 pm
Location: France
Contact:

Re: Train your engine !

Post by deeds » Wed Feb 22, 2023 5:38 pm

(optional) Which move Eman played against which opponent ?

For that I use pgnToMovesFreq to see how Eman switched between the moves on "key" positions.

pgnToMovesFreq.exe "b90 f8e7 - eman_experience_vs_brainlearn_hypnos_shashchess_aurora.pgn"
Image

"exemple.ods"
Image

"exemple.ods"
Image

Even in a "key" position poor in move choice, all engines tried other moves.
Against BrainLearn, Eman started to learn the "e1c1" lines.
Against HypnoS, Eman quickly switched to "h2h4" in order to learn new lines.
Against shashChess and Aurora, Eman was able to improve all its lines (evidence ? see the general learning curve, the elo rating...)

User avatar
deeds
Posts: 1008
Joined: Wed Oct 20, 2021 9:24 pm
Location: France
Contact:

Re: Train your engine !

Post by deeds » Tue Feb 28, 2023 8:02 am

The distribution of trained openings is rebalanced after each learning session :
Image

The experience files must still learn tens of openings already present in the opening books (ex : Solista, Mantis, Hubble) :
Image

The experience files must still learn few openings already present in the other experience files (ex : ProteusSF, Cumnor) :
Image

Post Reply