Struct alcibiades::stock::StdSearchExecutor [] [src]

pub struct StdSearchExecutor<T: HashTable, N: SearchNode> { /* fields omitted */ }

Implements the SearchExecutor trait.

Executes alpha-beta searches with null move pruning and late move reductions.

The alpha-beta algorithm is an enhancement to the minimax search algorithm. It maintains two values, alpha and beta. They represent the minimum score that the maximizing player is assured of (lower bound) and the maximum score that the minimizing player is assured of (upper bound) respectively.

Null move pruning is a method to reduce the search space by trying a "null" or "passing" move, then seeing if the score of the subtree search is still high enough to cause a beta cutoff. Nodes are saved by reducing the depth of the subtree under the null move.

Late move reductions save search space by reducing the search depth for moves that are ordered closer to the end (likely fail-low nodes).

Important note: StdSearchExecutor ignores the searchmoves search parameter. It always analyses all legal moves in the root position.

Trait Implementations

impl<T, N> SearchExecutor for StdSearchExecutor<T, N> where T: HashTable + 'static,
        N: SearchNode + 'static
[src]

The type of transposition (hash) table that the implementation works with. Read more

The type of search node that the implementation works with.

The type of auxiliary data that search progress reports carry.

Creates a new instance.

Starts a new search. Read more

Attempts to return a search progress report without blocking.

Waits until a search progress report is available, timing out after a specified duration or earlier. Read more

Requests the termination of the current search. Read more

impl<T: HashTable, N: SearchNode> SetOption for StdSearchExecutor<T, N>
[src]

Returns a list of supported configuration options (name and description). Read more

Sets a new value for a given configuration option. Read more

impl<T: HashTable, N: SearchNode> Drop for StdSearchExecutor<T, N>
[src]

A method called when the value goes out of scope. Read more