Convekta Logo
Chess Software Sourcebook
Join Chess Reviews<>
Convekta Logo
[Image]
 
Analysis modes explained
keywords: Analysis, Interactive, Full, Position, DOS
Robert Pawlak
Sunday, April 16, 2006

Selecting the "proper" analysis mode is largely a matter of taste. However, there are a few guidelines that you can use to decide which one to use. The two most important factors are the time spent playing the game, and the time available for analysis. Secondary factors include whether you are more interested in one phase of the game over another.

 

Introduction

The capabilities of CA's analysis modes are simply unmatched by any other commercial software at this time. And with each new release of CA, there have been new engine analysis modes added to the program. While this offers the user a wide variety of alternatives for analysis, the choices can be a bit bewildering at times. And I've received quite a bit of e-mail asking about which mode is best. So without further ado, let's go through the available modes, they are as follows:

  1. Blunder check and checking of variations
  2. Marker analysis modes
  3. Interactive analysis
  4. Game analysis
  5. Position analysis
  6. Background analysis
  7. Full Analysis
  8. Infinite Analysis, or Monitor mode

Since there is a lot of ground to cover, I will only be discussing the most basic features and capabilities of each mode. I will also provide some guidance as to which mode should be used at any given time.

Blunder and Variation Checking

Many of these modes make multiple passes through a game. With modes like blunder checking, each successive pass is used to check blunders that were found in the previous pass. The game analysis modes also use multiple passes, but a bit differently from the blunder checking.

Blunder checking mode is accessible at several locations in the program, including the Engines menu, when you can reach it by selecting "Check for Blunders". This mode will work on a single game, or on all the games in a dataset. When the blunder checking dialog first appears, it will look something like this:

Blunder and variation checking has been present in the program, in various forms, since version 3. But for the purposes of this article, I will be looking at features inherent in the program since version 6. In a nutshell, this mode allows the computer to check a game (including specific variations) for improvements. What the computer does is check the game move against the move that it calculates to be best. If it sees a difference in it's evaluation of the two moves, and it is over user-specified threshold, then the computer places it's recommended move into a variation, and optionally, flags the game move as a blunder. This mode is roughly equivalent to the blunder check you find in some other commercial programs, like Fritz. 

Another important parameter for this mode is the analysis threshold, which is specified in centipawns. 100 centipawns=1 pawn. For analysis purposes, you will rarely specify thresholds that are greater than a pawn, and most of the time, this threshold should be set to values between 30 and 100. The lower limit is approximately thirty, since this is approximately the value of one tempo.

For one and two pass analysis, the engine only checks the game down to a certain number of plys (two plys is one move for both sides). As long as you keep this depth below about 7, this mode will operate very quickly, especially in the opening. When used in one and two pass mode, this mode is really only useful for quick looks at a game. Furthermore, using ply-depth limited analysis in the endgame can be both time-consuming, and the engine may overlook blunders that are readily apparent to stronger players.

When you increase the number of passes two three, the program does the final pass through a game using an average analysis time for each move. For example, if we have three passes set for blunder checking, and have specified 5 plys for the first pass, 7 plys for the second, and 10 sec for the third, with a threshold of 100. The program would go through the game on pass one, running its engine at a depth of 5 plys. If it found any moves that lost a pawn, it would flag these as errors for checking in the second pass. On the second pass (7 ply), it would increase the engine's depth by one move for each side, and check only the flagged positions. Once again, if it found a move that lost a pawn, then these moves are flagged as blunders. On the third and final pass, then engine would calculate for about 10 seconds on each move, and if the move still lost a pawn, it would be flagged as a blunder. Because a move must fail each test in turn, this mode is quite good at finding moves which are really blunders (low false positive probability or probability of false alarm). The downside is that any move that passes the first ply-based check will never get examined again (higher probability of miss). This is especially a factor in the endgame, where this mode might pass over a bad move, or not find an improvement where one might exist.

