Hacker News new | past | comments | ask | show | jobs | submit login

I don't think the chance of cheating is a serious issue if you're playing at a low level online. You're generally matched against playes with a similar rating, and someone using a computer heavily would drastically inflate their rating. Which also increases the chance at detection significantly.

Computers are scary good at chess, it's not exactly invisible if you use them to cheat. If you're a beginner it's also quite hard to understand why the computer makes certain moves, so if you just sprinkle in some computer moves in your game it's likely you might just fail to capitalize on those moves because you don't understand their purpose. The computer also plays some quite non-human moves at times, which is also likely to draw attention if someone is cheating a lot.

I'm not saying people don't cheat online in chess, but I don't think it's anywhere near prevalent enough to ruin the game.




Accused of cheating online (scrabble, chess, trivia) so often, I just had to stop playing pickup games. Now I only play with friends.


Was this recently? Unless you're an absolutely exceptional chess player, both Chess.com and Lichess are filled with enough good players that I'd be surprised if you flew through the ranks quickly enough to be accused of cheating :)


You know... no, not recently. I can see from many of the comments here that chess seems to have found a way to mitigate, so maybe I’ll give it another go. Thanks to you and sjcsjc for the encouragement.


I experienced that with Scrabble (and as you, only play with friends now), but not with Chess. But then I'm not very good at Chess (rapid rating c 1300 on chess.com)


I suppose if you are really cheating, you wouldn't sprinkle in some computer moves. You would just move your pieces in the computer game exactly as your human opponent does. Then you move your own pieces in the human game exactly as the computer does in the computer game.


Then you're playing at something like 3000-3500 ELO. That's very, very far from subtle. And that is something you can detect by analyzing the games, a human won't pick the engine moves all the time.


I've never looked into it myself but when I was graduating someone in my graduating classes final project was a cheating detection system for chess that essentially ran your moves through a variety of different chess AI's like stockfish such and over the game built up a tally of matching moves for each system, and if you matched one too closely flagged you as cheating.

I asked the guy how he would cheat against it and his suggestion was basically finding chess engines with variable "skill" levels and varying it over the game, essentially pulling out miraculous recoveries or having a good start but then forcing your AI to try to select a win state a few turns later than optimal but using the same heuristics, so it's still practically unbeatable but drags people along a bit longer to disguise itself.

Also I don't know if this exists, but is it possible to tune an AI to a specific ELO to begin with? If so you could set it to gradually ramp up over a long time so it looks like you're steadily improving over months or years and get to the top, but I imagine that wouldn't appeal to the people already willing to cheat anyway.


Lichess’s cheat detection is open source (like everything else on the site) [0]. The training dataset isn’t public, though, and it’s practically undocumented. If you look in the `modules/game` directory, though, you’ll get an idea of what sort of data that goes into the model. Besides the engine analyses, it also looks at the time spent on each move (the `Emt` type is short for elapsed move time).

[0] https://github.com/clarkerubber/irwin


The blunders computers make and that human players make are/feel very different. I wouldn't expect to last long if I were cheating on, say, lichess.org by playing out the moves of a mix of engines at various ratings.


You could still use computer assistance which could suggest several different moves with explanations, and you could just pick one of those, maybe not necessarily the best move.

Basically computers can give good hints for you. Pretty sure this type of thing would be undetectable.


Explaining the moves is a very difficult problem, in a sense the "line" (series of moves) the computer recommends as best for both players is the explanation. Translating that information into, say, english, or some sort of useful graphical format, would be a pretty novel feature.


https://decodechess.com/ does that kind of thing.


I think the problem here is that chess engines are going to recommend 'non-human' moves at any point of the mid/endgame. And these 'non-human' moves could be the first/second/third best moves according to the engine. You'd have to have to have decent understanding of the game to realize what moves aren't going to blow your cover. I am confident over the long run anti-cheating software could pick this up in most cases. But also what are the incentives for someone to cheat at online chess over the long run? It wouldn't be that interesting for more than a couple days to get a quick thrill of beating a bunch of people in my opinion.


