Author: Robert Hyatt
Date: 06:36:38 04/01/00
Go up one level in this thread
On April 01, 2000 at 02:10:30, TEERAPONG TOVIRAT wrote:
>Hi,
>
>In the quiescence(),I noticed that most programs generate
>only the captured move then evaluate and return.
>Suppose a position at depth==0,quiescence() is called
>and white to move,there is only one captured move QxP
>which is stupid sacrifice and answered by PxQ then
>no more captured move found. So,the evaluation() return
>a very bad score for white which is not correct because
>QxP is generally not a forcing move and should be avoid
>if possible. Do u agree?
>Thanks in advance.
>
>Teerapong
No... and here is why:
the bit of code looks like this:
alpha=evaluate();
for each move {
MakeMove()
v=-quiesce(-beta,-alpha);
if (v > alpha) {
if (v >= beta) return beta;
alpha=v;
}
UnMakeMove();
}
the idea is that you return _either_ the best capture (because it wins material
or improves your position) or else you return the static evaluation before any
capture, which means you choose to "stand pat" and not play a capture here.
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.