Struct alcibiades::SearchParams
[−]
[src]
pub struct SearchParams<T: SearchNode> { pub search_id: usize, pub position: T, pub depth: Depth, pub lower_bound: Value, pub upper_bound: Value, pub searchmoves: Vec<Move>, }
Parameters describing a search.
Important note: lower_bound
and upper_bound
fields
together give the interval within which an as precise as possible
evaluation is required. If during the search is determined that
the exact evaluation is outside of this interval, the search may
return a value that is closer to the the interval bounds than the
exact evaluation, but always staying on the correct side of the
interval (i.e. "fail-soft").
Fields
search_id: usize
A number identifying the search.
position: T
The root position for the search.
depth: Depth
The requested search depth.
Should be between 0
and DEPTH_MAX
.
lower_bound: Value
The lower bound for the search.
Should be no lesser than VALUE_MIN
.
upper_bound: Value
The upper bound for the search.
Should be greater than lower_bound
, but no greater than
VALUE_MAX
.
searchmoves: Vec<Move>
Restricts the analysis to the supplied list of moves only.
All moves in the list should be legal.
The same move should not occur more than once.
If the root position is final, the supplied list of moves should be empty.
The behavior of the search is undefined if the root position
is not final, but searchmoves
is empty.
Trait Implementations
impl<T: Clone + SearchNode> Clone for SearchParams<T>
[src]
fn clone(&self) -> SearchParams<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more