A New Approach to Infinite Analysis
07 October 2011
This column is an overview of the infinite analysis capabilities of Aquarium. It is geared towards the following groups:
● Chess players who are considering switching to Aquarium from their current analysis software and want to compare their infinite analysis capabilities.
● Current Aquarium users who need guidance regarding the next steps towards the more powerful infinite analysis features.
● Aquarium users who need a quick overview of infinite analysis, including references to the ChessOK Cafe columns where specific features are described.
I have split this overview into three sections: basic, intermediate, and advanced infinite analysis. If you are currently using some other software for infinite analysis, the features described in the intermediate and advanced sections will most likely be new to you and some of the basic features are also unique to Aquarium.
If you are already using Aquarium, you can use the above division into levels as guidance for how to proceed to get most out of infinite analysis in Aquarium. I recommend that new users restrict their analysis to the basic features and become familiar with those before moving up to the intermediate level. Finally, when you have a good understanding of both basic and intermediate features, you are ready to dive into advanced infinite analysis.
How long it takes to progress through these levels will vary greatly from one user to another. I would say that it will take the average user two to three weeks. Aquarium users who take the time to master the methods described here will probably agree that this fresh approach to infinite analysis is well worth the time invested.
Basic Infinite Analysis
Basic infinite analysis in Aquarium is easy to learn and the best way for new users to begin using Aquarium for analysis. It probably has all the features you encountered in other chess analysis software and more.
For a description of basic infinite analysis in Aquarium, see the following ChessOK Cafe columns:
●
Infinite Analysis with Rybka Aquarium.
●
New Features in Aquarium 2010 (see the Infinite Analysis section).
●
New Features in Aquarium 4.0.6 (see the Infinite Analysis section).
I won’t go into details about each feature since I have already described most of them before, but here is a list that might be helpful for potential Aquarium users who want to do a comparison with their current analysis software:
● Multi-variation analysis.
● Analyze threats.
● Analyze threats for a few seconds before automatically switching to normal analysis.
● Exclude one or more moves from infinite analysis (make the move on the board while holding down the Ctrl key). Moves can also be selected/excluded from a list of all available moves.
● Only analyze moves displayed in the tree window. This and the next feature are useful for opening book analysis.
● Exclude all moves displayed in the tree window from the analysis.
● Change the engine settings used in the analysis session, either before analysis starts or while the analysis session is in progress. This does not affect the settings of the engine which were selected when it was installed.
● Switch between analysis engines by selecting them from a drop-down list in the analysis window.
● Lock the analysis to a specific position so you can move around in the notation without affecting the analysis. Use the Ctrl-K keyboard shortcut or the Lock/Unlock button in the Ribbon to toggle the lock status. Similarly Ctrl-G jumps to the locked position.
● Highlight moves in the notation which have been analyzed for more than a specified number of seconds. After that keep the notation automatically updated with the evaluation.
● Analyze the same position simultaneously with several chess engines in the same analysis window. This is very useful when you want to compare the analysis of, say, your four to eight favorite engines. This is one of the best ways to study the strength and weaknesses of different chess engines and make sure that you don’t overlook important moves. The number of chess engines is only limited by the number of available CPUs.
● Open more than one analysis windows for the same position and start one or more engine in each window. You can use different settings for the engines in each window (single-variation, multi-variation, analyze threats, analyze moves in tree window).
● Analyze positions in several games at the same time. The games are highlighted in the sidebar.
● Insert latest (or selected) variation (PV) from the analysis window into the notation.
● Insert the current evaluation into the notation (Ctrl-E).
● Insert all variations displayed in the analysis window into the notation.
● Copy the current variation from the analysis window in PGN format.
● Copy all variations from the analysis window either in PGN or text format.
One of the unique features of Aquarium is that it stores your analysis in the infinite analysis history.

