示例#1
0
        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());
        }
示例#2
0
        private void QueryPosterior()
        {
            TwoCoinsModel();
            var marginal = Csoft.Infer <Bernoulli>(BothHeads).GetProbTrue();

            Assert.Equal(0.25, marginal);
        }
示例#3
0
        private void QueryWithObservation()
        {
            TwoCoinsModel();
            Csoft.Observe(BothHeads, false);
            var marginal = Csoft.Infer <Bernoulli>(FirstCoinHeads).GetProbTrue();

            Assert.Equal(1 / 3.0, marginal);
        }
示例#4
0
 public virtual Bernoulli QueryPosterior(bool firstCoinHeads)
 {
     TwoCoinsModel(firstCoinHeads);
     return(Csoft.Infer <Bernoulli>(BothHeads));
 }
示例#5
0
 public void ExecuteQueryTest()
 {
     Csoft.ExecuteQuery(InferenceEngine.DefaultEngine, QueryPosterior);
     Csoft.ExecuteQuery(InferenceEngine.DefaultEngine, QueryWithObservation);
 }