Author: Tom Likens
Date: 13:57:15 03/02/03
Go up one level in this thread
On March 02, 2003 at 16:30:58, Dieter Buerssner wrote: >On March 02, 2003 at 16:11:32, Tom Likens wrote: > >>Whenever I store an EXACT hash position I also store a move along >>with it. > >When you are mated (in "normal" search), don't you store this in the hash? (I >do). When you are stalemated (in "normal" search), don't you store this in the >hash? In both cases, you don't have a hash move. I store "a1-a1" in either case >as best move (which can mean: no move available, or move unknown). Yes, I do just what you mention I store "EmptyMove" in both of these situations. Which, as you indicated works just fine. >Correct. However, I cannot understand why you need a move. The above two >examples will not have a move either, but are perfect candidates for an exact >score. I think you misunderstood slightly, I don't need a move I just want to make sure that I store the "EmptyMove" rather than some illegal move. The dilemma was detecting the tablebase stalemate so that I could avoid storing a garbage move. >Is it perhaps just an initialization problem? You didn't store a move, and a >move from an earlier entry is left? Just clear the move when you hit TBs, or >use an idea like further down. Yes, I think this is *exactly* how the illegal move was getting stored. >>I'm not sure how disallowing root tablebase cutoffs fixes the problem. > >My comment about the root possibly was confusing. Only at the root, you need to >return a move, to make an engine work. Deeper in the tree, a score is enough. A >move is nice, when available (to have a PV). The search will work perfectly >without a move deeper in the tree (of course, there are more subtelties, like >move ordering). [--snip--] >>I'm curious, in Yace do you store a hash move for EXACT and LOWER >>bound hash matches. > >When I have a move available - I store it - yes. Even for upperbounds, too (the >best "fail soft move"). When none is available, I flag this (typically by >"a1-a1"). This is similar to what I do, although I don't score UPPER bound moves. Something to add to the list of things to try. >>Do you also store a hash move when you encounter a tablebase draw? > >Yes and no. I store a special move (any never legal move would do, like a1-e2), >to flag this position as TB hit. But the reason is not to have a move, but >rather to know, that the position is from TBs, so that later the score will be >good for a cutoff independent of the depth/draft. Storing a1a1 would also work, >but would make TBs a little bit less efficient (or would need to store the "this is from TB"-info somwhere else in the hash entry). I've actually considered adding such a flag to the hash entries for just this reason, but haven't gotten around to it yet. Soon... thanks, --tom >Regards, >Dieter
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.