Author: Robert Hyatt
Date: 19:16:22 09/01/04
Go up one level in this thread
On September 01, 2004 at 19:56:30, GeoffW wrote: >On September 01, 2004 at 18:20:20, Robert Hyatt wrote: > >>On September 01, 2004 at 00:51:47, Stuart Cracraft wrote: >> >>>I know this is a long shot throwing this out there without much more >>>info, but perhaps I'll get lucky and someone has seen this before. >>>It's appeared on this bulletin board about 6 years ago. >>> >>>[D]4r1k1/p1qr1p2/2pb1Bp1/1p5p/3P1n1R/1B3P2/PP3PK1/2Q4R w - - bm Qxf4; id >>>"WAC.141"; >>> > >This was an interesting post as I have just been adding mate threat extensions >to my program and fixing a bug or several at the same time. > >One of the things I noticed that was a little puzzling was the +2 > >if (value == -MATE + ply + 2) > mate_threat = 1; > >For my program it needs to be +1 to make this work correctly. I discussed this >with Ross (Trace) and it was +1 for him too, yet for Stuart and Crafty that >needs to be +2, still havent explained that one ? OK. we search a move at ply=1, a move at ply=2, and a move at ply=3. When we get to ply=4 I try a null-move. I go to ply=5 and try a move that just happens to mate my opponent. But I don't notice here. I then advance to ply=6 and try all moves and discover there are no legal moves. The side to move is in check, with no legal moves, which is checkmate. I return MATE-6 to ply=5 which is happy with that. Ply=5 returns MATE-6 to ply=4 where I do the test. At ply=4 now that test becomes (remember value = -(MATE-6) here due to negamax and at the moment ply=4) if (value == -MATE + ply + 2) if (-(MATE-6) == -MATE +4 +2) mate_threat = 1; if (-MATE+6 == -MATE+6) and that is true. > >The thing I cant decide now is have I implemented this correctly without a bug ? >From my results it seems that it could be correct, but the search explosion is >very bad at deeper ply (compared to Bobs quoted figures ) >Maybe the threat extension code is OK, but just highlighting my poor move >ordering ? > >Any thoughts would be appreciated > >here are my results > > >check extensions, but no mate threat extensions > >Ply Eval Time Nodes Principle Variation > 9 -151 606 5753869 g2f1 e8c8 c1b1 f4d5 h1g1 d6f4 b3d5 d7d5 f1e1 >10+ -106 1456 14387871 g2f1 >10+ 194 2910 29451052 g2f1 g8f8 h4h5 g6h5 h1h5 e8e1 f1e1 f4h5 c1h6 f8e8 >h6h8 d6f8 h8h5 f8b4 e1d1 >10 9989 4514 49522394 c1f4 d6f4 h4h5 g6h5 h1h5 f4h6 h5h6 c7h2 h6h2 g8f8 >h2h8 > >Computer's move: c1f4 > > >check extensions, and mate threat extensions > 6 -210 10 106899 g2f1 a7a5 f6e5 f4d3 c1g5 d3e5 d4e5 d6e5 g5g6 > 7 -203 48 462385 g2f1 e8e2 c1b1 d6e7 h4f4 c7f4 f1e2 f4f6 > 8+ -158 214 2114011 g2f1 e8e2 c1b1 e2d2 f6g5 d2d4 g5f4 d6f4 b1g6 > 8+ 142 237 2343262 c1f4 > 8 94 290 2904048 c1f4 e8e6 h4h5 g6h5 f4g5 g8f8 b3e6 f7e6 g5h5 > 9+ 139 337 3307392 c1f4 > 9+ 439 521 5024678 c1f4 > 9 462 810 7874059 c1f4 e8e6 f4g5 d6e7 b3e6 e7f6 g5g6 f6g7 e6b3 a7a5 >g6h5 d7d4 h4d4 g7d4 >10+ 507 1128 10950029 c1f4 >10+ 807 1945 19089764 c1f4 >10 9989 10639 144085366 c1f4 d6f4 h4h5 g6h5 h1h5 f4h6 h5h6 c7g3 g2g3 a7a5 >h6h8 > >Computer's move: c1f4 > > 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.