r/chessprogramming • u/AutoModerator • 9d ago
Technical Chess Engine Development Help Thread (Week 35)
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.
1
Upvotes
1
u/Fun-Cable-4849 8d ago
I’m reviewing a move-classification approach built on top of Stockfish and would like some opinions on a few assumptions.
Current setup:
- fixed depth 12
- single PV
- exact PV1 match = `best`
- otherwise classification is based on win-chance loss
- thresholds:
- `< 0.10` good
- `>= 0.10` inaccuracy
- `>= 0.20` mistake
- `>= 0.30` blunder
A few questions:
Is fixed depth 12 generally too unstable for move classification?
Would a fixed node budget be preferable to fixed depth?
Is treating only the exact PV1 move as `best` too strict when several moves are nearly equivalent?
Is MultiPV a good way to detect equivalent strong moves, or is there a better approach?
How do you usually handle moves that land very close to classification thresholds?
Example:
FEN:
`rnbqk2r/ppp2ppp/4pn2/3p4/1b2P3/2NP1N2/PPP2PPP/R1BQKB1R w KQkq - 4 5`
Played: `a3`
Engine first move: `e5`
Eval: `+0.37 → -0.73`
Win-chance loss: `0.2016`
With a `0.20` mistake threshold this gets classified as a mistake, but it’s obviously sitting right on the boundary.
Curious how people here would approach these tradeoffs.