Fat Fritz for the club player

by Tanmay Srinath
1/9/2020 – But how, some ask, does an ordinary club player or an ambitious lower-rated amateur makes use of this technology to improve? TANMAY SRINATH tells us why having a more 'human' engine makes all the difference in the world regarding chess improvement and shows us how he nearly-refuted the solid 3...Qd6 Scandinavian!

Fritz 17 - The giant PC chess program, now with Fat Fritz Fritz 17 - The giant PC chess program, now with Fat Fritz

The most popular chess program offers you everything you will need as a dedicated chess enthusiast, with innovative training methods for amateurs and professionals alike.

More...

Two different worlds

The year 2019 was a landmark year for chess. World Triple Crown Champion Magnus Carlsen shrugged off his abysmal 2018 to become a terminator of top class players, Anand continues to be relevant at 50, Radjabov banished the ghosts of London 2013 with his World Cup win, and Fat Fritz, an AI engine which learnt from self-play as well as the very best of human games, became commercially available.

Let me start on a personal note: 2019 was a very special year for me. Shamkir Chess in April gave me my first writing opportunity for ChessBase, ChessBase India and First Post, besides getting two of my opening surveys published in ChessBase Magazine 192 and 193. Becoming a contributor has considerably improved my understanding of the game, as well as making me understand how to use our silicon friends to greater effect — the topic for today.

I recently watched a two-part video on what books to read in order to improve as a chess player, by the esteemed IM Venkatachalam Saravanan. In that, he mentioned a few things. He said that one should not use engines till one is 2100-2200, and that in general we should only use them for blunder-checking after going over our own games five times! While I don't claim to possess more knowledge than IM Saravanan — whom I respect deeply for his endless knowledge about the game — I have worked enough with Fat Fritz to respectfully disagree with him on a few points.

What's in a name?

Before going in deeper, let us try to distinguish between a neural network (NN) engine, like Fat Fritz, from a normal AB engine, like Stockfish. There are primarily three areas where we can find end to end differences between the two:

  1. Search algorithm
  2. Depth (or lack of it)
  3. Evaluation (the most important)

The first point has been explained very well by previous articles on NN and AB engines, so I will not go into depth about it. Suffice it to say: Stockfish uses brute-force search while Fat Fritz plays a lot of games against itself to find the best move.

It is from the second point that things start to get tricky. Firstly, NN engines are notorious for reaching relatively low depths compared to Stockfish and other top AB engines in a given timeframe. This is largely due to the nature of the NN, which is incredibly vast and requires large amounts of computing power to traverse. But does the large difference matter?

According to experts, it is not the depth but the time you give to a NN engine on a particular move that is important. Whereas for Stockfish a depth of 40 is required for some correctness of analysis, for Fat Fritz I would say that in general a running time of five minutes gives quality analysis in most positions, which amounts to a depth of 30 at best. Here it is about quality, not about quantity. The time taken to reach depth 40 is different for different computers, and most importantly for different positions, so I will not specify a duration of time. It's safe to say from experience, however, that the analysis level of Fat Fritz at depth 30 is vastly superior.

Why?

Thinking Inside the Box, Jacob AagaardThe answer to that question lies in the PV or Principal Variation. In the book Thinking Inside The Box, Nikolaos Ntirlis wrote an appendix on how to use chess engines. In that, he mentions that the principal variation, or the engine's first choice, is more or less completely wrong most of the time because the engines perform a process called pruning, where they cut down on moves that don't seem to win the most number of pawns immediately. The first move suggested by the engine might be correct — I say might be because they suffer from a lack of understanding — but anything after that should be taken with increasing pinches of salt! 

This book offers a lot of interesting ideas, but it is worth it for the engines chapter alone!

However, when Nikos wrote it in 2016, there were no NN engines. Alpha Zero soon emerged, but only later. His argument is perfectly applicable to AB engines — Stockfish especially, which is incredibly strong, but sometimes also really stupid, especially in decisions involving material imbalances. However, I have noticed that with Fat Fritz this problem is very rarely encountered, and thus if we are in a hurry it provides the most correct solution of all engines currently available. With this in mind, let us come to the third point, the most important of all.

StockfishStockfish, in unclear positions, often sees nothing better than to evaluate the position as 0.00, a number that has caused a lot of irritation at all levels of the game, and possibly the reason why some strong players — like Boris Gelfand — ask the amateur not to use engines, due to the fact that the positional imbalances are not properly evaluated otherwise. This is the reason why I said that the engines can't be trusted to find the best possible continuation early in the opening — at a given moment it can only guide us on where to look, but otherwise it is our headache to figure out which of the 5 moves that show 0.00 would actually cause the most problems for the opponent. With this background, it becomes easy to understand why NN engines are increasingly preferred for analysis.

Fat Fritz, by contrast, bases its evaluation on the win-probability, i.e. it plays a large amount of games against itself and gives the moves that win the higher number of games. One can immediately notice that this evaluation function is more human. Thus, even in the most bizarre of situations, Fat Fritz is able to come up with a definitive conclusion on what's likely to pose the most problems for the opposing side, a factor that makes its analysis all the better to learn from. Since Fat Fritz has learnt from human games, its positional understanding is way beyond the normal engines. As GM Larry Kaufman says: "The NN engines know things that are too complex to teach to a standard engine — we don't even know what they are!" This explanation coming from a strong GM who has developed a boa constrictor like Komodo is very helpful. Now we know where to look if we want to play better human chess!


Komodo Chess 13

Komodo 13 thinks like no other chess program. Inspired by AlphaZero, Komodo developers GM Larry Kaufman and Mark Lefler have reinvented their engine from scratch over the last two years. The result speaks for itself: The new Komodo 13 MCTS ("Monte Carlo Tree Search") searches for candidate moves in an incredibly innovative way and finds solutions most engines never see!


Komodo 13 is the closest the AB engines have come to positional play — its parameters have been input by a GM! An its Monte Carlo search option is based on Alpha Zero techniques.

Having explained the three distinguishing factors, it is time to put them point-wise:

  1. Search Algorithm: This portion is of little interest to amateurs, but it is important to know what it is in generic terms to understand the next two factors.
  2. Depth: Again, not as important as evaluation, but useful to know. The fact that the PV is wrong most of the time is definitely news to most of the readers, but experienced analysts will be nodding in the background — they have faced this problem numerous times themselves!
  3. Evaluation: This is the one that amateurs should look at in depth. Whenever we want to find our mistakes, we want to know what else to play right. Magnus has done this repeatedly — he finds moves and plans that systematically reduce the number of playable moves for his opponent till he has to find the only move, when he fails and loses. In such situations, the AB engine is useless as the 0.00 continues right up to the point it blunders, right? However, if we check out Magnus' games with Fat Fritz or Alpha Zero, similarities start to appear rather frequently because the approach seems to be the same — they don't assume the opponent to be perfect; they find moves that might not be 100% correct but ones that make life difficult for their opponent; and, lastly, they evaluate in similar fashion. Thus, using NN engines to analyse our games is far more beneficial. We can find human analysis in the sense that these engines give us options to make our opponent's life hell, and that, for me, is a much better option than evaluating each position in an objective sense of how many pawns you win!

Lastly, I mention one more point in favour of Fat Fritz — it doesn't lose strength when it is asked to show numerous possibilities. This is one more situation which amateurs will like: to be able to find out moves that are not perfect, but decent enough. This is most important in cases where people don't have ready-made contact with strong players and have to rely on engines to tell them what is right and what is wrong.

Magnus Carlsen

Be happy Magnus — you're still the most computer-like human! | Photo: Amruta Mokal

What differentiates Fat Fritz from Leela?

Apart from being twice as fast on my new laptop, Fat Fritz is a lot more aggressive when analysing and is tactically superior. This really makes a big difference at all levels, especially up to 2000 Elo, as players tend to complicate at the first possible sight of losing. Thus, one can list out the advantages of using Fat Fritz correctly:

  1. No 0.00!!: This is the most important, as it gives us direction when there is no compass!
  2. An increasingly human analysis: Most important when we don't have strong human chess players to guide us.
  3. An aggressive attitude: What young players need to learn first are tactics and the art of attack. Fat Fritz is very useful in this regard.
  4. Little/no PV Problem: This is perhaps the defining factor of this AI. I have very rarely found improvements deep into the line of Fat Fritz after giving it sufficient time to think. It very rarely seems to go wrong in this aspect, and most of its intuitive first choices are the ones that it will end up playing. Again, useful, right? We wait once, for a sufficient period of time, and once Fat Fritz gives us 2-3 lines we investigate them briefly, adding some moves along the way, until we end up with a file worthy of a World Champion. Awesome!

I'm sure that by now most of the readers are clamouring for proof. Well, turn your attention to the following position:

 

This position was reached almost by force from the main line of the 3...d6 Scandinavian. I was part of an interesting Facebook discussion with Greek GM Vassilios Kotronias and IM Nikolaos Ntirlis regarding the soundness of the line. They kept telling me that inherently this position, like many others in the Qd6 Scandinavian, is known to hold for Black. Given the Fat Fritz advantage I possessed, I wanted to prove them wrong (having done it once already in an anti-Sicilian!). 

Of course, before doing so I went through what Vassilios had written in his acclaimed book the Safest Scandinavian. My eyes quickly lit up in this position. The author mentions that 15.c6 as the only move in the position, but being a major Tal and AlphaZero fan, I always want to sacrifice material, not take it! Kotronias' evaluation at the end of the line was correct as usual, but his evaluation of 15.c6 being the best move was mistaken, as it often happens in books of that size and the limited time given to finish it.

