All puzzles I have seen follow the same plot of “rags-to-riches”: you were losing, then the opponent made a mistake which allows some hard-to-see tactic, and now you’re winning if you manage the tactic. It’s a “from lost to winning” scenario. But the “from lost to draw”, “from lost to equal” or “from dead lost to just-mildly-lost” scenarios make sense too, but I have never seen any such. By the way, while searching the forum on this matter, I have found that @IndigoEngun expressed a similar idea a few days ago (see the second-to-last paragraph): lichess.org/forum/lichess-feedback/puzzles-sometimes-rarelybtw-the-line-in-reply-to-solutions-first-move-isnt-the-most-challenging?page=2#11
As far as I guess, currently all puzzles are generated somewhat this way:
1. A game is analysed for accuracy of play, marking huge drops of evaluation as blunders.
2. For each blunder:
. . . . There is a side that has blundered—let’s call it B (Blundered), and
. . . . There is the other side—let’s call it F (Fine).
. . . . 1. If just before the blunder the evaluation was distinctly in B’s favor, and
. . . . 2. Right after the blunder the evaluation is distinctly in F’s favor, then:
. . . . . . . . 1. Create a new blank puzzle.
. . . . . . . . 2. Start the puzzle’s line with the position right after the blunder.
. . . . . . . . 3. Add moves to the puzzle’s line in a cycle:
. . . . . . . . . . . . 1. For each F’s turn: add the top engine move, if it’s distinctly better than any alternatives, else break out of cycle.
. . . . . . . . . . . . 2. For each B’s turn: just add the top engine move.
. . . . . . . . . . . . Repeat.
. . . . . . . . 4. Delete the useless hanging B’s last move.
. . . . . . . . Now the puzzle is complete: it’s ready to be uploaded to the public pool.
Effectively this algorithm identifies any possible best-play lines which are explicitly comprehensible (2.2.3.1) by human to be best, and which had happened right after a lost position (2.1), and turn to a winning one (2.2). And I criticize the last part, the “from lost to winning”. If we would just omit the conditions 2.1 and 2.2, the algorithm will then also include all scenarios mentioned above.
If we also omit the condition of considering only blunders, and process best-play lines starting from every position in a game, then we would pick up another class of nice scenarios, such as “survive a tactic”: your opponent has some tactic which is possible to resist, but there is only one precise way to. Or, for example, it requires giving up at least a knight—and you must see that, stop there, give up the knight—and thus solve the puzzle.
In short, we’ll just identify best-play-lines-which-are-explicitly-comprehensible-by-human-to-be-best regardless of context in which they occur.
The context is a hint when solving puzzles though: you always know that you must end up significantly better than what you begin with, and you shouldn’t attempt any lines that don’t fit this—you should try better instead. Allowing all contexts would void this hint and make solving harder. The puzzles should therefore be additionally categorized by their type of scenario—just like they are categorized by theme today. That would allow managing them as anyone prefers: for example, enabling only the most understandable “rags-to-riches”, “hold a draw” and “survive a tactic”.
There is possibly a filter to reject some puzzles—such as simply bad exchanges, where the opponent had just taken a defended bishop with their queen. Or where a tactic has more than one good continuation (thus we should abort the puzzle line here), but the win is still unclear for a human. Or maybe there are no such filters, I don’t know nor guess.
Let’s discuss.
Objections, questions, thoughts and opinions are welcome.
(There is something slightly wrong about explicitly stating that, isn’t there?)
As far as I guess, currently all puzzles are generated somewhat this way:
1. A game is analysed for accuracy of play, marking huge drops of evaluation as blunders.
2. For each blunder:
. . . . There is a side that has blundered—let’s call it B (Blundered), and
. . . . There is the other side—let’s call it F (Fine).
. . . . 1. If just before the blunder the evaluation was distinctly in B’s favor, and
. . . . 2. Right after the blunder the evaluation is distinctly in F’s favor, then:
. . . . . . . . 1. Create a new blank puzzle.
. . . . . . . . 2. Start the puzzle’s line with the position right after the blunder.
. . . . . . . . 3. Add moves to the puzzle’s line in a cycle:
. . . . . . . . . . . . 1. For each F’s turn: add the top engine move, if it’s distinctly better than any alternatives, else break out of cycle.
. . . . . . . . . . . . 2. For each B’s turn: just add the top engine move.
. . . . . . . . . . . . Repeat.
. . . . . . . . 4. Delete the useless hanging B’s last move.
. . . . . . . . Now the puzzle is complete: it’s ready to be uploaded to the public pool.
Effectively this algorithm identifies any possible best-play lines which are explicitly comprehensible (2.2.3.1) by human to be best, and which had happened right after a lost position (2.1), and turn to a winning one (2.2). And I criticize the last part, the “from lost to winning”. If we would just omit the conditions 2.1 and 2.2, the algorithm will then also include all scenarios mentioned above.
If we also omit the condition of considering only blunders, and process best-play lines starting from every position in a game, then we would pick up another class of nice scenarios, such as “survive a tactic”: your opponent has some tactic which is possible to resist, but there is only one precise way to. Or, for example, it requires giving up at least a knight—and you must see that, stop there, give up the knight—and thus solve the puzzle.
In short, we’ll just identify best-play-lines-which-are-explicitly-comprehensible-by-human-to-be-best regardless of context in which they occur.
The context is a hint when solving puzzles though: you always know that you must end up significantly better than what you begin with, and you shouldn’t attempt any lines that don’t fit this—you should try better instead. Allowing all contexts would void this hint and make solving harder. The puzzles should therefore be additionally categorized by their type of scenario—just like they are categorized by theme today. That would allow managing them as anyone prefers: for example, enabling only the most understandable “rags-to-riches”, “hold a draw” and “survive a tactic”.
There is possibly a filter to reject some puzzles—such as simply bad exchanges, where the opponent had just taken a defended bishop with their queen. Or where a tactic has more than one good continuation (thus we should abort the puzzle line here), but the win is still unclear for a human. Or maybe there are no such filters, I don’t know nor guess.
Let’s discuss.
Objections, questions, thoughts and opinions are welcome.
(There is something slightly wrong about explicitly stating that, isn’t there?)