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.