Ejemplo n.º 1
0
        public static void InitializeRules(Hunter hunter)
        {
            FuzzyModule module = hunter.GetFuzzyModule();

            Stamina     = module.CreateFuzzyVariable(Stamina_Name);
            Experiance  = module.CreateFuzzyVariable(Experiance_Name);
            TinderUsage = module.CreateFuzzyVariable(TinderUsage_Name);

            Stamina_Low     = Stamina.AddLeftShoulderSet(Stamina_Low_Name, 0, 25.0, 50.0);
            Stamina_Average = Stamina.AddTriangularSet(Stamina_Average_Name, 25.0, 50.0, 75.0);
            Stamina_High    = Stamina.AddRightShoulderSet(Stamina_High_Name, 50.0, 75.0, 100.0);

            Experiance_Low     = Experiance.AddLeftShoulderSet(Experiance_Low_Name, 0.0, 25, 50);
            Experiance_Average = Experiance.AddTriangularSet(Experiance_Average_Name, 25, 50, 75);
            Experiance_High    = Experiance.AddRightShoulderSet(xperiance_High_Name, 50, 75, 100);

            TinderUsage_Low     = TinderUsage.AddLeftShoulderSet(TinderUsage_Low_Name, 0, 2.5, 5);
            TinderUsage_Average = TinderUsage.AddTriangularSet(TinderUsage_Average_Name, 2.5, 5, 7.5);
            TinderUsage_High    = TinderUsage.AddRightShoulderSet(TinderUsage_High_Name, 5, 7.5, 10);

            module.AddRule(new FuzzyAND(Stamina_Low, Experiance_Low), TinderUsage_High);
            module.AddRule(new FuzzyAND(Stamina_Low, Experiance_Average), TinderUsage_High);
            module.AddRule(new FuzzyAND(Stamina_Low, Experiance_High), TinderUsage_Average);

            module.AddRule(new FuzzyAND(Stamina_Average, Experiance_Low), TinderUsage_High);
            module.AddRule(new FuzzyAND(Stamina_Average, Experiance_Average), TinderUsage_Average);
            module.AddRule(new FuzzyAND(Stamina_Average, Experiance_High), TinderUsage_Low);

            module.AddRule(new FuzzyAND(Stamina_High, Experiance_Low), TinderUsage_Average);
            module.AddRule(new FuzzyAND(Stamina_High, Experiance_Average), TinderUsage_Average);
            module.AddRule(new FuzzyAND(Stamina_High, Experiance_High), TinderUsage_Low);
        }