lichess.org
Donate

Only legal move forces a draw and lichess says it is not draw

Under FIDE rules, a dead position is reached by 66... Qg4+?? and the game is immediately drawn exactly as #2 says. This is why in my hundreds of answers about rules, not once have I claimed that Lichess uses FIDE rules.

#9 is correct that in general, dead position detection (even with forced sequences like this) is a near-impossible problem which I'm continuing to work on:
github.com/ddugovic/Stockfish/tree/helpmate
chess.stackexchange.com/questions/18699/maximum-number-of-pieces-on-board-in-dead-position
"Even complicated ones are conceivable and one cannot code it properly or it might take too much time."

I dont think is that hard to code when there are only forced moves left. At least 1 move in advance that is 99% of the cases. I mean, not exactly a dead position, but an automatic draw after a forced move.
By the way, Qg4 was not a bad move, he was only 7 cents of a second left, so a forced mate was at least 2 or 3 moves away, and Qg4 meant I was goint to lose at least 0.5sec.
#12 If you think it's easy, submit a patch and I'll test it. I guarantee I'll find bugs.
surely it can't be that hard in my example, where after one forced move it is King vs King
So let's say we have such a position:

lichess.org/analysis/standard/4k3/8/8/2p1p1p1/1pPpPpP1/pP1P1P2/P7/4K3_w_-_-

There is obviously no legal way for either side to win, the game is a draw. But even though it is clear to all of us that the position should and will be a draw, it is not so clear according to the rules or online chess. Whichever side forfeits on time in such a dead draw position will lose.
So I guess we have a similiar problem here as the OP position, even though in the case I present it is not that obvious. If we have to consider a game where a forced move leads to a drawn position a draw, then why not do it for a position where after 2 forced moves we end in a draw? And then why not think 3 forced moves ahead, then 4 etc. Then we arrive at a point where positions such as the one I posted are drawn, because if we consider every possible 50 move scenario tha position is a draw, so it is a forced draw.
Don't know if I have explained my logic well enough, feel free to add to that point :)
Is Lichess using the same rules of FIDE? I got puzzled sometimes with the given sample.
@apostolis1 I understand you, and that's a great example of how much time/energy/programming it would take to make this possible.
@Puredication
I think that if we take this logic as fas as 50 moves then it becomes practically impossible to calculate all the possible variations and deviations. I mean even if the code itself is possible (and not that difficult to be written), it would take an incredible amount of time for the calculations to constantly take place in every position. Even if we want the calculations to be made in the case of one player losing on time, I believe it would still do much more bad than good as other problems will arise.
I think that we can't draw the line at 1 or 2 forced moves ahead, so it is a very good solution to simply examine the material on board in case of a time forfeit.
@apostolis1

"So I guess we have a similiar problem here as the OP position, even though in the case I present it is not that obvious. If we have to consider a game where a forced move leads to a drawn position a draw, then why not do it for a position where after 2 forced moves we end in a draw? And then why not think 3 forced moves ahead, then 4 etc"

Because 1 move ahead is +90% of the real cases.
The general problem is complex to solve. Maybe it can be reduced to solve a subset of representative cases (you know, the 80/20 rule). For example: a loop in which it is checked if there is only 1 legal movement per turn. At the moment when there is more than 1 movement, the valuation is abandoned. While there is only 1 legal movement, the loop continues until it reaches draw or mate.
This should not be computationally expensive, I think.

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