Buy 3 chess training programs for the price of 2
Order any two training programs in our online chess shop and get a third training program absolutely free. If your order is more than $120 / €100 Euro, you will get additional present.

New CT-ART 5.0 combines three excellent courses guiding you from beginner to advanced level.

ChessOK.com » Aquarium 2011. Part one
Aquarium 2011. Part one 20 May 2011

Aquarium 2011 will be released later this month. I have been experimenting with the beta version and if you are interested in opening analysis, correspondence chess, or generally in serious chess analysis, you should definitely read on! Other improvements in Aquarium 2011 will be the subject of future columns.

Initially I had intended to continue my coverage of engine matches and tournament this month, but because of the expected release of Aquarium 2011 I decided to change my topic.

Infinite Analysis Trees

One of the unique features of Aquarium is that it stores your infinite analysis results. If you run into the same position, even in a different database and even if it came up through a different move order, you can see that you have analyzed it before. Besides examining the result you can insert the variation and evaluation into the game you are currently viewing. You can also add a column with the infinite analysis tree to a tree configuration, so you can always see the evaluation of the different moves in the tree window.

This feature has great practical value. However, a serious chess analyst will use several chess engines and if the results of different engines are stored in the same tree and displayed in the same column in the tree window, there is no way to know which engine produced the evaluation. This would be OK if the evaluations and depth of analysis were comparable for different chess engines. Unfortunately, they are not and we have a similar problem as when we want to compare chess ratings produced by different rating methods.
Therefore, it is desirable to store the analysis produced by different chess engines (or engine “families”) in separate analysis trees.

Aquarium 2011 solves this problem and you can choose an infinite analysis tree for each engine. A new window, Advanced Engine Options, has been added to Engines mode. Switch to Engines mode. If you do not see this new window you can enable it with the Layout menu at the bottom of the sidebar.

After that, select one of the installed engines in the Engines list. The Advanced Engine Options will display the current settings for the engine.

Here you see the “Infinite analysis results” pane of the Advanced Engine Options. It shows the options for the selected engine, in this case Rybka. I store all the engine specific infinite analysis trees in a special subdirectory, EngineIA, within the ATrees directory and in this case the analysis will be written to a tree called Rybka. I decided to use the same tree for all my Rybka versions. This means that I need to go through all installed Rybka engines and set “Write results into tree” to “EngineIA\Rybka.”

The following screen-shot shows a modified IDeA tree configuration where I have added columns for Critter, HIARCS, Junior, Shredder, and Stockfish, so I can compare their evaluations at a glance.

The second option in the “Infinite analysis results” pane of the Advanced Engine Options, “Change analysis depth by” allows you to adjust the analysis depth of the selected engine when it is written to the infinite analysis tree. In the screen-shot it is set to zero, so no adjustment takes place. If I set it to 3 and then run infinite analysis to depth 17, it will be written to the tree at the calculated depth of 20 (17+3). This makes it possible to normalize the depth reported for different chess engines.

The calculated depth is also used to decide at what depth infinite analysis will start to be written to the analysis tree. If you set this parameter to a very low value such as -50, the analysis would never be written to the tree, so you can use this trick to prevent the analysis of an engine from being stored.

The calculated depth is used instead of the actual depth in other cases as described below.

Integration of IDeA and Infinite Analysis

The biggest news in Aquarium 2011 is the improved integration of IDeA and infinite analysis. The first steps in this direction were taken in Aquarium 4. The most important of those was the introduction of IDeA game links (see IDeA Master Trees and IDeA Game Links), which added a new level of convenience by creating an “analysis center” where IDeA is accessible along with other Aquarium analysis tools such as infinite analysis, without the need to switch back and forth between the game and IDeA.

Aquarium 2011 takes the integration one step further by sending infinite analysis results automatically to the IDeA queue or even directly to the IDeA project tree without the need to re-analyze the positions in IDeA. This means that if you run infinite analysis in a game linked to a project, the variations produced by the engine will be compared to the positions in the project tree; and if they haven’t been analyzed, they will be sent to IDeA.

This tight integration between IDeA and infinite analysis is optional. On one hand you can decide if and how each engine integrates with IDeA and on the other you can decide on a project by project basis if infinite analysis results are accepted by IDeA or not.

