Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: An improvement to null move search

Author: Uri Blass

Date: 13:31:46 04/07/04

Go up one level in this thread


On April 07, 2004 at 14:18:59, Vincent Diepeveen wrote:

>On April 07, 2004 at 04:32:48, Uri Blass wrote:
>
>>On April 07, 2004 at 04:06:38, Tord Romstad wrote:
>>
>>>The following idea is still untested, but unless I am missing something it
>>>is guaranteed to reduce the number of nodes without any risk.  The idea is
>>>fairly obvious, and I am sure some of you are already using it, but I still
>>>don't think it is widely known.
>>>
>>>At a node where the remaining depth is sufficiently big that a null move
>>>would not drop us directly into the qsearch, and beta > DRAW_SCORE, avoid
>>>doing a null move search if the move leading to the node was a reversible
>>>move.  The point is that we know that the null move search is a waste of
>>>time in this case.  After the null move, the opponent can just reverse
>>>his move, with a repetition draw score.
>>>
>>>Tord
>>
>>Even if the idea was correct then I think that it is private case of ETC
>>but maybe I do not understand ETC.
>>
>>A possible idea is to detect the pattern
>>from1 to1 from2 to2 to1 from1 in the last 3 moves and to try to2 from2 first in
>>case that it is legal because it gives draw score even without search.
>>
>>it can be also in case of null moves(null move is a1a1)
>>
>>If you detect a1a1 b1c3 a1a1 then the first move to search is c3b1.
>>
>>Note that in that case it is important not to save the move in the hash tables
>>or in the killer moves and I think that even changing the history is bad.
>>
>>I did not try it in movei but I may do it.
>>I remember that Junior used that idea too much and there was a case when it
>>showed a wrong draw score based on 3 moves because it even did not care to check
>>if the 4th move that cause a repetition is legal and it was illegal.
>>
>>Uri
>
>All not needed what you write down here. What a bunch of nonsense.
>Just treat the nullmove like a pawn move and restart counting in the
>transposition array the same position count.

I see no reason to do it.

 then you get more cutoffs even
>because you want a fail low for the c3b1 move, not a fail high.
>
>A fail low gives a nullmove cutoff and saves you out searching a huge tree.

I am not going to argue about the question if you need fail high or fail low
because fail high from white point of view is fail low from black point of view.

The question if you get a cutoff for c3b1 to avoid searching the line after
null b1c3 null is dependent on the sign of beta(this line cannot be practically
searched from the opening position because no line that is searched is beginning
with null and there must be some legal move before the first null).

The point is that even in case that you do not get a cutoff you do not need to
search
null b1c3 null c3b1 because you can get 0.00 score for that line even without
searching.

Uri



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.