I alluded to the fact that this mode can also be used to check variations in a game. However, before you can do this, you need to mark the specific variations that you want to check. For instructions on how to do this, I would suggest you look at the section on marker analysis modes. This mode is useful for when you are doing manual analysis of a game, and want the computer to check your analysis.

Here are a couple of suggested settings for checking your own games:

This assumes you are using a machine that is less than five years old or so. Feel free to improve on these values, since they are only a starting point, and are dependent upon your computer's speed, time and objectives.

Position Analysis

This mode is a carryover from the CA's DOS days. As such, it can be used with a dizzying array of engines, but is somewhat limited for everyday analysis tasks. This mode is most useful when you want to really dig into a position with an engine that is not UCI or Winboard compatible, or only has the capability to analyze EPD files. This mode is also useful for when you only want the engine to analyze specific moves from a position.

As I mentioned previously, this mode really shines when you have an old DOS engine that you want to use for analysis While this article will not discuss configuration of these engines (refer to the CA manual, and your engine documentation), there are a couple of important things to realize about this mode. The first is that it works by passing a file called CA000???.EPD, which contains the information on the position and moves that need to be analyzed. It writes this file to disk, and passes it's name to the engine, usually via the command line. Thus, when the program starts, it will open up the analysis file, and start calculating. Most older engines do not accept analysis time parameters, and so many times, you will need to configure your engine software for the proper analysis settings, before you attempt to use it with CA. You may also need to exit your chess program when the analysis is complete (most ancillary analysis programs will not shut down by themselves).

standard analysis buttonTo use this mode, you simply navigate to the position on the board that you want to analyze. Then hit the button that looks like a question mark overlayed on a monitor. You will be presented with a dialog box that lets you check and uncheck the moves that you want the engine to consider, along with the time and engine that you want to use.

options for standard analysis

Power users, engine testers, and engine collectors will be most interested in this mode. But the typical user will not find too much use for it.

Full Analysis

This mode was introduced in CA 6, but is somewhat hidden in CA 7. It can be accessed from the "Advanced" menu. It combines the capabilities of the marker, interactive, and blunder checking modes. It also tosses in some opening commenting tools to boot.  Obviously, this mode is most useful for when you want to combine all the previously mentioned modes to be executed at once.

Before the advent of the background analysis modes, I used full analysis as follows: I would annotate a game manually, inserting variations in where I saw fit, complete with evaluations. I would then mark these variations for later blunder checking using the shift-ctrl-F12 and alt-F12 key combinations. Other positions that I wanted a second opinion on, would simply be marked using F12 (normal position analysis). After I annotated the game, I would then have CA check all my analysis, and render second opinions on important positions using this mode. I would then go back a re-evaluate my analysis in light of what CA had discovered.

This is a somewhat long and painful process (in chess terms), but it is a useful exercise.

Marker Analysis

CA uses the concept of analysis markers, which is unique in the chess community. These modes are most useful when you are manually analyzing a game, or have specific positions that you want to evaluate. And while blunder checking is very useful for many analysis tasks, it does use a threshold. Because of this, it may not find the right move - especially in critical positions, where the engine evaluation may not differ significantly among several promising-looking alternatives.

To use this mode, you mark the positions you are interested in, set up the analysis settings, run the analysis task, and come back sometime later to examine the results. Entire datasets can be marked for analysis, or you can just analyze a single game or position if you want. If you are going to use marker analysis among multiple games, you should save each game in a common dataset, with the appropriate markers.

There are actually three types of analysis markers that you can use. The first marker type, which has been present in CA for windows since it's early days, simply tells the analysis engine to calculate for some length of time (note: for DOS engines, you may be able to set ply depth limits also) on a particular position, and return its results. Using the advanced marker setup dialog (available from the engines menu), you can adjust which moves get marked and analyzed.

