Minimum Norm, used to calculate the linguistic value of a AND operation.

The minimum Norm uses a minimum operator to compute the AND among two fuzzy memberships.

Sample usage:

// creating 2 fuzzy sets to represent Cool (Temperature) and Near (Distance) TrapezoidalFunction function1 = new TrapezoidalFunction( 13, 18, 23, 28 ); FuzzySet fsCool = new FuzzySet( "Cool", function1 ); TrapezoidalFunction function2 = new TrapezoidalFunction( 23, 28, 33, 38 ); FuzzySet fsNear = new FuzzySet( "Near", function2 ); // getting memberships double m1 = fsCool.GetMembership( 15 ); double m2 = fsNear.GetMembership( 35 ); // computing the membership of "Cool AND Near" MinimumNorm AND = new MinimumNorm( ); double result = AND.Evaluate( m1, m2 ); // show result Console.WriteLine( result );
상속: INorm
예제 #1
0
        private void SetRules()
        {
            MinimumNorm minimum = new MinimumNorm();

            // minimum.Evaluate(rule1);
            this.rules = new List <Rule>();
            Rule rule1 = new Rule(database, "Test1", "IF Temperatura is zimne and Moc_samochodu is duża then Ryzyko is wysokie");
            Rule rule2 = new Rule(database, "Test2", "IF Temperatura is zimne and Moc_samochodu is średnia then Ryzyko is średnio_wysokie");
            Rule rule3 = new Rule(database, "Test3", "IF Temperatura is średnie and Moc_samochodu is duża then Ryzyko is średnio_wysokie");
            Rule rule4 = new Rule(database, "Test4", "IF Temperatura is średnie and Moc_samochodu is średnia then Ryzyko is niskie");

            Rule rule5 = new Rule(database, "Test5", "IF Temperatura is zimne and Moc_samochodu is mała then Ryzyko is średnio_niskie");
            Rule rule6 = new Rule(database, "Test6", "IF Temperatura is średnie and Moc_samochodu is mała then Ryzyko is niskie");
            Rule rule7 = new Rule(database, "Test7", "IF Temperatura is gorące and Moc_samochodu is mała then Ryzyko is średnio_niskie");

            Rule rule8 = new Rule(database, "Test8", "IF Temperatura is gorące and Moc_samochodu is średnia then Ryzyko is średnie");
            Rule rule9 = new Rule(database, "Test9", "IF Temperatura is gorące and Moc_samochodu is średnia then Ryzyko is wysokie");

            rules.Add(rule1);
            rules.Add(rule2);
            rules.Add(rule3);
            rules.Add(rule4);
        }