Computer Chess Club Archives


Search

Terms

Messages

Subject: double null move help

Author: Daniel Shawul

Date: 01:00:56 07/04/04


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



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.