You can automatically mark all moves in a game, or set of games for analysis. You can even set the markers for one side, over a specific range of moves, and mark all moves in variations for analysis as well. When the computer finds a move that is different from that contained in the game, it is returned, and merged into the game as a variation. You can also mark a single position for analysis using the F12 key, or the marker setup button on the engine tab. This is probably the most common marker type that you will employ when doing manual analysis.

The second marker type allows you to check marker variations for blunders. Note that it is different from marking all the positions in a variation for analysis (as discussed in the previous paragraph). This marker is most useful for when you've entered a variation, and you want the engine to check it for errors. Once again, you can add this marker to a variation (go to the last move in the variation)  and then hitting the shift-ctrl-F12 key combination, or you can click on the small arrow to the right of the marker setup button on the engines tab in the button bar. Note that the settings used for this mode are discussed more fully in the section on blunder and variation checking, elsewhere in this article.

The third marker type allows you to check your evaluation of a particular position using the chess engine. To use this mode, you simply enter an evaluation of a particular position using the comments dialog. Then, you add a marker to that the corresponding move, using the alt-F12 key combination, or the engine's tab on the button bar, as discussed in the blunder checking of variations.

The marker based analysis modes are most useful for manually analyzing a game, and can even be employed with legacy (DOS, for example) engines if you so desire (when using the first marker type). Multiple games can be marked at once, as long as the analysis markers are saved in the game. After marking multiple games, make sure you place them in the same dataset, and select "Analyze current dataset" from the Engines menu.

Interactive Analysis

This mode employs some very sophisticated algorithms to analyze a game with, or without, user intervention. In most of the other analysis modes, the computer simply presents what it thinks is the best principal variation. However, it does not provide any other subvariations, unless you explicitly tell it to do so. However, with interactive analysis, the program will automatically provide subvariations when necessary. This mode also addresses one of the main failings of conventional analysis modes. In effect, it quickly tries out promising continuations - playing them out to see what positions might result. Then, it goes back and rechecks its analysis, based on this new knowledge.

As it turns out, there is now a whole section of the help file devoted to this analysis mode, and it provides a reasonably full description of how it works. Now, power users of the program have probably noticed that there is an "advanced" checkbox on the interactive analysis dialog box.

Explaining the "advanced" settings is beyond the scope of this article, and is a complex topic. However, telling you how to start this mode is not. To access interactive mode, you need to go up to the engine's tab on the button bar, and click on the small triangle below the icon that looks like a question mark placed over a board:

[Image]

Once you've done this, you will be presented with a dialog box containing a number of settings. The most important of these are the default depth and half moves to play settings. The former controls how deeply the program will look before it picks a "best move". The latter determines how deeply the main and subvariations will be examined. I like to use the default setting of 8 ply (occasionally I use 10), and a number of half moves of 7. But the default settings are also perfectly adequate for most analysis tasks.

Once the analysis has begun, you can pause it, and make moves that you want the engine to analyze (by hitting the green pause button, and then making the moves on the analysis board). This is where the "interactive" moniker comes in. You can also increase and decrease the analysis depth with the page up and page down keys.

Frankly, I like this mode quite a bit, since it adds a running evaluation of the game while it is working. I also feel that it is particularly useful for finding moves that the other analysis modes  might overlook, and is particularly good for those games containing positional sacrifices.

Game Analysis

So-called "Game analysis" adds two new analysis modes - analysis by level and by time. The main strengths of this mode are that you can select different amounts of time to spend on each phase of the game (opening, middle and end).

The game analysis mode is reached by selecting "Game analysis" from the "Engines" menu. Thankfully, the dialog boxes are reasonably self explanatory. Adjusting the sliders to the right means that more time will be taken to analyze that phase of the game. If you wish, you can get fine control over how informant symbology is used for automatic game commentary. Right now, this dialog is only available by hitting the "Commenting options" button in the "Analysis by level" dialog box.

commenting options

