Our proposed method for detecting fortresses is based
on a very simple idea: if a position is a fortress, the side
with a material advantage cannot demonstrate progress
towards a win. Hence, backed-up heuristic evaluations
obtained at various consecutive levels of search will
not reflect the direction of the play towards a win, but
will remain the same from a certain search depth on.
Moreover, in such positions, several moves typically
lead to the same directionless play and thus backed-up
heuristic values of these moves should be the same or
nearly the same from a certain depth of search on.
https://ailab.si/matej/doc/Detecting_Fortresses_in_Chess.pdf
Implement that idea to evaluate fortresses correctly with 0.0
You have 2h.
This is not a new idea. With comparison of backed-up search values you can't detect the fortresses at the leaf nodes of the search tree, therefore you will not be able to forsee such draws in advance, but only when it is already too late, so it would be a 'cosmetical' intervention only, showing constant 0.0 eval instead of f.i. constant +1.8 eval. Perhaps something to try in a fork called BeautyFish? ;)
I enjoy @jhellis3 's work on Stockfish Matefinder but it does not correspond with an Elo increase in games Stockfish plays, only in human-played studies.
I know that fortress detection is a hard chess engine programming topic for years and it will (most likely) not result in an elo increase, which might be a reason for being so unpopular. An experimental branch showing 0.0 instead of a meaningless constant (e.g. +1.8) in such cases would be great. Lets call it a human friendly improvement.
But it's extremely difficult for a computer to recognize a fortress. In fact, if an engine could determine a fortress, then it could play perfect chess by simply knowing which positions are good.
@stockfishdeveloper yes, so we are not talking about a "real" fortress recognition, which seems to be currently (and for the foreseeable future) impossible to do. We are talking about a workaround, that does not affect the elo, but provides (to say it with rstoesser words) an 'cosmetical' improvement for human readability. I came up with this idea because many people in different chess forums (e.g. the german schachfeld.de) would love to have such a feature, even if it is not a "real" recognition.
@madnight: Unless you have some actual code to propose, this discussion is a waste of time. If it was up to me, this issue would have been closed already.
@madnight This is a noisy discussion with an acute lack of implementation details (i.e. how Stockfish could achieve anything remotely resembling that in the paper).
@ddugovic where would you recommend to go to discuss that topic, if its to noisy for this place?
Who is suggesting it's too noisy for this place?
@ddugovic maybe those who wants to close that discussion here
Anyways any idea where to start would be fine or if you think a 'cosmetical' intervention is impossible, please tell me and why you think so.
Start by offering implementation details; how could Stockfish do anything even remotely resembling your suggestion?
It's fun to suggest abstract ideas about hypothetical programs, but nobody has suggested who, what, when, where, or how a change could be made.
@madnight Sorry, but this is not an issue under our (admittedly quite strict) definition. See https://github.com/official-stockfish/Stockfish/issues/857 for an example of "unceremoniously" closing of similar _issue_
Most helpful comment
@madnight: Unless you have some actual code to propose, this discussion is a waste of time. If it was up to me, this issue would have been closed already.