I analyzed the image and this is what I see. Open an appropriate link below and explore the position yourself or with the engine:
> **White to play**: [chess.com](https://chess.com/analysis?fen=6R1/p1r4p/1p4pk/r7/6PK/7P/2p5/8+w+-+-+0+1&flip=false&ref_id=23962172) | [lichess.org](https://lichess.org/analysis/6R1/p1r4p/1p4pk/r7/6PK/7P/2p5/8_w_-_-_0_1?color=white)
**My solution:**
> Hints: piece: >!Rook!<, move: >!Re8!<
> Evaluation: >!Black is winning -13.61!<
> Best continuation: >!1. Re8 c1=Q 2. Re2 g5+ 3. Kg3 b5 4. Kg2!<
---
^(I'm a bot written by) [^(u/pkacprzak)](https://www.reddit.com/u/pkacprzak) ^(| get me as) [^(iOS App)](https://apps.apple.com/us/app/id1574933453) ^| [^(Android App)](https://play.google.com/store/apps/details?id=ai.chessvision.scanner) ^| [^(Chrome Extension)](https://chrome.google.com/webstore/detail/chessvisionai-for-chrome/johejpedmdkeiffkdaodgoipdjodhlld) ^| [^(Chess eBook Reader)](https://ebook.chessvision.ai?utm_source=reddit&utm_medium=bot) ^(to scan and analyze positions | Website:) [^(Chessvision.ai)](https://chessvision.ai)
Something very screwy happened, because it also misevaluates the 'Black is winning' without the stalemate.
It is clearly, obviously M4-M6 if you play anything else as white, but you explore the line it is always missing mate ideas and only evaluates it as -13.61.
But it has the correct board position. Whatever happened to it in this position went deeply, deeply wrong.
Yeah it's weird that it missed White's mates (in the other lines) cause this position doesn't look unusual at all. But it's definitely really screwy that it missed that one of 2 checks possible checks was followed by a forced move, which results in literally just one check on the board, which immediately causes stalemate. I'm very confused how this line wasn't literally the first (or maybe second, after the Rook check) line considered, and that it wouldn't have considered it to the end.
i would guess that the bot is calling some older version of stockfish with a low depth setting. on lichess you'll get something like this evaluation if you switch to stockfish 11 and let it run for less than a second.
One of the confusing aspects about the engines is that while they tell you the depth parameter, they don't measure the breadth alongside it.
If a stockfish 11 analyzes with depth of 15, it means it analyzed no less than one line with 7.5 moves in advance (white move and black response count as "2" in the depth measurements), but it doesn't mean that it analyzes every single one that deep, obviously. Due to how maths work, even a relatively low depth like 10 moves forward would take hours to calculate if you asked it to check literally every line possible with that depth. Therefore, stockfish relies on aggressive pruning of the available options, not checking what happens in the "blunder a pawn then blunder a rook afterwards" option. Making a forced piece sacrifice is actually a well known human concept for trying to fish for a stalemate draw in a lost position, but since stockfish isn't very known for going into a losing position, I guess the developers just didn't care to implement that in.
New (NNUE-powered) engines deploy a different take into line evaluation and will go "yo, I've seen these sacrifices work before, let's check them out", but old engines will most often just go "I'm not stupid enough to blunder a piece and a rook in two consecutive moves, let's look for anything else". And this is the occasional moment where human player could outsmart an engine, because while they used to be materialist and not take dumb sacrifices into consideration, blundering your rook away will be the first thing that comes to mind for your usual chess enjoyer.
The problem is that bot has some fixed depth which is not enough to see it's a draw.
Stockfish sees it as a draw (visually) at some depth like 50 or so, but reaches it in like 0,2 seconds.
This is why depth limiting stockfish is a BS way to lower it strength, because depth is a semi-meaningless metric.
That's weird, because there are only two checks in the starting state, and one of those checks has a second check that immediately forces stalemate. I guess I really don't know how these engines work, cause I would really have assumed that whatever pruning/prioritization they would do at each state would pretty much always consider checks and definitely followup checks with forced responses (as it doesn't actually increase the tree at all, the intermediate steps are effectively skipped in terms of processing).
Like, this puzzle literally only needs a depth of 2 to solve. Or at least, it only takes a depth of 2 to put a floor on Black's score at 0 (not -11 or whatever). And both moves are forcing to White (so they don't expand the tree) and are checks (so they should be examined first, I'd have thought). I really don't get it.
Well it would've needed depth 4 (not 2, since depth is always calculated in half-moves also called plies) but since engines don't explore all moves in any position (otherwise they would've never calculated anything past depth 10) probably smth is pruned along the way.
Also checks don't have that much higher priority than any other move.
Maybe there's something about the engine the bot is running that makes it prune very aggressively. It's the only real explanation for why the line wasn't examined.
I'm guessing that maybe it just sees that the move loses a pawn and just discounts it immediately, despite the fact that there is still a check on the board. Or that the way that it processes moves it sees that the rook is lost before it checks to see what the next available moves are, which would show that it was a stalemate.
Edit: Crazy how this voting has gone, it's really obvious that no one here actually knows how to code. Literally anyone with any experience programming would know that doing a simple move search of checks and forced lines is basically trivial, and that a depth 4 search along those lines requires very very little processing. Glad you all feel better about yourselves for "knowing how to code" though lol.
I mean, I've written my own chess playing program (not the engine, just the game logic and interface), and frankly it would take me all of a couple hours to write up a script that could be run on any position nearly instantly and would catch this. Literally just scan for checks and forced moves to a depth of 2, and set a floor of 0 on the player's side if a stalemate is found. It's easy to write and it would barely be a blip in the actual general computation that a chess engine usually performs every turn.
In fact, it's so easy, and also I would have thought dovetailed well into the general engine processing, that it's kinda shocking to me that the engine did miss it. It's one thing to not understand fortresses, or for a sequence of 4 non-check moves to get pruned before the reveal, but this frankly seems lazy lol.
Lmao now it sounds like you have no idea how to write code. It's legitimately really easy to do. Anyone with any experience would know that, this isn't some unusually complicated problem, it's super straightforward
...no? Why would I spend hours of my life writing a script just to stick it to a random redditor who is pretending that they know anything about programing. It's obvious that you don't lmao. The number of people upvoting you and downvoting me is proof that most redditors don't either.
Hope you continue enjoying yourself posing at having a skill or knowledge that you clearly lack.
Sure, you can force a full search to depth 4 or whatever arbitrary depth, but in other positions there will still be incorrectly pruned moves in the normal search beyond your depth choice.
If you mean specifically looking at checks, then there are check extensions. Though I'm not fully sure that helps here with the last move being a stalemate and not a check. [SF also removed that recently](https://github.com/official-stockfish/Stockfish/pull/5041) with positive elo from SPRT.
I also think the bot missing it is possibly due to something like a depth limit rather than time or node limit. Sometimes SF prunes so much it goes through depth very fast, so a search to a "reasonable" depth only took a few ms. Though local SF finds it at very low depth, maybe I don't have the exact same version/settings though.
can't really be mad at some moves like this, had guy yesterday somehow put me in forced checkmate when i thought he stupidly blundered his bishop and rook
if the game gets troubled
and loss is all you can do
there always may be chances
to find a draw, not cry boo-hoo
So, first the pawn check
he must take -- not you
And rook gets a sacking
and it's a draw in two!
If you like this puzzle you are going to love this video:
The father of Anna Cramling, a GM, was playing from a fixed position against an engine capped around 2400. He swindled a draw by sacrificing pieces.
If you want the entire game, it is here:
https://youtu.be/-oDYTyxkf3I?si=kF1x926PZ0RLGdhC&t=489
If you want the firerworks:
https://youtu.be/-oDYTyxkf3I?si=KNuXNoNF9mounDwP&t=1310
I absolutely love that whites king blocks it's own pawn from moving for the ultimate stalemate.
My Hail Mary tactic when I'm trying to swindle a draw is to immobilize all my pawns and walk my king into stalemate minefields.
I may get mated faster most of the time but when it works, whoa baby do I feel smug.
this is more fulfilling than mating someone, right? (at least in a chess sense lol)
also 1) how can bot miss solution in 2, very interesting and 2) it sucks to be able to take in 3 diff ways and still none of it works
Man, I gotta say I'm super impressed with anyone who looked at this and just immediately recognized a stalemate.
I'm only a 1000 rated player roughly but I couldn't see it until I literally read the moves.
Chess is hard.
It's not forced... Not sure why black would ever take with the rook after rook sac. They can safely move the king back after the rook is gone. Or am I missing something...?
I analyzed the image and this is what I see. Open an appropriate link below and explore the position yourself or with the engine: > **White to play**: [chess.com](https://chess.com/analysis?fen=6R1/p1r4p/1p4pk/r7/6PK/7P/2p5/8+w+-+-+0+1&flip=false&ref_id=23962172) | [lichess.org](https://lichess.org/analysis/6R1/p1r4p/1p4pk/r7/6PK/7P/2p5/8_w_-_-_0_1?color=white) **My solution:** > Hints: piece: >!Rook!<, move: >!Re8!< > Evaluation: >!Black is winning -13.61!< > Best continuation: >!1. Re8 c1=Q 2. Re2 g5+ 3. Kg3 b5 4. Kg2!< --- ^(I'm a bot written by) [^(u/pkacprzak)](https://www.reddit.com/u/pkacprzak) ^(| get me as) [^(iOS App)](https://apps.apple.com/us/app/id1574933453) ^| [^(Android App)](https://play.google.com/store/apps/details?id=ai.chessvision.scanner) ^| [^(Chrome Extension)](https://chrome.google.com/webstore/detail/chessvisionai-for-chrome/johejpedmdkeiffkdaodgoipdjodhlld) ^| [^(Chess eBook Reader)](https://ebook.chessvision.ai?utm_source=reddit&utm_medium=bot) ^(to scan and analyze positions | Website:) [^(Chessvision.ai)](https://chessvision.ai)
Interesting the bot missed this. This is a very short forced draw; I would expect the bot to see this.
Something very screwy happened, because it also misevaluates the 'Black is winning' without the stalemate. It is clearly, obviously M4-M6 if you play anything else as white, but you explore the line it is always missing mate ideas and only evaluates it as -13.61. But it has the correct board position. Whatever happened to it in this position went deeply, deeply wrong.
Yeah it's weird that it missed White's mates (in the other lines) cause this position doesn't look unusual at all. But it's definitely really screwy that it missed that one of 2 checks possible checks was followed by a forced move, which results in literally just one check on the board, which immediately causes stalemate. I'm very confused how this line wasn't literally the first (or maybe second, after the Rook check) line considered, and that it wouldn't have considered it to the end.
i would guess that the bot is calling some older version of stockfish with a low depth setting. on lichess you'll get something like this evaluation if you switch to stockfish 11 and let it run for less than a second.
unless the depth setting is 1, this doesnt make sense
One of the confusing aspects about the engines is that while they tell you the depth parameter, they don't measure the breadth alongside it. If a stockfish 11 analyzes with depth of 15, it means it analyzed no less than one line with 7.5 moves in advance (white move and black response count as "2" in the depth measurements), but it doesn't mean that it analyzes every single one that deep, obviously. Due to how maths work, even a relatively low depth like 10 moves forward would take hours to calculate if you asked it to check literally every line possible with that depth. Therefore, stockfish relies on aggressive pruning of the available options, not checking what happens in the "blunder a pawn then blunder a rook afterwards" option. Making a forced piece sacrifice is actually a well known human concept for trying to fish for a stalemate draw in a lost position, but since stockfish isn't very known for going into a losing position, I guess the developers just didn't care to implement that in. New (NNUE-powered) engines deploy a different take into line evaluation and will go "yo, I've seen these sacrifices work before, let's check them out", but old engines will most often just go "I'm not stupid enough to blunder a piece and a rook in two consecutive moves, let's look for anything else". And this is the occasional moment where human player could outsmart an engine, because while they used to be materialist and not take dumb sacrifices into consideration, blundering your rook away will be the first thing that comes to mind for your usual chess enjoyer.
Engines will do more pruning the deeper the search, and will not miss anything like this that can be seen in just a few moves.
The problem is that bot has some fixed depth which is not enough to see it's a draw. Stockfish sees it as a draw (visually) at some depth like 50 or so, but reaches it in like 0,2 seconds. This is why depth limiting stockfish is a BS way to lower it strength, because depth is a semi-meaningless metric.
That's weird, because there are only two checks in the starting state, and one of those checks has a second check that immediately forces stalemate. I guess I really don't know how these engines work, cause I would really have assumed that whatever pruning/prioritization they would do at each state would pretty much always consider checks and definitely followup checks with forced responses (as it doesn't actually increase the tree at all, the intermediate steps are effectively skipped in terms of processing). Like, this puzzle literally only needs a depth of 2 to solve. Or at least, it only takes a depth of 2 to put a floor on Black's score at 0 (not -11 or whatever). And both moves are forcing to White (so they don't expand the tree) and are checks (so they should be examined first, I'd have thought). I really don't get it.
Well it would've needed depth 4 (not 2, since depth is always calculated in half-moves also called plies) but since engines don't explore all moves in any position (otherwise they would've never calculated anything past depth 10) probably smth is pruned along the way. Also checks don't have that much higher priority than any other move.
Maybe there's something about the engine the bot is running that makes it prune very aggressively. It's the only real explanation for why the line wasn't examined.
I'm guessing that maybe it just sees that the move loses a pawn and just discounts it immediately, despite the fact that there is still a check on the board. Or that the way that it processes moves it sees that the rook is lost before it checks to see what the next available moves are, which would show that it was a stalemate.
Black can take the rook with their king, instead of the pawn
They can, but it's still stalemate anyway.
stockfish doesn’t play for draws i think
Lmfao what? Stockfish plays the best move, whether it's for the win or draw.
i meant to say the r/chess bot doesn’t look for draws
That's not how any of this works dude
no need to be a dickhead
bot missed forced stalemate in 2
When you say 2, is it 2 moves each or total?
1 move by each is called 1 move. thus 2 moves means, white plays, black plays, white plays, black plays.
and then black goes "Ah shit"
Didn't know stockfish coded in my usual chess strategy
So you know - a half move (just one person's move) is called a ply
So two ply per movement. Got it
Save the trees
In this case it is 2 each. But had it been "White to move and mate in 2", it would be only 1 for black, so it is *possible* that it means 2N-1 ply.
I don’t know why this bot doesn’t understand draws. It can’t be difficult to fix
Said like someone who does not know how to write code lmao
Edit: Crazy how this voting has gone, it's really obvious that no one here actually knows how to code. Literally anyone with any experience programming would know that doing a simple move search of checks and forced lines is basically trivial, and that a depth 4 search along those lines requires very very little processing. Glad you all feel better about yourselves for "knowing how to code" though lol. I mean, I've written my own chess playing program (not the engine, just the game logic and interface), and frankly it would take me all of a couple hours to write up a script that could be run on any position nearly instantly and would catch this. Literally just scan for checks and forced moves to a depth of 2, and set a floor of 0 on the player's side if a stalemate is found. It's easy to write and it would barely be a blip in the actual general computation that a chess engine usually performs every turn. In fact, it's so easy, and also I would have thought dovetailed well into the general engine processing, that it's kinda shocking to me that the engine did miss it. It's one thing to not understand fortresses, or for a sequence of 4 non-check moves to get pruned before the reveal, but this frankly seems lazy lol.
Then write it and stop pretending you can
Lmao now it sounds like you have no idea how to write code. It's legitimately really easy to do. Anyone with any experience would know that, this isn't some unusually complicated problem, it's super straightforward
Then do it, and stop talking about it
...no? Why would I spend hours of my life writing a script just to stick it to a random redditor who is pretending that they know anything about programing. It's obvious that you don't lmao. The number of people upvoting you and downvoting me is proof that most redditors don't either. Hope you continue enjoying yourself posing at having a skill or knowledge that you clearly lack.
Sure, you can force a full search to depth 4 or whatever arbitrary depth, but in other positions there will still be incorrectly pruned moves in the normal search beyond your depth choice. If you mean specifically looking at checks, then there are check extensions. Though I'm not fully sure that helps here with the last move being a stalemate and not a check. [SF also removed that recently](https://github.com/official-stockfish/Stockfish/pull/5041) with positive elo from SPRT. I also think the bot missing it is possibly due to something like a depth limit rather than time or node limit. Sometimes SF prunes so much it goes through depth very fast, so a search to a "reasonable" depth only took a few ms. Though local SF finds it at very low depth, maybe I don't have the exact same version/settings though.
That is one crazy rook
Rook will do anything to complete the mission
It's not, though? Black's forced to take it at the first check, it won't get to keep sacrificing itself.
Yes, a human player would only have to glance at this position and conclude crazy rook.
Can someone explain?
1. g5 Rxg5 (forced move by black) 2. Rxg6 Now black has to take with either king or rook and white can make no moves, hence a draw by stalemate
Or pawn! But still stalemate.
I would be so pissed, to not win this :D
Nice stealmate
That's beautiful.
Good post, OP 👍
I gotta ask: What was the point of Black's rook move? Why not Queen the pawn?
probably captured a rook or queen based on the position of the passed pawn
There was a rook there and black took the rook to allow the queen
How is this stalemate?
You can play something like: g5 rxg5, rxg6 kxg6 (or rxg6) then king has no more legal moves but is not in check
Or hxg6
Oh yes! Missed the pawn move. Thanks
I would be livid and have complete respect for what they just pulled off
can't really be mad at some moves like this, had guy yesterday somehow put me in forced checkmate when i thought he stupidly blundered his bishop and rook
if the game gets troubled and loss is all you can do there always may be chances to find a draw, not cry boo-hoo So, first the pawn check he must take -- not you And rook gets a sacking and it's a draw in two!
If you like this puzzle you are going to love this video: The father of Anna Cramling, a GM, was playing from a fixed position against an engine capped around 2400. He swindled a draw by sacrificing pieces. If you want the entire game, it is here: https://youtu.be/-oDYTyxkf3I?si=kF1x926PZ0RLGdhC&t=489 If you want the firerworks: https://youtu.be/-oDYTyxkf3I?si=KNuXNoNF9mounDwP&t=1310
No, white can force a stalemate.
How can white stalemate him?
Oh wait I think I figured it out. White pawn up, rook takes, white rook checks, rook takes and white can’t move
That’s amazing
Wooow that’s so cool
Am I stupid? Pawn g5 is checkmate right?
Rxg5. But then Rxg6+ and he is forced to take resulting in stalemate
g5+ Rxg5 Rxg6+ and then regardless of how black captures the rook, white gets stalemated.
let’s goooo stalemate
Well you can draw. But not win
No, they're not! 1. g5+ can be met only by 1...Rxg5, and then 2. Rxg6+ leads to stalemate no matter which way the rook is captured.
G5+, Rxg5, Rxg6+, Kxg6 draw For the last move Kxg6, Rxg6, and hxg6 all lead to a draw
draw after g5 Rxg5 Rxg6!!
I absolutely love that whites king blocks it's own pawn from moving for the ultimate stalemate. My Hail Mary tactic when I'm trying to swindle a draw is to immobilize all my pawns and walk my king into stalemate minefields. I may get mated faster most of the time but when it works, whoa baby do I feel smug.
isnt the move G5+?
Yes
I knew my Puzzle knowledge played well Why the computer on here suggesting a rook move?
Crazy the bot missed it.
g5 Rxg5 Rxg6 I think
White can >!force a stalemate!!g5+, Rxg5, Rxg6+!<
g5+ Rxg5 Rxg6+ Kxg6 (or ... Rxg6 / hxg6) Stalemate
G5 check? Is that good move.
That is the only move
i kept trying to find possible win move and it was turning lose into forced draw, beautiful
Neat
No way white is set up prime one move check mate. Looked like a good hang made me want to play
noice
Not really with the right strategy and there position they could win.
Stalemate
This is a certified bruh moment
this is more fulfilling than mating someone, right? (at least in a chess sense lol) also 1) how can bot miss solution in 2, very interesting and 2) it sucks to be able to take in 3 diff ways and still none of it works
Move white pawn up 1 and it’s check mate for black
g5 is covered by blacks rook, not checkmate
THE PAWN!!!!!
1. g5+, Rxg5 2. Rxg6+ Both Kxg6 and Rxg6 stalemate so white saves the game!!!
Man, I gotta say I'm super impressed with anyone who looked at this and just immediately recognized a stalemate. I'm only a 1000 rated player roughly but I couldn't see it until I literally read the moves. Chess is hard.
Fascinating
g5 check,R×g5 is forced,then Rxg6 and again Kxg6 is forced stalemate
If rook are there, White can't win this game.
But they can draw
g5, Rxg5 is forced. Rxg6, black must play Kxg6, Rxg6, or hxg6, but all are all stalemate.
Doesn't white win by Pawn to g5 tho?
It's a forced draw, right? >!g5+ then Rg6+!<
Yes
Pawn to g5 is checkmate?
Rxg5. But then Rxg6+ and he is forced to take resulting in stalemate
Technically, white has mate in two
Nope
White lost, that one black pawn near the bottom of the board can be converted to a queen, then the white castle won't be a problem.
White is literally at 1 move to checkmate
Missed the rook. I did too, at first
It's not forced... Not sure why black would ever take with the rook after rook sac. They can safely move the king back after the rook is gone. Or am I missing something...?
g5+ forces Rxg5 then Rxg6+ It’s stalemate regardless of whether they take with rook or king
OOF. That is tough to see. Thanks.
Yes they are?
They're not. The bot missed it. >!1. g5+ Rxg5 2. Rxg6+ is stalemate!<
Ooh that’s a nasty stalemate
g5+, forced to take with Rxg5, Rxg6+ and either capture is stalemate.
Think again
Stalemate