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
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
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
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
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”
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
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
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
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
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
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
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
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
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.