A few weeks ago I received an e-mail asking for an article on interpreting
*Fritz'* analysis window in *ChessBase 7* and *Fritz5*. (Please forgive me, but I
lost the letter somewhere in my e-mail box, so I have no idea who wrote
it). I agreed that this would be a good topic (one I hadn't covered in a
long time, not since the days of the old paper version of *T-Notes*), so
we'll tackle it this week. Many books have been written on this topic, so
don't expect an exhaustive treatment. We're going to look at just enough to
understand what *Fritz* is showing you in its evaluation window.

To understand what the numbers mean in the analysis window, you'll need to
understand a little bit about how *Fritz* analyzes a position. *Fritz* doesn't
look at "lines of play" or variations in the classic sense. *Fritz* looks at
a board position and analyzes it from the perspective of the side to move.
Using a variety of chess principles (material and space being chief among
them) that are quantified in mathematical terms, *Fritz* assigns a board
position a numerical rating that tells the program whether the position is
better for White or Black.

It then looks at the opponent's possible replies to this position, rating each of those as it did the first position. Then it looks at the possible replies to each of those replies, and on and on.

Basically, to decide on a move, *Fritz* uses something called **minimax** to
decide on the best line of play. It's a function deserving of an article
all its own, so I'll just touch on it lightly here. Simply and briefly put,
it averages out all of the numerical ratings of the positions to find the best reply
(assuming best play for both sides). After it averages out these ratings,
it ranks the moves from best to worst (you can see this ranking on your
screen by increasing the number of lines displayed, using the [+] key).

A computer chess term that you need to be familiar with is **ply**. A ply is
a measurement of search depth. One ply is equal to one move on the board (as opposed to "move" in the scorekeeping sense,
which refers to one move for each side). Therefore, in
a position with White to move, after *Fritz* has examined and evaluated all
of White's possible moves in that position, it's said to have searched to a
depth of one ply. After evaluating all of Black's responses to all of
White's moves, *Fritz* has searched to a two ply depth. After evaluating all
of White's replies to Black's replies to White's moves, it's searched to a
depth of three ply (and so on).

This results in an enourmous number of positions having to be searched. A typical middlegame position will have about thirty possible moves for the player whose turn it is to move. Assuming thirty as an average number, here are the number of positions a computer has to evaluate at different search depths:

