Author: José Carlos
Date: 09:20:36 11/03/03
Go up one level in this thread
On November 03, 2003 at 11:39:13, Tord Romstad wrote: >On November 03, 2003 at 10:20:36, José Carlos wrote: > >>On November 03, 2003 at 10:08:08, Uri Blass wrote: >> >>>I also explained later in another post why I think that null move pruning can >>>reduce the % of first fail high without changing the function of order of moves. >> >> >> I've changed the subject because I want to speak about this now, which is very >>interesting for me. >> I missed your previous post when you talked about null move and move ordering, >>and I'll search for it in the search engine. >> I'm having a hard time trying to make null move work together with a high % of >>beta cutoffs at the first move. Unlike you, I find this statistic very useful >>because I can try several tricks to avoid non-productive null move searchs which >>will damage move ordering. > >Why do you thing it damages your move ordering when the null move search >does not fail high (I assume that is what you mean with "non-productive >null move search")? I have found precisely the opposite to be the case. >When the null move does not give a cutoff, it usually gives a nice killer >move to try at the next ply. I'm not sure. I have little time for my chess program, so I must think about these "philosophical" problems while I'm driving to/from work. I need more testing to get a better picture. >> So far I'm being able to average >95% in games, hitting some times 99%, at the >>cost of not pruning some lines. > >Is this the percentage of null move searches which fail high? If the >answer is yes, >95% looks rather good. I think I had less than 90% the >last time I checked. This is the percentage of beta cutoffs at the first move compared to all beta cutoffs. The percentage of null moves that fail high is typically between 85-90% (compared to all null moves tried) for a 5% of null moves tried compared to all nodes. >I have difficulties finding good rules for when to avoid the null move >search. Currently I avoid the null move if the evaluation function has >detected a mate threat, a hanging queen or some other major threat, or >if the static eval returns a value much worse (from the point of view >of the side to move) than the root score from the previous iteration. >I don't like the common trick of avoiding the null move search >when the static eval is below alpha, because it gives too many search >inconsistensies. I consider: static eval, threats of my opponent against my, my threats against the opponents, eval at the root, alpha and beta (from memory, I hope I don't forget anything). The formula is complex and needs more testing. >>I'm not sure so far about where is the correct >>balance between both pruning and move ordering, but I'll report my results when >>I think they're significant. >> On the other side, I haven't found other pruning different than null move to >>affect move ordering, though I must admit I'm very conservative at the moment. >> Also a complex qsearch helps move ordering but damages branching factor. > >I am not sure what your definition of a "complex qsearch" is, but removing >checks from my qsearch does not seem to have any effect on the branching >factor for me. > >Tord I mean not only captures and promitions but also checks and strong threats such as mate threats and attacking the queen. I suffer I wild overhead in some positions due to such complex qsearch, which is more like a very selective search after a less selective part (with null move and many other pruning tricks). Right now my tree shape is very umbalanced, and looks a bit crazy if you're used to a "normal" tree search. Lack of time make me not be sure about some ideas baing good or bad, but it's definetly a lot of fun. José C.
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.