Computer Chess Club Archives


Search

Terms

Messages

Subject: Was: AlphaBeta has a bug

Author: Daniel Clausen

Date: 13:19:55 08/31/99


Hi

I don't have question/comment to the original question but to an answer
Mr. Hyatt posted. He said that the typical q-search looks like this:


int Quiesce(alpha,beta) {
  val=Evaluate();
  if (val > beta) return(val);
* alpha=val;
  foreach move in(move_list) {
     MakeMove();
     val=-Quiesce(-beta,-alpha);
     if (val > alpha) {
       if (val > beta) return(val);
       alpha=val;
     }
  }
  return(alpha);
}


My question: Why initialize alpha to val in the marked line above?
If I do that with my chess program it visits more q-nodes.

I use "if(val>alpha) alpha = val;". Did I miss something?

cu,
 -sargon



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.