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.