pub struct BeliefGraph {
pub hypotheses: HashMap<NodeId, Hypothesis>,
pub experiments: HashMap<NodeId, ExperimentNode>,
pub observations: HashMap<NodeId, Observation>,
pub claims: HashMap<NodeId, Claim>,
}Expand description
The typed belief graph.
Fields§
§hypotheses: HashMap<NodeId, Hypothesis>§experiments: HashMap<NodeId, ExperimentNode>§observations: HashMap<NodeId, Observation>§claims: HashMap<NodeId, Claim>Implementations§
Source§impl BeliefGraph
impl BeliefGraph
pub fn new() -> Self
Sourcepub fn add_hypothesis(&mut self, h: Hypothesis)
pub fn add_hypothesis(&mut self, h: Hypothesis)
Add a hypothesis to the graph.
Sourcepub fn record_experiment(
&mut self,
experiment_id: impl Into<String>,
hypothesis_id: &str,
config_hash: u64,
verdict: ExperimentVerdict,
weight: f64,
)
pub fn record_experiment( &mut self, experiment_id: impl Into<String>, hypothesis_id: &str, config_hash: u64, verdict: ExperimentVerdict, weight: f64, )
Record an experiment result against a hypothesis and update confidence.
Sourcepub fn add_observation(
&mut self,
id: impl Into<String>,
experiment_id: impl Into<String>,
metric: impl Into<String>,
value: f64,
unit: impl Into<String>,
)
pub fn add_observation( &mut self, id: impl Into<String>, experiment_id: impl Into<String>, metric: impl Into<String>, value: f64, unit: impl Into<String>, )
Add an observation linked to an experiment.
Sourcepub fn add_claim(
&mut self,
id: impl Into<String>,
statement: impl Into<String>,
supported_by: Vec<NodeId>,
)
pub fn add_claim( &mut self, id: impl Into<String>, statement: impl Into<String>, supported_by: Vec<NodeId>, )
Add a claim supported by observations.
Sourcepub fn active_hypotheses(&self) -> Vec<&Hypothesis>
pub fn active_hypotheses(&self) -> Vec<&Hypothesis>
Get all active hypotheses sorted by confidence (descending).
Sourcepub fn next_to_test(&self) -> Option<&Hypothesis>
pub fn next_to_test(&self) -> Option<&Hypothesis>
Get the next hypothesis to test (highest confidence uncertainty).
Trait Implementations§
Source§impl Clone for BeliefGraph
impl Clone for BeliefGraph
Source§fn clone(&self) -> BeliefGraph
fn clone(&self) -> BeliefGraph
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BeliefGraph
impl Debug for BeliefGraph
Source§impl Default for BeliefGraph
impl Default for BeliefGraph
Source§fn default() -> BeliefGraph
fn default() -> BeliefGraph
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for BeliefGraph
impl<'de> Deserialize<'de> for BeliefGraph
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for BeliefGraph
impl RefUnwindSafe for BeliefGraph
impl Send for BeliefGraph
impl Sync for BeliefGraph
impl Unpin for BeliefGraph
impl UnsafeUnpin for BeliefGraph
impl UnwindSafe for BeliefGraph
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.