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.