Houdini Aquarium 2019 & ChessOK Aquarium 2023
ChessOK Aquarium 2023 is a new powerful analysis, database and chess publishing tool, powered by the world's strongest chess engines.

ChessOK Aquarium 2023 €39.96
Houdini 6 Aquarium 2019 €53.95

ChessOK.com » Rybka Aquarium: A Guide to Basic IDeA Usage
Rybka Aquarium: A Guide to Basic IDeA Usage 22 December 2010
This column is geared towards the average user who wants to start using IDeA (Interactive Deep Analysis) in Aquarium 4.0.6 (the official release will be at 30th of December – ChessOK Development Team). I will explain the basic steps to begin the analysis of a selected position and how to guide the analysis into variations of interest.
If you are new to Aquarium, I strongly recommend that you familiarize yourself with other Aquarium analysis features, such as infinite analysis, before diving into IDeA. In the following I assume that you already know how to use a game database in Aquarium, so that you can create or search for games and positions that you want to analyze. I also assume that you know how to install and configure chess engines in Aquarium.
What is IDeA? IDeA is one of the most advanced methods available for analyzing chess positions. In fact, it is more of an analysis environment rather than a simple analysis feature. Similar to “infinite analysis,” IDeA continues analyzing until you decide to stop it; however, the similarities end there. Instead of analyzing the same position forever, IDeA behaves like a strong chess player analyzing a position. If you ever studied Kotov’s Think Like a Grandmaster, you no doubt remember his well known advice to identify candidate moves and methodically examine them to build an “analysis tree.” This is how IDeA works.

In addition to displaying the analysis on the screen, IDeA automatically stores the whole analysis tree on disk where it will be available when you relaunch Aquarium. Every position that has been analyzed is stored along with its score, the move color, etc. IDeA keeps the score of the analyzed position updated by minimaxing the tree (sometimes called “backsolving”). This ensures that evaluation changes deep in the tree are always reflected in the score of the root position; i.e., the position where you began the analysis.

Configuring Chess Engines for IDeA

IDeA can use one or more chess engines for its analysis. If you want to use more than one chess engine, you should use multiple instances of the same engine. As an example, it is common to use several single core Rybka 4 engines simultaneously for the analysis. IDeA can also use chess engines running on different computers, even across the Internet, but that’s an advanced topic that is not discussed here.

If you analyze with more than one engine, you must make sure that they are not using more CPUs/cores than you have available and that they don’t use too much memory. As an example, on a quad computer you could use up to four instances of Rybka 4 (single core) for your IDeA analysis. If your computer has 4GB of physical memory (RAM), you should make sure that Rybka 4 isn’t using more than 512MB for its hash tables. This would mean that the total hash size of the four Rybkas is 4 x 512MB = 2GB. In general, the total hash size shouldn’t exceed half the physical memory size of your computer.

The most popular IDeA analysis setup is to use several single core engines. I assume that you will be using that type of setup. Multiprocessor engines can be configured to run as single processor engines, usually by setting a parameter called “Threads” or “Max CPUs” to 1. If you need to adjust the engines, switch to engines mode (the big “Engines” button in the sidebar) and make the necessary changes.

When you have decided on the engine to use, switch to IDeA by clicking the big IDeA button in the sidebar. Select the “Home – IDeA” tab and click the “Engines” button shown in image below.

The “Engines Setup” dialog box will be displayed. Here you can select the engine and the number of instances to use for the IDeA analysis.

Start by clicking the “Change” link in the “Action” column (or “Add” if no engine is currently specified). This brings up a list of available engines. Select one of them from the list. Its name will be displayed in the “Name” column (“Rybka 4 w32” in this example). The check mark in the “En” column shows that this engine is enabled for analysis. You need to set the “Count” to the number of instances of Rybka that you want to use for the analysis. Normally, you would set it to the number of cores available on your computer. If you want to give more CPU time to Aquarium itself and other programs, you can set “Count” to one less than the number of available cores.

When the analysis tree starts growing, IDeA will generate a batch of positions for analysis and send one position to each engine for analysis. When an engine completes the analysis of a position, IDeA adds the result to the tree, and sends the next position to the engine, etc. With “Count” set to four, as in the screen-shot shown above, the engines will be analyzing four different positions at the same time.

Now that you have configured the chess engines, you can find the first position that you want to analyze with IDeA.

Creating an IDeA Project

There are different ways to start a new project, but here I assume that you are examining a game in which you encountered an interesting position that you want to analyze with IDeA. This method works both in the Sandbox and in database mode.

When you want to analyze the position displayed on the board, select the Analysis tab in the ribbon and click the menu part of the IDeA button.

Select “Analyze in Project” from the menu and then click “.” The “IDeA Project Properties” dialog box will be brought up.

There are only two fields that you must change here: “Project description” and “Analysis tree.” In addition, you should also consider if the specified “Analysis quality” needs to be modified.

