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.