The infinite analysis history of the current position is accessible in the status bar at the bottom of the Aquarium window. If you hover with the mouse pointer over the move and evaluation shown in the status bar, a window will pop up showing the results of your previous analysis of the current position, as the screenshot above illustrates.
There are three issues with basic infinite analysis:
1. The infinite analysis history combines the analysis of the chess engines and you can’t tell which engine produced different pieces of analysis.
2. Although you can analyze the same position simultaneously with multiple engines there is no way to analyze more than one position in the same game at the same time.
3. You must organize your infinite analysis results manually, as there is no way to combine the moves and evaluations automatically in a meaningful way. Normally, this involves inserting analysis from different engines into the game notation, which quickly becomes unwieldy.
These are among the issues that are addressed with the intermediate and advanced infinite analysis methods described below.
Intermediate Infinite Analysis
If you are a serious analyst, you will welcome the additional features I have outlined here. These are analysis presets, remote engines, and engine specific analysis trees, which have been described in the following ChessOK Cafe columns:
●
Analysis Presets in Rybka Aquarium.
●
Networked Computers with Aquarium.
●
Aquarium 2011, Part One (see the Infinite Analysis Trees section).
●
Aquarium 2011, Part Two (see the Infinite Analysis section for a description of how you can automatically keep track of all your infinite analysis broken down by chess engine).
Analysis presets allow you to store and quickly access your favorite analysis settings, so you don’t have to configure them manually every time you want to use them. A single preset can hold advanced analysis configurations consisting of multiple engines and analysis panels. This is enormously important for your productivity and its importance increases as you get access to more computers/CPUs. I strongly recommend that users experiment with this feature as soon as they have mastered basic infinite analysis.
One very useful preset consists of several engines with each engine restricted to one CPU/core. If you like to examine a critical position with many engines, this is an efficient way to do that. After defining the analysis preset, you can quickly activate it by selecting it from a drop-down list. Here is an example showing eight single-core engines running simultaneously and displaying the output in the same analysis panel.

If you had to set this up manually every time you wanted to analyze a position with these engines, it would take so long that it would never become a regular part of your analysis. Using an analysis preset makes it easy to quickly activate the preset whenever you want; such a convenient feature can change your approach to analysis.
If you have access to more than one computer, either on your local network or over the Internet, you can use all of them for infinite analysis by connecting chess engines to Aquarium over the network. The purpose of using more than one computer is to increase throughput and flexibility. The more computers you use for your infinite analysis, the more engines you can run simultaneously. You can use the extra power to analyze positions more deeply or analyze more games. Of course networked computers are not limited to performing infinite analysis. You can also use them for IDeA, Game Analysis, and even Find Blunders. The ability to use multiple analysis engines has been extended to all types of analysis in Aquarium.

The availability of analysis presets, remote chess engines, more powerful computers, and chess engines is changing the analysis methods of strong players. It is no longer considered sufficient to analyze a critical position with a single chess engine. Each engine has its strengths and weaknesses and no chess engine is universally stronger than all others. This is well known to many analysts, such as strong correspondence players.
Although a certain chess engine will perform better than all others
on average, there is no guarantee that it will find the best move in the position that you are currently analyzing. Therefore, you want to use several engines for your analysis and that is where analysis presets and remote chess engines give you the additional power and flexibility that you need. However, there is a problem with using several engines: It is hard to keep track of the analysis results of each engine. Of course, you can insert all your analysis into the notation, but there is a much better option.
One of the new features of Aquarium 2011 is engine specific analysis trees. These were explained in
Aquarium 2011, Part One. You can connect each engine (or a group of engines) to a specific position tree which stores the analysis of that engine. It is best to explain how this works with a screen-shot.

Here you can see the analysis results of five different engines displayed in the tree window. I published this image in
Aquarium 2011, Part Two, where I also explained how you can modify any tree configuration to display the engine trees. Aquarium users pointed out that it would be more useful if the analysis depth was also displayed in the tree. The developers agreed and here is a screen-shot from the next update.

