diff options
Diffstat (limited to 'examples/takagi-sugeno/SimpleDimmer.java')
-rw-r--r-- | examples/takagi-sugeno/SimpleDimmer.java | 57 |
1 files changed, 33 insertions, 24 deletions
diff --git a/examples/takagi-sugeno/SimpleDimmer.java b/examples/takagi-sugeno/SimpleDimmer.java index 6d60f0e..c3c53e9 100644 --- a/examples/takagi-sugeno/SimpleDimmer.java +++ b/examples/takagi-sugeno/SimpleDimmer.java @@ -1,4 +1,5 @@ import com.fuzzylite.*; +import com.fuzzylite.activation.* import com.fuzzylite.defuzzifier.*; import com.fuzzylite.factory.*; import com.fuzzylite.hedge.*; @@ -12,38 +13,46 @@ import com.fuzzylite.variable.*; public class SimpleDimmer{ public static void main(String[] args){ +//Code automatically generated with fuzzylite 6.0. + Engine engine = new Engine(); -engine.setName("simple-dimmer"); +engine.setName("SimpleDimmer"); +engine.setDescription(""); -InputVariable inputVariable = new InputVariable(); -inputVariable.setEnabled(true); -inputVariable.setName("Ambient"); -inputVariable.setRange(0.000, 1.000); -inputVariable.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500)); -inputVariable.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750)); -inputVariable.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000)); -engine.addInputVariable(inputVariable); +InputVariable Ambient = new InputVariable(); +Ambient.setName("Ambient"); +Ambient.setDescription(""); +Ambient.setEnabled(true); +Ambient.setRange(0.000, 1.000); +Ambient.setLockValueInRange(false); +Ambient.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500)); +Ambient.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750)); +Ambient.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000)); +engine.addInputVariable(Ambient); -OutputVariable outputVariable = new OutputVariable(); -outputVariable.setEnabled(true); -outputVariable.setName("Power"); -outputVariable.setRange(0.000, 1.000); -outputVariable.fuzzyOutput().setAccumulation(null); -outputVariable.setDefuzzifier(new WeightedAverage("TakagiSugeno")); -outputVariable.setDefaultValue(Double.NaN); -outputVariable.setLockPreviousOutputValue(false); -outputVariable.setLockOutputValueInRange(false); -outputVariable.addTerm(new Constant("LOW", 0.250)); -outputVariable.addTerm(new Constant("MEDIUM", 0.500)); -outputVariable.addTerm(new Constant("HIGH", 0.750)); -engine.addOutputVariable(outputVariable); +OutputVariable Power = new OutputVariable(); +Power.setName("Power"); +Power.setDescription(""); +Power.setEnabled(true); +Power.setRange(0.000, 1.000); +Power.setLockValueInRange(false); +Power.setAggregation(null); +Power.setDefuzzifier(new WeightedAverage("TakagiSugeno")); +Power.setDefaultValue(Double.NaN); +Power.setLockPreviousValue(false); +Power.addTerm(new Constant("LOW", 0.250)); +Power.addTerm(new Constant("MEDIUM", 0.500)); +Power.addTerm(new Constant("HIGH", 0.750)); +engine.addOutputVariable(Power); RuleBlock ruleBlock = new RuleBlock(); -ruleBlock.setEnabled(true); ruleBlock.setName(""); +ruleBlock.setDescription(""); +ruleBlock.setEnabled(true); ruleBlock.setConjunction(null); ruleBlock.setDisjunction(null); -ruleBlock.setActivation(null); +ruleBlock.setImplication(null); +ruleBlock.setActivation(new General()); ruleBlock.addRule(Rule.parse("if Ambient is DARK then Power is HIGH", engine)); ruleBlock.addRule(Rule.parse("if Ambient is MEDIUM then Power is MEDIUM", engine)); ruleBlock.addRule(Rule.parse("if Ambient is BRIGHT then Power is LOW", engine)); |