# Computer Chess Club Archives

## Messages

### Subject: Re: Null move reductions

Author: Robert Hyatt

Date: 14:09:57 10/05/98

Go up one level in this thread

```On October 05, 1998 at 14:39:57, Will Singleton wrote:

>
>On October 05, 1998 at 09:37:31, Robert Hyatt wrote:
>
>>
>>
>>does it quite easily..  if we are doing a 6 ply search, at ply=3 we find a
>>way to rip a piece so that the score is +3.00, at ply=4 we try null-move
>>and subtract an extra two plies from the search depth, which takes us right
>>to the q-search, where the opponent recaptures the piece, so that the null-
>>move search fails high.  I don't look at checks in the q-search, which means
>>my q-search won't see the mate on g7, so we stop the search at ply=3 thinking
>>that BxN is ok, when our opponent will *really* not play pxB, but will,
>>
>>Next move you see this, but it could be too late...
>
>
>Bob,
>
>Since you don't look at checks in the qsearch, do you have problems with
>positions such as wac002?  Or perhaps that's handled in a different way.
>
>Will

I solve this problem two ways.

1.  positionally, because crafty knows that two connected passed pawns on the
6th rank, where there is little material left, and the king too far away, and
the pawns are not blockaded, etc, is won for the pawns.  So I solve this one
positionally with no depth:

(this run on my P5/233 notebook)

4     0.85   3.01   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Kf7
4. Rb7+ Kg6
4->   0.86   3.01   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Kf7
4. Rb7+ Kg6
5     0.88     --   1. ... Rxb2
5     0.89   2.95   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Kf7
4. Rb7+ Ke6 5. e4 <HT>
5->   0.90   2.95   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Kf7
4. Rb7+ Ke6 5. e4 <HT>
6     0.92     --   1. ... Rxb2
6     1.08   2.80   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
4. Rb7+ Ke6 5. Rb6+ Kd7 <HT>
6->   1.10   2.80   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
4. Rb7+ Ke6 5. Rb6+ Kd7 <HT>
7     1.47   2.81   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Kf7
4. Rb5 Ke6 5. Rb6+ Kd7 6. Rb7+ Kc6
7. e4 <HT>
7->   1.52   2.81   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Kf7
4. Rb5 Ke6 5. Rb6+ Kd7 6. Rb7+ Kc6
7. e4 <HT>
8     2.95   2.77   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
4. Rb7+ Kd6 5. e4 c2 6. e5+ Kc6 7.
Rb8 Kd5
8->   4.42   2.77   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
4. Rb7+ Kd6 5. e4 c2 6. e5+ Kc6 7.
Rb8 Kd5
9     6.12   2.42   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
4. Rb7+ Ke6 5. Rb6+ Kf7 <HT>
9->   7.04   2.42   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
4. Rb7+ Ke6 5. Rb6+ Kf7 <HT>
10     9.29   2.42   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
4. Rb7+ Ke6 5. Rb6+ Kf7 <HT>
10->  21.28   2.42   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
4. Rb7+ Ke6 5. Rb6+ Kf7 <HT>
11    30.19   2.36   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
4. Rb7+ Ke6 5. Rb6+ Kd7 6. Rf6 c2 7.
Rxf5 c1=Q 8. Rd5+ Ke6 9. Rxd3 Qf1+
10. Ke4 Qh1+ 11. Kd4 Qxh2

(2) then when I reach depth=12, I solve this
tactically, because I do a lot of check extensions in the normal search and
even though I don't follow checks in the q-search, the normal search can be
quite clever, as this shows:

12     1:17     ++   1. ... Rxb2!!
12     1:40   3.66   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
4. Rb7+ Kd6 5. Rb6+ Kc7 6. Rb1 c2 7.
Rc1 Kb6 8. Kg3 d2 9. Rxc2 d1=Q 10.
Rc4 Qg1+ 11. Kf3 Qxh2 12. Rxa4

So it can be done either way.  Note that the above machine is about 70% of
a pentium pro 200 for me, so I tactically solve this in just under a minute
anyway, and with my quad machine, under 20 seconds, although I positionally
solve it instantly...

```