Moderator: Andres Valverde
Patrice Duhamel wrote:Yes I update the hash key in my makenullmove and unmakenullmove functions, I'm not using the white_to_move key, but another key used only for null moves.
Sven Schüle wrote:Perhaps try to XOR with the white_to_move key instead of an own key, and see what happens?
How can you expect any sensible moves without Quiescence Search? Or does your evaluation correct for hanging pieces?
Patrice Duhamel wrote:when using hash table and null moves, I should have better result
than without hash table and without null moves ?
H.G.Muller wrote:These are all checkmate in N problems?
Patrice Duhamel wrote:I found the problem,
with null moves, I call the search function with a new depth = (depth - DEPTH_REDUCTION - 1)
depth can become < 0,
I have a test to return evaluate() when depth <= 0,
but I'm saving the value as EXACT in the hash table.
depth is unsigned in my hash table, and it was wrong when depth < 0
to solve the problem, I don't save the value in the hash if depth < 0,
but I don't know if I must save the value in the hash or not in this case ?
Sven Schüle wrote:Now I don't know why you call evaluate() here, I think you should instead proceed with the normal search using "depth" (not "new depth" of course), having accepted that there is no way to do null move pruning at the current node, but also considering that you have not reached the horizon yet.
Sven
H.G.Muller wrote:You should at least do a Quiescence Search in reply to the null move. But of course yu suppressed QS here, so I guess returning eval is the current mode of QS.
Return to Programming and Technical Discussions
Users browsing this forum: No registered users and 8 guests