Project description is a text field that you use to give a name to your project. Choose something descriptive. For instance, if you are analyzing an opening position, you could consider a name that includes the name of the opening and the ECO opening code. In this case I have simply called it “MyFirstProject.” Analysis tree is where IDeA stores its analysis results. You should choose a new tree for every project you create. Don’t use the same tree for unrelated analysis. When you click the link an “Open tree” dialog box is opened where you can choose an existing tree or type in the name of a new one. I store all my IDeA trees in the ATrees\IDeA directory and in this example I call the tree “MyFirstProject.” I often choose a name for the tree that resembles the “Project description,” but that is not necessary.

Analysis quality is one of the most important settings for IDeA projects. It determines how deeply and for how long positions are analyzed in the project. Every position that is sent to one of the engines is analyzed until the “Analysis quality” requirements are met. This means that if you don’t change the “Analysis quality” of a project while it is running, all positions in the tree will be analyzed with the same settings. If you want to modify the settings, click the link showing the current settings. The “Analysis Quality Settings” window will be displayed.

Here you specify the analysis parameters. Some users have had problems understanding the difference between connecting the seconds and plies with “and” and “or.” Here are some examples that show how they work.

60 seconds or 16 plies

When you use “or” the analysis stops as soon as either one of the conditions has been met. In this example, the analysis will run for at most sixty seconds. Even if it has only reached depth nine after sixty seconds, the analysis would stop. The same applies if the specified depth (sixteen in this example) is reached before the sixty seconds are up – the analysis stops. For example, if you have a powerful computer or an endgame position with few pieces, each position would only be analyzed for a few seconds and never for the full sixty seconds. When using “or,” the values you specify for the seconds and plies are the maximum values for the analysis. It will never return analysis that runs longer or deeper than the numbers you specify.

60 seconds and 16 plies

Here we connect the same analysis conditions with “and” instead of “or,” which means that the analysis will run until both conditions are met. In this example the analysis will run for at least sixty seconds. If depth sixteen hasn’t been reached by that time, the analysis will continue until it has been reached. Similarly, if depth sixteen is reached after only thirty seconds, the analysis will continue for thirty more seconds and only then return the result. When using “and,” the values you specify for the seconds and plies are the minimum values for the analysis. It will not stop the analysis until both conditions are met.

There is one potential problem with using “and” when specifying analysis quality. In some positions it can take a very long time to reach the specified depth, even hours or days. This problem is solved by allowing users to set a “Max. time” for the analysis. Let’s say you are using the following settings: 60 seconds and 16 plies

Max. time 300 seconds

In this example, the analysis of a position would stop after five minutes (300 seconds), even if depth sixteen had not been reached. This is your tool for preventing too much time being spent on a single position when using “and” in the analysis quality settings.

The problem with stopping the analysis in the middle of an iteration with “Max. time” is that the time spent on the last iteration is lost time. Let’s say that the engine has completed depth fourteen, but because of “Max. time” the analysis is interrupted before any results for depth fifteen are reported. Clearly the time spent on depth fifteeen wasn’t productive. This can be avoided by selecting “Wait for next depth,” which completes the current iteration. Additionally, it waits for the engine to return the result for the first move at the next higher depth. If the evaluation doesn’t change much, the analysis stops. Otherwise, it will continue until the evaluation stabilizes before stopping the analysis. This option ensures that no analysis time goes to waste, but you must keep in mind that the additional analysis will require more time, so other parameters must be chosen accordingly. Even so, there will be positions that take many times longer to analyze than the average. Choosing “Wait for next depth” means that you are ready to accept that, but still there must be a limit above which it makes no sense to wait longer. Therefore, you should set “Max. time” to a reasonable value, but still much higher than the standard time, or else there will not be enough time for the additional analysis steps.

For further discussion of “Analysis quality” see the Optimal Analysis Quality Settings section of Getting More Out of IDeA in Aquarium 2010. After selecting the analysis quality for your project, click OK and you will be taken to the “IDeA Project Properties” dialog shown above.

Since this project is started from a game position it automatically becomes the root position of the project. You can see that by clicking the “Root positions” link.

The root position, or the starting position, of the analysis is displayed in the diagram. A list of root nodes is displayed to the right of the diagram. Since we are starting a new project, it only contains one item. There are four columns displayed for each root position:

En is short for enabled and if it is selected, the corresponding root position is active. In other words, IDeA will analyze variations originating from that position. While you are getting used to IDeA it is best to have only one active root position.

Eval is the current minimaxed score of the root position. Since we are starting a new project it is currently empty, but it will be updated as the analysis progresses.

Position shows either the FEN string of the position or the moves leading to the position (as in this case), depending on how you defined the position. Comment is a text field where you can enter your comments about the position.

When you have finished entering the project parameters, click the OK button to close the “IDeA Project Properties” dialog box. Aquarium will automatically switch to IDeA mode and display the new project. The position you are going to analyze will be shown on the chessboard.

Starting and Stopping the Analysis

