I would like to start a machine learning project that should recognize whether a player is a person or a computer.

I have a data set with labeled labels (computer or human).

In your opinion, what would be good input parameters? I would like to also include use the chess position and the move. But which coding would be appropriate?

Other parameters would be some positional and material evaluation values and the centipawn loss


1 Answer 1


Coming from a machine learning background, although this sounds like a supervised learning task, do not expect any decent results.

Most players today use the computer to analyze positions and prepare quite deep with the engines. So the distinction there is lost in most medium to high level game play.

Also, simply knowing whether a game was played by a computer or not is not sufficient. To train any model, you need to have an intuitive understanding of your data. In this case, simply the sequence of moves played is not sufficient.

But if you're still bent on trying your hand at this, you could look into sequence classification using LSTM networks using an encoded matrix as inputs, but I don't see it working very well at all. If a human can't tell the difference, any model you develop won't be able to either.

  • 1
    "So the distinction there is lost in most medium to high level game play." Disagree. It's certainly possible to seperate GM and Stockfish, although maybe not GM and Lc0. Aug 23, 2020 at 10:12
  • What you're describing is hindsight bias and is very important to root out. What differentiates a move between an engine and a human? You can't unless you know which is which. It is then you get the feeling of "i knew it all along" and think it can be predicted. Take my word on this, what you're trying to achieve is a classification task and it can't be done the way you want to.
    – tehem
    Aug 23, 2020 at 13:14
  • They can do that based on decades of studying and instinct. But sure, you seem to have it all figured out. Go ahead. I'm sure you're smart enough to develop the model.
    – tehem
    Aug 23, 2020 at 15:55
  • 1
    For the first point discussing preparation, the project could only use moves in a game once it is clearly out of known theory. Aug 23, 2020 at 22:49

Your Answer

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

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