There are 5 types of positions:Laskos wrote:I only now realized how important this might be in harder (longer) wins. Out of a set of 250 hard 5-men wins I collected, about 50 were unsolved by Nalimovs. This problem should be even more pronounced with 6-men. I am surprised that Syzygy does so well comparatively, even if it theoretically lacks DTR/DTZR.hgm wrote:It is related to ignoring the 50- move rule. Even in a DTM framework you could do better. You would have to keep track of DTZ during building, though.
- wins
- cursed wins (i.e. win but 50-move draw)
- draws
- blessed losses (i.e. loss but 50-move draw)
- losses
DTZ50 will win wins and will at least draw cursed wins, draws and blessed losses.
DTM will at least draw wins, cursed wins and draws. It may lose blessed losses and losses.
So if DTZ50 plays DTM:
- win results in win
- cursed win results in draw or win
- draw results in draw
- blessed loss results in draw
- loss results in draw or loss
Or symmetrically, if DTM plays DTZ50:
- win results in win or draw
- cursed win results in draw
- draw results in draw
- blessed loss results in draw or loss
- loss results in loss
DTZ50 v DTZ50 gives "perfect play". Once the opponent uses DTZ50, you will not be able to win a cursed win or to draw a loss.
If the opponent uses DTM, then you can hope to win a cursed win or to draw a loss.
How to play cursed wins or losses optimally is a very interesting question.
When trying to draw a lost position, the most obvious thing to do is to maximise DTZ on each move. But that is not necessarily optimal. If the current position has, say, DTZ = 50 ply, you probably won't be able to last till 101 plies. But there might be a way to force or trick the opponent into playing or allowing a pawn move after 20 ply that transitions the game into a position with DTZ = 98 ply, which gives much better chances.
Similar considerations apply to trying to win a cursed win. Cursed win means you can force a mate, but the opponent can force the path to mate to include a "phase" (between two zeroing moves) lasting more than 100 plies. Ideally you want to minimise the length of the longest phase and then minimise DTZ during that phase and hope for opponent mistakes.
Syzygy TBs store "DTZ50+". A value from 1 to 100 is the distance in plies to a zeroing move leading to a won position. A value > 100 is either the distance to a zeroing move leading to a won position or the distance plus 100 to a zeroing move leading to a cursed win. It is enough to implement the simple strategy of minimising or maximising DTZ, but it does not give "global" information, i.e. information on the length of phases after the current phase.
DTR is an attempt to encode more global information, but since its value depends on the value of the 50-move counter it is not very usable when it comes to generating practical TBs. (But dependency on the current value of the 50-move counter is unavoidable if you want "best" play against fallible opponents: if you can barely reach a zeroing move before the 50-move counter runs out, you have no room for manoeuvre. If you have plenty of moves left, then you can spend those on manoeuvring into a position with a much more promising next phase.)