21

I see accounts of people getting banned from sites like chess.com for using engines like Stockfish and Komodo (I admit I have used these engines before, but never in an actual match). Now, I believe there are certain characteristics of these engines that make them easy to detect. One I heard is the way you move the King, as well as every move being the best move possible (This one could be wrong). But I was thinking... couldn't chess engines not do the things that make them detectable, like play Kings less randomly, play sub-optimal moves in between optimal ones, etc, and become basically, as far as I can notice, undetectable? Is there anything about the way they are programmed that make this impossible or is this because of legality and morality?

3
  • @J... Failing the turing test in general is indeed about being 'intelligent' enough, failing to not be identified has more to do with replicating the same human 'stupidity' in the same way. Nov 12, 2020 at 10:30
  • Human stupidity isn't a particularly efficient heuristic in a typical Turing test. And the best chess engines aren't based on brute force anymore anyway, but something more akin to analysis (alphazero is a neural network). Regardless I put 'intelligent' and 'stupidity' between quotes because they are inadequate terms, maybe I should have called it 'human fallibility', making sure that every action takes as long as it would take a human, making sure that the errors that are made are of consistent style, etc. Nov 12, 2020 at 12:07
  • @J... chess.stackexchange.com/a/32880/2947 answer expresses my own believes why Chess Engines can be identified. As for neuron counts, neurons in neural networks and in the brain are only very superficially similar concepts, so comparing them is beyond meaningless. As for energy efficiency, a trained neural network is typically reasonably cheap to execute, it's the training portion that takes either time or energy. I would expect a dedicated chess engine to be more energy efficient than a human (obviously humans are flexible). Nov 12, 2020 at 12:42

6 Answers 6

31
  1. Engines have no concept of natural moves and they have no fear. An engine will play for the most advantage, not for the most manageable advantage, even if it allows a fierce attack, because it sees that the attack does not work, while a human would probably prevent an attack and settle with a smaller, but practical advantage.

  2. "Randomly" picking good moves is not easy. The second best move may only be second best if you see a very hard ONLY MOVE which comes 15 moves after. And sometimes, the best move is very obvious, and playing the second best move would be very suspicious.

  3. It is not very known how engine detections on chess websites work, but I have read that they also account for playstyle inconsistency (ultra-aggressive to defensive, even though an aggressive move is available and not much worse), mouse movement, time management.

8
  • 3
    The third point is very important: There is no simple "one size fits all" set of measures that would universally camouflage engine use for every user. For 100% "protection", each cheater would basically need their own tailor-made anti-detection profile, trained with hundreds of their own games to play just like them themselves but a little stronger. Not very feasible.
    – Annatar
    Nov 10, 2020 at 8:30
  • 3
    @Annatar Feed a collection of 5 or so suggested moves into the engine, get them back ordered according to how good the engine thinks they are. (Not so good for blitz of course)
    – Taemyr
    Nov 10, 2020 at 12:23
  • 4
    @Apoqlite Certainly it could, but at the same time the websites will also be improving their anti-cheat detection as well.
    – Carmeister
    Nov 10, 2020 at 21:43
  • 3
    @Annatar great point. Chess playing style (timing, decision making etc) could be an unique as hand writing
    – stevec
    Nov 10, 2020 at 22:35
  • 1
    I agree with the inconsistency part. I remember a friend and I were playing on Lichess and he got banned (or warned) because he was playing very aggressively originally and then decreased his aggression to give me a chance because I am not nearly as good as him.
    – Paddy
    Nov 11, 2020 at 7:57
16

One very obvious indication for people using engines is, that they need roughly the same time for every move (usually about 5s in blitz games), even for the most obvious ones, which could be premoved. They also have much worse ratings in faster time controls (bullet). One example: https://youtu.be/rlxHusHfpck

