Oswestry Chess Club

Articles



Rudy — Online Cheat Detection — 24/11/24

During the Club's AGM earlier in the year, the topic of Oswestry's online team membership was discussed. Rudy, a member of Oswestry 1 in the 23/24 season, stated he would no longer participate in the online team because of opponents who used engines during play. This interested me, so I broached the subject with Rudy a day or two afterwards with a few questions. What with one thing and another I've only just got round to writing it up — Al. Q: Rudy, how do you know an opponent is using an engine? Rudy's answer: First of all I can feel the strength of resistance to my attempts at getting a good position. I have played many GMs, IMs and FMs in my time, so I know what kinds of expertise to expect. If I get outplayed/out tacticked in certain ways, not by any blunders on my part, this is a reason to investigate further. Also I have annotated games for a number of years in the Dyfed League involving players from 2300 to 850 and know the characteristics of players at various grades. The first step is to see if I have any other information on my opponent, eg grades, young, otherwise ungraded or an OTB grade much lower than the player's online grade. Q: Do you use an engine to analyse the game afterwards? A: The basis of my investigation is a centipawn count program. I use Chessbase 17 which has an option for centipawn analysis (among other things) which has been available since Chessbase 15. What it does is to check the game for the amount of deviation from the lines an engine would play. The lower the centipawn count the closer the play approaches the engine's performance. The game needs to be longer than about 25 moves - there may well be forced sequences that are unavoidable, and there are tedious long games, where neither side is actually trying to do much. When a player's centipawn count is in single figures it equates to something like 98% concurrence with an engine — ie the player's moves coincide closely with the moves produced by an engine. However, anyone can play a very good game occasionally, eg my best game recently delivered a centipawn score of 1 - but it was 20 moves, tactical, played OTB in a Welsh Seniors tournament. So, if there is a long string of such games, or even alternate games, then this smells suspicious and I am motivated to inform the relevant online chess website that a player may be cheating. I submitted a report recently when playing on World Chess Arena (they act frequently on my reports). I looked at some 13 other games that my opponent had played, and half of them sported single figure centipawn score. Now the elite GMs often, but not always score in single figures, IMs would be happy with below 20, people of my strenghth high 20s and 30s. There is a correlation with playing strength as there is between ability to recall the details of a chess position having looked at it briefly- the de Groot study for example. Q: Might not your engine differ in the evaluation of lines from the cheating opponent's engine? A: You are correct in that a variety of engines of different strengths may be in use. On mine I can set any engine I have available for use as a base. When I was monitoring one particular person in the past, I was able to guess which weaker version they were using, and used that. However I now use the strongest I can find, now Stockfish 16.1. It plays at about 3,600 elo. If you get a single figure performance against that there is no need to see if one can get it even lower by taking in an older version. It can be set for a time limit to analyse each move and I set mine for 5 seconds, about optimum. I believe Stockfish 16.1 on Lichess is probably set for 1 second. I hate the algorithm set for openings in Lichess — play the Dutch and it screams inaccurate, you have to play e6 on move 1. Also it says blunder if you don't play the most exact mate, or if you don't give up Queen and Rooks to hold off the mate for a few moves. A colleague once caught an opponent while they were playing — on Chessbase, if a position has been played before on another computer then it will appear in one of 3 lines in a box. He was able to anticipate which variation was actually going to be played. There are more sophisticated ways of keeping the centipawn count higher (and thus avoiding suspicions of cheating) — eg use the second or 3rd line of an engine rather than the top line. Or just play a nondescript opening, then bring the engine in later to get you out of the bunker you have got yourself in. These ploys can also be uncovered with more precise examination. Q: Did the fact that a move was so outlandish that no human would consider it arouse your suspicion? A: Yes, sometimes a single move just leaps out.Though overall it's the sheer absence of inaccuracies and mistakes as seen by the examining engine. But mostly its the overall pattern that confirms the initial suspicion. Note: Rudy has since resumed online team play provided certain conditions are met.


Centipawns

For any of you who are not up on the subject of centipawns, the centipawn, one hundreth of a pawn, is the basic unit of measurement used by engines to evaluate the strength of player's move in a given position. You may have noticed an evaluation bar or evaluation score when using Lichess or an analysis engine to view a game. It may display something like +2.5. This means that White has an advantage worth 250 centipawns, or 2½ pawns, over Black. If the reading is -2.5 then Black has an advantage worth 2½ pawns over White. If you request a computer analysis of a game on Lichess you will see, once the analysis is complete, a figure labelled "Average Centipawn Loss". This is a measure of how closely your play agreed with the engine's ideas. The lower the loss, the stronger your play, at least according to the engine. Of course any player can achieve the occasional low centipawn loss, more often by accident than design. I played a Lichess 5+3 blitz game a week ago and came out with an average centipawn loss of 10 which, according to Rudy above, means that for that game I played at nearly grandmaster level. Oh that I could play at such a level in every game. Al