Author: Vincent Diepeveen
Date: 04:57:46 12/15/99
Go up one level in this thread
On December 15, 1999 at 06:59:46, Steve Maughan wrote:
>I was analysing a position with my program when I came across the following:
>
>rkb2r2/1p2R1pp/1pp5/2P5/2B5/P7/1P1Q1PPP/n2K4 w - - 0 1
>There is nothing special about the position apart from the search path that
>resulted. I use a 'one good reply to check' extension. Good meaning 'move that
>does not obviously give away material'. Now I had thought that this was a
>relatively well-behaved heuristic that allows some deep mates to be found in
>lightening time. However the search path that resulted was as follows:
Let's get this first defined. How many plies do you extend one legal reply
to check, and is that added to the depth of the check extension?
So if i understand what you write here you extend 2 ply after Ka7
a) in check
b) 1 legal move
I'm not doing this in diep. I'm using the check extension and extend
that with 1 ply here. i'm not using the 1 reply to check extension in
DIEP. I'm also not using the 1 legal reply to check extension in combination
with other patterns. i'm simply not using it at all!
I am using other extensions though, but not many. The threat extensions in
DIEP are currently turned off.
>1. Qd6+ Ka7 2. cxb6+ Kxb6 3. Qb4+ Ka7 4. Qa5+ Kb8 5. Qe5+ Ka7 6. Qc5+ Kb8 7.
>Qd6+ Ka7 8. Qd4+ c5 9. Qxc5+ Kb8 10. Qd6+ Ka7 11. Qd4+ Kb8 12. Qe5+ Ka7 13. Qe3+
>Kb8 14. Qg3+ Rf4 15. Qxf4+ Ka7 16. Qe3+ Kb8 17. Qe5+ Ka7 18. Qa5+ Kb8 19. Qc7+
>Ka7 20. Qc5+ Kb8 21. Qd6+ Ka7 22. Qa6+ Kb8
>
>IMO this is 44 ply of wasted search. One of the insights I have had while
fully agree
>writing this program is that it is easy to come up with sensible extensions that
>work in some positions, but it is difficult to come up with good extensions that
>cut-off quickly when not relevant.
>
>The question is - is there a way of taming the above heuristic that will cut off
>the search earlier, but will still retain the advantages of being able to find
>deep mates?
Sure you can cut down the heuristic by not using it.
I have similar experiences as you describe here with the 1 legal reply
to check. Of course when you are already won against a bare king you
see mates a bit sooner, but you win that anyway!
All kind of experiments adding position dependant information and also
combined with alfabeta dependencies didn't get the 1 reply to check
extension to work in DIEP.
D I E P 2.00
fen
Open a Forsythe File r1.fen
Line number of r1.fen ?
1
D I E P 2.00
black timeleft=27:46.40.00
r k b = - r - = ... 1 ...
= o = - R - o o ... 2 ...
- o o = - = - = ... 3 ...
= - O - = - = - ... 4 ...
- = B = - = - = ... 5 ...
O - = - = - = - ... 6 ...
- O - Q - O O O ... 7 ...
n - = K = - = - ... 8 ...
white timeleft=27:46.40.00
white to move
clean
Clearing all Hashtables...
anal
Analysis mode is on
process 0: engineflags = 0 denktime=10000000 maxtime=10000000
00:00 3 (0) 1 5.22 c5xb6
++ d2-d6
00:00 1176 (0) 1 7.52 Qd2-d6 Kb8-a7 c5xb6 Ka7xb6 Qd6-b4 Kb6-a7 Re7xb7 Bc8xb7 Qb4
-c5 Ka7-b8 Qc5xf8 Bb7-c8 Qf8xg7
00:00 3344 (0) 2 7.52 Qd2-d6 Kb8-a7 c5xb6 Ka7xb6 Qd6-b4 Kb6-a7 Re7xb7 Bc8xb7 Qb4
-c5 Ka7-b8 Qc5xf8 Bb7-c8 Qf8xg7
00:00 4899 (0) 3 7.52 Qd2-d6 Kb8-a7 c5xb6 Ka7xb6 Qd6-b4 Kb6-a7 Re7xb7 Bc8xb7 Qb4
-c5 Ka7-b8 Qc5xf8 Bb7-c8 Qf8xg7
00:00 11155 (0) 4 9.16 Qd2-d6 Kb8-a7 Qd6xc6 Rf8-d8 Kd1-c1 b6-b5 Qc6xb5
00:01 34656 (0) 5 10.02 Qd2-d6 Kb8-a7 c5xb6 Ka7xb6 Qd6-d4 c6-c5 Qd4-d6 Kb6-a7 Qd
6xc5 Ka7-b8 Re7xg7
00:02 68292 (0) 6 10.02 Qd2-d6 Kb8-a7 c5xb6 Ka7xb6 Qd6-d4 c6-c5 Qd4-d6 Kb6-a7 Qd
6xc5 Ka7-b8 Re7xg7
00:07 195531 (0) 7 10.02 Qd2-d6 Kb8-a7 c5xb6 Ka7xb6 Qd6-d4 c6-c5 Qd4-d6 Kb6-a7 Q
d6xc5 Ka7-b8 Re7xg7 Ra8-a4 Qc5xf8 Ra4xc4 Rg7xh7
00:21 500719 (0) 8 11.26 Qd2-d6 Kb8-a7 Qd6xc6 b6-b5 Bc4-e6 Rf8-f6 Qc6-b6 Ka7-b8
Qb6-c7 Kb8-a7 Be6xc8 Rf6xf2 Qc7xb7
01:08 1591667 (0) 9 15.58 Qd2-d6 Kb8-a7 Qd6xc6 Rf8-d8 Kd1-c1 Na1-b3 Bc4xb3 Rd8-d
4 Re7xg7 Rd4-g4 Qc6xb6 Ka7-b8 Rg7xh7 Rg4xg2
state
State check of all 1 processors:
go=true ttl=1653231 abrtd=0 q=0 nre=0 rms=15583 local=727518
Locks: queue=0 nprctat=0 blocks=0 hash (t,e,b,p)=0,0,0,0 root=0
Px dp_rl dp_q dp_mm abort mmlock mnr DBG wfm wfs
0 38 2 37 0 false 8 -1 false false
Deepest lines seen:
d2d6 b8a7 c5b6 a7b6 d6d4 c6c5 d4d6 b6a7 d1d2 f8f2 d2c1 f2g2 d6c5 a7b8 c5c7 b8a7
c7a5 a7b8 a5e5 b8a7 e5e3 a7b8 e3f4 b8a7 f4d4 a7b8 d4d6 b8a7 d6a6 a7b8 e7b7 c8b7
a6b7 b8b7 c4d5 b7a7 d5g2
Current Line:
d2d6 b8a7 c4b5 null d6c7 c6b5 c7b7 c8b7
01:38 2392111 (0) 10 17.28 Qd2-d6 Kb8-a7 Qd6xc6 Rf8-d8 Kd1-c1 b6xc5 Qc6xc5 Ka7-b
8 Qc5-c7 Kb8-a7 Qc7-a5 Ka7-b8 Qa5xd8 Na1-b3 Bc4xb3
state
State check of all 1 processors:
go=true ttl=2524487 abrtd=0 q=0 nre=0 rms=17285 local=103509
Locks: queue=0 nprctat=0 blocks=0 hash (t,e,b,p)=0,0,0,0 root=0
Px dp_rl dp_q dp_mm abort mmlock mnr DBG wfm wfs
0 38 2 37 0 false 13 -1 false false
Deepest lines seen:
d2d6 b8a7 c5b6 a7b6 d6d4 c6c5 d4d6 b6a7 d1d2 f8f2 d2c1 f2g2 d6c5 a7b8 c5c7 b8a7
c7a5 a7b8 a5e5 b8a7 e5e3 a7b8 e3f4 b8a7 f4d4 a7b8 d4d6 b8a7 d6a6 a7b8 e7b7 c8b7
a6b7 b8b7 c4d5 b7a7 d5g2
Current Line:
d2d6 b8a7 d6c6 f8d8 d1c1 a1b3 c4b3 d8d3 c6b6 a7b8 b3e6 a8a4 e6c8
quit
c:\diep>
So after doing a few in between checks deepest search diep gets is a line
of 37 moves (dp_mm) score 17.285 (rms = root move score) pawns up.
>My ideas so far are:
>
>1) Cut-off after a given depth.
This is silly.
>2) Store the path of the king and only allows the search to continue if the king
>moves to a new square.
>3) Only allow one occurrence of attack-square and king-square.
>4) Only allow the search to continue if there have been captures in the last 'n'
>moves.
It might work with a lot of extra positoin based information. So far that
didn't convince me however to turn the extension on.
>5) Combination of 1 and 4.
>Remember that these heuristics would only be relevant for the 'one reply to
>check' heuristic.
>I haven't yet tries all of the above ideas but the classic position that would
>be spoilt by most of them is the 'mate in 30':
>
>5n2/B3K3/2p2Np1/4k3/7P/3bN1P1/2Prn1P1/1q6 w - - 0 1
>
>Hmmm - any ideas? Has anyone managed to tame the extension? What do others do?
>
>All help, comments and suggestions appreciated!
Well it seems that you're also experiencing what a waste of nodes extensions
are.
>Steve Maughan
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.