Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Measuring NPS...

Author: Sune Fischer

Date: 13:15:03 11/18/02

Go up one level in this thread


On November 18, 2002 at 13:23:01, Robert Hyatt wrote:
>>Not necessarily. I do that, but before calling qsearch I get the chance to check
>>for draw, see if there is a hash or egtb table hit or if I should do some
>>further extensions (ie. this way I don't enter qsearch when in check!). I don't
>>do any of this in qsearch.
>
>I don't enter quiesce() if in check either, however I also avoid tacking on the
>procedure call overhead.  If you want to do all that, just move it down in your
>search code to just before you call quiesce.  You get the _same_ effect, without
>an extra procedure call thrown in.
>

Well, like I said I do more than that, but the main reason why I decided on
accepeting this "overhead", was so that I wouldn't have the same segment of code
repeated 7-8 times as in Crafty. I believe it is easier to maintain the
following simple structure:

search() {
 check_draw();
 check_egtb();
 do_extensions_pruning();
 probe_hash();
 if (depth<=0)
  return qsearch();

 genmoves();
 while (moves) {
  makemoves()
  searchmoves();
 ..
 }
}

I keep of course a list of moves made, so I can backward futility prune with no
problem, alpha is just -beta and beta is -alpha.

-S.



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.