No, you have less.metax wrote: In ChessMind, I have even more conditions:
Please go to check definition of ok_to_prune() you will see there is an whole bunch of conditions there and among them the history counters.
Moderator: Ras
No, you have less.metax wrote: In ChessMind, I have even more conditions:
And in top of these there are conditions that needs to be fulfilled before Stockfish even considers history pruning:mcostalba wrote: No, you have less.
Please go to check definition of ok_to_prune() you will see there is an whole bunch of conditions there and among them the history counters.
Code: Select all
if ( useFutilityPruning
&& !dangerous
&& !moveIsCapture
&& !move_is_promotion(move))
{
// History pruning. See ok_to_prune() definition
if ( moveCount >= 2 + int(depth)
&& ok_to_prune(pos, move, ss[ply].threatMove, depth))
continue;
Code: Select all
/// History::ok_to_prune() decides whether a move has been sufficiently
/// unsuccessful that it makes sense to prune it entirely.
bool History::ok_to_prune(Piece p, Square to, Depth d) const {
assert(piece_is_ok(p));
assert(square_is_ok(to));
return (int(d) * successCount[p][to] < failureCount[p][to]);
}
The only condition I do not have (except for the history condition) is the promotion condition, which seems to be not very problematic in this case (I will add that, too).Tord Romstad wrote:I don't think it's really necessary. Just run enough tests to make sure you don't prune too many (or too few) moves. By the way, Marco's explanation was a little simplified: The ok_to_prune() function tests for several other conditions in addition to history counters before it decides whether a move can be safely pruned. Look at the code for details; it is reasonably well commented and should be easy to read.Then I should implement history heuristic anyway to make this pruning possible?
No, not History::ok_to_prune(), if you see the ok_to_prune() call in the pruning condition it refers to a free function not to a member function. IOW see for ok_to_prune() function at the end of search.cppmetax wrote: I only see the history condition, but