Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Stockfish 19 (stockfishchess.org)
123 points by atiedebee 5 hours ago | hide | past | favorite | 83 comments
 help



Interesting bug or regression.

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#RookSac - 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:

  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:

https://lichess.org/lwiPq9wB#48


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.


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.

I can't beat the famous 1k JavaScript version either. I was better when I was younger.

https://nanochess.org/archive/toledo_javascript_chess_3.html


this feels around 1000 elo

crazy to see 110mb.com links in 2026 (on the github repo project), it's been a while


What does it matter if you can see which moves are best if you can't understand it?

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.

99.5% of the time you can understand it (percentage varies with rating).

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.

also in chess a better line is not required to be shorter

It’s oddly fun to put maximum Stockfish in play against some horrible position and to be murdered by it.

Losing faster to Stockfish 19 it'd mean youre an insanely good player, hundreds of times better than even Magnus.

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.


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.


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.


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.

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.


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.

[1]: https://en.wikipedia.org/wiki/OODA_loop

[2]: https://en.wikipedia.org/wiki/Cooperative_game_theory

[3]: https://en.wikipedia.org/wiki/Exploration%E2%80%93exploitati...


Reminds me of: "The ability to play chess is the sign of a gentleman. The ability to play chess well is the sign of a wasted life." Paul Murphy.

> 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.


(Disclaimer, I’m the founder of chess67.com)

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


> For example, etiquette (being respectful to your opponent), patience, logic, etc… but one of the best things they learn is how to lose.

That's valid for pretty much every kids sports/games though


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

I'm sorry, the founder of chess what dot com?

> (Disclaimer, I’m the founder of chess67.com)

You're so evil lol.


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!


Would be nice if they included a few "notable" games in the release notes.

Presumably it's easy to highlight ones from benchmarks where the evaluation of Stockfish 19 is most significantly different from version 18?


They could but it's pretty much meaningless. You're bound to find outliers in favor of either engine, and the landscape is pretty chaotic

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

Nocheto https://nocheto.sallyx.org/ (this my favorite)

ChessMD https://chessmd.org/

PyChess https://pychess.github.io/about/


I really like ChessX ( https://chessx.sourceforge.io/ ). Pychess was always unstable and slow for me.

Anyways. Now I can use an even better Stockfish to benchmark my own engine..


If you like uncomplicated GUIs: http://mayura.com/chess/

I have tried En Croissant and its personally its a nice GUI and easy to use. It allows you to download stockfish and others right from their GUI.

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.


For when you need another decimal place of accuracy deciding what you should have moved instead of hanging your queen.

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.

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.

https://youtube.com/playlist?list=PLiZ56cRXeIu3-zr-S7_XND3M3...

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.


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.

https://youtu.be/U4ogK0MIzqk


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 :)


To me, the most interesting part is the architecture of the engine. How you encode a position or a move, how you design the move generator, etc.

Something as simple as encoding the 64-square board in a 64-bit number leads to a rabbit hole that can last years.

After that point, the "AI" part is already solved and you just need to implement it (alpha-beta + all the heuristics).

Most of the recent chess engines simply implement a neural network (by copying Stockfish) and suddenly are at 3000 elo with no effort! Such a waste.


Wouldn't be that hard in my case

Same. Probably a few if-then statements would be enough to beat me :'(

I could hard code it to play the fried-liver and I'd still probably trip myself up occasionally.

Beaten by rand() chess

Naive monte carlo on a phone from 10 years ago is likely enough unless you're quite good at chess

Question: does Stockfish beat more generic systems like AlphaZero?

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).

So it's still kicking around in the background.


Leela Chess Zero did surpass Stockfish for a while, until Stockfish switched its eval to NNUE. Modern Stockfish would annihilate AlphaZero.

The Stockfish NNUE is completely unrelated to AlphaZero.

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.


Isn't one problem that it's hard to determine what equivalent compute is, for CPU search vs a neural net based engine like AZ or Leela?

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.


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.

I guess someone can twit Hassabis and ask him :D He certainly has access.

who is Hassabis?

Demis Hassabis [1], co-founder of DeepMind

[1] https://en.wikipedia.org/wiki/Demis_Hassabis



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.


AlphaZero does not exist, as far as modern computer chess is concerned

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.


> like AlphaZero?

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.


yes and it has for a very long time. Stockfish took the neural net approach after AlphaZero showed it was a good idea as all modern chess engines have

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.


It's widely believed so because Stockfish finds all of the right (or better moves) in the games from the original paper.

Like a red headed stepchild.

This is good also https://chessdox.com

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?

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.

Yes. The ways to improve are: faster search (which lets you search more deeply) or better evaluation of a position or better heuristics.

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


> 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).


But does it use AI?

As a joke project, it would be nice to add a LLM module that adds a commentary bullshiting an explanation of why it is destroying the human player.

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.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: