Trait alcibiades::Qsearch
[−]
[src]
pub trait Qsearch: SetOption + Send { type MoveGenerator: MoveGenerator; type QsearchResult: QsearchResult; fn qsearch(params: QsearchParams<Self::MoveGenerator>)
-> Self::QsearchResult; }
A trait for performing quiescence searches.
Quiescence search is a restricted search which considers only a
limited set of moves (for example: winning captures, pawn
promotions to queen, check evasions). The goal is to statically
evaluate only "quiet" positions (positions where there are no
winning tactical moves to be made). Although this search can
cheaply and correctly resolve many simple tactical issues, it is
completely blind to the more complex ones. To implement your own
quiescence search routine, you must define a type that implements
the Qsearch
trait.
Associated Types
type MoveGenerator: MoveGenerator
The type of move generator that the implementation works with.
type QsearchResult: QsearchResult
The type of result object that the search produces.
Required Methods
fn qsearch(params: QsearchParams<Self::MoveGenerator>) -> Self::QsearchResult
Performs a quiescence search and returns a result object.
Implementors
impl<T: MoveGenerator> Qsearch for StdQsearch<T>