From bc173f34f0d4f4129f8edc91dc3bd43b1cadf0c6 Mon Sep 17 00:00:00 2001 From: Bruno Mendes Date: Wed, 1 May 2024 21:19:55 +0100 Subject: [PATCH] Remove IID --- src/search/pvs.rs | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/src/search/pvs.rs b/src/search/pvs.rs index 18ea43be..91624f8d 100644 --- a/src/search/pvs.rs +++ b/src/search/pvs.rs @@ -150,7 +150,6 @@ fn pvs( // Position and node type considerations. let is_check = position.is_check(); let may_be_zug = may_be_zugzwang(position); - let is_pv = alpha != beta - 1; // Null move pruning: if we "pass" our turn and still get a beta cutoff, // this position is far too good to be true. @@ -184,23 +183,6 @@ fn pvs( } } - // Internal iterative deepening: get a hash move from a reduced search. - // This is useless in most cases, but can be very useful in some - // where standard move ordering fails to be decent. - if is_pv && !is_check && !ROOT && depth >= 4 && table.get_hash_move(position).is_none() { - let (_, iid_count) = pvs::( - position, - depth.saturating_sub(2), - alpha, - beta, - table.clone(), - constraint, - history, - ply, - ); - count += iid_count; - } - // Prepare move generation and sorting. This is lazy and works in stages. let mut picker = MovePicker::::new(position, table.clone(), ply, ROOT && !MAIN_THREAD).peekable();