Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Is this a correct fail-soft?

Author: Dieter Buerssner

Date: 15:21:11 09/21/03

Go up one level in this thread


On September 21, 2003 at 09:15:06, Mikael Bäckman wrote:

Did you test exactly this code?

>int evaluate(wtm)
>{
>	return wtm ? matscore : -matscore;
>}
>
>int qSearch(int wtm, int alpha, int beta)
>{
>	score = evaluate(wtm);
>	if (score > alpha) {
>		if (score >= beta) return score;
>		alpha = score;
>	}
>
>	pLast = genAllCapMoves(wtm, pFirst);

Is your move generator (here in qsearch, and also further down in AlphaBeta a
legal move generator? It seems so (or you have a very severe bug), because you
don't check for the side to move to be in check.

>	nLegal = 0;

nlegal is not declared here. Did you forget it while posting, or is it a global
var? If it is a global var, this cannot work. You will reset nlegal of the
caller of this function.

Regards,
Dieter



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.