Let's call any move before a null move an A-move.Ralph Stoesser wrote:Yes, but I ask for examples, board pictures and list of moves, nothing specific, but, if possible, from real search of your engine.bob wrote:
I have not identified a specific position, this is a systemic issue across _all_ trees where null-move is playable...
I ask for it because I'm too stupid to be able to imagine why repetition draw detection across null moves could make sense in the first place, let aside this 4-plies-away-from-last-null-move rule (if I have understand it correctly).
A null move is a non-reversible move, right?
I can't undo a null move by moving a piece or by making another null move. But if both sides make a null move, they may annul each other in a way that makes it meaningful to check repetion draws across null moves.
Then one player does a null move.
Let's call any move after that a B-move.
Then the other player does a null move.
Let's call any move after that a C-move.
If there is no B-move or all B-moves are reversible we could search
for repetition backwards through C and A moves.
With more null moves we just have to skip every second X-moves.
The book keeping for this is easy and straight forward.
We just need a stack or two stacks, one for each player.
The stack can for each ply contain some flags, a link to a previous ply
that must be searched or a final stop sign.
Does this make sense?
Would it help?
Can someone test it?
Harald
