Forums

Too difficult for computers

Sort:
Elroch
Mazetoskylo wrote:
EndgameEnthusiast2357 wrote:

Stockfish can't seem to find the drawing idea here..forcing the 2nd black pawn onto the wrong color promotion square so it will be a drawn king and pawn endgame. And it's only 3 moves!

Actually Stockfish finds the drawing idea instantly, but it does not evaluate the position after 3...gxh6 as 0.00 as it should. But we know that Black cannot win, as all possible Black moves are equally evaluated.

Without a tablebase or a very specific heuristic, this takes a lot of analysis to evaluate to a definite draw. Engines cannot abstract at all - they need to analyse attempts to advance the pawns with the pieces everywhere they could be, to be sure.

drdos7
EndgameEnthusiast2357 wrote:

Stockfish can't seem to find the drawing idea here..forcing the 2nd black pawn onto the wrong color promotion square so it will be a drawn king and pawn endgame. And it's only 3 moves!

I knew that almost all versions of Stockfish that I have could solve this one, so just for fun I tried out Stockfish 1.6.3 from 2010 and in 2 seconds it shows the correct score:

 
Elroch
Mazetoskylo wrote:
EndgameEnthusiast2357 wrote:

Stockfish can't seem to find the drawing idea here..forcing the 2nd black pawn onto the wrong color promotion square so it will be a drawn king and pawn endgame. And it's only 3 moves!

Actually Stockfish finds the drawing idea instantly, but it does not evaluate the position after 3...gxh6 as 0.00 as it should. But we know that Black cannot win, as all possible Black moves are equally evaluated.

Here's another example (a legal position)

Stockfish has advanced a lot. It used to evaluate this as +27. Now it evaluates it as +16. (Using the chess.com analysis tool). But it simultaneously labels it a draw - some sort of added heuristic?

drdos7
EndgameEnthusiast2357 wrote:

It supposedly takes the most recent version of stockfish several minutes at 500 kns to solve this one, and Leila couldn't solve it at all interestingly.

You are correct about this one, surprisingly Stockfish 16 still takes a long time to solve this one (I gave up after 10 minutes on my PC) that has always given it trouble, however Crystal solves it instantly.

drdos7

Here is a nice mate in 5 that Stockfish has some trouble with (but Crystal solves it instantly):

EndgameEnthusiast2357

How could stockfish have trouble with any mate in 5? Even just brute force numbercrunching would find it instantly.

drdos7
EndgameEnthusiast2357 wrote:

How could stockfish have trouble with any mate in 5? Even just brute force numbercrunching would find it instantly.

I appended the PGN just in case someone says "well what if Black plays this instead?"

EndgameEnthusiast2357

You guys should watch the YouTube Playlist "Impossible for Computers" from the "Chess with Suren" channel. He only has about 130K subscribers but he analyzes some of the coolest chess puzzles I've ever seen.

Elroch
drdos7 wrote:

Here is a nice mate in 5 that Stockfish has some trouble with (but Crystal solves it instantly):

 

Loading the position in https://www.chess.com/analysis?tab=analysis leaves Stockfish floundering for as long as I left it. I saw the mating idea quite quickly myself.

EndgameEnthusiast2357

Chess programs seem to have trouble understanding waiting moves. Just like the mate in 67 I posted, or even that mate in 15 problem that involved advancing a pawn 1 square instead of 2 to get a win over a draw.

Elroch
EndgameEnthusiast2357 wrote:

How could stockfish have trouble with any mate in 5? Even just brute force numbercrunching would find it instantly.

This is not actually true. It's probably over 10^11 legal 11 ply continuations, too many by far to do by brute force. Transpositions should help but it may not be enough.

Elroch
EndgameEnthusiast2357 wrote:

Chess programs seem to have trouble understanding waiting moves. Just like the mate in 67 I posted, or even that mate in 15 problem that involved advancing a pawn 1 square instead of 2 to get a win over a draw.

They don't have a fundamental problem with waiting moves. It is more likely a horizon effect - the benefit of waiting needs to be realised for the move to recognised as good.

EndgameEnthusiast2357
Elroch wrote:
EndgameEnthusiast2357 wrote:

How could stockfish have trouble with any mate in 5? Even just brute force numbercrunching would find it instantly.

This is not actually true. It's probably over 10^11 legal 11 ply continuations, too many by far to do by brute force. Transpositions should help but it may not be enough.

If that were the case than it should have trouble with any forced mates in 3, 5, 8, 12..etc, especially in middlegames, but they don't. One puzzle I saw involving consecutive underpromtions to 8 knights, and another involving underpromotion to 3 different pieces in the same puzzle, with far more moves available, stockfish still saw nearly instantly. 10^11 or 100 billion seems a little off for the positions posted here in only 3 moves.

Elroch
EndgameEnthusiast2357 wrote:
Elroch wrote:
EndgameEnthusiast2357 wrote:

How could stockfish have trouble with any mate in 5? Even just brute force numbercrunching would find it instantly.

This is not actually true. It's probably over 10^11 legal 11 ply continuations, too many by far to do by brute force. Transpositions should help but it may not be enough.

If that were the case than it should have trouble with any forced mates in 3, 5, 8, 12..etc, especially in middlegames, but they don't.

Nonsense!

It is BRUTE FORCE SEARCH that is too computationally demanding. Mates are solved by looking selectively at white's moves, reducing the demand. The problem is when the evaluation routine assesses a move in the solution to be so bad it never gets adequately analysed.

Also 3 < 5

EndgameEnthusiast2357

How exactly do chess programs evaluate positions though. To evaluate positions, you have to brute force calculate how good the possible positions are that can result from it, yet to do that you need to evaluate moves from the current position, almost like circular reasoning. My point was stockfish had no trouble finding an 8 move mate, with far more pieces on the board, including pawns that could have promoted to queens and then randomly moved around the board, yet struggles with 3-5 move mates with 6-8 pieces on the board?

Elroch

Well, it's a resource allocation problem. Given a tree of variations, you can expand a leaf node by generating a new leaf node for every legal move and evaluating each new position. To do better than brute force you need to prioritise what branches to expand.

It is a very interesting question what is the best way to do this. It is much more natural with AIs, as they can output something like the probability that a given move will achieve the best result. By contrast a conventional engine has a function that says how many centipawns a position is worth (without analysing it any further).

You could for example randomise the choice of which move to expand (expansion means playing the move, then evaluating all of the legal responses) according to the probabilities. Randomisation allows you not to ignore moves that look weak but might turn out not to be, but also concentrates effort where it is most likely to be productive.

Elroch

Apparently in 2015, Stockfish couldn't get this right even after several hours. It still takes a few minutes before it works out what a human can often intuit more quickly.

drdos7
Elroch wrote:

Apparently in 2015, Stockfish couldn't get this right even after several hours. It still takes a few minutes before it works out what a human can often intuit more quickly.

I recognize this one, the interesting thing about this position is if you run three lines (principal variation=3) on Stockfish 16 it finds the solution quickly, HOWEVER if you run the default 1 line (principal variation=1) it has difficulty with this position not solving it in 20 minutes on my computer.

Elroch

Yes, I am not surprised. It's what it's for! But note that defensive line is inferior in the sense of getting mated much more quickly. Kg7 delays the end a lot.

EndgameEnthusiast2357

I recently had to reset my phone and re-download droidfish, and it actually solved the mate in 67 problem sooner now (said m41 when it used to have to be within 19 or 20 moves): It says m67 now but that is only after backtracking through the moves. Without doing that the closest it solved it on its own was within 41 moves, that's a massive improvement!