Your definition looks very promising, and it's best I've seen so far. However Imagine a position where first two plies in pv are "obvious only moves", but the third move is a start of deep combination. With your definition the first "obvious only move" (could be fx. a forced capture) also gets classified as combination.mcostalba wrote: This is my definition of a winning combination
1) A move that does not increase the eval more then LOWER_THRESHOLD for the following DEPTH_LIMIT_1 plies
2) A move that after DEPTH_LIMIT_2 plies makes the eval jump high
3) A move that keep a very high eval for as long as the analisys goes deep.
In a line conditions are:
Eval(ply) - Eval(0) < LOWER_THRESHOLD for ply < DEPTH_LIMIT_1
Eval(ply) - Eval(0) > HIGHER_THRESHOLD for ply > DEPTH_LIMIT_2
Where DEPTH_LIMIT_1 < DEPTH_LIMIT_2
And now the new trick:
4) Called eval_second_best the evaluation of the second best move after deep analysis then must be:
Eval(ply) - eval_second_best > SECOND_BEST_THRESOLD for ply == MAX_DEPTH.
So parameters are:
DEPTH_LIMIT_1
DEPTH_LIMIT_2
LOWER_THRESHOLD
HIGHER_THRESHOLD
SECOND_BEST_THRESOLD
MAX_DEPTH
Or did I miss something?