Author: James Swafford
Date: 19:56:12 09/12/02
I'm (still) working with my hash tables, and having quite a time
with this one. I'm hoping someone can explain this behavior:
1. In iteration 1, the search returns a score of 15 for move A.
2. Naturally, the iteration 2 search begins with move A. The search
window is set to +/- 1 pawn ==> -85, 115. (Yes, that's wide,
but that's not the point. :)
3. Move A again gets a score of 15 from the depth 2 search.
The search continues, though, and root move B fails high.
Move B is a move that leads to mate in 3 (half moves), so
an extension was triggered (I don't think this is important).
4. The iteration 2 search is restarted with a wider window of
+/- infinity.
5. Move A immediately gets researched and, after one node,
gets a score of 15 (no problem so far).
6. Iteration 2 finished, and move A is the pv move. Move B,
the move that caused the fail high earlier, has a _very_
negative score of -675. And it's supposed to be mate in 3.
7. Steps 2-5 are repeated for iteration 3.
8. Move B gets a score of CHECKMATE-3 (mate in 3), and replaces
move A in the pv.
This is a hashing issue. If I clear the hash table after failing
high at the root, move B is found at iteration 2 with the proper
score of mate in 3.
I'm stumped. Can anybody offer an explanation? Search output
below if it'll help. :)
--
James
Problem 1:
r1bq2rk/pp3pbp/2p1p1pQ/7P/3P4/2PB1N2/PP3PPR/2KR4 w - - h6h7;
parsing: h6h7...done.
correct move(s): h6h7
FW Dpth Nd Cnt CSecs Score PV Line
1& -> 15 0 -570 h6g7 g8g7
1& -> 216 5 10 h6g5 g6h5
1& -> 589 5 15 h6f4 d8e8
before sort...
Move list:
h6g7(-570) h6g6(-675) h6g5(10) h6f4(15) h6e3(10) h6d2(10) h6h7(-675) h5g6(-580)
d4d5(-880) c3c4(-880) d3c4(-885) d3b5(-885) d3a6(-885) d3e2(-885) d3f1(-885)
d3c2(-885) d3b1(-885) d3e4(-885) d3f5(-885) d3g6(-775) f3e5(-875) f3g5(-885)
f3h4(-895) f3d2(-885) f3e1(-895) f3g1(-900) a2a3(-880) a2a4(-875) b2b3(-880)
b2b4(-875) g2g3(-880) g2g4(-875) h2h1(-885) h2h3(-885) h2h4(-885) c1c2(-770)
c1d2(-885) c1b1(-770) d1e1(-885) d1f1(-885) d1g1(-885) d1h1(-885) d1d2(-885)
1 -> 2299 16 15 h6f4 d8e8
2& -> 3373 16 15 h6f4 d8f6 f4f6
2& -> 6558 27 +++ h6h7
2& -> 6559 27 15 h6f4 d8f6
before sort...
Move list:
h6f4(15) h6g5(5) h6e3(10) h6d2(10) h6g7(-555) h5g6(-85) h6g6(-670) h6h7(-675)
c1c2(-85) c1b1(-85) d3g6(-1100) f3e5(-880) a2a4(-880) b2b4(-880) g2g4(-880)
d4d5(-895) c3c4(-885) a2a3(-885) b2b3(-885) g2g3(-885) d3c4(-890) d3b5(-1195)
d3a6(-1180) d3e2(-890) d3f1(-890) d3c2(-890) d3b1(-890) d3e4(-890) d3f5(-1190)
f3g5(-985) f3d2(-885) h2h1(-885) h2h3(-885) h2h4(-885) c1d2(-890) d1e1(-885)
d1f1(-885) d1g1(-885) d1h1(-885) d1d2(-885) f3h4(-985) f3e1(-900) f3g1(-905)
2 -> 26715 60 15 h6f4 d8f6
3& -> 31482 66 20 h6f4 g6h5 f4f7 g7h6
3& -> 73074 115 +++ h6h7
3& -> 73075 115 20 h6f4 g6h5
3& -> 97128 148 59997 h6h7 h8h7 h5g6
before sort...
Move list:
h6f4(20) h6e3(0) h6d2(0) h6g5(5) h5g6(-580) c1c2(-650) c1b1(-650) h6g7(-555)
h6g6(-660) h6h7(59997) f3e5(-880) a2a4(-885) b2b4(-885) g2g4(-885) c3c4(-890)
a2a3(-890) b2b3(-890) g2g3(-890) f3d2(-890) h2h1(-895) h2h3(-895) h2h4(-895)
d1e1(-895) d1f1(-895) d1g1(-895) d1h1(-890) d1d2(-885) d3c4(-895) d3e2(-895)
d3f1(-895) d3c2(-895) d3b1(-895) d3e4(-895) c1d2(-895) d4d5(-895) f3e1(-905)
f3g1(-910) f3g5(-985) f3h4(-995) d3g6(-1100) d3a6(-1180) d3f5(-1185) d3b5(-1195)
3 -> 205158 258 59997 h6h7 h8h7 h5g6
nodes -> total: 205158; nps: 79518; csecs: 258
int: 41013; frontier: 75894; quiesce: 164145
hash -> fh: 1286 (3); fl: 170 (0); ex: 22592 (55)
hash mvs played: 4837
mv ord -> fh 1st mv: 94(12822 cuts, 12147 1st mv); avg bf: 8.650
ext. -> one rep: 444; pp: 351; recap: 9114
move h6h7
CORRECT
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.