I have become familiar with chess algebraic notation, and have noticed that all of the software tools I've used to re-create the games so I can create videos of them lack one feature: they never append an exclamation mark
! after a "brilliant move" or a question mark
? after a blunder. Similarly, they don't note an "interesting move"
!? or a "dubious move"
Is there an algorithm which can determine which moves are brilliant/blunders/etc? The only approach I have thus far is using a combination of C++ and MATLAB to calculate the "effective score" at each move in the game, detect peaks and troughs, and then annotate that particular move as a "turning point". The only problem with this approach, is that if a player deploys a clever, three-move tactic, my algorithm would likely just recognize a move towards the middle/end of the tactic/sequence rather than the "brilliant" move that started it.