FEN: b2r3r/k4p1p/p2q1np1/Np1P4/3p1Q2/P4PPB/1PP4P/1K2R3 w - - 0 25
Run the above position in Stockfish 18 with a depth of 25: [1] It shows that White is 3.53 pawns ahead—i.e. White is clearly winning.
Run the above position in Stockfish 19, however, and Stockfish 19 at depth 25 says that, while White is ahead, it’s only a 1.2 pawn edge—Black supposedly still has good drawing chances.
At a depth of 35 ply, Stockfish 19 sees that it’s a clear White victory (6.79 pawns ahead), but it takes far deeper search for Stockfish 19 to see the win compared to Stockfish 18.
[1] To run the position, I type the following commands:
position fen b2r3r/k4p1p/p2q1np1/Np1P4/3p1Q2/P4PPB/1PP4P/1K2R3 w - - 0 25
d
go depth 25
I also see the issue on Lichess’s GUI by going to this URL:
Evaluation doesn't matter as far as I understand. If 19 beats 18 in a match on billion playouts then it's a feature.
Any usability of stockfish evaluation for human analysis is collateral.
Unfortunately there seem to be no serious fork of stockfish that would care about usability for human analysis.
I was recently doing some larger study and I stumbled upon a bug/feature of stockfish where it accepts small number of invalid cache reads for a lot of speed.
It would result in infrequent blunders which however affected my analysis, so I removed this optimization in my fork.
Usability for human analysis will likely be more successful going a similar direction Maia is going with the lc0 like net trained to make human moves. SF is inherently so far removed from the human approach to chess (relatively speaking), that it would likely require a lot more work than just tuning it to work well on some positions.
There would be value in prep if one had an engine that automatically understood what positions are challenging for humans, as right now a big part of high level prep is finding opening lines that look like they lose by a bit in stockfish vs stockfish, but are full of landmines for a top GM to step on. That's where a lot of time goes nowadays, past the pure memorization. The issue is that value drops a lot when other players have access to the same tools, because then they will also pay attention to those lines. The value is in the information imbalance, but everyone has the same tools.
It might help young players learning without a coach, but my understanding is that most are just looking at engine evaluation anyway, as tactical speed is a typical advantage of the youth.
When I go to that link it shows Black is winning with -1.9 eval at depth 32 with SF19 1MB NNUE! It looks like it got this evaluation from the cloud database.
Click on the switch to the left of the evaluation to run a local Stockfish 19 eval of the position.
Showing Black winning in that position is clearly a bug; at 20 ply Stockfish 19 sees a +0.3 edge for White (which is also wrong; it’s about +5 for White, i.e. clearly winning) and only a +0.6 edge at 24 ply.
To be fair, Topalov, right after this game (1999, so before modern computer analysis), analyzed the game for hours with his second and thought Black still had strong drawing chances after accepting the rook sacrifice.
To show you how strong Stockfish 19 is compared to 18, I used to lose 100% against 18, and I now lose 100% against 19, probably faster. Time to fire up En Croissant and see :)
For me (having written my own tiny 400 line chess engine, that now I'm not able to beat - sure I'm not a good player, but still), the reason to have Stockfish is not really to play against it, and then inevitably lose, but to use it to show which moves are best. I assume that's how most (hobby and professional) chess players use Stockfish nowadays.
You just try it yourself and go down the different lines. "Okay, Stockfish suggests this, but I wanted to do that, let's try my idea, oh, I didn't think of that response to my move". Etc., play along some lines, think about them. Sometimes it's obvious, other times it just sets up something far in the future you must be a grandmaster to see the subtlety of.
For some reason this question reminds me of all of the drama about Navier-Stokes from the last few days. Tangential to the ethical questions are tons of examples where in history when word gets out about a solution to a problem, not even the solution itself just rumors that there is a solution, suddenly competing solutions appear.
So maybe it matters like that? Just knowing that an oracle like stockfish is saying "this is the best move" may trigger pathways in your brain that promote understanding?
Probably not faster if I have to guess. The nuances of why 19 is better than 18 are likely indistinguishable from noise when they play against someone at a much lower level (i.e. any human).
This seems like an interesting alternative line of research. Design the a chess engine where the goal is to beat the best human in the minimum number of turns, while still offering ~no chance of human victory.
The Leela odds bots are working on a similar problem: beat humans starting down material. It's roughly grand master level starting down a rook, and for fast time control even starting down a queen
I am a fairly good player but after playing 22000 games, I came to the conclusion that ideas and strategies from chess are context-dependent and don't much transfer to real life.
I'd rather spend all that time reading up on game theory and play some fun video games, like Red Dead Redemption.
That's true. Chess only teaches two general lessons about strategy: look more than one step ahead, and invent heuristics (abstractions that let you estimate if positions are good or bad) for yourself. Those are useful lessons, but you don't need to play thousands of games to grasp those ideas.
Other aspects of strategy, like shortening decision loops[1], forming alliances, or the exploration/exploitation tradeoff[3], are simply not represented by chess because it is a turn-based, zero-sum game with perfect information. That makes chess a poor model of real-world strategy.
Still, the things it does teach are real and useful, so as long as you don't think its the end-all, be-all of strategic thinking you can get something out of it.
I think chess teaches a lot more.
It teaches decision making and resource management. It's very important to consider your options and decide how much time you spend analyzing them. It teaches you things like elimination process (if you have 3 options, one complicated one and 2 simple ones then start analyzing simple ones because if they are bad you just saved a lot of time by not analyzing 3rd one).
It also teaches you to forget about the past and focus on the present. It teaches you long term plans usually don't work and relying on them is a bad idea and it's better to focus on execution here and now (this is what Soviet school got wrong although probably only officially, the players knew it all along - analogies to 5 years plans were just too tempting for book authors).
At human level it also teaches you to design strategy to exploit your opponents - play openings they hate, simplify vs players who like complicated positions, complicate vs players who like simple ones.
There is a lot of interesting things you learn about thought process and decision making as your level improve. It might not be the best game for that but it's pretty good considered how simple it is.
I got to a 1900 bullet rating in two years, playing an average of 10 to 30 games a day--while not learning any theory! (I wanted to discover theories on my own).
And that's when I realized nah, it's not worth it.
I don't play games for them to "transfer to real life". I play games for fun. Chess can be fun, it has an interesting history and the strategy of various kinds of play open up to you as you play/learn more, it has a structured competition community so you can go places and play with other real people and win fabulous prizes (not really; even some of the best professional players also have real jobs). It's played worldwide, so no matter where you are, you can find people to play with in the real world. It's popular, so there's always someone online you can play against.
Some folks find chess fun and interesting enough to play it and study it all their lives. Other games can also be fun, though it's rare for a game to hold someone's attention throughout their whole life.
I agree. I think in general, any game that is 'turn-based' (in this case chess), with a limited set of options, quickly boils down to pure theory and in my opinion 'dumb intelligence' of just remembering many things and patterns (the AI of now). As soon as a game is in 'real-time' with many-many options, it reaches a level of complexity where you cannot ONLY remember theory and outsmart your opponent. It is far more about applying logic on the fly with the limited time and overwhelming set of options you are supplied. This skillset applies to almost everything in life and serves me personally very well thus far in life. Yes, I understand that chess has different modes that severely limit time per turns which transform it more into the 'real-time' games and value, but it is still turn-based and still has a limited set of options when compared to true 'real-time' games.
Maths is "turn based" albeit it has practically infinite available moves per turn. But I think the latter matters less than it may appear at first: At least in practice there isn't much different (for both humans and computers) if there are infinitely many moves, or "just" 10,000. And while (as far as I know) there aren't any board games with that many moves, the exponential explosion means that if you conceptually "combine" let's say three moves in a row, you suddenly have not 30 moves, but 27,000. And that's practically infinite.
I've never studied any openings and still have loads of fun with chess. I think you have to be IM level or something to not immediately go out theory.
It can be a bit fun, sometime, to play someone that has studied an opening at my level, but since they aren't that deep into it, they only know the moves for some variations. So me, not knowing the opening, do something from the left-field, and they don't really know how to punish it anyway. Remember one time someone got a bit grumpy, heh.
Real life is a game of risk/reward rather than a game of deep calculation. You can't "calculate" life because there are too many variables and unknowns. You have to simply pick a path and either accept the risks or mitigate them.
There is a very tangible benefit to people playing in chess that has nothing to do with the game itself. One example is for kids - I think kids playing chess (particularly over the board) learn quite a lot from the game. For example, etiquette (being respectful to your opponent), patience, logic, etc… but one of the best things they learn is how to lose. In chess you lose a lot. Asymptotically vast majority of players will lose approximately 50% of their games. Learning how to lose (respectfully), learn from your mistakes, then overcome them is really great process to learn. Doing this in real life rather than over the screen is also completely different.
Combine that with the game being fun and the social aspects (meeting new people, making friends)… chess very much transfers to real life in my view
So a lot of games/sports kids could cry out - "that is not fair". There is an element of luck in most board games.
Chess is the first board game you can introduce to your kid that has no element of luck whatsoever. It could be brutal. I have seen 7-9 year olds coming out crying after a game in a tournament. But it also may be requires very good parenting to handle all the emotional distress. Chess also is obviously accessible.
It is an emotional rollercoaster to engage kids in Chess tbh. We are ready to sometimes throw the towel every other week. :-)
i used to play poker casually, and the part that I found most interesting and most useful was not the reading other peoples' body language / tells or the probability calculations, but rather the practicing of regulating my own emotions
LOL. So here is the truth: I named it because my oldest son was really into the “67” meme. I was trying to come up with a domain name, everything decent seemed taken, and chess67.com was available.
I figured it would just be a temporary name until I came up with something better.
Then it stuck. I will say it has been easy for my customers to remember the name!
> play some fun video games, like Red Dead Redemption
To each their own.
If you like the competitive aspect of chess, you may enjoy physical sports too. I started to find video games pretty boring compared to pushing myself physically.
I think there are some valuable lessons that chess can teach, if you approach it the right way:
- it teaches resiliency in bad situations.
- it teaches you to not be too harsh on yourself as a person. If you watch GMs playing online, they make bad mistakes all the time too - they're not godlike creatures who make no mistakes, far from it.
The flipside is that if you approach it the wrong way (I know I have at many points), it can have the opposite effects too.
To approach chess in a mentally healthy way was a long process for me. You need to get rid of your ego and be objective as much as possible when playing, or it will just make you sour - this in itself is a valuable lesson.
Main thing I took away from chess when I used to play is it's just another exercise to work parts of your brain. I preferred 3+0 and 5+0 chess because of the low time commit, ease to move next, and the tradeoff between most correct move and most optimal move to cause the opponent to expand more of their time trying to figure out what you were doing.
I hit about 2k Elo on lichess playing the 3+0/5+0 and I have no regrets!
Yeah I have ADHD and can't bother play slow, long games. I only play bullet (60 sec) and would often defeat 2200-level players before I decided to give up. That means, most of those I will play (socially) in the future won't beat me.
The GUI page is a bit out of date imo, or I'm not sure how does the selection work because there are countles GUI options nowadays. Anyways some of the best options are not even mentioned like
Amused me the first time I ran En Croissant, it lets you download existing chess databases and one of those (Caissabase) was my project from years ago :).
I don't play Chess much any more but others have taken up the Chess DB mantle (with slightly different criteria).
I do find it ironic that a project I did in a couple of days for myself and chucked online in case it was useful is still kicking around though.
If you like En Croissant there is a nice fork called Pawn Appetit that does all the same things and adds some other QoL bits and bobs.
Correct me if I'm wrong but I think that a few years old version of Stockfish running on a modern MacBook Air with 1 min per move is unbeatable if the game starts from the initial position.
Even if the opponent is the latest Stockfish with 1000x more time per move, it will always be a draw.
I asked about this a few years ago in a Stockfish Discord and the above claim is what someone implied, if I remember correctly.
This sounds plausible. But otherwise, there are "tournaments" like the TCEC which is for bots only and the way it works is, the bots are adjusted to play a specific opening and they're on their own after the Nth move.
Stockfish has been dominant for a long time. And a later version of Stockfish would outperform an earlier version given the same time control.
Basically this optimization means that stockfish will sometimes take a bad read from a cache (so it will take an evaluation of the position from cache which was calculated for a different position).
It's fairly random when this will trigger a bad play, but if you brute force vs any deterministic setup you will find it eventually.
But even withtout it - you can just implement a kind of a brute-force heap of positions using stockfish's own eval and you can find wins from almost any position even on fairly high playout count.
I got as far as 32M from different even starting positions, but I spent compute to find as many games as possible rather than as deep as possible.
A faster engine is still very useful in practice, for example for position evaluations in game review.
Not that an engine evaluation will always be helpful (the line in question making a position strong or weak might be effectively unplayable/impossible to find by a human), but it’s useful for studying nevertheless.
Whenever I see another Stockfish update I dream of the day that I sit down and code my own chess bot that is good enough to beat me. I would be so happy if I manage to do that.
Depending on your feelings on being spoiled on the general techniques, and an approach to implement them, Sebastian Lague made a great two-part series on building a chess engine. It's specific enough that you have an idea of the techniques involved, without dwelling enough with the details to make implementing your own futile.
I did so and roughly twenty years later, my 4th attempt is "finished" in a sense and playing on lichess bots from time to time.
The process is very rewarding and there are great resources (chessprogramming wiki). To get an initial bot play random moves is not that much work but it is a good starting point because you can hook it into a gui and watch.
From there you do the move generator and the search and then optimization possibilities are endless :)
For those curious to see actual games played by top-level engines, the most famous French chess-commentator has a youtube plalist where he and french GM Matthieu Cornette analyzes some of these games.
GM Mathieu Cornette is an excellent chess analyist, might not be the best at banalazing, but he does find some amazing computer games. Engine games are often boring, so it's nice that they pick the good ones.
I wish these engines could explain why it is recommending certain move, or certain sequence of moves, using natural language - it would be very useful for learning.
My understanding is that AlphaZero only really existed for a year or two; there's no objective way to compare it at the moment.
Leela Zero tried to open-source that work, but Stockfish incorporated a number of improvements from AlphaZero, including a neural network and a different search method, and consistently beats Leela Zero.
I have a book, "Game Changer", in which a chess expert calls out several instances where AlphaZero made moves surprising at the time; situations where all chess engines rated things one way and AlphaZero rated them differently. When I enter them into Stockfish now, it usually rates things more similarly to the way AlphaZero did, and often chooses the move chosen by AlphaZero.
The only real test of course would be to dig up AlphaZero and run it again; but I think based on the evidence we have, Stockfish of 2026 would probably trounce AlphaZero of 2018 with equivalent compute available.
> My understanding is that AlphaZero only really existed for a year or two;
It still exists, but it's private / internal, and sometimes used for a few different things.
It was used by Kramnik to test the hypothesis whether no-castling chess was viable (basically chess, but disallowing castling). That was a year after DeepMind published the match they ran of AlphaZero versus Stockfish.
It was still in use last year, I remember seeing some Grandmasters with interests in chess studies were invited by DeepMind to judge the beauty of chess problems composed by AlphaZero (or whatever form the thing that used to be AlphaZero is now).
> It was used by Kramnik to test the hypothesis whether no-castling chess was viable (basically chess, but disallowing castling).
Viable in what way? That it's advantageous to never castle if an engine learns to play with that directive? Or that it still makes for a fun game with that new rule?
It's more fundamental than that. AlphaZero is a shallower search with a heavier evaluation function. Stockfish is a deeper search with a lighter evaluation function.
In chess, depth usually wins because of how narrow the search tree is compared e.g. to Go.
Interesting, and if you don't mind, where do we put humans (and superhumans like Magnus Carlsen)? I think they have a heavy evaluation function and do shallower search.
One way would be to calculate a cost per game, factoring in both electricity and an amortized cost of the hardware, maybe having a penalty too for extra time run (e.g., if focusing only on hardware depreciation and electricity, 1 minute of TPU would translate to 2 weeks of CPU, that 2 weeks of waiting still costs you something). Obviously this isn't stable, as relative prices of GPUs and memory shift over time, and it's somewhat sensitive to setup; but done right it's probably more "what a user actually wants to know", in terms of what it would take to get equivalent performance.
It's a neural network rather than a bunch of hard-coded rules. That turns out to make a big difference.
Actually, there's this interesting snippet from the release page:
> These techniques have been applied to hundreds of billions of training positions, all of which have been consistently rescored using a strong Leela net.
So Stockfish's neural network evaluator is actually trained using Leela Zero.
"Completely unrelated" is not quite true.
Stockfish current NNUE models are trained on LC0 training data.
LC0 is pretty much an open-source community replication of the ideas from AlphaZero.
I stand corrected. However, fundamentally, the idea of "tiny CPU-only neural network" combined with traditional alpha-beta search is substantially different from "big GPU network" combined with Monte Carlo Tree Search. And historically the NNUE came from a 2018 idea for shogi engines rather than from AlphaZero.
Technically nobody knows, because AlphaZero was never made public. In practice, we know Stockfish 19 would destroy it, because it destroys open-source reimplementations of AlphaZero.
On average, yes. Stockfish is the strongest engine and beats AZ-like implementations like Lc0 and the like. But on a game to game basis Lc0 can still win some games, depending on the starting position. It's rare that Lc0 can win both black and white starting from the same position, tho.
There are a few yt content creators that cover great engine games, if you're curious.
Leela proved that the ideas worked, regardless of the conditions that the AlphaZero vs Stockfish matches were run in.
What's funny is that if computer chess had paid more attention to computer shogi, Stockfish could have already been using NNUE by that time, and not lost to AlphaZero. But perhaps that would have stifled Leela's development, and would have led to worse training data for Stockfish in that parallel universe's present day, making it weaker overall.
Unknown, it was only around for a little while however there is Lila which is based on the same ideas as AlphaZero (and also a fantastic project generally) they generally trade blows with Stockfish coming out very slightly ahead.
That said Stockfish also uses an NN (NNUE) these days so the line is getting more blurry.
They basically replaced the static position evaluation function with a NN approach and kept the rest of the tree search mostly intact.
I ran fishtest on an old cluster for a while. Was nice to watch the stockfish team methodically improving things. Basically, every commit has to show it can beat the main branch before it gets merged.
Game engines, AI, robots and machines in general are establising a "goal horizon" for humans. This is unnecessary and counter productive way of using tools. Tools are supposed to work for us, not set goals or direction for us.
But as technology progresses and becomes more advanced, it does seem to set goals in all directions in that seems inevitable if we continue to 'collaborate' with modern technology. I mean, we no longer develop tools to help us out really, if you think about it. We develop tools to get ahead of other tools, to be faster than them, to protect ourselves from still other tools.
I'd argue that as we condition ourselves into a state of constant development, we shouldn't even call these things "tools" anymore, but pieces of an organism that spurn us to upgrade and complete it at every step.
Tools working for us only applies to local, simple tools that one person or a small communiity can basically understand and make, like a hammer. That's a tool. I wouldn't call a computer a tool any more just like I wouldn't say that our brain is merely a tool. It's more: it's an extension of us and even an integral part of us that modifies our very instincts and desires itself.
I think an interesting problem would be for a LLM from OpenAI or Anthropic to try to learn chess from first principles and then use that knowledge to try and beat Stockfish.
I wonder if anyone at those companies is trying to tackle this problem.
People perhaps won't remember the long history of computer chess at least how it played out in the 90s
There was a succession of interesting engines (I think The King used to win a number of computer tournaments, this is the one Chessmaster used, that wonderful audio-visual program, like Encarta but chess related) and then the big three of Fritz (match against Kramnik), Junior (match against Kasparov) and Shredder. And also HIARCS and later, Rybka (and Crafty, as well, touted as the open source chess engine)
Stockfish has been top dog (fish?) for a while now but there was a notable exception when AlphaZero (which later became Leela? I'm not sure) beat it, but these days of course Stockfish is far and away the best engine (I guess. I don't know how far behind Leela is)
And, yes, human vs computer chess has stopped being interesting for a while. There were some centaur chess (human and computer; humans using computers to analyze) competitions in the 2000s and some interesting things but nowadays of course your phone can handedly beat Magnus Carlsen and others without problems, reliably
Alpha Zero Chess never made their code or models public. Leela is based on the same ideas as Alpha Zero Chess, but its model and code are public and uses crowd sourcing to generate and refine the model.
Stockfish uses a combination of classic Alpha-Beta pruning along with a type of AI called NNUE to evaluate positions.
> AlphaZero (which later became Leela? I'm not sure)
Pretty much. DeepMind never released their code or models, just the main ideas of their techniques and training.
Leela, which came out of the go-ai world, implemented the paper(s) and became the de-facto version everyone used for a while until other projects improved over it on both go (mainly katago) and chess (mainly stockfish).
from the TCEC Season 29 Premier Division tournament, Stockfish was first, Reckless v0.9.0 was second, LCZero 0.33 was third, PlentyChess (won tiebreaker) tied with Torch for fourth.
This may be a dumb question, but how do these engines get better when they're already amazing? Is it simply that they look further down the tree of possibilities?
How do you get better when you're already amazing?
When you're amazing, you understand what you're doing and where to improve. For very complex systems, the improvements will be in confined areas (not rewriting everything but noticing a bug or reading about another project which found that some other hyperparameter works better). Or even if you have no idea, the simplest way would be making random tweaks and seeing which ones are advantageous
Presumably a lot of it is in a better evaluation function. That is, when searching the tree, a better analysis of whether a specific position is beneficial and by how much. After all most of the tree searches do not end in checkmate, just in minute improvements which accumulate over many moves.
It's not really what you're looking for, but I made this lichess BOT that makes stupid (but relevant) comments on your moves from time to time: https://lichess.org/@/Annie_Archy/all
It's been tried, they feed the evaluation into the LLM and get it to commentate.
The results are absolute garbage (as you would expect) since the LLM's really don't understand chess or how to play it, someone posted a benchmark of the current SOTA ones playing Chess and the best was estimated at 1480.
I think OP meant trash talking. "Nice knight on the rim you got there buddy." "How long do you think you'll be able to hold onto that pawn?" "The Latvian gambit, really?"
Let’s take the very famous game Kasparov - Topalov, Wijk aan Zee 1999 and look at the position just after Topalov accepts Kasparov’s Rook Sacrifice:
https://samboy.github.io/blog/Kasparov.html#RookSacAccepted - https://lichess.org/lwiPq9wB#48 - White to move
FEN: b2r3r/k4p1p/p2q1np1/Np1P4/3p1Q2/P4PPB/1PP4P/1K2R3 w - - 0 25
Run the above position in Stockfish 18 with a depth of 25: [1] It shows that White is 3.53 pawns ahead—i.e. White is clearly winning.
Run the above position in Stockfish 19, however, and Stockfish 19 at depth 25 says that, while White is ahead, it’s only a 1.2 pawn edge—Black supposedly still has good drawing chances.
At a depth of 35 ply, Stockfish 19 sees that it’s a clear White victory (6.79 pawns ahead), but it takes far deeper search for Stockfish 19 to see the win compared to Stockfish 18.
[1] To run the position, I type the following commands:
I also see the issue on Lichess’s GUI by going to this URL:https://lichess.org/lwiPq9wB#48
reply