Struct minimax::strategies::iterative::IterativeOptions
source · pub struct IterativeOptions {
pub table_byte_size: usize,
pub verbose: bool,
/* private fields */
}
Expand description
Options to use for the iterative search engines.
Fields§
§table_byte_size: usize
§verbose: bool
Implementations§
source§impl IterativeOptions
impl IterativeOptions
sourcepub fn with_table_byte_size(self, size: usize) -> Self
pub fn with_table_byte_size(self, size: usize) -> Self
Approximately how large the transposition table should be in memory.
sourcepub fn with_replacement_strategy(self, strategy: Replacement) -> Self
pub fn with_replacement_strategy(self, strategy: Replacement) -> Self
What rules to use when choosing whether to overwrite the current value in the transposition table.
sourcepub fn with_null_window_search(self, null: bool) -> Self
pub fn with_null_window_search(self, null: bool) -> Self
Whether to add null-window searches to try to prune branches that are probably worse than those already found. Also known as principal variation search.
sourcepub fn with_null_move_depth(self, depth_reduction: u8) -> Self
pub fn with_null_move_depth(self, depth_reduction: u8) -> Self
Whether to attempt to cut off early by seeing if each node is amazing even after passing the turn to the opponent. Null move search explores the tree at a depth reduced by this amount.
sourcepub fn with_singular_extension(self) -> Self
pub fn with_singular_extension(self) -> Self
Whether to extend a branch of the search (by 1) if there is only one move (or only one reasonable move).
sourcepub fn with_aspiration_window(self, window: Evaluation) -> Self
pub fn with_aspiration_window(self, window: Evaluation) -> Self
Whether to search first in a narrow window around the previous root value on each iteration.
sourcepub fn with_mtdf(self) -> Self
pub fn with_mtdf(self) -> Self
Whether to search for the correct value in each iteration using only null-window “Tests”, with the MTD(f) algorithm. Can be more efficient if the evaluation function is coarse grained.
sourcepub fn with_double_step_increment(self) -> Self
pub fn with_double_step_increment(self) -> Self
Increment the depth by two between iterations.
sourcepub fn with_quiescence_search_depth(self, depth: u8) -> Self
pub fn with_quiescence_search_depth(self, depth: u8) -> Self
Enable quiescence
search at the leaves
of the search tree. The Evaluator must implement generate_noisy_moves
for the search to know when the state has become “quiet”.
sourcepub fn with_min_reorder_moves_depth(self, depth: u8) -> Self
pub fn with_min_reorder_moves_depth(self, depth: u8) -> Self
Enable the Evaluator’s move reordering after generating moves for all nodes at this depth or higher. Reordering can be an expensive operation, but it could cut off a lot of nodes if done well high in the search tree.
sourcepub fn with_countermoves(self) -> Self
pub fn with_countermoves(self) -> Self
Enable the countermove table, which reorders to the front moves that have worked to counter the previous move in other branches.
sourcepub fn with_countermove_history(self) -> Self
pub fn with_countermove_history(self) -> Self
Enable the countermove history table. It keeps a counter for moves that have caused beta cutoffs in other branches, and reorders moves based on this counter.
Trait Implementations§
source§impl Clone for IterativeOptions
impl Clone for IterativeOptions
source§fn clone(&self) -> IterativeOptions
fn clone(&self) -> IterativeOptions
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more