michael1241 / wcc_analysis

39 stars 6 forks source link

Compare total CPL or scaled CPL? #2

Open ssb22 opened 2 years ago

ssb22 commented 2 years ago

Hi, I wonder if anyone has tried plotting the total centipawn loss (ACPL × number of moves) to see if that yields anything more interesting.

ACPL is expected to be low in drawn games, because the computer can usually tell it's a draw many moves before the players agree. For those last few moves, all positions will be evaluated as very close to 0 (or perhaps exactly 0) and that brings down the ACPL. But the total CPL would not be affected by a long run of 0.0 evaluations in the endgame.

Conversely, if an overwhelmingly winning or losing position is reached in a time scramble, then CPL becomes less important: a 500 CPL might be a blunder if it took you from +4 to -1, but it hardly matters if it's a drop from +25 to +20 when you're trying to save as much clock time as possible. Multiplying each move's CPL by something like sgn(evaluation)==sgn(old_evaluation)?exp(-abs(evaluation+old_evaluation)):1 should dampen the effect of skewed-position time scrambles. (but I say that without having actually checked how often this occurs in master games)

michael1241 commented 2 years ago

Could be edited here: https://github.com/michael1241/wcc_analysis/blob/5b39a686e305a380793fe531338582c272ce247e/analysis.py#L56 to replace the mean() call, if you would like to.