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

A number identifying the search.

The root position for the search.

The requested search depth.

Should be between 0 and DEPTH_MAX.

The lower bound for the search.

Should be no lesser than VALUE_MIN.

The upper bound for the search.

Should be greater than lower_bound, but no greater than VALUE_MAX.

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]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more