Author: Rick Bischoff
Date: 09:13:33 08/29/04
Hello, I think I am missing some core piece of knoweldge here-- Let me explain the situation. Let HASH_BAD = INFINITY = 16384 Let MATE = 8000 Stack Trace: 0: call alphabeta(depth = 8, -HASH_BAD, HASH_BAD) 1: alphabeta makes some move "m" 2: alphabeta(depth = 7, -HASH_BAD, HASH_BAD) makes the null move 2: alphabeta(depth = 4, -HASH_BAD, -HASH_BAD + 1) 3: alphabeta continues drilling down the left most path of the tree.. so we eventually reach... x: alphabeta(depth = 0, -HASH_BAD, -HASH_BAD + 1) calls quiescent(-HASH_BAD, -HASH_BAD+1) Now quiescent does a static evaluation, finds that it is better than beta=-HASH_BAD+1 (how could it not be!) and returns beta... So we return to frame "x" of the stack trace and it stores -HASH_BAD+1 into the hash table. I assume this is a bad thing-- I have some debugging flags set so that the program halts if i try to store a value outside of (-MATE, MATE). What I am doing wrong?
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.