Computer Chess Club Archives

Messages

Subject: Re: So how do we tell when to avoid null-move?

Author: Dan Homan

Date: 12:23:02 11/05/99

Go up one level in this thread

On November 05, 1999 at 12:39:20, David Eppstein wrote:

>This and the many other null-move-killer positions regularly posted here seem to
>show that crafty's simplistic check (avoid null move when side to move has only
>one non-queen piece) could stand some improvement.  What better algorithms are
>other programs using to tell when a position might be zugzwang?  I vaguely
>remember a commercial programmer (Christophe or Ed?) making a cryptic comment
>about double-null-move solving this problem, but I didn't understand what that
>might mean.

This is an interesting idea, so I just now put a *very* simple verification
search into my null move algorithm.  Basically, if a null move cut is
about to happen, I just search the position normally - no null move - but
still to reduced depth to check if there are an zug problems.  Seems to
work well on this position....

Below are the results from my program with null move - ON - but with the
simple verification search I described above.  Compare this to the results
with null move - OFF (a couple of messages above).  I find b5+ a few plys
later (due to the reduced depth of the verification search), but I can go
*much* faster.  I'll keep tinkering with this verification search...

- Dan

BTW: With null move - ON, but no verification search, I don't find this move
up to ply 13 (completed at 71 seconds).

White-To-Move[1]: setboard 4q/p5p/k5P/8/1PN4K/8/1N2B/8 w - -
White-To-Move[1]: analyze
Analysis mode: Enter commands/moves as ready.

1.  -0.29     0        5   1. b5+
1.   0.69     0       20   1. Ne5+
1.   0.74     0       38   1. Bh5
1.   0.83     0       39   1. Bd3
1.   0.83     0       47   1. Bd3
2.  -0.09     0       97   1. Bd3 Qe7+
2.   0.68     0      387   1. Ne3+ Kb7
2.   0.76     0      661   1. Ne5+ Kb6
2.   0.76     0      664   1. Ne5+ Kb6
3.   0.77     0     1126   1. Ne5+ Kb7 2. Bf3+
3.   0.77     0     1746   1. Ne5+ Kb7 2. Bf3+
4.   0.72     0     2877   1. Ne5+ Kb7 2. Nbd3 Qd8+
4.   0.72     0     4944   1. Ne5+ Kb7 2. Nbd3 Qd8+
5.   0.67     0    13867   1. Ne5+ Kb6 2. Nbd3 Qe7+ 3. Kg4
5.   0.67     0    19104   1. Ne5+ Kb6 2. Nbd3 Qe7+ 3. Kg4
6.   0.70     0    29093   1. Ne5+ Kb6 2. Nbd3 Qb5 3. Kg4 a5
6.   0.70     0    43143   1. Ne5+ Kb6 2. Nbd3 Qb5 3. Kg4 a5
7.   0.72     0    65244   1. Ne5+ Kb6 2. Nbd3 Qb5 3. Kg4 a5 4. ba5+
7.   0.72     0    91558   1. Ne5+ Kb6 2. Nbd3 Qb5 3. Kg4 a5 4. ba5+
8.   0.72     1   130795   1. Ne5+ Kb6 2. Nbd3 Qb5 3. Kg4 a5 4. ba5+ Kc7
8.   0.72     1   199550   1. Ne5+ Kb6 2. Nbd3 Qb5 3. Kg4 a5 4. ba5+ Kc7
9.   0.73     2   300281   1. Ne5+ Kb6 2. Nbd3 Qb5 3. Kg4 a5 4. ba5+ Kc7
5. Bf3
9.   2.33     2   321411   1. b5+ Qxb5 2. Nd3 Qxc4+ 3. Nf4 Qxe2 4. Nxe2 Kb6
5. Nd4
9.   2.33     2   442444   1. b5+ Qxb5 2. Nd3 Qxc4+ 3. Nf4 Qxe2 4. Nxe2 Kb6
5. Nd4
10.   5.47     3   654531   1. b5+ Qxb5 2. Nd3 Qb8 3. Nc5+ Kb5 4. Ne5+ Kc5
5. Nd7+ Kd6
10.   5.47     5   970055   1. b5+ Qxb5 2. Nd3 Qb8 3. Nc5+ Kb5 4. Ne5+ Kc5
5. Nd7+ Kd6
11.   5.48     6  1087464   1. b5+ Qxb5 2. Nd3 Qb8 3. Nc5+ Kb5 4. Ne5+ Kc5
5. Nd7+ Kd6 6. Nxb8
11.   5.48     9  1730070   1. b5+ Qxb5 2. Nd3 Qb8 3. Nc5+ Kb5 4. Ne5+ Kc5
5. Nd7+ Kd6 6. Nxb8
12.   5.38    19  3297119   1. b5+ Qxb5 2. Nd3 Qb1 3. Nc5+ Kb5 4. Na3+ Kc5
5. Nxb1 a5 6. Nc3 Kb4
12.   5.38    28  5215214   1. b5+ Qxb5 2. Nd3 Qb1 3. Nc5+ Kb5 4. Na3+ Kc5
5. Nxb1 a5 6. Nc3 Kb4
13.   4.24    52  8607734   1. b5+ Qxb5 2. Nd3 Qxc4+ 3. Nf4 Qxe2 4. Nxe2 Kb6
5. Kg5 a5 6. Nd4 a4 7. Nf5
13.   4.24    90 13186425   1. b5+ Qxb5 2. Nd3 Qxc4+ 3. Nf4 Qxe2 4. Nxe2 Kb6
5. Kg5 a5 6. Nd4 a4 7. Nf5