Based on my own experience with the beta version this is a valuable improvement. Now I always set up my IDeA projects linked to a game and run the analysis from the game where I can use infinite analysis to verify the IDeA results, extend the analysis in the directions that I find interesting, automatically send positions and analysis results to IDeA, etc. I seldom switch to IDeA mode, and then it’s mostly to check some older projects that were set up without a game link. Instead of infinite analysis being a separate tool, it is now an integral part of the IDeA analysis toolbox.

Preparing an Engine for IDeA Interaction

The place where you decide if and how an engine interacts with IDeA is the Advanced Engine Options discussed above. Note that the options you set here only apply to the currently selected engine in the Engines list.

The “Add infinite analysis to IDeA (if it is new)” panel gives four options.

None. There is no direct interaction between infinite analysis with this engine and IDeA. Regardless of how deeply you analyze with the engine in a game linked to an IDeA project, no positions will be sent to IDeA.

Send positions from analysis line into IDeA queue. If the IDeA project accepts positions from infinite analysis, then any new positions that come up in infinite analysis will be sent to the IDeA queue. The positions will then be analyzed by the IDeA engines before they are added to the project tree. You might want to use this option for engines that are different from the one you base your IDeA analysis on.

Add moves and evalutions to IDeA tree. Instead of sending the positions from the infinite analysis line to the IDeA queue, they are added directly to the tree along with evaluations in the same way as if they had been analyzed by IDeA itself. This is a good choice for an engine that matches the one you are using for your IDeA analysis.

Add analysis to IDeA tree and generate alternative tasks. Besides adding the positions and evaluations from the infinite analysis line directly to the tree, IDeA creates tasks for generating an alternative in each position. This option ensures that moves and evaluations that are added to the tree are properly checked.

In general, the positions you analyze with infinite analysis are of special interest to you. You could say that they are of much more interest than the average IDeA position. Therefore, you want a special treatment for them by IDeA and this feature gives you the options for that.

Project Settings for Infinite Analysis

As mentioned above, you can decide on a project by project basis if results from infinite analysis are accepted or not. There is a new option in IDeA Project Properties that determines if a project accepts infinite analysis positions.

Here we are looking at the Common tab of the IDeA Project Properties. There is a new option at the bottom of the window: “Insert infinite analysis from linked games.” If you want your project to automatically interact with infinite analysis, you should select this option. You can also decide the minimum requirements for accepting positions from infinite analysis. In this example I have set “Min. time” to 10 seconds and “Min. depth” to 15. This means that the project will not accept infinite analysis from any engine unless it has analyzed the position for at least ten seconds and also reached depth of at least fifteen. Note that the depth is the calculated depth, which is influenced by “Change analysis depth by” in the Advanced Engine Options.

The number of positions sent from infinite analysis to IDeA increases as the analysis gets deeper. In the example given in the image above, only the first move of the infinite analysis line will be sent when depth 15 is reached. Aquarium continues comparing the line to the positions in the tree as the analysis gets deeper. Let’s say that we have reached depth 20 and infinite analysis is showing the following line:

[+0.44] d=20 22.Re4 Be6 23.Rxe6 fxe6 24.Qxc4 Kf7 25.Re1 (0:01:00)

Looking at the time given at the end of this line, we see that the analysis has been running for one minute, which exceeds the ten second minimum specified in IDeA Project Properties. The depth also exceeds Min. depth (15) by five, which means that the first six moves of the line (displayed in bold) will be sent to IDeA if the corresponding positions are not already in the project tree.

Special Treatment of IDeA Engines

The engines that you use for your IDeA analysis should get a special treatment regardless of the settings you have given them in the Advanced Engine Options. You probably want to add all analysis produced by them directly to the project tree, provided it’s deep enough. The Engine Setup dialog box in IDeA has been modified to allow this as shown below.


Here you see the same choices as in the Advanced Engine Options and they apply to the chess engines that you use for your IDeA analysis; i.e., the engines listed at the top of the dialog box. I have selected “Add analysis to IDeA tree and generate alternative tasks.” The reason is that I will only create infinite analysis tasks for positions that are of special interest to me and I want them to be analyzed thoroughly. There are two ways to create infinite analysis tasks within IDeA to take advantage of this special setting. The first method is
to use the new Infinite button shown in the next image.

This button adds an infinite analysis task for the current position. When you
click the button the following dialog appears where you can choose an engine.

