6 ms·
I feel like I've been playing against it a lot in chess.com, with the tremendous amount of cheating that is going on online, every 1 out of 6 or 7 games is an e
by vfc1 5y ago
I feel like I've been playing against it a lot in chess.com, with the tremendous amount of cheating that is going on online, every 1 out of 6 or 7 games is an engine user (I know because I report them, and they get banned).
It's great to have a better engine, but I feel that would benefit the most the online chess community is not a better engine, but an open source cheat detection system, if that's even possible.
I wouldn't know how to build one, but I think that is a lot more important for chess right now, still it's great to have a better engine so congratulations and thank you to the Stockfish team.
- madflame991 5y agoHow do you figure out they're using an engine? Are there obvious human moves and AI moves?
- lionkor 5y agoI guess you could compare the outputs for different engines with that of a "suspicious" player - if their moves match exactly, flag them, if it happens too many times, ban them. Something like that.
- cout 5y agoSomeone who plays a lot against a computer will often pick up the computer's style. But sometimes a computer will make odd moves no human would ever make. I've been playing against an ios stockfish app to relearn how to play, and when it gets behind it starts throwing material away to delay the inevitable; a human would more likely keep the material and hope the opponent doesn't see the path to victory. One way to detect use of an engine is to look for moves like this, though if it could be done algorithmicly then that same algorithm could be used to make the engine play more like a human.
- Gauge_Irrahphe 5y agoWhy not just pair them with an engine? If they win they are cheating.
- JosephRedfern 5y agoI guess a basic implementation might compare the moves performed by the player under evaluation against the move that an engine would suggest? Presumably an excellent player might often make the same moves as an engine, so this measure alone isn't going to be perfect. But it could be a starting point. You might also look at the player's historical performance and watch for suspicious changes, or perhaps look for patterns in the time taken to play the move?
- ddek 5y agoIt's hard because often cheaters will play 'clean' until they get behind or to a particularly ambiguous spot, when they will cheat for one or two moves. The really hard part of chess is what to do in the mid game, once you're off your scripted opening, there is still lots of material, and neither player has any significant vulnerabilities. A computer is useful here.
- mewpmewp2 5y agoYou could even just use computer to do near perfect theory openings and you can not charge any one for cheating here, and you can still gain more ELO there. There's so much variance you could do. One does not have to alt tab to input and mirror chess engine moves with Stockfish. You can use neural network only, which is trained on human players, and have a programmatic way for AI to have suggestions on where to move show up on your screen. Time delay being pretty much non-existant, and maybe even good script can pre-move very obvious things for you. Maybe the AI will give you 3 non blunder moves, and you can yourself choose which makes the most sense or just block you from obviously blundering, but maybe like only 90% of the time. I don't like giving out ideas here, but I feel like these are obvious ways one could cheat and go undetected.
- eru 5y ago> You could even just use computer to do near perfect theory openings and you can not charge any one for cheating here, and you can still gain more ELO there. That would be hard to distinguish from someone memorizing an opening book. So hard to detect.
- sudofail 5y agoMaybe you could evaluate based on changes in player's performance or ELO. If they rapidly begin advancing, it could be more likely they are cheating.
- eertami 5y agoSometimes yes, computers play a certain way and make moves that simply aren't intuitive to humans, especially not lower rated players. However the most obvious cheaters are more easily given away by time between moves. When they take the same time between every move whether it be a deep positional move or an obvious recapture, you can be quite sure something fishy is going on. Sometimes they can have literally 1 legal move and still take 10 seconds to find it. A good player using an engine sparingly however would be very difficult to spot in online chess, especially in a single match.
- fridif 5y agoSounds like bullet chess is the only answer
- mewpmewp2 5y agoI don't want to advertise cheating or give any info about cheating, but a "good" cheater can also cheat in bullet and may be even go more undetected if they were to mix moves well. Note: I have not cheated myself, but I can definitely see a way it can be done. I'm not sure if it would be good of me to describe the process of course... Just think what input you can have and what output you can get if you were to do this programmatically and you can very well imagine if it's possible, there are also existing tools for that. You don't have to open a chess engine in another window and manually do the movements, if you know how to script. In bullet, I think may be, you could technically even use something to do "anti blundering", meaning you will blunder a lot less, because engine will just check whether it would be an obvious blunder, and block your move. May be you just allow few blunders, and I imagine it would be undetected. Sorry, again for brain storming about that. It is fascinating topic though. Engine could be running on a lower depth and it could be more sort of positional engine that does not do magical engine moves, but is trained on human players and using neural network mostly. Maybe it will just help you do theory openings. And you won't be able to charge anyone for cheating for following opening theory.
- V-2 5y agoAt the end of the day it's akin to the "true randomness" problem. How do you prove a random numbers generator isn't truly, or fully random? Or that chess moves are "truly human", and not computed by an engine. You can only approach this probabilistically. I also think the cheating detection algorithms can be beated, and I believe I could do that. Why do they still serve their purpose, more often than not? To me, it's inherently linked to the very nature of online cheating. It's essentially a futile, nonsensical activity. The only gratification is an illusion of intellectual superiority, whose worthlessness is so transparent that it can only attract people who don't get to experience the sense of intellectual superiority pretty much anywhere else. As harsh as it may sound, your average cheater is rather stupid. That's why it isn't really difficult to catch 90% of them. I don't rule out there are some cheaters who do it out of intellectual curiosity, but that would be a statistical outlier.
- michaelt 5y agoWell, obviously it's impossible to know with 100% certainty. Some heuristics include: * Some cheaters will just 100% match the best engine moves. If a player consistently does exactly what Stockfish would do that's an obvious giveaway. * Some cheaters will be manually copying moves between the chess website and their engine; in high-speed games ('blitz' and 'bullet' chess) their abilities plummet when there are only a few seconds left on the clock, because they can't copy fast enough. * Similarly, a player who takes 5 seconds a move whether they're pounding out a basic book opening or making an inspired move in an extremely complicated situation will raise suspicion. * Some cheaters will just be improbably good for their known background. A few weeks back some billionaire beat five-time world champion Vishy Anand in a charity game (where Anand played a bunch of different games at once) which is the chess equivalent of Mark Zuckerberg outrunning Usain Bolt. * Chess engines will sometimes make moves that even the top humans fail to see. All the action is happening on the right of the board, and some innocuous move on the left of the board produces a perfectly executed forced mate in 15 moves? Some people will look at that suspiciously. Of course, a sufficiently careful cheater could cheat without triggering any of these heuristics - a player who only relies on the engine for one or two key moves can easily be undetectable.
- esyir 5y agoGood luck. Those of us in other gaming spheres have been running up against this problem for aeons now. We're not winning. I can only imagine that detecting cheating is even harder in chess.
- mewpmewp2 5y agoIt's odd that it would be 1 out of 6 or 7, because when high elo streamers like Hikaru or Chessbrah are doing speed runs, they very often go on a 100 win streak, which sounds exceedingly unlikely if the odds of facing an engine user would be 1 out of 6/7. An engine user would definitely beat them, unless they were using it sparingly of course, which can be, but I don't think it would be that obvious for you in this case as well. There are examples where they face an engine and it's obvious, but it doesn't seem 1 out of 7 times.
- reader_mode 5y ago>It's odd that it would be 1 out of 6 or 7, because when high elo streamers like Hikaru or Chessbrah are doing speed runs, they very often go on a 100 win streak, which sounds exceedingly unlikely if the odds of facing an engine user would be 1 out of 6/7. I would guess that even with the engine you would take some games to rank up to that high so if chess.com is good at banning cheaters most of them would probably get caught sooner.
- mewpmewp2 5y agoYes, but those streamers often start from 500-600. And often when they do actually face those cheaters, they have gone undetected for 100+ games, maybe at 2000 elo, and they seemingly only get banned because of the publicity they face against the streamer. Meaning chess.com cheating detection by itself hasn't managed to detect them for so long, and who knows how many are there wild in the open managing to do more than 100s of games, without facing any publicity and doing it a lot more intelligently than the obvious ones against the streamer.
- knuthsat 5y agoI guess the problem is that most users that play with an engine don't play bullet/blitz. I do meet a lot of engine players on 3 minute blitz but then I just do very fast bullet moves and all of a sudden I'm losing with a 90 second advantage that cannot be recovered if the user persists on playing with an engine.
- 5y ago
- muzani 5y agoI thought something like lichess actually compares the player's moves against something like Stockfish and if it matches too closely, they flag that user.
- chki 5y agoAt what rating do you play? Around 1200 on chess.com? I don't see cheating as a big problem online for two reasons but I only play on lichess, not on chess.com. First of all it's not that bad to play against a cheater once in a while. If you compare it with other games, playing against an engine is a huge disadvantage but will not fundamentally change the structure of the game. You are still playing chess, but against a superhuman opponent. You don't want to play against the computer but it's not as bad as the other player abusing a glitch in the game. Secondly, I'm guessing that cheaters will mainly play at the entry level strength (1200 on chess.com) and a bit above that. If you are seriously cheating you will be caught very quickly. So maybe if you change your rating you might encounter less cheaters. Edit: I just looked at your comment history to find out what your rating is and apparently you are playing (for an online game) with extremely long time controls? That's probably the reason why you are encountering many cheaters. The player pool for long online games is much much smaller, so you will automatically have more cheaters who just recently signed up for the game.
- V-2 5y ago> If you compare it with other games, playing against an engine is a huge disadvantage but will not fundamentally change the structure of the game. You are still playing chess, but against a superhuman opponent It wastes your time. Playing against a human is a different experience. If you actually wanted to practice against an engine, you would do so knowingly. With some possible benefits such as takebacks etc. (since computer is not a rival, just a training tool). It wastes your rating points - if you play rated games. Obviously not everyone does, or cares about their online rating; but I do to an extent. For one, while rating isn't a goal in and of itself, it's still a convenient form of tracking my progress, and cheaters distort this measure. Finally, it wastes your nerves. However insignificant this may be in the scheme of things, I think that most people still dislike being cheated or lied to (in any way or form) simply out of principle, and find that frustrating.
- Gauge_Irrahphe 5y agoYour rating is recalculated when a cheater is found.
- bbrree66 5y agoCheating has very much ruined online chess. I highly recommend lichess.com, anecdotally there seem to be far fewer cheaters.
- r34 5y agoI've built a cheat detection system for chess few years ago. Our client paid for creating a chess portal to play chess for money (not an idea I'd put my money into - and it's been dead after few months). Anticheat engine has worked like that: - simulate a game using stockfish - for each move (except few moves at the beginning) compare the move made by player with the list suggested by engine - if the move chosen by player is on the list generated by engine, than give that player some points (depending on the position of the move on the list) - do some math considering player's ELO and some other stuff (I can't remember exactly). Definitely not an ideal solution, but also open for improvements. Btw it wasn't my idea - chess players provided the exact algorithm, so it must have been known.
- antisthenes 5y agoAnd after a player has been labeled as a cheater, start matching them with other cheaters exclusively.
- dorgo 5y agoJust wanted to propose this approach. But I wouldn't call it cheat detection. It's more of "make sure my opponent is not better than X". It could even be integrated into the game by showing the players "forbidden" moves, which are too good for the current game-level and are therefore not allowed to be played.
- Nemerie 5y agoA small problem with using Stockfish is that cheaters may use other programs in order to not play like a top engine. For example, Stockfish would laugh at some old versions of Houdini, but Houdini still outplays any human easily.
- oehpr 5y agoI mean, such a system already exists when players do analysis of their matches. The thing that makes a move identifiable as a blunder is that a chess engine evaluating the board before and after the move. It's also worth keeping in mind that you will sometimes see players match the best engine move 95% of the time or more at the 800-1000 elo's and they're not cheating, it's just their opponent is blundering and the next move is obvious. So specifically, you have to find when players matched up with engine moves, where the engine decided on an optimal move by looking far into the future.
- TenToedTony 5y agoHow can you tell it's an engine user?
- sobellian 5y agoThere is such an open source system: https://github.com/clarkerubber/irwin https://github.com/clarkerubber/irwin. It seems that the last commit was some years ago, so it's either very stable or no longer used. At any rate, this is what powers anticheat on lichess.org.
- deeviant 5y ago> I feel like I've been playing against it a lot in chess.com, with the tremendous amount of cheating that is going on online, every 1 out of 6 or 7 games is an engine user This statement seems a bit funny because in order to have a good idea that they cheated, you would have also had to been analyzing the game with the chess engine. Regardless, unless you truly an amazingly player, nearly any chess engine made in the last 15 years will destroy you and incremental improvements on stockfish have absolutely not effect on that.
- jperras 5y ago> This statement seems a bit funny because in order to have a good idea that they cheated, you would have also had to been analyzing the game with the chess engine. You analyze the game after it is played. When your opponent managed to have a 99.9% accuracy in a 1500+ ELO blitz/rapid game, it's highly unlikely that they managed to do that without some computer assistance.
- zsmi 5y agoYou have to be a bit careful there. I'm 1500+ ELO, play blitz/raipd, and get 100% from time to time. It's usually because I played some book moves and then my opponent fell into an opening trap that I knew and they didn't [1] and I knew exactly how to play for the win to checkmate, because I've done it before many times and remember the post game analysis from them. I didn't come up with the moves on the spot. [1] I get tons of wins with this one, especially since Queen's Gambit came out on Netflix. https://en.wikipedia.org/wiki/Queen%27s_Gambit_Declined,_Elephant_Trap https://en.wikipedia.org/wiki/Queen%27s_Gambit_Declined,_Ele...
- anitil 5y agoWhy do people bother using an engine? Is there money on the line? It just seems pointless to cheat at a hobby.