lichess.org
Donate

Stockfish can't see win for white here. And how about you?

This position has been well discussed with respect to SF on various engine forums, but mostly on talkchess.com

As indicated by Linnemann, the issue is that the variation with Rxf5 and Qxh6 includes some quiet moves, and SF reduces that line heavily.

In general, this sort of problem is unavoidable (although some specific cases might get remedied fairly cheaply).

Tossing away lines that will likely be irrelevant is a crucial part of modern engines' strength.

For the vast majority of positions, if you're down massive amounts of material and have to make some quite moves, then you're just losing.

For some unusual positions, like this one, that happens not to be the case.

As a developer, you're then faced with a choice: do I change the general behavior of my engine so that it pays more attention to these almost certainly losing lines (which will weaken its general game play), or do I continue to reduce these lines heavily, which leads to stronger play in general but worse performance in these unusual positions.

Most developers, but especially so the SF team, only really care about playing strength.

They're not going to push through a patch that helps in a handful of unusual positions at the expense of general playing strength.

That's why there are forks of SF, like SF Matefinder, that are designed to cope with this sort of position in analysis (but are weaker in general play than the main SF; incidentally, it does find it much faster than the main SF, getting the right move at iteration 18, and the right eval at iteration 19).

To further illustrate, it's actually not all that rare for really old engines that are much, much weaker than SF to find solutions to some weird problems much faster than SF does.

It's just because they don't reduce likely irrelevant lines as much (or at all), so once the tactic is in their horizon, they see it.

For SF, that line looks hopeless, so it gets heavily, heavily reduced (so that that line is probably not even searched to depth 10 until the general search reaches iteration 25+).

Of course, that same behavior is a huge part of the reason SF is much, much stronger than those engines in general play.

In general, it's been found that when engines are modified to do especially well on tactical suites or unusual positions like studies, that version is weaker than the original, for all these reasons.

To wrap this all up, it's probably not going to get "fixed" any time soon.

"Correcting" behavior in .0001% of all positions is probably not a good idea if it leads to worse performance in the other 99.9999% of positions.

It's definitely a bit annoying to find positions like this, but there will always be such positions.

The best we can hope for is to find clever tricks that eliminate as many of them as possible without undue overhead on all the "normal" positions.

@a_pleasant_illusion Perfectly stated! I'll elaborate upon:

"Most developers, but especially so the SF team, only really care about playing strength.

They're not going to push through a patch that helps in a handful of unusual positions at the expense of general playing strength."

IMHO also important are the variations (not evaluations) recommended during analysis. As playing strength increases, so do the depth & accuracy of the variations. We have customized Stockfish to be more verbose in exchange for a tiny reduction in strength.

Also to clarify, problems which are remedied by existing tools (opening books and endgame tablebases / "syzygybases") do not merit code changes.
Thanks for the elaborate considerations. However, I do consider this kind of position as "normal", i.e. this kind of position is likely to turn up in a normal chess game. Several great attacking games by e.g. Fischer and Kasparov also contain lines with a few quiet moves.
@tpr

I understand that this sort of combination occurs in real games.

The point isn't so much that these positions are contrived as that they are infrequent.

We're talking about combinations where one side is down massive amounts of material and has to make quiet moves several moves into the variation while down that material.

Compared to positions where there are no combinations at all plus positions where the tactics all involve forcing moves, this is quite unusual.

Of course such things occur in real games, but those games aren't particularly common, and even in those games, a lot more moves didn't meet those criteria than did :)

Also, I think we should take a step back. It's not the case that SF "can't" see the win.

On my not particularly fast laptop, using only a single core, it finds the right move at 34 seconds, and gets the right eval at 55 seconds.

We're basically going nuts because there are some combinations SF doesn't see instantly. Instead, it makes us wait nearly 1 whole minute! :)

In that context, it especially doesn't make sense to make big changes to the search to find these faster if it weakens general play.

There will ALWAYS be combinations that SF doesn't find instantly. No amount of code changes will "fix" that :)

This topic has been archived and can no longer be replied to.