Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Crafty 19.04 SE #3 released ...(Results)

Author: Mike Byrne

Date: 20:16:43 08/08/03

Go up one level in this thread


On August 08, 2003 at 02:54:05, Ed Schröder wrote:

>On August 08, 2003 at 00:49:07, Nolan Denson wrote:
>
>>recapture extension..................0.75
>>pushpp extension.....................0.75
>>mate thrt extension..................0.75
>
>
>>start depth extension................0.50  >#1
>>lazy factor..........................2.00  >#2
>
>What is the meaning of those 2?
>
>Ed
>
>
==========================================================
#1

Crafty 19.04 has a jumpstart for extensions - code looks like this
"
value=SearchRoot(tree,root_alpha, root_beta, wtm,
                         iteration_depth*INCPLY+INCPLY/2);
"
new code makes "INCPLY/2"  a variable (like an extension)
"
value=SearchRoot(tree,root_alpha, root_beta, wtm,
                         iteration_depth*INCPLY+start_depth);"

INCPLY == 60 == 1 ply

so fractional extension arse used in increment of 1/60

============================================================
#2

19.04 has this code:
"
if (can_win==3) {
    register const int tscore=(wtm)?score:-score;
    if (tscore-lazy_eval_cutoff >= beta) return(beta);
    if (tscore+lazy_eval_cutoff <= alpha) return(alpha);
  }
  tscore=score;
  tree->evaluations++;
"
new code makes lazy_eval_cutoff a vavriable that can be set

"
f (can_win==3) {
    register const int tscore=(wtm)?score:-score;
    if (tscore-lazy_eval_cutoff*lazy/INCPLY >= beta) return(beta);
    if (tscore+lazy_eval_cutoff*lazy/INCPLY <= alpha) return(alpha);
  }
  tscore=score;
  tree->evaluations++;
"

again INCPLY=60 so a setting of lazy==60 is the same as original code

when you set lazy

lazy 1 sets lazy to 60



original code
/*
 ----------------------------------------------------------
|                                                          |
|   "extension" command allows setting the various search  |
|   extension depths to any reasonable value between 0 and |
|   1.0                                                    |
|                                                          |
 ----------------------------------------------------------
*/
  else if (OptionMatch("extensions",*args)) {
    if (OptionMatch("check",args[1])) {
      float ext=atof(args[2]);
      incheck_depth=(float) INCPLY*ext;
      if (incheck_depth < 0) incheck_depth=0;
      if (incheck_depth > INCPLY) incheck_depth=INCPLY;
    }
    if (OptionMatch("onerep",args[1])) {
      float ext=atof(args[2]);
      onerep_depth=(float) INCPLY*ext;
      if (onerep_depth < 0) onerep_depth=0;
      if (onerep_depth > INCPLY) onerep_depth=INCPLY;
    }
    if (OptionMatch("pushpp",args[1])) {
      float ext=atof(args[2]);
      pushpp_depth=(float) INCPLY*ext;
      if (pushpp_depth < 0) pushpp_depth=0;
      if (pushpp_depth > INCPLY) pushpp_depth=INCPLY;
    }
    if (OptionMatch("recapture",args[1])) {
      float ext=atof(args[2]);
      recap_depth=(float) INCPLY*ext;
      if (recap_depth < 0) recap_depth=0;
      if (recap_depth > INCPLY) recap_depth=INCPLY;
    }
    if (OptionMatch("mate",args[1])) {
      float ext=atof(args[2]);
      mate_depth=(float) INCPLY*ext;
      if (mate_depth < 0) mate_depth=0;
      if (mate_depth > INCPLY) mate_depth=INCPLY;
    }


/*code added by Byrne*/
	if (OptionMatch("start",args[1])) {
      float ext=atof(args[2]);
      start_depth=(float) INCPLY*ext;
      if (start_depth < 0) start_depth=0;
      if (start_depth > INCPLY) start_depth=INCPLY;
    }
	if (OptionMatch("lazy",args[1])) {
      float ext=atof(args[2]);
      lazy=(float) INCPLY*ext;
      if (lazy < 0) lazy=0;
      if (lazy > 5*INCPLY) lazy=5*INCPLY;
    }
/*end of code added by Byrne*/




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.