I don't understand this obsession with finding the fastest mate. An EGT that lists DTM through paths that respect the 50-move rule when entered with the ply counter at zero should not be larger than one that ignores the 50-move rule altogether. And in cases where you do not enter the EGT in a won position, or did not play perfectly ever since, you just play by DTC until the next conversion, to reset the ply counter as quickly as you can. The only realistic case where this happens is when you enter the EGT in a drawn position, and after having driven up the ply counter the opponent blunders. If the opponent doesn't play perfectly, why should you?
hgm wrote: ↑Thu May 02, 2019 11:05 pm
I don't understand this obsession with finding the fastest mate. An EGT that lists DTM through paths that respect the 50-move rule when entered with the ply counter at zero should not be larger than one that ignores the 50-move rule altogether.
I suppose these are two entirely separate remarks?
As you are aware (see the top two posts), a tablebase that only lists DTM50 when entered with the ply counter at zero cannot reliably be used to find moves when the ply counter is larger than zero. So you won't be able to play perfectly.
Of course if you are happy with just knowing the mate value and don't care about actually converting the mate in the number of moves announced, then the simple approach is fine.
hgm wrote: ↑Thu May 02, 2019 11:05 pm
I don't understand this obsession with finding the fastest mate. An EGT that lists DTM through paths that respect the 50-move rule when entered with the ply counter at zero should not be larger than one that ignores the 50-move rule altogether. And in cases where you do not enter the EGT in a won position, or did not play perfectly ever since, you just play by DTC until the next conversion, to reset the ply counter as quickly as you can. The only realistic case where this happens is when you enter the EGT in a drawn position, and after having driven up the ply counter the opponent blunders. If the opponent doesn't play perfectly, why should you?
For beauty
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
When I was studying high-school geometry, I remember I wasn't told, or at least not right away, that a short simple proof is preferable to a long, complex one. So I'd sometimes come up with a long, complex one. It wasn't incorrect but it wasn't elegant, either. This is kind of like that.
syzygy wrote: ↑Thu May 02, 2019 11:39 pmAs you are aware (see the top two posts), a tablebase that only lists DTM50 when entered with the ply counter at zero cannot reliably be used to find moves when the ply counter is larger than zero. So you won't be able to play perfectly.
Of course. This is why I say one should play by DTC50 when you enter the won sector of the EGT with a non-zero ply counter.
As to the simple vs complex proof, I see it just the opposite way: just having two prescriptions for how to play, depending on whether you are in a hurry or not, I would call simple. Having 99 descriptions, depending on how much in a hurry you exactly are, for the only purpose to squeeze out some extra plies in cases that in practice are extremely unlikely to occur, seems hopelessly complex, and certainly not an elegant solution (*).
So, no, they were not really independent remarks. Wanting to squeeze out those extra plies under conditions that are mostly hypothetical can be very well described as an obsession.
There doesn't seem much beauty in having to wait for the opponent to blunder in a drawn position, and then achieve the mate a few moves faster. Or first waste a number of moves in a won position before you suddenly start to worry about achieving the mate unnecessarily fast (50-move-wise). Sounds more like an embarrassment to me.
*) This reminds me of a joke I once heard parodyzing the mode of operation of professional mathematicians:
Q: "How does a mathematician brew tea?"
A: "He takes the tea pot from the cupboard, puts it on the table, scoops in tea and poors on water."
Q: "But what if the tea pot is already on the table?"
A: "Then he puts it back into the cupboard first, to reduce it to a known problem!"
So much for elegance...
I'm interested in getting lower mates scores for puzzles etc, not during game play.
A lot of the positions in the Arves files I mentioned earlier have mate scores on them that I think could be
improved on substantially. E.g: Arves 3517
[d]3k4/2p5/2p5/K1P4p/3P1p1P/5P2/8/8 w - - 0 1
The file has mate in 83 score from whoever analysed these.
Andrew wrote: ↑Fri May 03, 2019 9:59 am
I'm interested in getting lower mates scores for puzzles etc, not during game play.
Sure, but puzzles in general start with the ply counter at zero. They do not require the full set of DTM50 EGT for other counter values.
If the puzzle position is not actually in the EGT itself, so that the EGT is only used in probing, you would never enter the EGT with non-zero ply counter, even if the original puzzle position had one.
I imagine that this is really ignorant, but I do not understand why a DTM50 counter is needed in the database.
If you are trying to minimize the distance to mate, then your path will be shortest.
And if you (the engine writer) are storing the move counter, the engine will know if there is a problem where the dtm50 flag is going to fall.
The database cannot find a shorter mate than the shortest one that is in there.
And if the engine writer knows that the flag is going to fall, he can abandon the planned search and consider moves that reset the counter. And if these moves cannot find a win, then there was no win to be found anyway.
So I guess that I think the EGTB's job is to find the fastest path to win, assuming the counter is reset to 0.
I suppose the current counter could be sent to the EGTB and the EGTB itself could perform the search instead of the engine. But I do not see that as an improvement. (Though an efficient, debugged implementation would prevent all the engine writers from having to do it.)
I do admit that a DTM50 tablebase that was not substantially larger than a simple DTM tablebase that assumes a reset counter would be very interesting. But I imagine it would be many times larger than a simple DTM tablebase.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.