예제 #1
0
        public double Solve()
        {
            // Aplicación de las reglas y cálculo del fuzzy set resultante
            FuzzySet res = new FuzzySet(Output.MinValue, Output.MaxValue);

            res.Add(Output.MinValue, 0);
            res.Add(Output.MaxValue, 0);

            foreach (FuzzyRule rule in Rules)
            {
                // Cálculo
                res = res | rule.Apply(Problem);
            }

            // Defuzzificación
            return(res.Centroid());
        }
예제 #2
0
    public double Solve()
    {
        // Application des règles et calcul du fuzzy set résultant
        FuzzySet res = new FuzzySet(Output.MinValue, Output.MaxValue);

        res.Add(Output.MinValue, 0);
        res.Add(Output.MaxValue, 0);

        foreach (FuzzyRule rule in Rules)
        {
            // Calcul
            res = res | rule.Apply(Problem);
        }

        // Defuzzification
        return(res.Centroid());
    }