You must select one of the engines from the list (or click Cancel). Selecting the item at the top of the list “IDeA engine” will assign the task to one of the IDeA engines and the analysis results will be handled according to your choice in the IDeA Engines Setup dialog shown above.

Below the IDeA engine there is a list of recently used engines, followed by a black horizontal line, below which all other engines are listed in alphabetic order. If you select an engine other than an IDeA engine, the option you selected in the Advanced Engine Options will be applied to the analysis results.

The other method of creating an infinite analysis task within IDeA is to turn an active task into an infinite analysis task by clicking it in the IDeA queue as shown below.

There are two active tasks in the IDeA queue shown in this image. I have selected the second from the left by clicking it with the mouse, resulting in four actions being displayed below the queue (underlined blue links). One of them is Infinite and when I click it, the task is turned into an infinite analysis task and the background color turns to white. When the analysis time and depth reaches the limits specified in the IDeA Project Properties (Min. time and Min. depth), positions from the analysis line will start to be added to the tree and alternatives will be generated. The engine will continue analyzing until it is manually stopped by clicking the Finish link, which is displayed for all active infinite analysis tasks.

Pasting Analysis Directly Into IDeA

Another related improvement involves the pasting of analysis results into the IDeA notation window. You can copy any line from the analysis window by selecting it and pressing Ctrl-Ins or using the right-click menu as shown below.

After copying the line you can paste it into the IDeA notation window. If you copied it with Aquarium 2011, IDeA will know which engine produced the analysis, the analysis depth and the duration of the analysis. Therefore, IDeA will treat it just as if it had come straight from the engine and add it to the task queue or directly to the project tree depending on the Advanced Engine Options of the engine. This means, for example, that you can exchange infinite analysis with another Aquarium 2011 user or pick up analysis lines from a forum and add them directly to your IDeA project.

There are many uses for this feature. For instance, you may run into an endgame position that has an incorrect evaluation if you do not use tablebases (or other endgame databases) in your IDeA analysis. In that case you can run an engine in Aquarium 2011 (even on a different computer) that uses tablebases and comes up with the correct evaluation and variation. Copy the variation and paste it into IDeA and you will immediately get the correct evaluation of the position. Note that there is nothing that prevents you from editing the variation or the evaluation before you paste it into IDeA, but that’s definitely only for advanced users.

For the Infinite Analysis User

Even if you prefer infinite analysis and never use IDeA, the new features described above give you a reason to look into IDeA once more. At no extra cost in time you will get a tool to monitor your infinite analysis and permanently record the results in a way that makes them easy to access and view in the Tree window.


The only thing you need to do is create an IDeA project linked to the game you are analyzing and clear “Automatic tree expansion (IDeA),” as shown in the image above. After that IDeA will not generate any positions on its own and the only positions it will process are positions that you send to it, either manually or automatically from infinite analysis using one of the options described above. In this case you would choose the third or the fourth option in the Advanced Engines Options and add the infinite analysis positions directly to the project tree. If you use IDeA in this way, you may find it useful to minimax the tree from time to time. This operation is performed by clicking Manage in the Stage Status window and selecting Minimax Tree Now.

Under the Hood Improvements

There are several changes that do not affect the user interface, but make Aquarium 2011 more efficient and enhance the user experience. A few of those affect IDeA.

The IDeA task generation algorithm has been redesigned, resulting in improved analysis quality and much better coverage of positions within the limits set in IDeA options. As an example, a 100% tree width along with limited variation length could miss many positions in previous Aquarium versions because of the way that the older algorithm worked.

Minimaxing is many times faster for trees with 100,000+ positions. IDeA position counting (e.g., at end of stage) is much faster and the count is exact for nodes with a sub-tree containing up to 5,000 nodes. This limit can be changed by the user (see “Advanced options” in the Common tab of the IDeA Project Properties).

Conclusion

Aquarium 2011 is off to a promising start. The improvements described in this column are already worth the upgrade price for serious chess players and analysts. Many other improvements suggested by users can be expected both in the initial Aquarium 2011 release and the free updates that will follow over the coming months.

Study chess online on Chess King Learn! Time-proven training courses, thousands of examples and exercises.

Start playing right now in your web browser on Chess King Playing Zone! Teams, tournaments, training, analysis and much more!

7-man Lomonosov Tablebases provide deeper-than-ever insight into chess endgame.

Download weekly chess database updates (containing 2000+ games) with latest tournaments and games in PGN and Chess Assistant format.

More »