Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Can we use hash table at root?

Author: Robert Hyatt

Date: 21:01:04 02/01/00

Go up one level in this thread


On February 01, 2000 at 11:38:48, Tijs van Dam wrote:

>On February 01, 2000 at 09:30:05, Robert Hyatt wrote:
>
>>>
>>>I use hash at root for my program GKJunior. But I won't let the root search
>>>fail high or low on the hash, just use an exact value with its "best move" or
>>>use a move with not enough draft to search first. This way, a best move will
>>>always be found at ply=1. I have no problems and the code is not messy.
>>
>>you just mentioned one messy detail.  "no fail high or low".  This means that
>>for _every_ hash probe, you must be checking to see if you are at ply=1 before
>>you do the fail high or fail low?  All for no benefit at all.
>>
>
>No, like Crafty I use a different funtion for the root search.
>
>>
>>
>>>
>>>An advantage is that the search will continue very fast when the opponent makes
>>>the same move as i was pondering, or to start pondering after making a move.
>>>There is almost no delay, while crafty seems to take a few seconds to get to the
>>>same PV as it had before the move was made.
>>>
>>
>>
>>I do this differently.  If I complete a 12 ply search, and start to ponder,
>>I ponder the 2nd move in the PV, I shift the PV two moves left to get rid of
>>the move I made and the move i am pondering.  I then start the search at old
>>depth-1 since I already have the PV from old depth-2 done...
>>
>I see, I hadn't thought of that. But then this has the same result as storing
>and probing at root, because depth 1...depth-2 are found immediately. This makes
>it easier to implement pondering / using the ponder result, because every search
>can start at depth 1 without cost.


Suppose you search very deeply, so that at the end of the search you store the
best move.  You search (say) for 30 minutes waiting on your opponent, so you get
_way_ deep.  He plays the right move (you are expecting it) so you dump your
best move and PV.  And then start searching (pondering).  You get nothing
but hash hits at the root.  Until you finally overrun the needed depth and
the hash entries are no good.  What PV do you search from iteration N-1, since
you don't have one?

Internal Iterative Deepening will help, but it isn't optimal...



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.