Author: Tony Werten
Date: 22:33:53 04/29/04
Go up one level in this thread
On April 29, 2004 at 23:19:54, Robert Hyatt wrote:
>On April 29, 2004 at 17:06:29, Gerd Isenberg wrote:
>
>>On April 29, 2004 at 16:03:08, Robert Hyatt wrote:
>>
>>>On April 29, 2004 at 02:08:40, Tony Werten wrote:
>>>
>>>>On April 28, 2004 at 16:14:39, Gerd Isenberg wrote:
>>>>
>>>>>On April 28, 2004 at 13:45:05, Ed Schröder wrote:
>>>>>
>>>>><snip>
>>>>>
>>>>>>What is double nullmove? I only know recursive nullmove allowing multiple
>>>>>>nullmoves. I also read about "allowing 2 nullmoves in a row". What are the
>>>>>>differences?
>>>>>>
>>>>>>I use recursive nullmove, not allowing the next ply after the nullmove to
>>>>>>nullmove. So:
>>>>>>
>>>>>> e2-e4
>>>>>> e7-e5
>>>>>> **-** // nullmove
>>>>>> d7-d5 // do no allow nullmove
>>>>>>
>>>>>>When I remove that check I get a few percent speedup, results look okay.
>>>>>>
>>>>>>Ed
>>>>>
>>>>>
>>>>>Hi Ed,
>>>>>
>>>>>yes Double Nullmove, suggested and invented by Vincent, allows to play two
>>>>>nullmoves in a row, to efficiently get rid of zugzwang problems. It is recursive
>>>>>too, and if i understand correctly, it works fine without any nullmove
>>>>>precondition:
>>>>>
>>>>> if (!inCheck)
>>>>> {
>>>>> if ( move2thisNode != null || move2ParentNode != null ) (
>>>>> val = -doNullMoveSearch(depth-1-R,...);
>>>>> if ( val >= beta ) return val; // return beta;
>>>>> }
>>>>> }
>>>>>
>>>>>May be Vincent may correct me.
>>>>>It seems that there is an implicit kind of IID with 2R-2 too.
>>>>
>>>>Correct. Chech your hashtable again after the nullmove, if you didn't have a
>>>>best move before.
>>>>
>>>>Then throw out IID.
>>>>
>>>>Tony
>>>
>>>I don't see how/why one would throw out IID.
>>>
>>
>>Yes but with double nullmove you may search a line like that, eg. for a 12ply
>>search:
>>
>>null null e4 e5 Nf3 Nc6 Bb5 a6 ....
>>
>>which is IMHO a kind of IID with depth-6, so if you store hash after null null
>>with best found e4, and probe after after nullmove, it is likely to get a hit.
>>Or?
>>
>
>Several problems.
>
>1. Suppose the best move is a repetition. If you do a repetition check after a
>double null move, you get an instant draw score very time. Useless. So you
>have to turn it off. Now you don't realize that the move draws, so it won't be
>best. Etc.
Easily fixed. Just start checking for repetition 2 plies higher in case of a
double nm.
>
>2. double null rips 8 plies from the depth. That will often collapse you into
>the q-search where all you can play are captures. Captures are not the best
>move far more often than they are.
I nm, you nm. My turn. If a capture makes your nm fail low, it is the best move.
If it didn't then your nm fails high which basicly means the current node is a
fail low node, so no IID needed.
Tony
>
>>
>>>NULL can collapse search to q-search, which means the best you can hope for is a
>>>capture should you search this position later. That's not the same as a "good"
>>>move when depth>0. If you mean after the second null, you are now 8 plies short
>>>of a full search, which in most middlegame positions is going to be into the
>>>capture only search...
>>>
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.