Beispiel #1
0
        /// <summary>
        /// Function call to update the learner model based on the current probabilities of the observed nodes.
        /// </summary>
        public void UpdateLearnerModel()
        {
            learnerModel =
                from similarAddition in similarAdditionDist
                from similarSubtraction in similarSubtractionDist
                from similar in ProbBase.BernoulliF(similarProb(similarAddition, similarSubtraction))
                from equivalentAddition in equivalentAdditionDist
                from equivalentSubtraction in equivalentSubtractionDist
                from equivalent in ProbBase.BernoulliF(equivalentProb(equivalentAddition, equivalentSubtraction, similar))
                from dissimilarAddition in dissimilarAdditionDist
                from dissimilarSubtraction in dissimilarSubtractionDist
                from dissimilar in ProbBase.BernoulliF(dissimilarProb(dissimilarAddition, dissimilarSubtraction, equivalent))
                select new LearnerModel(similar, equivalent, dissimilar);

            Infer(LearnerModel.Node.Similar);
            Infer(LearnerModel.Node.Equivalent);
            Infer(LearnerModel.Node.Dissimilar);
        }
Beispiel #2
0
 public static Prob GetProb(FiniteDist <bool> variable)
 {
     return(variable.ProbOf(e => e == true));
 }
Beispiel #3
0
 /// <summary>
 /// Function call to update the observed nodes for operations on dissimilar fractions with its respective rates.
 /// </summary>
 public void UpdateDissimilarProbability()
 {
     dissimilarAdditionDist    = ProbBase.BernoulliF(ProbBase.Prob(fbDissimilarAddition));
     dissimilarSubtractionDist = ProbBase.BernoulliF(ProbBase.Prob(fbDissimilarSubtraction));
 }
Beispiel #4
0
 /// <summary>
 /// Function call to update the observed nodes for operations on equivalent fractions with its respective rates.
 /// </summary>
 public void UpdateEquivalentProbability()
 {
     equivalentAdditionDist    = ProbBase.BernoulliF(ProbBase.Prob(fbEquivalentAddition));
     equivalentSubtractionDist = ProbBase.BernoulliF(ProbBase.Prob(fbEquivalentSubtraction));
 }