I have watched this YouTube video about how to escape into a draw from an otherwise lost position:
At around 15:30, the author Jonas van Dael says that "even engines don't understand this position". He refers to the position leading to that one:
[d]8/1b6/8/8/8/5k1p/7P/6K1 w - - 0 100
Don't get me wrong, IMHO the video is really good, worth watching for me, and I totally get the point of what Jonas van Dael means by "understand". Let's also ignore the fact that the game of chess is solved for all positions with no more than seven pieces on the board.
In this exact position (the move before that was either h3 or a capture), Stockfish 17.1 reports just a small advantage of around half a pawn for black, even at shallow depths. Bless them for "understanding" that black's massive material advantage is never worth more than 56 centipawns, on my machine at a depth well below the 50-move horizon.
The engine evaluation changes if both sides have fruitlessly pushed around their pieces for 49 more moves: 8/1b6/8/8/8/5k1p/7P/6K1 w - - 98 149
Now, every engine will probably converge to a draw evaluation, because optimal play within the move horizon will always lead to 3-fold repetition or 50 moves without progress.
Let's get back to the initial position. It is not a technical draw, because a draw can only be claimed after 50 more moves without progress or a 3-fold repetition. But even in the initial position, the very obvious strategies will work: White has to stay in the corner, keeping the black pawn away from promoting and avoiding a mate. Black has to wait for white to blunder. It would be pointless to make engines smarter here, because they don't have kids, and they don't have to go to the loo.
My question is: If I play against a bug-free engine, and the engine does not have enough time to search to depth 100, are there positions where a human can set up a trap so that an engine will give up a win for a draw? In other words: Even when most of the recipes for "how to win against a chess engine" have been refuted since Kasparov vs. Deep Blue, are there still recipes for how to draw from a lost position against a strong engine? I’m not talking about bugs or evaluation mistakes, but about structurally unavoidable horizon effects, about positions where the game-theoretic value is a win, but the search-theoretic value collapses to a draw under bounded depth.
Does bounded rationality allow draw-traps against perfect-play-seeking agents?
Moderator: Ras
-
gflohr
- Posts: 81
- Joined: Fri Jul 23, 2021 5:24 pm
- Location: Elin Pelin
- Full name: Guido Flohr
-
syzygy
- Posts: 5829
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Does bounded rationality allow draw-traps against perfect-play-seeking agents?
I did not watch the video but obviously if an engine misevaluates a drawn position that can occur in a real game as a win, then there are losing positions where the losing side can trick the winning side into a draw (unless you give the engine enough time to let the search see the problem).
But there are no positions that will be inherently misevaluated. You can always modify the evaluation function to get it right. And for a specific position there will always be NNUE nets that get that specific position right. At the same time, in chess there are no evaluation functions that fit in the world's total data storage capacity that gets ALL positions right (now we'll be getting people arguing that there might be "polynomials" that encode the "hidden structure" of chess but that's nonsense and I am going to ignore them)..
I would suggest not to use vague terms like "bounded rationality" and "agents" (or "epistemically" for that matter). They don't add anything to the discussion. Just be clear and concrete. (I am guessing this recent wave of vague terminology is coming from LLMs?)
-
hgm
- Posts: 28440
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Does bounded rationality allow draw-traps against perfect-play-seeking agents?
As I already mentioned elsewhere it is not optimal to take the 50-move rule too seriously. In many situations one side should be able to achieve something in far fewer than 50 moves, and if it cannot it would be a very strong indication that it is a fortress draw.
One tell-tale sign of a draw is making all moves with a single, or a small subset of pieces. Especially with sliders; these should be able to move anywhere in very few moves, and if progress is to be made, it could make it within these few moves. And if it cannot, then more moves won't help.
Slow pieces like King might require more moves, but also provide a progress measure that could be used to reset the counter. Namely getting closer to where they need to be. Going in a direction where there are no enemy pieces is in general not a way to achieve anything, and should strongly decrese the move budget for achieving anything.
One tell-tale sign of a draw is making all moves with a single, or a small subset of pieces. Especially with sliders; these should be able to move anywhere in very few moves, and if progress is to be made, it could make it within these few moves. And if it cannot, then more moves won't help.
Slow pieces like King might require more moves, but also provide a progress measure that could be used to reset the counter. Namely getting closer to where they need to be. Going in a direction where there are no enemy pieces is in general not a way to achieve anything, and should strongly decrese the move budget for achieving anything.
-
OttoLau
- Posts: 32
- Joined: Wed Oct 22, 2025 7:10 pm
- Location: Finland
- Full name: Otto Laukkanen
Re: Does bounded rationality allow draw-traps against perfect-play-seeking agents?
By tge way did you know that this pegasus chess guy is a fraud and cheater? He has been exposed numerous times on youtube. Deletes all comments exposing him.gflohr wrote: ↑Sun Jan 11, 2026 10:27 pm I have watched this YouTube video about how to escape into a draw from an otherwise lost position:
At around 15:30, the author Jonas van Dael says that "even engines don't understand this position". He refers to the position leading to that one:
[d]8/1b6/8/8/8/5k1p/7P/6K1 w - - 0 100
Don't get me wrong, IMHO the video is really good, worth watching for me, and I totally get the point of what Jonas van Dael means by "understand". Let's also ignore the fact that the game of chess is solved for all positions with no more than seven pieces on the board.
In this exact position (the move before that was either h3 or a capture), Stockfish 17.1 reports just a small advantage of around half a pawn for black, even at shallow depths. Bless them for "understanding" that black's massive material advantage is never worth more than 56 centipawns, on my machine at a depth well below the 50-move horizon.
The engine evaluation changes if both sides have fruitlessly pushed around their pieces for 49 more moves: 8/1b6/8/8/8/5k1p/7P/6K1 w - - 98 149
Now, every engine will probably converge to a draw evaluation, because optimal play within the move horizon will always lead to 3-fold repetition or 50 moves without progress.
Let's get back to the initial position. It is not a technical draw, because a draw can only be claimed after 50 more moves without progress or a 3-fold repetition. But even in the initial position, the very obvious strategies will work: White has to stay in the corner, keeping the black pawn away from promoting and avoiding a mate. Black has to wait for white to blunder. It would be pointless to make engines smarter here, because they don't have kids, and they don't have to go to the loo.
My question is: If I play against a bug-free engine, and the engine does not have enough time to search to depth 100, are there positions where a human can set up a trap so that an engine will give up a win for a draw? In other words: Even when most of the recipes for "how to win against a chess engine" have been refuted since Kasparov vs. Deep Blue, are there still recipes for how to draw from a lost position against a strong engine? I’m not talking about bugs or evaluation mistakes, but about structurally unavoidable horizon effects, about positions where the game-theoretic value is a win, but the search-theoretic value collapses to a draw under bounded depth.
-
gflohr
- Posts: 81
- Joined: Fri Jul 23, 2021 5:24 pm
- Location: Elin Pelin
- Full name: Guido Flohr
-
gflohr
- Posts: 81
- Joined: Fri Jul 23, 2021 5:24 pm
- Location: Elin Pelin
- Full name: Guido Flohr
Re: Does bounded rationality allow draw-traps against perfect-play-seeking agents?
Yes, that answers the question.syzygy wrote: ↑Mon Jan 12, 2026 2:16 am I did not watch the video but obviously if an engine misevaluates a drawn position that can occur in a real game as a win, then there are losing positions where the losing side can trick the winning side into a draw (unless you give the engine enough time to let the search see the problem).
What struck me is that Stockfish at depth < 31 sees a relatively small advantage for black, and at depth 31 the evaluation suddenly goes up to more than 50 cp. The exact evaluation on my machine is 58. That made me wonder whether a human can set up a trap in such a way that Stockfish would prefer the draw evaluated with 58 cp over a win in 49 moves that has an evaluation of just 57 cp. And, yes, of course, it would. Only I wasn't able to find such a position.syzygy wrote: ↑Mon Jan 12, 2026 2:16 am But there are no positions that will be inherently misevaluated. You can always modify the evaluation function to get it right. And for a specific position there will always be NNUE nets that get that specific position right. At the same time, in chess there are no evaluation functions that fit in the world's total data storage capacity that gets ALL positions right (now we'll be getting people arguing that there might be "polynomials" that encode the "hidden structure" of chess but that's nonsense and I am going to ignore them)..
-
gflohr
- Posts: 81
- Joined: Fri Jul 23, 2021 5:24 pm
- Location: Elin Pelin
- Full name: Guido Flohr
Re: Does bounded rationality allow draw-traps against perfect-play-seeking agents?
I had tried to find a position leading to the example, where white has the choice of either losing the (useless) bishop or a piece seemingly worth less, like a knight or a pawn, which would eventually guarantee a win. But even at shallow depths, the engine always finds a mate with the other piece and sacrifices the bishop. In other words, you are right.hgm wrote: ↑Mon Jan 12, 2026 8:32 am One tell-tale sign of a draw is making all moves with a single, or a small subset of pieces. Especially with sliders; these should be able to move anywhere in very few moves, and if progress is to be made, it could make it within these few moves. And if it cannot, then more moves won't help.
So the answer to my question is: Yes, a human can set up a draw trap for an engine, but only if the human is smarter than the engine and then it could also just go for a win in the first place. But there are no universally valid recipes for luring an engine into a draw.
-
syzygy
- Posts: 5829
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Does bounded rationality allow draw-traps against perfect-play-seeking agents?
In practice a human cannot set up such a trap without sheer luck. Even though there is no doubt that there are many positions which are gravely misevaluated by Stockfish, we just don't know which positions or, if you know one, how to get Stockfish to cooperate so that you can reach it from the starting position.gflohr wrote: ↑Tue Jan 13, 2026 7:28 pmWhat struck me is that Stockfish at depth < 31 sees a relatively small advantage for black, and at depth 31 the evaluation suddenly goes up to more than 50 cp. The exact evaluation on my machine is 58. That made me wonder whether a human can set up a trap in such a way that Stockfish would prefer the draw evaluated with 58 cp over a win in 49 moves that has an evaluation of just 57 cp. And, yes, of course, it would. Only I wasn't able to find such a position.
(To beat Stockfish as a human, run it without a book, single-threaded and at a fixed time per move so that it plays practically deterministically. Then you can always find a way to beat Stockfish consistently by just playing it over and over, systematically trying out variations until you find a weakness; I suggest to use an engine in this "training yourself" phase. Once you finally find a winning sequence of moves, just repeat those moves over and over again. Do not update Stockfish because you would have to start again from scratch.)
-
syzygy
- Posts: 5829
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Does bounded rationality allow draw-traps against perfect-play-seeking agents?
Btw, the claim in the video that no engine understands the draw is false. Stockfish's hand-crafted evaluation (or rather its specialized endgame code) would have detected it.
edit: oops, this is probably wrong. There is code for detecting draws with rook pawns and a bishop of the wrong color, but here the bishop is not of the wrong color. Still, this is just a matter of a few lines of code. (Or of using tablebases as you already mentioned.)
edit: oops, this is probably wrong. There is code for detecting draws with rook pawns and a bishop of the wrong color, but here the bishop is not of the wrong color. Still, this is just a matter of a few lines of code. (Or of using tablebases as you already mentioned.)