pub struct BeamSearchConfig {
pub beam_width: usize,
pub max_depth: u32,
pub rollouts_per_candidate: u32,
pub random_seed: Option<u64>,
pub beam_schedule: Option<Vec<usize>>,
pub rollout_schedule: Option<Vec<u32>>,
pub time_limit_s: Option<f64>,
}Expand description
Configuration for the beam search algorithm.
Fields§
§beam_width: usizeFrontier nodes kept per depth (>= 1).
max_depth: u32Plies from root; 16 = full Quantik game. Must be 1..=16.
rollouts_per_candidate: u32Rollout budget for the default evaluator (>= 1).
random_seed: Option<u64>§beam_schedule: Option<Vec<usize>>Depth-dependent beam width: width at depth d =
beam_schedule[min(d-1, len-1)], so the last entry extends to all
deeper levels. None applies the flat beam_width everywhere.
rollout_schedule: Option<Vec<u32>>Depth-dependent rollout budget for the BUILT-IN evaluator only — a
custom evaluator keeps its plain signature and ignores this.
Semantics mirror beam_schedule.
time_limit_s: Option<f64>Optional wall-clock budget for search, in seconds. Checked between
depth levels (after each completed level), so depth 1 always
completes and a wide level can overshoot the budget — callers that
need honest numbers should measure actual elapsed time themselves.
Trait Implementations§
Source§impl Clone for BeamSearchConfig
impl Clone for BeamSearchConfig
Source§fn clone(&self) -> BeamSearchConfig
fn clone(&self) -> BeamSearchConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BeamSearchConfig
impl Debug for BeamSearchConfig
Auto Trait Implementations§
impl Freeze for BeamSearchConfig
impl RefUnwindSafe for BeamSearchConfig
impl Send for BeamSearchConfig
impl Sync for BeamSearchConfig
impl Unpin for BeamSearchConfig
impl UnsafeUnpin for BeamSearchConfig
impl UnwindSafe for BeamSearchConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more