Here you can see the evaluation of each engine as well as the analysis depth. The deepest analysis is displayed in bold so you can quickly locate it. As you can see, the engines didn’t agree on the best move here. Critter and Shredder prefer 32.Be4; HIARCS and Stockfish like 32.Bg1 and Rybka likes 32.Bb6.
Looking at the rightmost column in the image you can see that Rybka preferred 32.Kg2 up to depth 11. After that it switched to 32.Be4, but after reaching depth 21 it gave the highest evaluation to 32.Be3 for two iterations. Finally, Rybka switched to 32.Bb6 at depth 24 with an evaluation of -0.41. This was the final iteration of the analysis so it is displayed in bold.
This feature solves the first problem mentioned above regarding basic infinite analysis: “The infinite analysis history combines the analysis of the chess engines and you can’t tell which engine produced different pieces of analysis.” For solving the two other problems we need advanced infinite analysis.
Advanced Infinite Analysis
Say you want to analyze more than one position in the same game at the same time and also create a good overview of the results of the analysis. This can be done by linking the game you are analyzing to an IDeA project. This new feature in Aquarium lets infinite analysis users take advantage of the IDeA framework without needing to learn the ins and outs of IDeA itself. This feature is described in the following columns:
●
IDeA Master Trees and IDeA Game Links.
●
Aquarium 2011, Part One (see the Infinite Analysis Trees section).
●
Aquarium 2011, Part Two (see the Infinite Analysis section).
If you are analyzing a game with infinite analysis and you haven’t used IDeA before, you should start by linking the game to a new project.

Select Analyze in Project from the menu and then click New Linked Project as shown above. The IDeA Project Properties will be displayed where you need to fill in a few fields as described in
Aquarium 2011, Part Two.
Next, you must make sure that the engines you use for infinite analysis will send their variations either straight into the IDeA analysis tree or the analysis queue.

The Advanced Engine Options are described in
Aquarium 2011, Part One. This window is accessible in the Engines mode and you can set these options separately for each engine.
Here I am using Rybka and I have selected “Add analysis to IDeA tree and generate alternative tasks.” This means that whenever I analyze a position in the game with Rybka, the results will be automatically added to the IDeA tree. IDeA also creates tasks for generating an alternative in each position along the variation and extends the variation by one ply. This option ensures that moves and evaluations that are added to the tree are properly checked.
If you choose this option, you should start IDeA every now and then so it will process the tasks in the queue. You definitely want to choose this option when you run infinite analysis with the same engine as you use in IDeA. It may not be as clear if this is the best option for other engines. Let’s say that Rybka is your IDeA engine and you are running Stockfish in infinite analysis mode. In that case, choosing “Send positions from analysis line into IDeA queue” is the safe option for Stockfish. However, “Add analysis to IDeA tree and generate alternative tasks” also comes strongly into consideration because of the alternatives and extension that are generated.
When you want to use infinite analysis in a game that is linked to an IDeA project, you have two options:
1. Use normal infinite analysis. Here you have all the same options as were described in basic and intermediate sections.
2. Use IDeA to start the infinite analysis. Here you get an option to choose an engine, but it will always analyze in single variation mode.
The second method solves point two mentioned above: “Although you can analyze the same position simultaneously with multiple engines there is no way to analyze more than one position in the same game at the same time.” You can start as many infinite analysis tasks as you like in different positions in the game and its variations. When you see a position that you want to analyze, switch to the Home – IDeA tab and click the Infinite button.

A list of available engines will be presented. Choose one and start the analysis. The image below shows four infinite analysis tasks being run at the same time.

Each one is represented by a white square at the front of the analysis queue. When you click one of the squares, the board displays the corresponding position and you can see the current analysis line below the queue. The leftmost task is highlighted (as shown by the thick, black border) and when you want to stop it you must click the Finish task link.
Now that we have collected all our infinite analysis into the IDeA tree we still need something that allows us to summarize the results of our analysis. We may have analyzed dozens of variations, but what is the conclusion of our analysis so far? Which move is best and why? The answer to these questions is provided by minimaxing the tree (sometimes called “backsolving”).

For minimaxing the tree, click the Manage link and select Minimax Tree Now from the menu. The difference between the evaluation based on infinite analysis of a specific position and the minimaxed value can often be quite dramatic as shown in the following example.

If you look at the second move in this screen-shot of the tree window, you see that the infinite analysis evaluation of the position after 22.Bh4 is +0.07 at depth 23. This looks like the best move based on infinite analysis. However, this spot evaluation may not tell the whole story if you analyzed other positions further down this variation. The minimaxed score, which is displayed in the IDeA column, is -0.68 showing that 22.Bh4 would actually be a blunder and instead 22.Rf2 is the best move and keeps the position in balance. Therefore, minimaxing solves the third issue mentioned above and gives us a meaningful summary of the infinite analysis of many related positions.
Dadi Jonsson