Computer Chess Club Archives


Search

Terms

Messages

Subject: More thoughts on adding Null move code

Author: Geoff

Date: 03:08:23 05/11/03


Hi

Seems several of us are currently struggling with adding Null move logic to our
code. I have added it to what started off as TSCP.

My first attempt was pretty hopeless.

Added new features were ;-)

1) Failure to return from search in some positions
2) Timeout code was broken as the taking back of moves after a timeout now went
wrong.
3) Depth extension if in check now causes something to go wrong too.

Anyways I have been tinkering and trying to fix it. Null move is a small amount
of extra code but very tricky to debug and understand. Least it is for me !

I am not sure I have got it totally fixed now, but it seems to be working OK at
the moment (only a couple hours of testing)

The results are amazing, so good in fact I am wondering if I am doing too many
Null moves and potentially adding a bug? A time of 324.6 Secs drops to 9.6 Secs.
Is this plausible ?

See results below on a particular test position I tried. The one thing that I
havent figured out yet is does adding Null move screw up the reps. detect.
I suspect it does but dont know what to do to fix it ? Any thoughts ?

        Regards Geoff


Test Results

/* Queen Sacrifice Mate in 07 Apr 2003  Alexandra Kosteniuk (White) v John D.
Bick (Black)

 1.f5xf7+ f8xf7 2.h2xh7+ f7-g8 3.h7-h8+ g8-f7 4.g4xf4+ e7-f6 5.f4xf6+ f7-e7
 6.h8-h7+ e7-d8 7.f6-f8# */

[D]1r3k2/2q1bb1p/2Bp2p1/3P1QP1/3B1pR1/2P2P2/P1PK3R/1r6 w - - 0 1

Before NullMove Mods
Ply   Eval   Time      Nodes    Principle Variation
 1:    332      0         66    f5f4
 2:    293      0        856    f5f4 f8g8 h2h7 g8h7 f4f7
 3:    325      0       3315    f5f4 f8g8 a2a4
 4:    323      3      16149    f5f4 f8g8 g4h4 h7h5 g5h6ep e7h4 h2h4
 5:    323     17      79165    f5f4 f8g8 g4h4 h7h5 g5h6ep e7h4 h2h4
 6:    494    137     545323    f5f4 h7h5 g5h6ep g6g5 g4g5 e7g5 f4g5
 7:    533    475    1971525    f5f4 h7h5 g5h6ep g6g5 f4e3 f8g8 a2a4
 8:    805   2659   10248418    f5f7 f8f7 h2h7 f7g8 h7g7 g8f8 g4f4 e7f6 g7c7
 9:    805   8301   33627573    f5f7 f8f7 h2h7 f7g8 h7g7 g8f8 g4f4 e7f6 g7c7
10:   1164  32432  124888939    f5f7 f8f7 h2h7 f7g8 h7g7 g8f8 g4f4 e7f6 g7c7
b8b2 g5f6 b2a2


After Null move Mods but 1 Null Move per search line only
Ply   Eval   Time      Nodes    Principle Variation
 1:    332      0         66    f5f4
 2:    293      0        856    f5f4 f8g8 h2h7 g8h7 f4f7
 3:    325      0       3316    f5f4 f8g8 a2a4
 4:    323      3      14578    f5f4 f8g8 g4h4 h7h5 g5h6ep e7h4 h2h4
 5:    323     14      61484    f5f4 f8g8 g4h4 h7h5 g5h6ep e7h4 h2h4
 6:    494     40     166882    f5f4 h7h5 g5h6ep g6g5 g4g5 e7g5 f4g5
 7:    533    107     435051    f5f4 h7h5 g5h6ep g6g5 f4g3 f8g8 a2a4
 8:    805    237     958128    f5f7 f8f7 h2h7 f7g8 h7g7 g8f8 g4f4 e7f6 g7c7
 9:    805    914    3817929    f5f7 f8f7 h2h7 f7g8 h7g7 g8f8 g4f4 e7f6 g7c7
10:   1164   4659   18642807    f5f7 f8f7 h2h7 f7g8 h7g7 g8f8 g4f4 e7f6 g7c7
b8b2 g5f6 b2a2


After Null move but more than 1 allowed per search line
Ply   Eval   Time      Nodes    Principle Variation
 1:    332      0         66    f5f4
 2:    293      0        856    f5f4 f8g8 h2h7 g8h7 f4f7
 3:    325      1       3316    f5f4 f8g8 a2a4
 4:    323      4      14578    f5f4 f8g8 g4h4 h7h5 g5h6ep e7h4 h2h4
 5:    323     15      61484    f5f4 f8g8 g4h4 h7h5 g5h6ep e7h4 h2h4
 6:    494     45     166882    f5f4 h7h5 g5h6ep g6g5 g4g5 e7g5 f4g5
 7:    533    115     435052    f5f4 h7h5 g5h6ep g6g5 f4g3 f8g8 a2a4
 8:    805    178     674742    f5f7 f8f7 h2h7 f7g8 h7g7 g8f8 g4f4 e7f6 g7c7
 9:    805    462    1790313    f5f7 f8f7 h2h7 f7g8 h7g7 g8f8 g4f4 e7f6 g7c7
10:   1164    960    3758500    f5f7 f8f7 h2h7 f7g8 h7g7 g8f8 g4f4 e7f6 g7c7
b8b2 g5f6 b2a2

Computer's move: f5f7






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.