That is why I have both a ce value (computer centipawns) and a cce value (computed centipawns as a function of wins/losses/draws) for each position.
If I find that the scores do not agree, and especially if they scores disagree and the computer evaluated move disagrees with the most frequent played move, then I reanalyze to greater and greater depth.
Eventually, I either get agreement or debunking or at least a better evaluation of the position.
Here is a sample query I used to look for one type of discrepancies:
Code: Select all
select   
round((coef * 444.0 ),0) as oce,
ce, 
round(-(coef * 444.0 - ce),0) as distance, 
e.Epd, 
acd, 
pv, 
bm, 
e.pm, 
white_wins, 
black_wins, 
draws, 
(white_wins+black_wins+draws) as games, 
acs,
id, 
Opening 
from Epd e   
where  round(-(coef * 444.0 - ce),0) < 0  /* Computer score is better */
AND abs(ce) < 30000 /* When the computer found a checkmate, who cares */
AND len(Epd) >= 43 /* Opening positions to early midgame */
AND games >= 27  /* I don't nodes that are not played much */
AND (NOT dbo.GetFirstWord(pv) = dbo.GetFirstWord(pm))  /* computer engine node not the same as most common actually played node */
AND acd < 37 /* For the current pass, I am looking at shallow data */
order by games desc, acd desc, acs desc, round(-(coef * 444.0 - ce),0) , Epd
