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.

Discuss

Rules for reader comments

 
 

Not registered yet? Register

KnightOnTheRim KnightOnTheRim 1/13/2020 01:31
I mean, it is much more interesting to get stats linked to his level .
The usual levels of the machine ( generally 1 to 20 ) could be used for those stats .
Last (?) , it could be interesting to compare the machine stats with the Database stats and get the differences.
KnightOnTheRim KnightOnTheRim 1/13/2020 01:17
Not exactly the right place to mention but with FatFritz , LcO and the likes i think new software could include : 1) sort of ‘’ tricky ‘’ factor of a variation , are there tricky moves difficult to find by a human player ( even at 2800 ) , are there several difficult moves in a row , etc.. One idea is to investigate if 0.00 line is worth studying or not .
2) statistics with elo ranges . The software could play thousands games at different levels and get different % of wins/draws/ loss between , for instance , 1800-2000 , 2000-2200 and so on .
It is not that interesting for the 2200 player to know that a long variation is 0.00 at 3500 if he plays it against another 2200 fellow player , is it ?
rokko rokko 1/12/2020 06:50
If I read the numbers correctly, SF says that the position with perfect play is drawn.
Fat Fritz says that if there are many games White will achieve 57% (51% drawn, 33% White wins and 16% Black wins!). So the position might be easier to play for White.
The two statements are not contradictory and both are interesting.
But there is no need for the fanboy language (like that of Albert Silver) that is a disservice to an otherwise serious website (similar to the reviews of their own video products) mixing "news" and ads.
promatix promatix 1/11/2020 11:47
Difference is easy to understand ,A/B engines based on static evaluation function which is hardcoded into program ,NN engines based on dynamic evaluation function which is changed by self learning process.And because at some level of playing human understanding of chess might be limited then its imposible to hardcode such funcktion in static way ,only by learning process. Thats why NN engines has more understanding of positional play.
celeje celeje 1/11/2020 05:55
Of course, Scorpion29 is totally wrong.

If we mean "brute force" in a restricted technical sense, then, as Masquer said, Stockfish does not meet that definition.

If we mean "brute force" in a general sense of obtaining performance not through "intelligence" or "understanding" but through massive computations, then Fat Fritz is far more brute force than Stockfish. Scorpion29's idea that parallelization is not brute force in this general sense is laughable.
Scorpion29 Scorpion29 1/11/2020 05:25
Of course, celeje falls completely flat in his argument. Let me explain - the main difference between a CPU and a GPU is that a CPU is a very fast race car, while a GPU is a Big Truck. The race car is fast, but it can carry only one person or in the CPUs case, one process. That is why I repeatedly call Stockfish brute force - even if it executes pruning, it is doing one process i.e one line extensively and forcefully. That is why it loses strength the moment we ask it to calculate Multi PVs.
Fat Fritz is the truck - it does multiple jobs parallely, and that is why it reaches lower depths in the same amount of time. The reason why NN needs GPU is because multiple processes need to be executed at once - here the Multi PV doesn't affect strength precisely due to this reason.
I personally found Stockfish to be extremely unhelpful in my development as a player, so I was willing to invest in a new card, and after analysing with Fat Fritz I have understood chess far more deeply.
Masquer, I get what you are saying, and perhaps you are right, but I reiterate that Stockfish is a dumb beast which uses pure computing power and crunches numbers to find the best move it can find. To me what it is doing is an evolved version of brute force. Such an engine however useful can never improve understanding of chess, other than defense maybe - anyway it is my personal opinion.
celeje celeje 1/11/2020 02:49
Masquer wrote:

"Let's get something straight - Stockfish is a ^selective^ search A-B engine, since it prunes extensively, and that is the exact opposite of "brute-force", which means no selectivity. ...

The misused (and self-contradictory) "brute-force" term only serves to paint Stockfish as a dumb beast that often has no clue as to what's happening in a game of chess."


And Fat Fritz/Leela is far more "brute force" than Stockfish, which all these people without computer knowledge refuse to understand.

