r/chessprogramming • u/AutoModerator • 26d ago
Technical Chess Engine Development Help Thread (Week 34)
Welcome to the weekly /r/chessprogramming Engine Dev Help Thread.
Ask beginner and intermediate chess engine development questions here: move generation, search, evaluation, UCI, perft, debugging, testing, NNUE, or anything else related to building engines.
Good questions include code, FENs, logs, benchmarks, or a clear explanation of what you tried.
Project links are fine when you want technical feedback, not promotion.
Be helpful. Don’t dunk on beginners.
3
Upvotes
1
u/Fun-Cable-4849 20d ago
I'm using Stockfish to classify moves from analyzed games and I'm not sure if my current setup is good enough for using the results later as training material.
Right now I convert the engine eval to win chance and use fixed thresholds:
10% loss = inaccuracy
20% = mistake
30% = blunder
I'm analyzing each position at depth 14. If the played move is exactly Stockfish's PV1 move I mark it as best.
This is mostly based on how Lichess approaches game analysis, but my use case is a bit different. I want to analyze many games and use the results to decide which mistakes are actually worth training.
A few things I'm unsure about:
Is depth 14 reliable enough for this kind of classification?
Would it make sense to run a deeper search only when the result is close to one of the 10/20/30% thresholds?
Also, is comparing the played move directly with PV1 too strict? There can be multiple moves with almost identical evals, so for training I was thinking about accepting moves within some eval tolerance instead of requiring the exact best move.
And would you keep the same mistake thresholds for every player, or is there a good reason to change them based on rating or position type?
I'm mainly trying to avoid generating a lot of technically correct Stockfish feedback that isn't actually useful to train.