The next step is to start the IDeA analysis. We are already in the right place for that. First, you need to activate the project and then start IDeA itself. Each project can either be active or inactive. Only the active projects are analyzed when IDeA is running.

First click the “Active” button to activate the project and then “Start IDeA.” The first analysis task of the project will be generated and when the chess engines have been loaded and initialized the analysis starts.

Now that you have created and started your first project, you should spend some time just watching how IDeA works. An explanation of the information displayed while IDeA is working is available in Interactive Deep Analysis (IDeA) with Rybka Aquarium 2010.

All you needed to get to this stage was to give the project a name, choose an analysis tree, and optionally modify the analysis quality. After that the project analysis was started by clicking two buttons. This process has been simplified compared to previous versions.

If you leave IDeA running in a normal opening or middlegame position, it could practically run forever without stopping. It continues searching for good moves, analyzes them, and adds them to the tree. It is up to you to decide when to stop.

You can stop the analysis of the project you are viewing by clicking the “Active” button again to deactivate it, but leave IDeA running so it can continue analyzing other projects. You can also stop IDeA itself, and thereby the analysis of all active projects, by clicking the “Stop IDeA” button, which is also shown in the image above.

The Tree Window and Move Colors

IDeA is all about interactive analysis. Although you can run IDeA in fully automatic mode without any interaction, it is not recommended. IDeA was designed for interactive analysis and you can easily guide it to analyze positions of interest or try out your own ideas.

While IDeA is running, it updates the tree window after each analysis stage, allowing you to browse the results. You can focus the analysis on certain moves or variations by coloring them green (using the right-click menu) or exclude moves from further analysis by coloring them red.

In the screen-shot below, two moves have been colored red: 39.h5 and 39. Qd5. These will be ignored by IDeA and only the black moves will be analyzed.

If IDeA generates new alternatives in this position, they will also continue to be analyzed. The red color is used to exclude moves, but when you want to limit the analysis to one particular move (or a few moves), it may be better to color them green as shown below.

This is the same position as in the previous screen-shot, but here the moves 39. a3 and 39.a4 are colored green. This means that only those two moves will be analyzed by IDeA and no new alternatives will be generated in this position.

Note that when there are green moves in a position, the colors of the other moves don’t matter. They are excluded from the analysis regardless of their color. Therefore, you will tend not to use both green and red moves in the same position.

Beginners sometimes make the mistake of coloring all the worst moves red to prevent them from being analyzed. This is a bad idea. The reason is that IDeA continues generating alternatives until it finds one that is clearly too bad to analyze further. When you color that move red (as with 38.c3 in the image above), IDeA no longer sees it and continues generating alternatives. Therefore, you shouldn’t color the worst move red. Besides red and green, you can use other move colors, but they don’t affect the IDeA analysis.

Other Methods of Interacting With IDeA

Besides coloring moves, there are several other methods you can use to guide the analysis. These methods are available in the “Interactive” group in the ribbon.

The first five buttons allow you to add moves to the analysis queue. Current Position. The position on the board is scheduled for analysis. It is analyzed in the same way as if IDeA had selected the position automatically. Note that any moves in the variation leading from the tree to the position are also analyzed if they haven’t been analyzed previously.

Auto-play. IDeA lets the engine play against itself, starting from the current position and stores the results in the analysis tree. The user decides how many moves should be played and can set an evaluation interval to stop the autoplay earlier if the evaluation falls outside the interval.

Alternative. IDeA analyzes a new alternative in the current position.
All positions. You can add as many moves and variations to the IDeA notation window as you wish and then send them all at once to the analysis queue by clicking “All Positions.” If you need to add several thousand positions to the analysis, it is more practical to use other methods.

Custom Task is a very flexible way of specifying an analysis task. When you click the button, the Custom Task Properties dialog box is displayed where you can define the parameters for the task. This advanced feature is described in the Custom Tasks section of Getting More Out of IDeA in Aquarium 2010. It is not recommended for new users.

Root Node adds the current position to the root node list. This means that IDeA will generate and analyze variations starting from that position. You can define many root nodes for the same IDeA project, but while you are still learning how to use IDeA it is best to have only one active root node in each project. You can deactivate a root node by displaying the corresponding position on the board and clicking “disable this root” in the Project Status window.

You can browse through the active root nodes by repeatedly clicking the second link in the “Root nodes” line shown above. In this case, it is displayed as “(1/1),” which means that you are positioned at the first active root node and there is only one active root node in the project.

You can use other links in this window to examine or modify various project parameters, such as the analysis quality and other IDeA settings. The first “Root nodes” link (“1 root node(s)” in this example) brings up the full root node list.


IDeA is a powerful analysis environment. Nevertheless, it is possible to get started quickly by using only its basic features, roughly corresponding to those that were introduced in the initial release of Aquarium 3. After that you can gradually begin using other features, most of which have been described in previous ChessOK Cafe columns.

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!

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

More »