pub struct ExplorationConfig {
pub epsilon: f64,
}Expand description
Epsilon-greedy start-rung exploration: a fraction epsilon of requests start at a
uniformly-random rung so that propensities are logged and IPS/SNIPS off-policy estimates
are valid (Horvitz-Thompson 1952; SNIPS: Swaminathan & Joachims 2015). The bandit still
observes all gate verdicts — including from exploration draws — so learning is uninterrupted.
Every request under this policy records policy.propensity in the trace: the probability the
logging policy had of choosing the start rung it actually chose. Old traces (before this field
was added) serialize byte-identically (propensity is omitted when None).
Absent (default) → deterministic policy — no exploration, no propensity recorded, byte-identical to today.
Fields§
§epsilon: f64Fraction of requests routed to a uniformly-random start rung instead of the greedy
choice. Must be finite and in (0, 0.5]; validated by Config::parse.
A small epsilon (0.05–0.1) is usually enough: it keeps learning alive and makes
IPS/SNIPS estimates valid at low cost in exploration waste.
Trait Implementations§
Source§impl Clone for ExplorationConfig
impl Clone for ExplorationConfig
Source§fn clone(&self) -> ExplorationConfig
fn clone(&self) -> ExplorationConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more