6
  • 5
    On the opposite, I once made a mistake losing the queen in a quick game online, something a computer "sees" immediately (most other moves are pruned quickly) and it took the "opponent" 0.3 second to take it. A human, even seeing quickly the completely unexpected (and not anticipated = no premove) mistake would need at least 1.5~2 seconds to take it. A very fast move that shows, anyway, that the opponent is a comp
    – Déjà vu
    Nov 10, 2020 at 8:17
  • @e2-e4 You should take a look at one of this HyperBullet/UltraBullet tournaments on Lichess.
    – Sleafar
    Nov 10, 2020 at 16:45
  • As the chess engines usually used are a handful, it is possible that websites could be comparing the move made by the player with the move made by an engine at the same position. If the moves are consistently the same, then it is quite obvious that an engine is being used.
    – Paddy
    Nov 11, 2020 at 8:00
  • @Paddy It's not that simple. If you would do that, you would accuse every top player who memorized 30+ move variations up to e.g. a forced draw of cheating.
    – Sleafar
    Nov 11, 2020 at 9:39
  • 2
    @PeterLeFanuLumsdaine e2-e4 was talking about a "quick online game" so I assume it was a blitz game. I'm making moves regularly in times below 1.5-2s during blitz games (and usually regret them regularly as well). I seriously doubt you can accuse someone of cheating, because he took your queen in a time below 1s. Even if you could, this would be an indication that you play against a bot, not someone using an external engine.
    – Sleafar
    Nov 11, 2020 at 13:43
12

Some of those things are possible in theory. Especially if you have a good idea what an engine-detector is looking for, you could maybe do some machine-learning training of algorithm against algorithm until you had one that could make good moves that didn't get detected as different from a given player's normal play.

But that would require someone to be interested in spending a bunch of effort to make software whose main use-cases included letting people cheat undetectably. Most people actively don't want that and would avoid doing so, even though there might be other uses (like for training, to play against a human-like opponent, if it's good enough to really play human-like, not just sneak under the anti-cheat radar).

So I think a significant part of what prevents that from happening is the ethics / moral code of many software developers. Or that for most people it's a somewhat less interesting goal than making a strong chess engine by any means possible. Not purely technical challenges if someone set that as a goal.

OTOH I could imagine some people might be curious to see if they could teach an engine to play more like a human, or play more like a particular human. And/or as @Akavall mentions, as a training opponent. That could make for some interesting research, although the danger of cheaters weaponizing the results would hopefully deter many researchers from pursuing it.

6
  • 3
    The caveat is that the whole point of cheating is to "win", but once you make your moves undetectable (mimics a real player), then you probably won't be winning with the same level of consistency.
    – Nelson
    Nov 10, 2020 at 7:07
  • 2
    @Nelson: Right, but you can still win significantly more than you were before, and put your rating on an upward trajectory as you at least avoid blunders, for example. Nov 10, 2020 at 7:09
  • 5
    Good points, but software that plays very much like a human would be useful for other things besides cheating, it could be useful to play training games against, for example, so there could be an incentive to develop it.
    – Akavall
    Nov 10, 2020 at 7:43
  • @Akavall: Good point, that's a stronger factor in the plus side than what I'd thought of. But only if it's really human-like, not just fooling an automated cheat-detection system. Anyway, updated my answer to include that, thanks. Nov 10, 2020 at 7:46
  • 1
    @BCLC: Chess being turn-based makes it a lot different from fast-paced games. Very low-bandwidth. The only interaction between client and server is a move, and there aren't many moves in a game, and time controls give the player enough time to look at another screen or window between moves so no modification of the client software is necessary. Also, the player already has perfect information about the game state; no wall hacks needed. Cheat-detection in chess is a lot different from esport games where cheating involves basically hacking software, I think. Mar 20, 2022 at 16:01
5

That's a bit like asking a congregation of people "is everyone here?" and expecting an accurate answer.

There may very well be chess engines that are optimized to fly under the radar of the cheat detection algorithms used at the major sites. But those are not the ones that get exposed and therefore they are not well known.

4

With the proliferation of machine learning systems and excess processing power, once you have enough play data, you can use readily accessible machine learning algorithms to determine a player's playstyle, and compare their moves against chess engine playstyles.

The exact mechanism and detail are university-level courses, so that isn't something I can explain in detail at the moment, but having access to a large amount of chess play data would make such analysis easily doable for someone in 2nd or 3rd year in computer science or data analytics. Machine learning is accessible enough that I think even a high schooler with particular interest would be able to do the analysis.

1
  • "easily" means here that he would know well, what to develop. The actual development would take from months to years.
    – Gray Sheep
    Nov 18, 2020 at 1:25
0

in esports (other esports? lol) like csgo, there are hundreds of sites dedicated to cheating. i have a feeling there may be a few such sites similar dedicated to chess cheating but ultimately i think it would end up the same as csgo: for every cheat, the csgo peeps will eventually improve their systems to counter the cheat. i have a feeling the case is similar to chess except i think it's much less difficult to counter cheats in chess as compared to games like csgo.

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.

Not the answer you're looking for? Browse other questions tagged or ask your own question.