6

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 ?

Thank you in advance for your help.

  • 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! – Henry Keiter Aug 25 '14 at 22:01
  • 1
    @HenryKeiter, I think the question is quite answerable. One just needs a lot of time to do so! :) – Wes Aug 26 '14 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 '14 at 4:28
4

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 '15 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 '15 at 13:34
1

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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