I'm a software developer and occasional chess player at elo rating 1500.

Chess engines of different level play different type of games with some mistakes according to that given level.

  1. I'm really eager to know that what are common factors differentiate the playing ability of chess engines from one level to another level?
  2. Can somebody explain what are the common mistakes make by chess engines at ELO range 1500 - 1800 ?
  • 1
    I like this question but I'm not sure it's answerable as it currently stands. You might want to clarify whether you're talking about intentional mistakes, which some programs insert, or just choosing bad moves. You should also split this question into two, since you have two questions to ask! Aug 25, 2014 at 22:01
  • 1
    @HenryKeiter, I think the question is quite answerable. One just needs a lot of time to do so! :) Aug 26, 2014 at 0:30
  • 1
    It's not so much a mistake, but more of inferior algorithm and poor search depth. I'm still looking for a smart program that makes 'interesting' or human-looking mistakes.
    – prusswan
    Aug 27, 2014 at 4:28

2 Answers 2


I'm also a chess engine developer, let me answer you from my own experience:

There're lot of reasons differentiate the playing ability. Actually, a lot. This is an area where one could write a PhD thesis, but let's take a quick look at the two major factors.

  1. Ability to do a cutoff quicker
  2. Ability to evaluate a position better

Unlike a human player, a computer chess algorithm doesn't need a sophisticated position evaluation. Lots of weak engines tend to use some very complicated evaluations, such as cubic interpolation of material values but none have been proven to work. Simple is the key. Stockfish, the strongest engine in the world, has an evaluation about Elo 1800. It might sound amazing that an Elo 3000+ engine has a simple evaluation that is only about Elo 1800 level. But remember, a computer needs to use this evaluation function for hundreds of thousands of positions. The simpler, the faster the engine can search, the higher depth it can reach and therefore the more tactics it can see.

Weak engines tend to use only alpha-beta. It's insufficient because the search space is too large. One would need to consider null-move, late move reductions and other advanced algorithms.

Now, to your second point. The common mistake made by chess engines at ELO range 1500 - 1800 is that their programmer doesn't understand chess programming. MicroMax, a super light chess engine (Google it if you don't believe) can play Elo 2000. Anything weaker than it is an indication that the engine has bugs and not performing as expected, as it should.

In general, an engine with a correct material evaluation function can perform Elo 2000.

  • 1
    How do you evaluate the "elo of an evaluation function" ? Where does the 1800 number comes from ? Did someone "disable all other features but alpha-beta search + evaluation function" ?
    – rodrigob
    Aug 29, 2015 at 12:15
  • @rodrigob The number is a rough approximation by reading the source code. The chess understanding demonstrated in the source code is essentially material counting, opposite color bishop, spacing, better rooks on the open-file, pawn structure etc. All of which can be understood by a 1800 rated player.
    – SmallChess
    Aug 29, 2015 at 13:34

It doesn't take much depth to a search to surpass an 1800 level... so even really dumb evaluators tend to surpass that level quickly. Engines that do have these problems seem to get stuck in quiet positions (or closed positions) which require a plan that terminates beyond the search horizon rather than a short tactical improvement. Often, a program can make random moves that cause a deterioration of their position, so a patient human can wait for weaknesses to be self inflicted.

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