Author: Geoff
Date: 06:06:39 06/06/03
Go up one level in this thread
Hi Dan
Thanks for that code snippet it was interesting. I notice that Beowolf does a
reduced depth verification search to check the sanity of the null move result
before it really believes it is safe to prune the line.
I will try that idea in my code see how badly it affects speed and if it
rectifies the playing strength problem Null moving is causing.
I will post some test results when I have tried it.
>I can't really see what's wrong with your code, to tell the truth.
>
>You might set up some board with an obvious set of really 3-4 bad moves and one
>good one and trace it to see what is happening.
>
>For instance, here:
>
>[D]r3k3/2ppp3/Qp6/np6/8/8/8/3K4 w - -
>
>Most of the really dumb moves should obvously be trimmed by null move.
Here are the test results for this position
Null move switched off
Ply Eval Time Nodes Principle Variation
1: 34 0 13 a6a8
2: 34 0 43 a6a8 e8f7
3: 44 0 200 a6a8 e8f7 d1e2
4: 138 0 889 a6a8 e8f7 a8d5 e7e6 d5b5
5: 138 0 2,821 a6a8 e8f7 a8d5 e7e6 d5b5
6: 158 1 12,708 a6a8 e8f7 a8f3 f7e6 f3e2 e6d5 e2b5
7: 158 4 56,577 a6a8 e8f7 a8f3 f7e6 f3e2 e6d5 e2b5
8: 158 14 168,700 a6a8 e8f7 a8d5 f7f6 d5f3 f6e6 f3e2 e6d5 e2b5
9: 158 51 759,053 a6a8 e8f7 a8d5 f7f6 d5f3 f6e6 f3e2 e6d5 e2b5
10: 219 289 3,382,981 a6a8 e8f7 a8d5 f7f6 d5d7 e7e6 d7c7 a5c4 c7c6
c4e3
11: 229 876 13,145,929 a6a8 e8f7 a8d5 f7f6 d5d7 e7e6 d7c7 a5c4 c7c6
c4e3 d1e2
12: 305 9873 112,934,816 a6a8 e8f7 a8d5 f7f6 d5d7 a5c4 d7c7 e7e5 c7c6
f6f5 c6b5 c4e3
13: 315 74386 1,145,245,644 a6a8 e8f7 a8d5 f7f6 d5d7 a5c4 d7c7 e7e5 c7c6
f6f5 c6b5 c4e3 d1e2
Null move switched on
Ply Eval Time Nodes Principle Variation
1: 34 0 13 a6a8
2: 34 0 43 a6a8 e8f7
3: 44 0 200 a6a8 e8f7 d1e2
4: 138 0 854 a6a8 e8f7 a8d5 e7e6 d5b5
5: 138 0 2,639 a6a8 e8f7 a8d5 e7e6 d5b5
6: 158 1 9,114 a6a8 e8f7 a8f3 f7e6 f3e2 e6d5 e2b5
7: 158 3 31,653 a6a8 e8f7 a8f3 f7e6 f3e2 e6d5 e2b5
8: 158 7 101,333 a6a8 e8f7 a8d5 f7f6 d5f3 f6e6 f3e2 e6d5 e2b5
9: 158 25 348,706 a6a8 e8f7 a8d5 f7f6 d5f3 f6e6 f3e2 e6d5 e2b5
10: 219 175 2,027,229 a6a8 e8f7 a8d5 f7f6 d5d7 e7e6 d7c7 a5c4 c7c6
c4e3
11: 229 498 6,920,555 a6a8 e8f7 a8d5 f7f6 d5d7 e7e6 d7c7 a5c4 c7c6
c4e3 d1e2
12: 305 2406 28,127,351 a6a8 e8f7 a8d5 f7f6 d5d7 a5c4 d7c7 e7e5 c7c6
f6f5 c6b5 c4e3
13: 315 20496 288,027,046 a6a8 e8f7 a8d5 f7f6 d5d7 a5c4 d7c7 e7e5 c7c6
f6f5 c6b5 c4e3 d1e2
Results are exactly as they should be, identical PV's at all depths, only
difference is by ply 13 Null moving is pruning 75% of the possible nodes
I was wondering if the problem I am seeing is caused by the time limit being
reached part way through a ply search. I did try a mod to always let it complete
a search to the end of a ply before making the move. This did seem to make it
play very strongly, but that could have been simply due to the increased
thinking time.
Geoff
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.