Author: Bruce Moreland
Date: 13:30:25 12/19/02
Go up one level in this thread
On December 19, 2002 at 11:24:44, Robert Hyatt wrote: >>1) When the null-move search comes back with fail high, and verify is true, I >>will do a regular search with reduced depth. If this search fails high, I cut >>off like normal. If this search does not fail high, I have to re-search with >>the original depth. What I don't understand is what I do if the initial reduced >>depth search modified alpha. I am assuming that I put alpha back the way it was >>and start over. > >That is how I did it, yes.. > > >> >>2) I don't know if this implementation allows two consecutive null moves or >>what. In specific, I don't know what "null_ok()" does. I am assuming that if I >>don't allow two null moves in a row already, I can continue to not allow two >>null moves in a row. > > >I did it just like my normal program. No consecutive null-move searches, and >I did continue to use the "avoid-null" hash table trick as well. > > > >> >>3) I am assuming that if the search cuts off when doing the reduced depth >>searches, that the depth record in the hash table should be the original depth, >>and not the reduced depth. > >That is what I did, although it seems that it might be a problematic >assumption that I didn't give much thought to since the code already worked >that way normally... I think you are thinking about a different area. In Omid's pseudo-code, he takes the main "depth" variable and decrements it. If he's off doing a search, and fails high, he has to record hash for this node and cut off. The depth value has been decremented, so unless he puts it back, he's going to store a "9" in the hash table even though he entered this node with a "10". In my implementation I never decrement depth, so I don't have this problem. What I do instead is remember that I'm in this state, so rather than passing "depth - 1" to the recursed search function, I pass "depth - 2". Omid suggested that I remove the re-search idea since it is a zugzwang optimization. I tried that and performance was almost identical to R=3, which in Gerbil's case is not better than R=2. I'm going to continue tweaking with this, but for now I have some related ideas testing in Ferret. bruce
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.