User enters a prefered threshold value to define blunder
User enters prefered depth of blunder search
for (i=0;i< last move; i++)
{
position = setup position
Value [i] = Engine(position, Depth);
if (i>2)
if (Value[i-2] - Value[i] < threshold)
{
Announce Blunder
Do other blunder stuff
}
}
I think it works and is simple.
There is one issue: If the user defined depth is small enough, the
algorithm will define move(i) as the blunder when move(i-2) is the
real blunder.
I think there is a Blundercheck facility in FRITZ.
'Blunder' needs defining: how about a move that is not in the top-rated 'MultiPV' moves at depth 'd', and apparently should not have been (after being analysed at depth d-1).
g
User enters a prefered threshold value to define blunder
User enters prefered depth of blunder search
for (i=0;i< last move; i++)
{
position = setup position
Value [i] = Engine(position, Depth);
if (i>2)
if (Value[i-2] - Value[i] < threshold)
{
Announce Blunder
Do other blunder stuff
}
}
I think it works and is simple.
There is one issue: If the user defined depth is small enough, the
algorithm will define move(i) as the blunder when move(i-2) is the
real blunder.
There is a problem with this. If a player makes a move that has a deep refutation, it may well look like a blunder a few plies later when the program finally sees it, even though there is no better move at that point.