question about automatic tool to analyze pgn

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

CRoberson
Posts: 2094
Joined: Mon Mar 13, 2006 2:31 am
Location: North Carolina, USA

Re: question about automatic tool to analyze pgn

Post by CRoberson »

What about this algorithm:

Code: Select all

     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.
guyhaw

Blunder Analysis

Post by guyhaw »

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
jwes
Posts: 778
Joined: Sat Jul 01, 2006 7:11 am

Re: question about automatic tool to analyze pgn

Post by jwes »

CRoberson wrote:What about this algorithm:

Code: Select all

     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.