Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: double null move help

Author: Daniel Shawul

Date: 01:29:31 07/04/04

Go up one level in this thread


On July 04, 2004 at 04:12:06, Gian-Carlo Pascutto wrote:

>On July 04, 2004 at 04:00:56, Daniel Shawul wrote:
>
>>8/3p4/3P2p1/7p/3B3k/3q1P2/4N1P1/7K w - -
>>I am currently using this zugzwang postion [posted here some time ago]
>> to experiment with double null move and verified null move pruning.
>>
>>Here is the result with verified null move on
>>
>>  DANCHESS 1.06e  WB2 16 MB:
>> 5   00:00 -1.15   1. Bf6+!
>> 5   00:00 -1.15   1. Bf6+ g5 2. Nc3 Kg3 3. Be5+ Kf2 4. Ne4+ Ke3 5. Nxg5
>> 6   00:00 -1.33   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qc4
>> 7   00:00 -1.11   1. Bf6+!
>> 7   00:00 -1.01   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5
>> 8   00:00 -1.01   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qd1 6.
>>Kg3 Qe1+
>> 9   00:00 -0.98   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qd5
>>10   00:01 -1.07   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qd1 6.
>>Be7 Qd5 7. Kg3 Qe5+
>>11   00:01  0.00   1. Bf6+!
>>11   00:01  2.02   1. Bf6+!
>>11   00:04  4.33   1. Bf6+ g5 2. Kh2 Qxf3 3. Bxg5+ Kxg5 4. gxf3 Kf5 5. Kh3 Ke5
>>6. Kh4 Kxd6 7. Kxh5 Ke5
>>12   00:05  4.73   1. Bf6+ g5 2. Kh2 Qxf3 3. Bxg5+ Kxg5 4. gxf3 Kf5 5. Ng3+ Ke5
>>6. Ne4 Kf4 7. Kh3
>>13   00:06  4.76   1. Bf6+ g5 2. Kh2 Qxf3 3. Bxg5+ Kxg5 4. gxf3 Kf5 5. Ng3+ Ke5
>>6. Ne4 Kf4 7. Kg2
>>14   00:09  4.92   1. Bf6+ g5 2. Kh2 Qxf3 3. Bxg5+ Kxg5 4. gxf3 Kf5 5. Ng3+ Ke5
>>6. Ne4 Kf4 7. Kh3 Ke5 8. Kh4 Kf4 9. Kxh5 Kxf3 10. Nf6
>>15   00:11  5.42   1. Bf6+!
>>15   00:12  5.42   1. Bf6+
>>
>>  and with double null move
>>DANCHESS 1.06e  WB2 16 MB:
>> 5   00:00 -1.24   1. Bf6+!
>> 5   00:00 -1.15   1. Bf6+ g5 2. Nc3 Kg3 3. Be5+ Kf2 4. Ne4+ Ke3 5. Nxg5
>> 6   00:00 -1.33   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qc4
>> 7   00:00 -1.11   1. Bf6+!
>> 7   00:00 -1.01   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qb1
>> 8   00:00 -1.01   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qb1 6.
>>Kg3
>> 9   00:01 -0.96   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qd5 6.
>>Kg3 Qe5+ 7. Kf2 Qe6
>>10   00:02 -1.07   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qb1 6.
>>Be7 Qb5 7. Kg3 Qe5+
>>11   00:04 -1.01   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qd4 6.
>>Kg3 Qg1 7. Nf2
>>12   00:10 -0.49   1. Bf6+!
>>12   00:10  1.67   1. Bf6+!
>>12   00:13  6.05   1. Bf6+ g5 2. Bc3 Qxe2 3. Kh2
>>13   00:15  5.55   1. Bf6+?
>>13   00:16  3.55   1. Bf6+?
>>13   00:35 -0.38   1. Bf6+ g5 2. Kh2 Qxe2 3. Bc3 Qd2 4. Bxd2 g4 5. g3#
>>14   03:17 -0.38   1. Bf6+ g5 2. Kh2 Qxe2 3. Bc3 Qd2 4. Bxd2 g4 5. g3#
>>
>>sees the correct score at depth 12 and then falls back??
>>
>>Here is how i implemented double null move
>>
>>
>>DoNull is 2 by default
>>
>>if(   !hist_at_hply->check &&
>>       Board.piece_c[Player] &&
>>       DoNull )
>>{
>>     make null
>>     score = -search(-beta,-beta+1,depth-R*UNITDEPTH-UNITDEPTH,DoNull-1);
>>     undo null
>>}
>>
>>any help appreciated
>>daniel
>
>Make sure all your search calls outside this fuction are with DoNull==2.

i defined the search with DoNull = 2
	int   search(int alpha,int beta,int depth,short DoNull=2);
I only pass DoNull parameter inside the nullmove so i don't think that's the
problem.

I then tried turning off IID , hashtable. With the hashtable turned off
it seems to work
  DANCHESS 1.06e  WB2 16 MB:
 5   00:00 -1.36   1. Bf6+!
 5   00:00 -1.15   1. Bf6+ g5 2. Nc3 Kg3 3. Be5+
 6   00:00 -1.33   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qc4
 7   00:00 -1.11   1. Bf6+!
 7   00:01 -1.01   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qb1
 8   00:01 -1.01   1. Bf6+ g5 2. Nc3 Kg3 3. Ne4+ Kf4 4. Bxg5+ Kf5 5. Kh2 Qd1 6.
Kg3 Qe1+ 7. Kh3
 9   00:02 -0.42   1. Bf6+!
 9   00:05  1.70   1. Bf6+!
 9   00:06  4.06   1. Bf6+ g5 2. Kh2 Qxf3 3. Bxg5+ Kxg5 4. gxf3 Kh4 5. f4 Kg4 6.
Ng3

  btw, i store null cutoffs in hashtable.

daniel


>
>To me it looks like a bug outside nullmove that is triggered by this.
>
>--
>GCP



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.