Chess Game Analysis Using Chess Engines
Part One

Chess Game Analysis
Using ChessBase Engines
(Part One)

by Steve Lopez

The chess software "explosion" during the last fifteen years has provided many positive benefits to chess players, not the least of which is the ability to play a game of chess anytime they choose. You don't have to wait for a weekly chess club meeting or take a chess set down to the park in hopes of getting a casual game.

But the single most important feature provided in almost all chess software packages is often the most overlooked: the capability to have a chess engine analyze your games and provide personalized information on how to improve your play.

The whole reason I bought my first PC back in the early 1990's was to gain access to this very feature. I'd been playing chess and studying chess books for years but had never had the experience of someone looking at my games and showing me where I went wrong. After I purchased a PC and some chess software, and began using them to analyze my games, I learned a lot about my own deficiencies as a player. I set out to correct these problems and my results at the board improved dramatically.

In this short series of articles I'm going to show you how to do the same thing. Although the specific step-by-step instructions will apply to using chess engines within the ChessBase Chess Program interface (used by Fritz, Hiarcs, Junior, Shredder, Rybka, etc.), the principles we'll discuss apply to any chess playing program which has the ability to analyze games. In the first article we'll explore the basics of setting up and using game analysis features using the "Full Analysis" feature in the ChessBase-produced playing program interface. The second article will discuss using the same interface's "Blundercheck" feature which also provides complete game analysis with the output appearing in a somewhat more complex (but also more useful) form. In the final article, we'll talk about the practical application of a chess program's feedback, e.g. how to use this information to help you improve your own playing skills.

If you want top-notch analysis from your chess engine, there are some things you'll want to do before starting your chess program. Don't run any other programs while your chess engine is analyzing - you're weakening the engine by doing so. This suggestion also includes any "background" (i.e. "Terminate and stay resident") programs that you might be running, such as screen savers, anti-virus programs, "crash guards", etc.

The next step is to launch your chess playing program (as noted above, we'll use the ChessBase-produced playing programs for this article). Hit F3 to access the list of available chess engines and choose the one that you wish to use; we'll use Fritz in this article.

Full Analysis

After you've selected your chess engine there are a couple of different ways to proceed. One is to go to a database's game list, double-click the game you want to analyze (to load it into the main chessboard screen), and then go to the Tools menu, select "Analysis" from the menu, and then "Full analysis" from the submenu. I don't recommend this procedure for a couple of reasons. First, you're not able to access the complete range of "Full analysis" options by using this method. Second, you'll need to remember to manually save the game into a database after the analysis is complete.

Instead I recommend the following procedure (which actually saves you a couple of steps anyway). First load the database in which you've stored the game you want to analyze - hit F12 to open the game list window and, if the correct database isn't the one shown, go to menu File/Open/Database to select the correct one. After you've loaded the right database, find the game you want to analyze in the list and single-click on it - this will place the cursor bar over the game to highlight it in the listing. Then go to the Tools menu, select "Analysis", and then "Full analysis" from the submenu. Doing this will display the following dialogue:

There's a fair little bit of stuff to consider here! This dialogue lets you set the time parameters and control the output of your chess engine's analysis. Although this dialogue might look daunting at first, it's really pretty easy to use. Let's look at the various sections of this dialogue and explore what these options do.

Calculation Time and Threshold

The first things you need to consider are the "Calculation time" and "Threshold" options. As a general rule, the more time you allow your chess engine to calculate the deeper ("farther ahead") it will look into a position - and you'll consequently get better analysis in return. However, there are potential drawbacks to setting the Calculation time either too high or too low.

First we need to understand what Calculation time actually means. The value in this box is given in seconds. If you set this value for, say, "30" it means that your chess engine should (theoretically) analyze each move of the game for about thirty seconds on average. In practice, though, it doesn't work this way. Setting a value of "30" does not mean that the program will stop analyzing when it hits the thirty second mark and drop the best variation it's found into the game score. What it does mean is that when the thirty second mark is reached the program will finish analyzing the current ply depth before providing its analysis and going on to the next move. If the program has just started, say, the tenth ply at the twenty-eight second mark it might require two minutes or more before it finishes evaluating that tenth ply and proceeds to the next move.

So we can see why setting the Calculation time parameter too high might be a drawback - it might require many, many hours of calculation for the program to complete its analysis. However, setting the parameter too low (such as to a value of "5") will cause the program to complete a full game analysis very quickly (in just minutes), but the quality of the program's suggestions will be quite low.

An adequate setting will vary from machine to machine and will require some experimentation on your part to discover. Game analysis by a chess engine is best done overnight - it's going to take hours for a program to provide decent quality analysis (six hours isn't an unreasonable amount of time). The trick is to find a comfortable analysis time without tying your computer up for ten, twelve, or more hours. Start with a value of "60" (as shown in the illustration above). If you find that your program is completing the analysis pretty quickly (say, within two hours for a 40-move game), you'll want to bump the Calculation time upwards. However, if you start the analysis process, go to bed, come back in eight hours, and the program is still analyzing the middlegame of a 40-move game, you'll need to reduce the Calculation time parameter accordingly.

