pub struct ProbeRunner<'a> {
pub term: &'a SaeManifoldTerm,
pub metric: &'a RowMetric,
}Expand description
The closed-loop probe runner over one fitted SAE-manifold term and its per-row output-Fisher metric.
Fields§
§term: &'a SaeManifoldTermThe fitted term whose atoms the probes steer (read only).
metric: &'a RowMetricThe per-row output-Fisher inner product the dose is measured through.
Implementations§
Source§impl<'a> ProbeRunner<'a>
impl<'a> ProbeRunner<'a>
Sourcepub fn design_next(
&self,
ledger: &StructureLedger,
) -> Result<RealizedProbe, String>
pub fn design_next( &self, ledger: &StructureLedger, ) -> Result<RealizedProbe, String>
Design the next probe for the most contested claim in ledger.
Picks the contested claim with the LEAST evidence (the one furthest from
the 1/α Ville threshold — the most in need of interrogation), reads the
atom it concerns, and builds candidate steering moves along that atom’s
latent axes from its fitted representative coordinate. Each candidate is
realized through steer_delta so its actual output-Fisher dose is
known; the candidates are handed to plan_probe_for_contested_claim,
which selects the most discriminating one and converts the claim’s
current evidence into a remaining budget. The selected candidate’s
already-computed SteerPlan rides back in the result.
Sourcepub fn absorb(
&self,
ledger: &mut StructureLedger,
probe: &RealizedProbe,
realized_nats: f64,
)
pub fn absorb( &self, ledger: &mut StructureLedger, probe: &RealizedProbe, realized_nats: f64, )
Absorb a realized probe outcome, updating the ledger’s evidence for the probe’s claim.
realized_nats is the dose the probe actually delivered when run (the
observed output-Fisher KL of the steered response). Under the local
Gaussian output model the alternative-vs-null log-likelihood ratio of one
such observation is exactly that dose, so it routes straight into the
claim’s e-process through StructureLedger::absorb_probe_outcome as
log(alt) − log(null) = realized_nats − 0. The contract its docstring
requires — both hypotheses’ densities frozen before the outcome — holds
here: the steering plan (and thus both predictions) was fixed at design
time, before any outcome existed.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for ProbeRunner<'a>
impl<'a> !UnwindSafe for ProbeRunner<'a>
impl<'a> Freeze for ProbeRunner<'a>
impl<'a> Send for ProbeRunner<'a>
impl<'a> Sync for ProbeRunner<'a>
impl<'a> Unpin for ProbeRunner<'a>
impl<'a> UnsafeUnpin for ProbeRunner<'a>
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> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.