As you can see from the graphic, there are a number of settings that you can adjust if you want. The way to interpret them is as follows. Suppose you want to adjust how the engine determines when it has found a stronger move.  Right now, if the difference in the engine's evaluation of the position is between 0.5 pawns and 320 pawns (which corresponds to an immediately winning move), then the move suggested by the engine will be given an exclamation point. You might want to change that to something a little higher (say 0.7 pawns), although the default values for this dialog box are pretty close to optimal. The only thing I like to do is uncheck the "Satisfactory, but probably not best" settings, since this can cut down on a lot of borderline suggestions that the engine can make.

Background Analysis

Background analysis is for all you multitasking fans. I have written another article that deals with this mode exclusively, and it can be found here. This mode makes it possible to manually mark positions for analysis, and automatically submit these positions to an analysis server that runs in the background. This allows you to continue to annotate the game, or conduct searches etc, while the game is being analyzed.

Some purists might object that this feature will detract from the quality of the resulting analysis. This is true to a small extent, but the reality is that most of the time, only a few percent of the processor cycles are being used for annotation, etc. So the remaining 95%+ of the processor cycles could be used for more useful things (like engine analysis). The fact that a few percent of the cycles are being stolen hardly matters.

Note that if you start an engine in the foreground for something like the infinite analysis modes, the background analysis will halt automatically, and then pick up where it left off. The same holds true if you should shut down your computer - the next time CA starts, the background analysis will pick up where it left off.

Background analysis is invoked by using the number keys, or from the engines menu. Each of the background analysis modes uses a project (normally called default), so before you use one of the background modes, you need to define a project for it. The most important analysis mode here is the analysis of the current position. You will notice that when you mark a position for background analysis, it will change color. When the analysis is complete, it changes color again (this coloring scheme was introduced in one of the more recent CA builds - pretty neat, huh?).

Infinite Analysis

This is perhaps the simplest analysis mode to explain, and is one that many chess playing programs support. In this mode, the current position on the board is analyzed. CA supports a huge number of enhancements to this basic feature. For an example of you might use one of these special features, I would encourage you to look at this article, but Maxim Blokh.

This mode is invoked using one of two default key combinations. The spacebar simply starts the default engine, and is the mode supported since the early days of CA. The ctrl-spacebar combination brings up a dialog that allows a whole host of options to be chosen.

So when do you want to use infinite analysis? This mode has a couple of very useful capabilities. First of all, it supports a so-called "k-best" mode. This allows you to see the first  k "best" moves, in the order that the engine prefers them (i.e. highest to lowest scoring). Thus it is useful for seeing how moves stack up in relationship to each other. So for example, you can see just how bad your move really is ;-). Another useful feature of this analysis mode is that allows you to see what the opponent's threats are at any point in the game. This can be useful for those times when you scratch your head, and wonder why a particular move was played.

To enable the k-best mode, you can click on the button labeled "multivariation" mode on the engines toolbar. You can also enable it from the right-click context menu in the engine analysis box, or from the infinite analysis dialog box.

As for showing an opponent's threats, this feature is only available from the infinite analysis dialog box (ctrl-spacebar, or access from engine menu). Once the dialog box pops up, you need to select "invert side (2 engines)". As you might guess, this mode requires that two engines be running at the same time.

[show_threat]

Infinite analysis is also useful for quickly getting an opinion on a particular move, and is useful because you can leave it running while you step through a game. But be aware that watching the analysis display all the time, instead of using your brain, is a bad habit to develop, and won't help your chess playing ability. I would encourage you to read my article on game analysis, if you want amplification.

Note that the k-best mode is supported in CA 6, but the ability to show an opponent's threats is not.

Conclusion

Chess Assistant offers a plethora of advanced analysis capabilities. These run the gamut from simple infinite analysis, all the way up to having a number of engines running at the same time, or having analysis performed completely in the background.

 







ChessAssistant is a trademark of ChessOK
Syndication available through rss.xml
Click on my name to send me e-mail (must have javascript on)