summaryrefslogtreecommitdiff
path: root/examples/hybrid/tipper.fcl
diff options
context:
space:
mode:
Diffstat (limited to 'examples/hybrid/tipper.fcl')
-rw-r--r--examples/hybrid/tipper.fcl66
1 files changed, 66 insertions, 0 deletions
diff --git a/examples/hybrid/tipper.fcl b/examples/hybrid/tipper.fcl
new file mode 100644
index 0000000..299dbb8
--- /dev/null
+++ b/examples/hybrid/tipper.fcl
@@ -0,0 +1,66 @@
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK tipper
+
+VAR_INPUT
+ service: REAL;
+ food: REAL;
+END_VAR
+
+VAR_OUTPUT
+ mTip: REAL;
+ tsTip: REAL;
+END_VAR
+
+FUZZIFY service
+ RANGE := (0.000 .. 10.000);
+ TERM poor := Trapezoid 0.000 0.000 2.500 5.000;
+ TERM good := Triangle 2.500 5.000 7.500;
+ TERM excellent := Trapezoid 5.000 7.500 10.000 10.000;
+END_FUZZIFY
+
+FUZZIFY food
+ RANGE := (0.000 .. 10.000);
+ TERM rancid := Trapezoid 0.000 0.000 2.500 7.500;
+ TERM delicious := Trapezoid 2.500 7.500 10.000 10.000;
+END_FUZZIFY
+
+DEFUZZIFY mTip
+ RANGE := (0.000 .. 30.000);
+ TERM cheap := Triangle 0.000 5.000 10.000;
+ TERM average := Triangle 10.000 15.000 20.000;
+ TERM generous := Triangle 20.000 25.000 30.000;
+ METHOD : COG;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+DEFUZZIFY tsTip
+ RANGE := (0.000 .. 30.000);
+ TERM cheap := 5.000;
+ TERM average := 15.000;
+ TERM generous := 25.000;
+ METHOD : COGS;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+RULEBLOCK mamdani
+ AND : PROD;
+ OR : ASUM;
+ ACT : MIN;
+ RULE 1 : if service is poor or food is rancid then mTip is cheap
+ RULE 2 : if service is good then mTip is average
+ RULE 3 : if service is excellent or food is delicious then mTip is generous with 0.5
+ RULE 4 : if service is excellent and food is delicious then mTip is generous with 1.0
+END_RULEBLOCK
+
+RULEBLOCK takagiSugeno
+ AND : PROD;
+ OR : ASUM;
+ RULE 1 : if service is poor or food is rancid then tsTip is cheap
+ RULE 2 : if service is good then tsTip is average
+ RULE 3 : if service is excellent or food is delicious then tsTip is generous with 0.5
+ RULE 4 : if service is excellent and food is delicious then tsTip is generous with 1.0
+END_RULEBLOCK
+
+END_FUNCTION_BLOCK