An easy way to detect cheaters is to look at overall accuracy as some aggregate metric of deviation from 'optimal' (as per the engine(s) used). This could just be a average of squares of centipawns lost per move, or classifying moves like how chess.com does (brilliant/best/excellent/good/inaccuracy/mistake/blunder/missed-win) and then looking at average distributions from this.


You can also just use the computer for the opening. If you don't have a certain opening, or response to a certain opening memorized, just use a computer. The difference between a memorized opening and what a computer would suggest is basically nil.


This is the only sort of cheating suggested in this thread that wouldn't be caught, but wouldn't actually be that helpful.


It's pretty helpful for the average human. Most people can't blast out 15 moves of theory correctly for every possible opening, so you'd avoid a lot of bad middle games or losses to traps.

It probably isn't as helpful to a grandmaster, but that's true of engine analysis in general


Unless you're very careful I think it should be detectable at those levels. If someone is taking the same amount of time when playing some rare and tricky opening line as they are when playing the QGD, that's pretty fishy if they don't have the level where you have a big variety memorized.


> It's pretty helpful for the average human. Most people can't blast out 15 moves of theory correctly for every possible opening, so you'd avoid a lot of bad middle games or losses to traps.

Yeah, although at that level lots of people are also getting into good positions, having no idea why it is good, and losing it.


Generally how bots play is that you have a good engine, and every so often it'll pick a random move or a lower scored move to lower the difficulty. The frequency of the random move increases as the difficulty is lowered. The engine detector would likely find that since the number of non engine moves would still be quite high.

Something like Leela trained for less time could produce a lower Elo bot. I can't imagine it will look very human for its skill level though. Like, being a 1600 while consistently playing 600 level one move blunders because it hasn't figured out how bishops move yet.

This still doesn't get you past the other common detection system: click stream


It's "Elo" (not an acronym). There is the Computer Chess Rating List (https://computerchess.org.uk/ccrl/4040/rating_list_all.html) which has the current rating, on some predefined hardware.

The easiest way to do what you're discussing is just giving less evaluation time to the engine - slowly increasing it. If you wanted it to be even better you could calibrate multiple engines to make an even smoother (but changing underlying evaluation).


As a human player you can combat that by keeping the position closed for as long as possible. If you’re playing on short time controls with no increment then your opponent will be wasting a lot of time transferring their moves back and forth to the computer. Then when their time gets really low they will panic and have to play the moves on their own, without computer assistance.


That's doesn't solve the problem of avoiding an unfun bad game.


I sometimes play online and for some reason I frequently stumble upon users who cheat in all kinds of ways. From using a computer (it's easy to tell when all moves regardless of difficulty take exactly the same time to make) to baiting me to play a 3-min game and then changing it to 30-min right before I accept the game. The only reasonable explanation is that they are trying to harvest ranking to "transfer" it to another account. Regardless of the motivation is does suck out the joy for me.


I have a completely opposite experience (on chess.com). Playing a lot of games lately at a low level, never stumbled upon a cheater.


I would imagine those that cheat at online chess wouldn't stay at a low level for very long.


I play only anonymous games not rated in lichess.org as. I like that it takes virtually one second to find an opponent match in my time control (5m+0).

My play level is around 1800-1900 FIDE (last Classic game played some 10 years ago though), and it is true that I win a lot more than I lose (so I guess that the crowd in Anonymous mode must be somewhere 1400-1900 FIDE), but I still enjoy the games. You can tell by the moves that opponents are more often than not club-level players, and I like not having any idea of what level my opponent has, so I focus on what happens on the board.

What I do not like is that, at least in anonymous mode, some players abandon the game without resigning, sometimes just a few moves still in the opening if they get a slightly worse position. Also for some reason some players play deliberately bad in the opening. Maybe they like the idea of a comeback, but I don't like it when it happens.


>and I like not having any idea of what level my opponent has, so I focus on what happens on the board.

You might like lichess's 'zen mode' in non-anonymous play, which hides everything except the board (inc. opponent name and rating) while you are playing.


Thanks, I will sign up and give it a try. This way opponents will probably be more often my level (which I guess it means I will lose a lot more).


I play on lichess and in the last 6 months I've had at least 5 different games annulled because the opponent was banned for cheating. It certainly happens.


It's very common in the 1400-1600 band but not much outside of that in my experience.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: