top of page

Chess Assistant - Using chess engines

Chess Assistant allows you to use chess engine / engines when working with chess games.

For any move or position you can call the engine, which will evaluate the position, suggest a good or interesting continuation, or analyze the chess game noting the good and weak moves, suggesting what to play.

The longer the chess engine works, the more confident we can be in its evaluation. Chess Assistant allows you to install multiple chess engines and use one or more of them simultaneously.


This part of the course is prepared in Chess Assistant version 20 in such a way that the vast majority of this program's capabilities can be used in previous versions.


Depending on the version of Chess Assistant you are using dear reader, your program includes one to several engines that are integrated into Chess Assistant.

The very good news is that...


Some of the pre-built engines for eg. Stockfish plays with a Grandmaster strength that surpasses even the playing strength of a World Chess Champion!

This means, that the results of position analysis and evaluation using the Stockfish engine will be objective and at a very, very high level.



How to use chess engines with Chess Assistant - that's what this part of the course is about.



Chess engines already installed


To see a list of installed chess engines: - go to Tools - Engines setup...

Click to enlarge (works with any image)

As you can see, Chess Assistant version 20, which I use, offers several pre-installed chess engines. Each of these engines plays with the Chess Master power or more. Rybka and especially Stockfish, are chess engines with playing strength far superior to the strongest humans.



Install Chess Engine


You can install any chess engine in Chess Assistant that uses the:


Almost all modern, free and commercial chess engines support the UCI protocol.

Chess Assistant by default suggests using a chess engine communication protocol called UCI, since the vast majority of engines can communicate using this protocol. If you would like to add a chess engine released in, say, the early 2000s, then there is a good chance that such an engine will only communicate using the Xboard / Winboard protocol.


To install new chess engines, download them, and click Add... button on Engines setup... window.


A new window will open: Edit chess programs parameters.

To properly add a chess engine to the Chess Assistant program, the empty boxes:

  • Name

  • Type

  • Path

Must be filled in.


Let's fill them in !

I am going to add a chess engine called Komodo.

First, browse button and let's specify the location and file of the Komodo engine.


Confirm your selection by clicking on the Open button.

Very good!

At this stage of adding the engine, the window called Edit chess programs parameters on my computer looks like this:


It is worth noting that the Name, Type and Path fields were automatically filled in by Chess Assistant.


Of course, if you want, you can shorten and simplify the name of the chess engine so that it is as readable as possible for you. For the author of this course, the name Komodo 12 is more friendly and that is the name I will enter in the Name: field.


To allow the engine to use chess tablebases, I recommend checking box Allow usage of EndGame TB ( what tablebases are will be explained later in this part of this course ).


It is also worth making a change in the Parameters field, where you will find the Hash tables size (MB) option. By default Chess Assistant set 8MB for hash tables. For the purposes of this part of the course, I set the value 256MB. The size of the Hash table parameter is well described in the Komodo engine documentation.


Ok, after making the changes described above, the contents of the Edit chess program parameters window looks like this:

After clicking the OK button, the chess engine will be installed.


Once the chess engine has been installed correctly, it will be visible in the list of available engines.


Excellent!

Komodo 12 chess engine has been correctly installed in Chess Assistant.


Looking at the list of engines in the Engines setup... window, we see that except for the Komodo 12 and Rybka 2.3.2a engines, the other engines are not clearly named. For example - we don't see in which version Stockfish, Ruffian and other engines are installed.


In order to avoid unpleasant surprises by using the wrong version of the chess engine I recommend that each of the installed engines be properly named in a way understandable for the Chess Assistant user.

Below are the changes I made:



Delete engine / engines


To remove a chess engine that you don't need, just go to the Engines setup window... click on the chosen engine and...

...after confirmation with Remove button - the engine will be removed from the list of engines available in Chess Assistant.

This way, we can also remove other unnecessary / unused chess engines from Chess Assistant.


After these procedures, my Engines setup... window looks like this:


Hold on...in the image above the Stockfish engine is named as: Stockfish 0301219.

(I underlined the unnecessarily entered number zero)

To edit the incorrectly entered name and other data, click on the engine of your choice and choose Edit....

A well-known window will open, in which we can edit and save the changes by clicking OK.


Stockfish 031219 (released in 2019 on Dec. 3) is a version that plays with the strength Stockfish 11.

After clicking OK, the Engines setup... window will be closed.


Newly installed engine Komodo 12, or even more precisely Komodo 12.1.1 is a very powerful chess engine plays with similar strength to Stockfish 031219.

Both engines play at a sky-high strength of about 3400 Elo.


By comparison, the playing strength of World Chess Champion Magnus Carlsen in December 2021 was 2842 Elo points (rapid time control), which is 558 Elo points less than the Komodo 12.1.1 chess engine !


Click on this link - if you want to learn more about the Elo ranking system.


Go chess engines, go chess...!


Let's check the operation of the Komodo 12 chess engine - click on the Infinite analysis icon marked with a red border.



Oh yes, it works !

Below the notation window, will be shown the lines that the Komodo 12 engine considered sorted by search depth (d=7, d=19, d=20,..., d=25).


When you click on the Engine tab in the Game header window, you will see the movement that the Komodo 12 engine is "thinking" about.


Now let's try Stockfish.



A free chess engine called Stockfish, which comes with Chess Assistant, provides perfect integration with all Chess Assistant options and capabilities.

The latest version Stockfish chess engine can be downloaded from the official website.

(it is developed by Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad, Stéphane Nicolet, Stefan Geschwentner, and Joost VandeVondele, with many contributions from a community of open-source developers.).


Working with chess engine / engines


As you may have guessed, working with chess engine-who can play chess with a strength far superior to that of any human player - produces very good results. And this is indeed the case.


You can add several different chess engines to analyze.

With a game board, expand the Infinite analysis icon and select Infinite analysis... or simply use the shortcut Ctrl+Space.


In the new window named Start analysis, expand Scheme: and click on Multivariation (2 engines)


Good.

Here is what the Start analysis window looks like now.


Let's pay attention to the fields named Parameters, where we can select chess engines to analyze the positions on the chessboard.

For example, in the Parameters field related to Panel 1, after expanding Engine: we have a choice of Komodo 12 and Rybka v2.3.2a engines.


After selecting the engines to analyze, click OK in the Start analysis window.


As we can see, two chess engines ( Komodo 12 and Stockfish 031219 ) simultaneously analyze the initial position of a chess game.


If you have more than one chess engine running, you can remove it with by right-clicking on the engine analysis area and selecting Close analysis.


The more chess engines you open to analyze, the more impact it will have on your computer's resources.

In 1994 a set of chessboard positions was created to test the chess engines of the time.

One of the positions was then briefly summarized by Mr. Bruce Moreland, who stated: "I don't think that anyone (chess engine) has ever solved this one."


Here's that position:

r2qk2r/ppp1b1pp/2n1p3/3pP1n1/3P2b1/2PB1NN1/PP4PP/R1BQK2R w - - 0 1

I will show you how powerful is modern chess engine.... Let's start Komodo 12 :-)


After... 12 seconds I get result:


Just 12 seconds after running Komodo 12, we got the result of the analysis - the strongest move Nxg5 in that position was found.

It is worth noting that looking at the lines of analysis in the image above, we see that the Komodo 12 engine was already considering the best move Nxg5 in this position in the first second of analysis!


It is worth looking closely at the listing of analyzed lines by the chess engine, because the considered moves can inspire us - Users - to find interesting continuations and game plans.

If we need to analyze several lines at the same time, we again go to the Start analysis window and in the Scheme: select Multivariation (1 engine) and in the Variations: set how many lines of analysis we need.


Click OK button and we can see that the Nxg5 move is by far the strongest continuation.


Twenty-five years after this position was published, the unsolvable task was solved in... 12 seconds !


I would like to emphasize that the quality of position and game analysis by chess engines has increased incredibly over the last quarter of a century.


It is beneficial to use the proposals of modern chess engines like Stockfish or Komodo, because they are able to quickly, efficiently and accurately offer every chess player objective and accurate suggestions, continuation plans, search for errors and inaccuracies or analyze chess games.


Understanding the result of chess engines work


As you may remember, in the content of this course above - I opened Komodo 12 to analyze a position that 25 years had been considered unsolvable for chess engines.


Let's recall what was shown.


The result of Komodo 12's work was revealed in a separate window named Engine and included from the top of this window from left to right:


  • Current analysis time: 13 seconds

  • Number analyze move / number of all moves to analyze: 01/43

  • Best move: Nxg5

  • The number of all checked positions: 12284 kn

  • The number of positions checked per second: 978 kn/s

  • The number of table bases hits: 0

  • Chess engine name: Komodo 12


Chess engines evaluate positions with the help of a numeric value.

The evaluation is expressed in pawn units, always from the point of view of White.


Piece Value in pawn units

Pawn 1.0

Knight 3.0

Bishop 3.0

Rook 5.0

Queen 9.0


If the program is displaying a value of +1.30, this means that it considers the white position to be better by the equivalent of 1.3 pawns.


If White is actually a pawn up, then the additional 0.3 is the result of positional considerations (mobility, deployment of pieces, king safety, pawn structure, etc.).


A display of –3.00 means that White is a piece down – either a bishop or a knight, which are both equivalent to about three pawns. Rooks are worth five and the queen about nine pawns. Of course the king's value is unlimited – lose it and you've lost the game.


Always it is the case: positive values favour White, negative values favour Black.

In addition to the precise pawn values, the evaluation is also given in standard chess symbols:


To show how chess engine "thinks" when it analyzes a position, let's use the setting on the board according to the image below.

Fen notation:
r2qk2r/ppp1b1pp/2n1p3/3pP1N1/3P4/2PB2N1/PP4PP/R1BbK2R w KQkq - 0 2


We consider lines of analysis from the bottom of the listing to the top.


d=7 [-0.51] 2.Nxe6 Qd7 (0:00:00)
Black is slightly better

d=23 [+0.65] 2.Nxe6 Qb8 3.Nxg7 (0:00:29)
White is slightly better
d=25 [+1.51] 2.Nxe6 Qb8 3.Nxg7 (0:01:23)
White is clearly better

And finally, after a few extra seconds engine Komodo 12 at the same depth (d=25) "sees" complete winning line for white.


It is worth noting, the change in engine evaluation of the position over time and with the increasing depth of the search for the best move and continuation.


The longer chess engine analyzes and the deeper it searches, the more accurate his evaluation of the position becomes.


Threat


The picture shows a position from famous chess game between Rotlewi Georg vs Rubinstein Akiba played in Poland in Lodz city in 1907.

This beautiful chess game and commentaries were opened from a database called Hugebase provided with Chess Assistant.


White's move.

2rr2k1/1b2qppp/pb2p3/1p2P3/1P3Pn1/P1NB4/1B2Q1PP/R4R1K w - - 0 1

What threatens white if there were black on the move ?

You can use chess engine to find the threat in that and any position.


Open the Start analysis window (Ctrl+Space).


In Scheme: select Chronological (1 engine) and check the box Opponent's moves.


The result is a listing of the most serious threat at a given position.


There might well be more than one threat, and so make sure that the your chess engine is analyzing more than one line at a time.


After right-clicking the analysis listing, let's select Multivariation mode.

You can also simply click on the Multivariation mode icon.


The threat analysis listing will expand the next variations with the three threats.


In our example, engine analyzes four lines.



Inserting analysis into notation


You can insert the main analysis line of the chess engine directly into the game notation.

To do this, make sure you select the Engine tab (the window under the chessboard), right-click in the analysis field, and select Insert_line.


You can also simply click on the Insert analysis in game icon.


The strongest line at current moment will be inserted into the notation.


The more lines at a time chess engine analyzes, the less accurate the result of the analysis will be than if chess engine analyzes only one line - I recommend especially such to correspondence chess players.

The greater number of lines at once analyzed by chess engine allows for more insight into the chess player's evaluation of the position - I recommend this to chess players who want quick analysis results for several possible continuations - not necessarily the strongest.


Tablebase


There are a total of 64 pieces on the chessboard in the starting position. The total number of possible moves is so unimaginably large that chess will remain an unsolvable game for a very, very long time.


But... during each game the number of pieces and pawns decreases with time due to the players' moves, and one by one they disappear from the chessboard.

After a certain number of moves, it is not uncommon for the situation on the chessboard to go into the so-called endgame phase.


In a situation where e.g. a few pieces remain on the board, is it possible to use solutions that will help chess engine to analyze chess positions even more accurately?


Yes! The answer is Tablebase.


For us Chess Assistant users, it is important to know and take advantage of this knowledge that the cooperation between chess engine and Tablebase significantly increases chess engine ability to deliver accurate results in endgames.

Chess engine using Tablebase will be even faster and more accurate - catching transitions to winning continuations in endgames, typically providing, for example, the exact line of the continuation and the number of moves to mate the opponent or achieve the desired draw.


The concept of using a Tablebase is not new, so over the last few years with the development of computers and the increase in computing power, several Tablebases with different capabilities have emerged.


Chess Assistant uses Nalimov Tablebases, which are also used by many chess engines. The filenames often end with the suffix .nbw.emd or .nbb.emd (for Nalimov Bases White/Black). All 3, 4 and 5 piece Nalimov tablebases can be used in Chess Assistant.



Let's install 4 piece Nalimov Tablebases

( size: 30 MB only )

After entering the Engines setup... window (Alt+F11) in the Endgame Tablebases path field you need to specify the location of Nalimov's Tablebases.


Click on the button marked with a red border.


In the newly opened window named Folder list dialog, click on the Add button.


Select the appropriate folder and confirm by clicking Ok.


Click the OK button.


Bravo!

We installed 4 piece Nalimov's Tablebases.


They are visible as another engine - EndGameTB, so we can access them in the same way as we start a chess engine like Stockfish.


When the position is reached in Tablebases, detailed information will be displayed in the window.

Fen notation:
k7/1nR5/8/8/2K5/8/8/8 w - - 0 1

If you are interested in the details between the different Tablebases, I recommend the excellent article on the ChessBase website; one example: a big advantage of the Syzygy Endgame Tablebases is that they are much smaller than others Tablebases. The 6-man Syzygy tablebases need 150 GB disc space, whereas the Nalimov Tablebase need more than 1 TB.


Due to the size of the complete Nalimov Tablebase (more than 1 TB), I recommend installing them outside the C: drive, for example in D:\Nalimov


Analysis chess game


First, open a chess game for analysis.

In this example we will analyze a previously mentioned chess game between Rotlewi Georg vs Rubinstein Akiba played in Poland in Lodz city in 1907.


Now, on the toolbar, go to Engines - Game analysis and choose Comment game using tree.


In the newly opened Adjust commenting window, make sure all the boxes of available options are checked.

Thus, comments on the moves in the analyzed game will be appropriate.


After clicking OK, the game comments will be shown in the notation window after a while.


Ok, let's delete all the comments...


...And let's try another option to analyze the entire chess game: Select method using time.


Depending on the time you indicate, Chess Assistant will automatically select the parameters.

Here are some examples:








Ok, suppose we want the chess engine to spend a maximum of 5 minutes analyzing an entire chess game.

After selecting the analysis time and after specifying the chess engine, click OK.


Chess Assistant will open the Quick analysis window where we can observe the progress of chess game analysis.


After a maximum of 5 minutes, you get a much richer commentary analysis of the entire chess game than if you select the Comment game using tree option.




Again, remove all comments from the notation window.


This time, let's choose an analysis option called Select method using levels.


In the newly opened window called Dialog we can choose in detail parameters for the analysis of the whole chess game or a selected range of moves.


To use the full range of these possibilities I'll open another and this time long chess game played at a very high level between the strongest grandmasters of their time, which abounded in interesting moves and finished late... promotions of pawns to Queens.


A chess game between Chigorin Mikhail vs Rubinstein Akiba played in the Czech Republic in the city of Carlsbad in 1907.


Returning to the Dialog window, below are my selected settings for analyzing an entire chess game.

The number next to the selected options, e.g. Main analysis:10 -> is the number of seconds needed to analyze each chess move of the given option, in this case - Main analysis.


I recommend that before running this analysis method, you should consider the analysis time of the entire chess game.

After clicking OK button, Chess Assistant using Komodo 12 chess engine and Nalimov's Tablebases - will start analyzing the whole chess game.


While waiting for the result, we can watch the analysis progress...


The entire analysis process took about 17 minutes.





It is worth remembering that, depending on your needs, we can use the Select method using levels option to select parameters that will allow a more precise analysis of specific stages of the game (e.g. middle game, end game), searching for errors, etc. than using more standard methods such as time-based analysis (Select method using time as a single and decisive parameter) or simple Comment game using tree.


The stronger chess engine - the less time it takes for accurate tactical analysis


Analyze current position


When you click to Engines - Analyze current position...


You can select specific moves to be analyzed by the chess engine.


This can be useful when, for example, we know which moves are weak or losing, but we want to analyze only those that make sense in a given chess position.


14...cxb5 or 14...Nb4


?

Fen notation:
1nbq1rk1/4bppp/1rp1p3/pP1nP3/2pP4/2N2NP1/1PQB1PBP/R4RK1 b - - 0 14

In this famous position that arose in a chess game between World Champion Magnus Carlsen and Grandmaster Mamedyarov Shakhriyar, black choose 14...cxb5.


Let's check.

In this example, out of 36 possible moves for white, I left only 2 moves for analysis (120 seconds per moves to be analyzed).

After entering parameters and clicking OK button, once the analysis is complete - the result will be pasted into notation.


Let's compare the two notation entries.

Old annotations:

New annotations:

The analysis focused on the 2 selected moves showed that the move 14 ... cxb5 made in the chess game was weaker than 14 ... Nb4.


In this chess game, the World Champion showed that by playing a move weaker by only 0.59 is enough for him to build a decisive advantage.



Background analysis ...and other analysis options


Background analysis can be run through the Engines - Background analysis toolbar...



...Or by opening the context menu of the notation window:


Background analysis with its very detailed options can be used for further interesting ways to work with chess games.


I encourage you to explore many other possibilities for analysis using Chess Assistant.

Other options that are available from the Engines toolbar, such as Engine-Engine / Tournament or Test suites, etc. are not standard functions of the chess database software or are relatively rarely used by most users (Marker setup/delete...).

In Chess Assistant, they are prepared to be used in a very basic way.


For example, to run chess engine matches and / or tournaments, I recommend using dedicated software for these activities (eg. Aquarium, Fritz, Arena, Shredder Classic, Hiarcs Chess Explorer, etc.).


As we can see, Chess Assistant offers very useful, powerful and rich features for using chess engine/s.



 

This is the end of the course:

Chess Assistant - Using chess engines


I invite you to choose the next course :-))


 

1 Comment


Ronny Mairas
Ronny Mairas
Mar 11, 2023

Hey Darius! Thank you for your helpful articles on so many topics in the computer chess world.


I'm currently looking for GUIs where sounds, board and piece graphics can be changed either in as an option in the GUI menu or in the folders. It this possible with Chess Assistant? I'm on Mac btw.


Best regards,

Ronny

Like
bottom of page