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