public void ExecuteQueryTest() { var compiled = Csoft.GenerateSubclass <TwoCoinsQueryTests2>(InferenceEngine.DefaultEngine); Assert.Equal(0.5, compiled.QueryPosterior(true).GetProbTrue()); Assert.Equal(0.0, compiled.QueryPosterior(false).GetProbTrue()); }
private void QueryPosterior() { TwoCoinsModel(); var marginal = Csoft.Infer <Bernoulli>(BothHeads).GetProbTrue(); Assert.Equal(0.25, marginal); }
private void QueryWithObservation() { TwoCoinsModel(); Csoft.Observe(BothHeads, false); var marginal = Csoft.Infer <Bernoulli>(FirstCoinHeads).GetProbTrue(); Assert.Equal(1 / 3.0, marginal); }
public virtual Bernoulli QueryPosterior(bool firstCoinHeads) { TwoCoinsModel(firstCoinHeads); return(Csoft.Infer <Bernoulli>(BothHeads)); }
public void ExecuteQueryTest() { Csoft.ExecuteQuery(InferenceEngine.DefaultEngine, QueryPosterior); Csoft.ExecuteQuery(InferenceEngine.DefaultEngine, QueryWithObservation); }