Convekta Logo
Chess Software Sourcebook
Join Chess Reviews<>
Convekta Logo
Comparative analysis
keywords: analysis, multivariation, infinite, Tiger 2004
Robert Pawlak
Friday, December 22, 2006
While this article uses Tiger as an example, you can use other engines that support k-best mode.

The so-called "Infinite analysis" function is used quite often in the course of game analysis. And Chess Assistant (from versions 7 on) provides a very interesting method for comparing the strength of the moves played in the game, and the move(s) that the engine thinks may be better. For want of a better term, I'll call this comparative analysis.

For example, the position below is from Round 9 of Botvinnik-Tal, 1961. Here, Botvinnik played Nc2!, but I also wanted to examine Qc2 as well. It turns out that Chess Assistant can be set up to examine Qc2, Nc2, and still look for other "better" moves as well.

[example position]

Chess engines differ quite widely in how they evaluate positions, so for the technique to be mostly useful, you need to use only one engine to assign scores to all the moves .While Chess Assistant provides for a whole host of infinite analysis techniques, it does not provide a setting specifically for including the game move, and the top alternatives, so you have to use a "trick". The latter turns out to be a simple matter of creating a duplicate engine.

The steps for doing this are as follows:

  1. Decide which engine you want to use for the analysis
  2. Create a duplicate engine file
  3. Setup the duplicate engine in Chess Assistant
  4. Start infinite analysis with the original and duplicate engines

For the purposes of illustration, I'll take a look at using Tiger 2004 (which comes standard with Chess Assistant 8). The first thing you need to do is start up explorer in windows, and navigate to the folder where you installed Chess Assistant 8. On most computers, this is c:\Program Files\Chess Assistant 8. There you will see a file called ct2004.dll. What you want to do is create a copy of this file, and call it ct2004a.dll. The easiest way to do this is first to select the file, then copy, then paste. Finally, rename the pasted file from "Copy of ct2004.dll" to "ct2004a.dll".

[explorer ct2004.dll]

Now go into Chess Assistant, and go to the "Tools" menu, and select "Engine options". Then, click on the "Add" button. Then, fill in the resulting dialog box to configure the new duplicate engine. It should look something like the picture below:

[configure engine]

Make sure that the engine type is set to Tiger 2004 (if you were using a different engine, then this setting would change accordingly). You'll also need to click on the ellipsis to the right of the engine path (circled in the picture), and navigate to the duplicate engine you created in step 1. The path should look something like "C:\Program Files\Chess Assistant 8\ct2004a.dll". I've truncated the path on the engine in the screenshot to make the engine name easier to see. Click the "Ok" button when done. Then click "Ok" again to dismiss the engine's setup dialog.

Now, go to a position that'd you'd like comparative analysis for. For the purposes of illustration, take a look at the Botvinnik/Tal game I mentioned earlier. This is the position after black's 11th move. Note that I've added 13. Qc2 as a variation. Looking at the tree display in the bottom left, we see that Nc2, and Qb3 have been played previously. Qc2 has never been played before, and would be a novelty.

[Botvinnik Tal tree]

Now start infinite analysis by selecting "Engines" menu, then "Infinite Analysis...". For the example I've chosen, you should see something like the picture below. Note that I've configured this dialog with the original Tiger 2004 engine analyzing only moves that appear in the tree in the top panel of the analysis window. This is very important, because all moves in a game appear in the tree display (and they are also highlighted in yellow). This is how I force the engine to look at the game continuation, which includes my suggested move, the move Botvinnik played, and another move that was played in another game. The lower part of the analysis panel will use the duplicate engine that you created previously. Here, the options are configured so that this engine will only analyze moves that are not in the tree. Pretty clever, eh?

[infinite analysis multivariation setup]

Click on the "Ok" button when you've got the engines set up appropriately. You should see something like the screen below:

[final engine display]

Note that the analysis panel contains exactly what we want, and it appears as though Chess Tiger 2004 thinks that Botvinnik is a pretty special guy, since he plays the highest scored continuation (Nc2!). The other moves all score lower by comparison.

This technique can be used with any engine, and the steps are similar to the ones outlined above. The specifics of the engine names, locations, etc will change, but the basic technique is the same. Since the engine has to analyze so many lines at once, it can be helpful to have a very fast machine if you do this type of analysis often.

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