AIMA.Probability.Util.ProbUtil.mbDistribution C# (CSharp) Метод

mbDistribution() публичный статический Метод

public static mbDistribution ( Node Xi, Object>.Map evt ) : double[]
Xi Node
evt Object>.Map
Результат double[]
        public static double[] mbDistribution(Node Xi,
                                              Map<RandomVariable, Object> evt)
        {
            FiniteDomain fd = (FiniteDomain) Xi.getRandomVariable().getDomain();
            double[] X = new double[fd.size()];

            for (int i = 0; i < fd.size(); i++)
            {
                // P(x'<sub>i</sub>|mb(Xi)) =
                // &alpha;P(x'<sub>i</sub>|parents(X<sub>i</sub>)) *
                // &prod;<sub>Y<sub>j</sub> &isin; Children(X<sub>i</sub>)</sub>
                // P(y<sub>j</sub>|parents(Y<sub>j</sub>))
                double cprob = 1.0;
                foreach (Node Yj in Xi.getChildren())
                {
                    cprob *= Yj.getCPD().getValue(
                        getEventValuesForXiGivenParents(Yj, evt));
                }
                X[i] = Xi.getCPD()
                           .getValue(
                               getEventValuesForXiGivenParents(Xi,
                                                               fd.getValueAt(i), evt))
                       *cprob;
            }

            return Util.normalize(X);
        }