Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: About ordering moves

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.