Threshold is given in increments of 1/100th of a pawn - in other words, a threshold value of "1" is equal to 0.01 pawns. Threshold lets you control how much analysis the chess engine provides and the circumstances under which it will show you a better move. As it analyzes, the program will evaluate each position in the game and find the best move in each position. It will assign a numerical value to each position (i.e. "If White plays this variation, he'll be better by 0.75 pawns").

Threshold indicates the difference between the best line of play the chess engine finds and the move that was actually played in the game. For example, if you set the Threshold value to "50", the program will display an alternative variation in every case in which the best line of play (in the program's estimation) is better than the actual move by a half-pawn or more.

So what value should you assign to Threshold? If you're a novice chess player I recommend a value of "100"; this will cause the program to show you tactical blunders where you lost concrete material (e.g. a pawn or more). It's unlikely that a novice player would be able to understand why a particular move is better by a fractional pawn value, and beginning players should concentrate on tactics anyway, so a setting of "100" will work quite nicely by showing you tactical mistakes that you've made.

For intermediate to advanced players I generally recommend a value of "30". Strong chess players and computer chess experts typically value the loss of a tempo as being equivalent to about a third of a pawn. Using a value of "30" will show these kinds of time-losing positional errors (as well as any other substantial errors of a positional nature).

Some players use very low values (such as "1") but I don't find this to be very beneficial. Unless you're playing a "perfect game" (as if such a thing actually existed), most of the moves you play can be bettered by a chess engine by 0.05 to 0.10 pawns, and that's just too close a shave from which most human players can derive any significant benefit.

Other Options

After you've set the "Calculation time" and "Threshold" parameters, it's time to move on to the other toggles in this dialogue. The "Annotations" box lets you select various forms that the annotations can take. Let's start at the bottom of the list. "Erase old annotations" means exactly that - the program will remove any existing annotations in the game score. If you've previously manually added any text, symbolic, or graphical commentary to a game (or have selected any other previously-annotated game), checking this box will cause such commentary to be deleted - so use this toggle wisely.

Going back to the top of the list, "Verbose" means that the program will add some plain-language verbal commentary to the game. It's important to note here that this commentary is very rudimentary - the program will not provide a nine-paragraph dissertation on why you failed to properly deal with your opponent's Maroczy Bind pawn structure. We'll show an example of the program's verbal commentary a bit later on.

"Graphical" means that the program will display colored arrows and squares on the board where it deems such commentary appropriate. This typically takes the form of showing weak squares (by coloring them) or control of a square (for example, you might see many arrows pointing at an isolated pawn, showing the pieces which are attacking and defending that pawn).

"Training" lets the program created a timed training question at critical points in the game. These are typically in the form of tactics problems in which you're asked to find the best move in a position. Note that the program will not create these questions in every game - in my experience I've seen them created once in every twenty to twenty-four games I've had the program analyze.

Reference Database

In the illustration above, you'll note that "Opening reference" is shown in half-tone and is unavailable. This is because I didn't designate a "Reference database" before I created the illustration. You designate such a database by clicking the "Reference-DB" button (visible near the bottom of the dialogue) and selecting a database. Selecting the "Opening reference" option will allow the program to drop established opening variations from other games into your game score as illustrated below:

In this illustration you can see where the program has added three alternative variations to the game (just as you often see in chess books and magazines) and has even designated the move 5...e6 as a "theoretical novelty" (which doesn't mean that 5...e6 was necessarily a good move, only that the move wasn't found in the games of the reference database).

Note that in choosing a reference database that the database you pick must have an opening key attached to it in order for this feature to work properly. I've also found that the feature works best if the reference database is one containing games only on the opening used in the game being analyzed - otherwise the program occasionally drops in annotations very early in the game which are from other, unrelated openings.

You can choose any or all of the options under "Annotations"; choosing one doesn't "cancel out" any of the others.

The radio buttons displayed in the "Side" box are self-explanatory - you can choose to have the chess engine analyze both players' moves or just the moves of one player. My strong suggestion is that you always select "Both" - the program will work much better if you do so, and it's always beneficial for you to see how your opponent could have bettered his own play by punishing your mistakes.

You can choose just one option under "Side"; picking an option here prevents you from choosing any of the others.

Finally we come to the "Storage" options. "Replace" means that the program will physically replace your game in the database with the new, annotated version (for example, if you're having the program analyze Game #320 in the database, the old Game #320 will be overwritten by the new version). "Append" means that the program will add the game to the database, "tacking it on" as the last game on the database game list (for example, you're analyzing Game #320 in a 2,474 game database. The program will analyze Game #320, leave the current #320 untouched, and add its analyzed game to the database as the 2,475th game on the list). The drawback to using Append is that you'll end up with the same game twice in the database, once in its original form and a second time in its annotated form.

Begin Analysis

After you've set parameters and selected options in this dialogue, click "OK" and the chess engine will begin analyzing your game. The screen display will change from the "game list" window to the main chessboard screen. The move currently being evaluated is highlighted in the Notation pane by a dark cursor. If you watch the process for a few minutes you'll notice something interesting: the program starts analyzing at the end of the game and works backwards through the moves. As the program finds better variations it will insert them into the game score as re-playable variations. When the analysis process is complete the program will switch back to the database "game list" display (if you started the analysis process from the game list as I recommended above) with the cursor bar highlighting the newly-annotated game - that's how you'll know that the process is finished.

When the analysis is complete, double-click on the game score to load the game. You'll notice that the program often uses symbolic commentary to show the evaluations of its suggested variations and the moves actually played. To understand the analysis, you'll need to know what these symbols mean:

You can see how much better the recommended line is by comparing the evaluation of the move actually played with the evaluation of the chess engine's suggested variation:

We see here an interesting phenomenon: the chess engine will sometimes show a weaker line in order to illustrate a point. In this graphic we see that the move actually played, 18.cxd5 leaves White with a substantial lead. But had White captured Black's d5-pawn with the Rook instead (18.Rxd5), he would have been left with merely an equal game after Black's reply 18...a5.

Here's a screen shot of the Notation pane to give you an idea of the type of commentary that a chess engine will provide in the ChessProgram interface:

You can see that the text commentary (created because we selected "Verbose" as an "Annotation" option) is very brief and is intended mainly to call our attention to interesting and/or crucial points in the game. Sometimes the text describes the purpose of a move (as is the case with the notes after White's seventh move and Black's twelfth move). In other cases the program's text commentary just alerts us to points in which one player is in trouble (White's 21st and 23rd moves). And sometimes the program will use text to point out places where a player might have improved his play (such as the variation to White's 31st move).

Now that we know how the "Full analysis" option works in the Chess Program interface, we'll examine a way to "fine tune" the analysis and get even more specific information, albeit in numerical rather than verbal form. This "Blundercheck" analysis option will be explained in the second article of this series. 

Check out our Chess Engine Software

 Chess Game Analysis Using Chess Engines - Part 1

Chess Game Analysis Using Chess Engines - Part 2

Chess Game Analysis Using Chess Engines - Part 3

Steve Lopez is a professional chess writer from Maryland who has been writing about and supporting chess software for more than a decade. He's also written and edited several chess books and training CDs, some of which are available from ChessCentral.

About Us

ChessCentral is the most trusted chess shop on the web, known worldwide for excellent customer care. Since 1998 we have provided knowledgeable, fast and friendly service - including quick shipping, easy returns and extremely attractive prices. Whether its software, downloads, sets, pieces or boards you will find only the highest quality products at ChessCentral. Make sure you check out our tips and tutorials offering free advice for every level of chess player. Learn More...