Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Correct values if all moves are pruned?

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.