I have always respected Vassilios for being one of the few GM Authors who actually use their own brains while analysing as well, and find most of his lines human. However, some mistakes are bound to creep up, and I don't blame him — in 2016 people were more used to taking material than giving it!

I and Fat Fritz immediately zoned in on 15.e4!!, a fantastic move not considered by Stockfish as seriously as 15.c6, but more importantly, a continuation that Stockfish assesses rather miserably! Now, after the best 15...e3 Stockfish considers only the boring 16.d2? and not the fantastic and absolutely correct 16.b2!!. After a few forced moves we reach the following position, which shows the deficiencies of AB engines in full glory:

 

How to assess this? Before we go to my assessment, let us understand what three engines thinks about this position:

  1. Fat Fritz CUDA:

Fat Fritz

As one can see, Fat Fritz is especially optimistic about White's position here. Is it right? I'll give a definitive verdict at the end.

  1. Leela v22.0 CUDA:

Leela Chess Engine

Leela also thinks that White is better, but it doesn't feel it is as much as Fat Fritz claims. Also, note the lower speed of 10KN/s compared to 22KN/s above.

  1. Stockfish 101219 64 Bit BMI2:

Stockfish

Last time, there were a few complaints that Stockfish 10 is not strong enough. Thus, I used the latest Stockfish dev available to me — in fact, the BMI2 version, which is super-quick as the image indicates. Stockfish at depth 56(!) claims that Black is equal. Is it true? As the technical minds can observe, this is a slightly lopsided test...in favour of Stockfish! Let me explain my laptop specs first before going ahead:

  1. Processor: Intel Core i7 9750H 2.6 GHz (Turbo Boost 4.5 GHz) 6 Core
  2. Graphics card: NVIDIA GE FORCE GTX 1660Ti 6 GB

As one can now see, this arrangement favours Stockfish due to the slightly old non-RTX graphics card. Despite this, and a clear advantage in depth reached and number of nodes of analysis of this position, Stockfish is wrong! How and why?

The image shows the e4-knight in green and Black's dark-squared bishop in red. Why the colours? I feel that in this specific position the knight is a fantastic piece: it has two target squares clearly available (f6 and d6), while Black's g7-bishop is hitting granite, whether on f8 or g7. Also, note the number of open files — just 1. It can be effectively blocked by an octopus on d6, thus rendering two black rooks useless. If the knight is taken, White is granted a protected passed pawn on the sixth rank, a nearly decisive advantage that renders Black's extra exchange useless. Also, note White's centralised king and advanced queenside — any endgame definitely favours him. All this for one pawn? You bet White is better! In fact, I can safely say that even in a correspondence game Black will struggle to hold this and will lose. Why? This is the exact sort of position that an AB engine can't solve!

White is an exchange down, yes, but how does Black take advantage? He has one open file which White will block with his next move; he has two rooks sitting passively on the last rank; and his bishop is a tall pawn on the seventh rank. He doesn't have a single useful pawn break. Is he lost? Maybe not, but he is definitely borderline losing due to passivity. My conclusion in this position is clear: I fully agree with Fat Fritz and Leela Chess Zero. 

Does this mean Stockfish is useless? Not at all! It remains relevant in positions where brute force analysis is the norm, and it is still the better calculator. However, unless there is a dramatic improvement in its level, I choose not to use it while analysing. Why? Well, it is far more difficult to play creative chess when you have a stone cold monster sitting by your side and yelling equal! I want to experiment, improvise, invent. All that can happen best if I have an engine which strives not for pawn collection but for wins, which thinks subjectively and objectively equally well, and which can provide me chances, not numbers.

The bottom line

In conclusion, what can I say? I have clearly illustrated where and why Fat Fritz is better, and why it is suitable not only for the world's top 10, but also for the younger ambitious players and to the players who play for the fun and thrill. The latter was not touched upon so deeply, but for them I still have a message: if you are constantly irritated by the level of drawn lines your opponent executes over the board, try out Fat Fritz, and actively participate with it. You will notice chess getting a lot more fun!

Is Fat Fritz shortening our rise to the top? Yes, I think so. I have definitely improved by using it actively, by working with it and not for it. As a human, it is important not to make the engine a crutch, but rather a healthy energising snack that propels the brain to work harder! I hope that I continue to do justice with this wonderful chess AI. And for those not yet in the bandwagon, hop in! It's a lot of fun here!

Links



Tanmay Srinath has been writing for ChessBase India since quite some time now. His tournament reports and depth of analysis have been widely appreciated. Pursuing a full-fledged career in engineering Tanmay doesn't get enough time to pursue chess, but he loves to follow top-level encounters and analyzes those games with his Fat Fritz engine. We hope you find his analysis useful in your games.