crafty options

Archive of the old Parsimony forum. Some messages couldn't be restored. Limitations: Search for authors does not work, Parsimony specific formats do not work, threaded view does not work properly. Posting is disabled.

crafty options

Postby Bruce Fox » 08 Jun 2004, 17:44

Geschrieben von:/Posted by: Bruce Fox at 08. June 2004 18:44:

Can someone please explain to me this Crafty option...
"selective "
I know this is for null moves, but what the heck is that?
And what would be the best setting for this option.
Bruce Fox
 

Re: crafty options

Postby Dann Corbit » 09 Jun 2004, 02:51

Geschrieben von:/Posted by: Dann Corbit at 09 June 2004 03:51:41:
Als Antwort auf:/In reply to: crafty options geschrieben von:/posted by: Bruce Fox at 08. June 2004 18:44:
Can someone please explain to me this Crafty option...
"selective "
I know this is for null moves, but what the heck is that?
And what would be the best setting for this option.
It's a guess that if a move is worse than doing nothing at all, it is not worth searching as deeply as your original search plan. So, if you were going to search 7 plies and you see that a move gets a null move cutoff, then you only search "7-null_reduction" plies instead of 7 plies.
The standard values will be somewhere close to optimal. But feel free to experiment and report your findings. The code that eats the command "selective":
/*
************************************************************
* *
* "selective" command sets the mininum and maximum null- *
* move search depths (default=2 and 3 respectively). *
* *
************************************************************
*/
else if (OptionMatch("selective", *args)) {
if (nargs < 3) {
Print(128, "usage: selective min max\n");
} else {
null_min = (atoi(args[1]) + 1) * INCPLY;
null_max = (atoi(args[2]) + 1) * INCPLY;
if (null_min == INCPLY)
null_min = 0;
if (null_max == INCPLY)
null_max = 0;
}
if (null_min + null_max)
Print(128, "null depth set to %d/%d (min/max)\n", null_min / INCPLY - 1,
null_max / INCPLY - 1);
else
Print(128, "null move disabled.\n");
}



my ftp site {remove http:// unless you like error messages}
Dann Corbit
 

Re: crafty options

Postby Robert Allgeuer » 09 Jun 2004, 07:56

Geschrieben von:/Posted by: Robert Allgeuer at 09 June 2004 08:56:26:
Als Antwort auf:/In reply to: Re: crafty options geschrieben von:/posted by: Dann Corbit at 09 June 2004 03:51:41:
Can someone please explain to me this Crafty option...
"selective "
I know this is for null moves, but what the heck is that?
And what would be the best setting for this option.
It's a guess that if a move is worse than doing nothing at all, it is not worth searching as deeply as your original search plan. So, if you were going to search 7 plies and you see that a move gets a null move cutoff, then you only search "7-null_reduction" plies instead of 7 plies.
The standard values will be somewhere close to optimal. But feel free to experiment and report your findings. The code that eats the command "selective":
/*
************************************************************
* *
* "selective" command sets the mininum and maximum null- *
* move search depths (default=2 and 3 respectively). *
* *
************************************************************
*/
else if (OptionMatch("selective", *args)) {
if (nargs < 3) {
Print(128, "usage: selective min max\n");
} else {
null_min = (atoi(args[1]) + 1) * INCPLY;
null_max = (atoi(args[2]) + 1) * INCPLY;
if (null_min == INCPLY)
null_min = 0;
if (null_max == INCPLY)
null_max = 0;
}
if (null_min + null_max)
Print(128, "null depth set to %d/%d (min/max)\n", null_min / INCPLY - 1,
null_max / INCPLY - 1);
else
Print(128, "null move disabled.\n");
}

What do min and max mean in this context?
Thanks
Robert



YABRL (Yet Another Blitz Rating List)
Robert Allgeuer
 

Re: crafty options

Postby Dann Corbit » 09 Jun 2004, 23:37

Geschrieben von:/Posted by: Dann Corbit at 10 June 2004 00:37:04:
Als Antwort auf:/In reply to: Re: crafty options geschrieben von:/posted by: Robert Allgeuer at 09 June 2004 08:56:26:
Can someone please explain to me this Crafty option...
"selective "
I know this is for null moves, but what the heck is that?
And what would be the best setting for this option.
It's a guess that if a move is worse than doing nothing at all, it is not worth searching as deeply as your original search plan. So, if you were going to search 7 plies and you see that a move gets a null move cutoff, then you only search "7-null_reduction" plies instead of 7 plies.
The standard values will be somewhere close to optimal. But feel free to experiment and report your findings. The code that eats the command "selective":
/*
************************************************************
* *
* "selective" command sets the mininum and maximum null- *
* move search depths (default=2 and 3 respectively). *
* *
************************************************************
*/
else if (OptionMatch("selective", *args)) {
if (nargs < 3) {
Print(128, "usage: selective min max\n");
} else {
null_min = (atoi(args[1]) + 1) * INCPLY;
null_max = (atoi(args[2]) + 1) * INCPLY;
if (null_min == INCPLY)
null_min = 0;
if (null_max == INCPLY)
null_max = 0;
}
if (null_min + null_max)
Print(128, "null depth set to %d/%d (min/max)\n", null_min / INCPLY - 1,
null_max / INCPLY - 1);
else
Print(128, "null move disabled.\n");
}

What do min and max mean in this context?
Here is the formula, which is related to the discoveries of Ernst Heinz:
null_depth = (depth > 6 * INCPLY && pieces > 8) ? null_max : null_min;
It means that if the search is at least 6 plies deep and we have more than 8 chess pieces on the board, we will reduce null searches by the amount null_max.
On the other hand, if we are at 6 plies or less or there are 8 chess pieces or less, then we will reduce null searches by null_min plies.
Example:
null_min = 2
null_max = 4
9 chessmen, 7 ply search, we search 7-4=3 plies if a null move test says the move is a bad idea (worse than doing nothing).
Is it clear?



my ftp site {remove http:// unless you like error messages}
Dann Corbit
 


Return to Archive (Old Parsimony Forum)

Who is online

Users browsing this forum: No registered users and 18 guests