Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: double null move help

Author: Gian-Carlo Pascutto

Date: 01:12:06 07/04/04

Go up one level in this thread


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.

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.