1 ply (White's initial move): 30

2 ply (Black's responses): 900

3 ply (White's second move): 27000

4 ply (Black's second move): 810000

5 ply (White's third move): 24300000

You can easily see the exponential progression. Looking at every possible move, a computer program must evaluate over 24 million positions at the relatively shallow depth of five plies.

How does a computer handle this load? By "pruning" the search tree. It's
pretty easy for a computer to see that some variations are just plain bad
by the second or third ply (moves that lead to the opponent achieving
checkmate or the opponent gaining massive amounts of material), so these
moves can (usually) safely be eliminated from the search. This reduces the
workload on *Fritz*, but at a price: *Fritz* tends to miss things like material
sacrifices for long-term positional gains. If *Fritz* was going to look at
every possible move and every possible reply (etc.), however, *Fritz* would
*still* miss these sacrifices as it could never search deeply enough to see
the positional advantage (due to the astronomical number of positions it
would be forced to evaluate). So it's a trade-off: *Fritz* trades seeing the
occasional material sacrifice for increased vision in other areas (long
purely tactical combinations, for example).

Let's remember these concepts as we take a look at what *Fritz* is telling us
in its evaluation display. Here's an example of the display in action:

Take a look at the "depth" display. It shows two numbers separated by a
slash ("11/29"). *Fritz* actually does *two* types of searches. The number
before the slash is the brute-force search, in which *Fritz* looks at every
move, then every possible reply, etc. (of course taking into account the
pruning away of bad moves as was described a couple of paragraphs ago). In
our example, *Fritz* is currently evaluation positions eleven plies deep.

The second number is the selective search depth. In this type of search,
*Fritz* evaluates forcing lines such as captures and checks. Due to the
forced nature of these lines, *Fritz* can evaluate them to a deeper level
than positions in which an opponent has multiple replies. You might have
noticed in your own games that it's easier to evaluate variations that
involve captures and checks: since the replies are forced you can go much
deeper into your mental search. In our example, *Fritz* is going 29 plies
deep in certain forcing lines.

There are some differences in the way other engines display these depths.
*Junior* displays search depth in 1/3 ply increments. To get the true search
depth in plies, divide the displayed number by three (if the display reads
"12" then it's actually searching the fourth ply). the 16-bit *Doctor?*
module (usable in *CBWin* and *ChessBase 6*) displays the depth in half-ply
amounts; divide the number displayed by two to get the actual search depth
in plies.

The next entry reads "g2-h3 (4/31)". This is information about the move
that *Fritz* is currently evaluating. I didn't provide the board position, so
I'll explain that *Fritz* is looking at the move 15.Bh3 in our example. The
number after the slash in parentheses is the number of total possible moves
in the position. In this case, White has 31 possible moves. The number
before the slash in this example means that *Fritz* is considering the fourth
possible move of the 31. *Fritz* bumps the most promising lines (those with
the best evaluations) to the top of the list, sorting them in order from
best to worst from the point of view of the moving side. You can actually
see this in action. Just hit the [+] key until you have four or five
variation lines displayed in the window. You'll see the variation lines
shift up and down in the list as *Fritz'* evaluation changes (as its search
depth increases, it sees more, and changes the evaluations accordingly).
In our example, *Fritz* has looked at three moves that it previously
considered better then Bh3. It will need to look at 27 more moves before
moving on to the next ply.

Looking at this number in parentheses tells you how deep *Fritz* has gone
into the search of the current ply. You'll notice that *Fritz* analyzes much
more quickly as it starts reaching the end of the ply (for example, moves
10 through 31 flash by very quickly in our example window). This is because
*Fritz* sees that these lines are very inferior to the top four or five moves
it's considering and doesn't need to search them as thoroughly.

The last entry at the top of the display is the speed at which *Fritz* is
evaluating. In this case it reads "60kN/s". The pattern this display always
follows is xkN/s:

x = a number

k = 1,000

N = nodes. Nodes are positions.

s = 1 second

In our example, *Fritz* is searching at the speed of 60 times 1,000 nodes per
second, that is 60,000 positions a second. I don't suppose I need to tell
you that this is *incredibly* fast. *Fritz* enjoys the reputation of being the
fastest analyzer on the market.

The lower part of the window is fairly easy to understand. The symbols are
standard *Informant/ECO* chess evaluation symbols. In the example above, the
line starting with 15.Bd2 is one in which Black has a large advantage. The
second best move for White, 15.Nd2, leads to a variation in which Black is
winning. Clearly White is in dire straits here.

The number in parentheses is an exact numerical evaluation of the variation, given in pawn increments down to 1/100th of a pawn. The displayed line starting with 15.Bd2 is one in which White will be down one and one-quarter pawns once the end of the variation is reached. The second line is one in which White will be behind by just over a pawn and a half at the end of the variation.

There is a small light in the upper left-hand corner of the box. It's
presently green in our example, but it sometimes turns red. This light
changes to red when the numerical evaluation of the best line (the one at
the top of the list) changes by more than one pawn (1.00). This is a handy
way for *Fritz* to alert you that there is a tactical shot in the position.

Finally, of course, we see the moves of the concrete variations that *Fritz*
has analyzed. These variations assume the best possible play that *Fritz*
sees for both sides.

The evaluation window in *Fritz5* shows these same displays in a slightly
different order. There are two additional display features: a "stop" button
(allowing you to stop the program's analysis at any point) and a display
showing the percentage of the available hash tables *Fritz* is using to store
transpositions.

This should clear up some of the mystery surrounding these displays in both
*ChessBase* and *Fritz*. Thoroughly understanding the analysis display can
greatly enhance your enjoyment of the programs.

Until next week, have fun!

**SPECIAL NOTE:** The link I gave last week for the **Chess Kamikaze Home Page** was
incorrect. This week's links to it and the **Yahoo Chess Kamikazes Club** are
now correct. Sorry for the inconvenience!

You can e-mail me with your comments,
suggestions, and analysis for *Electronic T-Notes*.