Wednesday, July 14, 2010

The Silicon Monster Annotations


When a player works with a chess engine, he/she has to understand the intricacies and the pitfalls behind letting the silicon monster do things like annotating the game.

Chess engines like Fritz and Rybka are enormously helpful in finding missed tactical combinations and how to create strategical plans arising from them.

However, where chess engines fail happens when a position is so incredibly complex that it requires a lot of processing power and time. So sometimes, it does not "see" the correct continuation until it enumerates all the various correct "tree" variations extensively before it finds the correct continuation. That is why in order for a chess engine to annotate properly, you must give it sufficient time to locate the correct variation. You cannot rush these things unfortunately (unless of course you happen to be Topalov and you have access to IBM's Blue Gene/P).

Chess engines can misjudge closed positions where sometimes, the moves suggested by the chess engine doesn't make any sense at all. It is particularly obvious to know the chess engine is floundering when it constantly sways its evaluation between 0.01 and 0.02 between different variations. This means that there is typically no advantage to be gained between choosing moves that gain a +0.02 or +0.01 advantage. This is where human evaluation takes over.

However, if the computer evaluation changes by more than 0.5 is where you must sit up and take note because it typically means that either you or your opponent has overlooked the position and either of you has made a slight concession/weak move.

In addition, in totally winning positions, chess engines may give you the best lines but as a human player under time pressure, if you know the position is winning, then you look for forcing moves to maintain your advantage.

Does the engine evaluations really matter for example, if you know the endgame is winning so you trade down to a winning endgame?

No, it does not (unless the engine is screaming checkmate in x number of moves). A difference between a +7.5 and a +8 advantage is going to matter little because the game is practically won.

So the next time you let a chess engine annotate your game, remember its flaws and its uses.

And one more thing, no player ever plays like a chess engine so there is no point beating yourself up over it if you miss a variation that changes by say, 0.02.

In the end, one must note: Chess engines are after all programmed by humans and humans do err.

7 comments:

  1. Absolutely. I have StockFish take a look at my games in SCID, about 5-10 seconds per move, and look for anything above +0.7. Anything less tangible is really nothing worth worrying about too much at my level, I believe.

    ReplyDelete
  2. I like to look at the move(s) themselves rather than the evaluation. If one engine says one move and another engine likes a different move it can be very educational to try and figure out why. I think the moves are the thing.

    ReplyDelete
  3. I think I may need your help. Could you please suggest how I could contact you (like e-mail)? Thanks.

    ReplyDelete
  4. Chunky Rook: That's nice. In my case, I'm fine with just plain old Fritz. I do notice that Fritz seems to run really fast and seems to hit the right continuation most of the time in terms of simple combinations and tricks. I've not tried Stockfish yet. It's interesting considering how many of free strong chess engines are around (albeit some are hacked versions).

    Tommyg: The problem is understanding the engine's parsing algorithm. Most engines typically use combinations as a basis to calculate and evaluation the positions and they tend to start with captures. However, it's harder to see positional moves. So far, Shredder seems to arrive to positional evaluations quicker. I don't have Rybka 4 but from what I hear there's a way to tweak it make move more positionally but at a cost of lower ELO performace.

    ReplyDelete
  5. Hi Vlad, I've emailed you to your email addy I remembered seeing from an email invitation sent out by Les sometime ago. My apologies for the uninvited email if you do not wish to use that email address for correspondence.

    cheers

    ReplyDelete
  6. Hey Tanc:

    Shredder is good for positional thoughts as is Hiarcs. Whenever I do a post-mortem analysis on a game I go through it myself and then let the engines take a crack at it. (but not just blunder checks...I let the engines look deeply at critical moments) Then I compare and study all the possibilities. So in this way I am getting I high level analysis with some differing opinions BUT I have to figure which one I think is best and WHY. This has helped a great deal.

    ReplyDelete
  7. Hi Tommyg,

    Thanks for the legup on Hiarcs and Shredder. That is a very interesting idea you have there - that is too analyse deeply at critical moments instead of having the engine evaluate it carta blanche for you.

    Great Idea!

    ReplyDelete