Do we need learning file for engines?

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

Moderator: Ras

Do we need learning file for engines?

YES
17
49%
NO
16
46%
not sure
2
6%
 
Total votes: 35

JoAnnP38
Posts: 253
Joined: Mon Aug 26, 2019 4:34 pm
Location: Clearwater, Florida USA
Full name: JoAnn Peeler

Re: Do we need learning file for engines?

Post by JoAnnP38 »

Graham Banks wrote: Tue Oct 31, 2023 6:56 pm Using engines that learn for rating lists would make direct comparisons less meaningful, as everybody's copy of an engine would have different learning at any given point.
I am assuming that human GMs learn while they play matches. Why would Elo ratings be any less meaningful for engines? Or is this more of it being harder for testers to test rather than significance? Also, learning doesn't necessarily mean deep learning like training. It could just simply mean adjustments to contempt factor based on opponent or whether or not there are imbalances between mid-/end- game for this engine vs that engine that might encourage/discourage simplifying the board. Of course, I'm looking at this as a developer of an engine that is 500-800 Elo points weaker than the strongest engine. So maybe the discussion is completely different for those guys.

As I alluded to in my initial post, I am much more interested in opponent-based learning rather than chess learning. I find it hard to imagine how a few 1000 games would have any significant effect on NETs or HCEs that have been trained/tuned using millions or billions of positions.
dangi12012
Posts: 1062
Joined: Tue Apr 28, 2020 10:03 pm
Full name: Daniel Infuehr

Re: Do we need learning file for engines?

Post by dangi12012 »

The question is really bad formulated. What is "learning" and what is a "file"

If the question is do we need precomputed heuristics the answer is definitely YES. Your source files contain them.
If the question is do we need precomputed heruistics that are the weights of a NN. YES incremental NNs outperform handcrafted eval.

Do we need learning? Yes altough people dont mmap the Transposition Table and keep it in memory it is in fact distilled knowledge of the position.

So if "file" is a continuous region of random accessable memory we need that all the time.
Learning is either a good quiesce eval of the position (feeling for open tactics) or knowing which moves to not consider (move intuition).

There is in fact a 3rd way not implemented or only with failed attempts and that is dynamic learning at runtime. Maybe that is your question. Unclear. Our friend Mike Sherwin suggested similar to this. The data and tries so far suggests it wont work competitively but research could be fun.

For example: You have a move ordering heuristic or small NN which orders the moves and expects a node to be cut - you verify and it isnt cut. So you backpropagate that information back into the NN with a learning rate. At runtime during the actual game, or simulated but during your move time. The NN will order AND train at the same time for the actual current position. At the end you should have a NN that can accurately predict the best move according to a dynamic and not prebaked network for the actual game.
Worlds-fastest-Bitboard-Chess-Movegenerator
Daniel Inführ - Software Developer
carldaman
Posts: 2287
Joined: Sat Jun 02, 2012 2:13 am

Re: Do we need learning file for engines?

Post by carldaman »

I really enjoy testing engines that employ learning files. It's nice to know they won't lose the same way twice.
Romichess, Phalanx, The Baron, Hiarcs 14 and Critter 1.6 are among my favorite cannon fodder engines for this reason.

The experimental private engine I've been heavily testing, SultanKhan2.0, also uses a learning file and it's fascinating to see its opening
'knowledge' evolve, ironically similar to what the original Sultan Khan had to go through as he learned Western-rules chess. :)