AIMA.Probability.Bayes.Exact.EliminationAsk.sumOut C# (CSharp) Méthode

sumOut() private méthode

private sumOut ( RandomVariable var, List factors, BayesianNetwork bn ) : List
var RandomVariable
factors List
bn BayesianNetwork
Résultat List
        private List<Factor> sumOut(RandomVariable var, List<Factor> factors,
                                    BayesianNetwork bn)
        {
            List<Factor> summedOutFactors = new List<Factor>();
            List<Factor> toMultiply = new List<Factor>();
            foreach (Factor f in factors)
            {
                if (f.contains(var))
                {
                    toMultiply.Add(f);
                }
                else
                {
                    // This factor does not contain the variable
                    // so no need to sum out - see AIMA3e pg. 527.
                    summedOutFactors.Add(f);
                }
            }

            summedOutFactors.Add(pointwiseProduct(toMultiply).sumOut(var));

            return summedOutFactors;
        }