My main goal is to detect blunders in chess games.

I wrote a python program that loads a large pgn database and then analyses the games. I did it by letting Stockfish go through every game and every move and comparing the bestmove score of each move with the previous move. Now the big problem is that this task is very greedy with the cpu.

Is there a faster alternative to Stockfish, maybe something that is specialized on blunder detection or move evaluations only?

  • 2
    To make it possible to answer this question: what do you actually mean by a "blunder"? Is there going to be another step after your automatic process where you check something further about the moves to see if they have some desired property? Or is it enough for your purposes that the difference in computer evaluation between the move played and the "best move" is large? Jun 6 at 10:31
  • Also I'm a bit unsure what you would mean by "specialized on move evaluations only". Isn't it already the case that Stockfish is specialized on move evaluations? What else are you thinking about that Stockfish does? Jun 6 at 10:34
  • @RottenSchnitzel Haha, I did something similar last year, also using the Stockfish library in python. Detecting blunders by calling get_top_moves, and comparing the best move with say the second best move. I'm John from the github issue discussion a couple weeks ago btw. In case you're interested, check out the position-finder project in my github page. It might not help you a lot though since my overall method was similar, and I also found it computationally expensive. Jun 6 at 10:53
  • ok I see where the confusion comes from. By blunder I basically mean very bad moves that turn the game around. In most examples it's probably going to be a larg centipawn gap between the current and the previous position. A chess engine usually has a way to evaluate the position and a way to iterate through the moves. Stockfish uses both to tell you the best move. Now I thought there might be engines around that are not specialized on finding the top move but on evaluating the current position only. This should increase the performance. Jun 6 at 12:29
  • Is the question how to detect blunders while minimizing CPU? Jun 6 at 12:54


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.