Author: Miguel A. Ballicora
Date: 13:24:52 01/05/01
Go up one level in this thread
On January 05, 2001 at 16:02:22, Jon Dart wrote: >On January 05, 2001 at 15:21:18, Severi Salminen wrote: > >>Hi! >> >>1.If I prune a move in normal search: if(material+gain(move)+FMARGIN<=alpha) >>what should I assign to the best score so far? Material+gain, material+FMARGIN, >>material+gain+FMARGIN or material only? Now I'm using material+FMARGIN but it >>can't be right. Material+gain sounds right because that would be returned from >>qsearch if stand pat fails high? >> > >I'm having a little trouble understanding this. > >Anything that's forward-pruned can't affect the score. If you don't >search it doesn't have a score. Plus the reason you're not searching it >is because you believe it can't return a value > alpha, which is >the only way it could affect the score or the best move. In that case, the "current_score" (best score so far) is not changed. A move is associated after a search(depth-1) with a "returned_score" and if that one is > alpha then current_score = returned_score; I think what Severi meant to ask was what happen when all the moves are pruned. It is like no moves were examined or no moves were legal. Then, current_score was never assigned a value, so... what value should be used to return at the end of search()? Well, it should be the default value that it is assigned to "current score" before looping through all the moves. Unless there are no legal moves (there should be an evaluation here to see if there is stalemate or checkmate) alpha should be correct in any case, because alpha means "I do not know the value but I assumed that it should be <= than alpha" which is exactly what it was tested. Is that correct? Miguel
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.