Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashing anomaly

Author: James Swafford

Date: 05:25:29 09/13/02

Go up one level in this thread


On September 13, 2002 at 01:22:57, Robert Hyatt wrote:

>On September 12, 2002 at 22:56:12, James Swafford wrote:
>
>>
>>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).
>
>
>why do this?  Why not just start searching on the move that failed high?
>you already know the score for the previous best move.  And you have
>already dismissed all the moves between that move and the fail high move
>as inferior, so why go again???   It will waste a _bunch_ of time.
>

Ok.  I knew it was redundant, but thought the search would quickly
"get up to speed".  I changed this.


>
>
>
>>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. :)
>>
>
>
>Do you adjust the hash score for mates?

Yes.  Since making the above correction (now I just start the search
with the move that failed high), the problem persists.  Notice in
iteration 2 I fail high on h6h7 (you can see from the final pv that
h6h7 is the mating move).  After restarting the search at iteration
2 with a wide open window, that move only gets -675!?  So
the search continues and a crappy move ends up in the pv after
iteration 2.

Well, I can see that's a bug - in this case I should just
keep h6f4 (score 15), but I'm still not sure how h6h7 could
fail high and then return such a bad score.


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        6     10 h6g5 g6h5
 1& ->       589        6     15 h6f4 d8e8
 1  ->      2299        6     15 h6f4 d8e8
 2& ->      3373       11     15 h6f4 d8f6 f4f6
 2& ->      6558       17    +++ h6h7
 2& ->      6598       17   -675 h6h7 h8h7 h5g6
 2& ->      9784       17    -85 c1c2 g7h6 h5g6
 2  ->     24998       33    -85 c1c2 g7h6 h5g6
 3& ->     27752       38    +++ h6f4
 3& ->     31447       44     15 h6f4 g8f8 h5h6 g7d4 c3d4
 3& ->    169700      209  59997 h6h7 h8h7 h5g6
 3  ->    278045      319  59997 h6h7 h8h7 h5g6


--
James



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.