That's why it needs the enormous power of GPUs. It can run on a CPU, but then its performance is very weak. It's just brute force (of a different kind).
Masquer Masquer 1/10/2020 11:14
I've just explained that Stockfish has a selective search with a very low branching factor due to heavy pruning, with this last detail even mentioned in the article. You can't have it both ways, highly selective and brute-force at the same time. It's a contradiction, I'm sure that most people with half a brain would get that.

It is the chess programs of old that were brute-force. I have a background in computer chess, and your argument just falls flat. You started with the insults, Scorpion, because that's what people usually do when they have nothing to stand on.

The 0.00 is not optimal, but remember that up to 20-25 years ago (if you were even around) before computer programs became very strong, even the best human GMs, with great chess understanding, would classify many positions as unclear. Yes, some chess positions are still unclear today, or do you think chess has been solved?
thirteen thirteen 1/10/2020 07:05
-2000 ELO amateur players want an affordable Fritz. Leave the correspondence tribes to invest in higher Graphic Cards as they can. The singular appeal of Stockfish is that it is FREE but club players welcome its often superior [crunching] strength with gratitude and sadly, the new FF is doing nothing to change that.
@Scorpion your NOT rudimentary comments, are always noted.
Aybar_GM Aybar_GM 1/10/2020 05:57
Great...
Scorpion29 Scorpion29 1/10/2020 02:40
Masquer, Unlike Fat Fritz, which has the knowledge of computer and human games, Stockfish has nothing as a reference to search. That itself indicates brute force right? The fact it evaluates complex positions as unclear shows that it has absolutely no understanding of chess - it is a machine programmed to find the best move it can find in a given position that's all. The 0.00 is a masquerade it puts up to show that it can probably beat us because we are imperfect, but it is far away from understanding chess. The simple fact that this escapes your sight shows rudimentary understanding of chess, and perhaps you need to be more careful when criticising people who seem to have worked with both far more extensively than you.
Masquer Masquer 1/10/2020 05:27
Let's get something straight - Stockfish is a ^selective^ search A-B engine, since it prunes extensively, and that is the exact opposite of "brute-force", which means no selectivity. This heavy pruning lowers Stockfish's branching factor tremendously and greatly contributes to its enormous strength and search depth.

The misused (and self-contradictory) "brute-force" term only serves to paint Stockfish as a dumb beast that often has no clue as to what's happening in a game of chess.

Next time, why not get a more qualified writer to advertise for you? I like Fat Fritz, after all.
afiedito afiedito 1/10/2020 04:47
Thank you. Please write more about this topic
Magic_Knight Magic_Knight 1/9/2020 06:51
Just be content that Srinath is not publishing another article glorifying indian chess. Because those are the fanboy articles that are sincerely biased and way over-praised.
Boye Boye 1/9/2020 06:26
Thank you for an interesting article.
GrayRazorback GrayRazorback 1/9/2020 06:09
"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"

This sounds like they are describing Lasker's style
NoSystem NoSystem 1/9/2020 04:54
How many CB afficianados like me find themselves in the position of being unable to take advantage of Fat Fritz unless they invest in major upgrades to their hardware at considerable expense? (The price for the program might as well be $1500.) Fritz 16 will have to do for now.
Scorpion29 Scorpion29 1/9/2020 04:38
PhishMaster is clearly illiterate, otherwise he can understand the meaning of the article's title clearly - Fat Fritz and the 1200! I think that a 1350 can safely discuss what a 1200 can gain from Fat Fritz.
rys rys 1/9/2020 01:44
Who is "Tanmay Srinath" ? FIDE ID: 46696520? Elo std: 1352 ...
TimSpanton TimSpanton 1/9/2020 01:13
That is a bit harsh - his Fide elo went down in November, but it is still above 1350

https://beauchess.blogspot.com/
PhishMaster PhishMaster 1/9/2020 12:21
Tanmay Srinath is barely qualified to discuss how the "horsie" moves, so why do you keep publishing articles he writes...even your commercials?
1