July 24, 2015 at 21:05 #1913UnknownMember
I am a bit confused about the new Activation types ((i.e., Lowest, General,…) available in FL v6.
Is the “activation” method the equivalent of MATLAB’s “aggregation” method?
Could you provide some bibliographic references where I can learn more about the new activation methods.
Finally, could you give me a hint on how to move from the v5 way to set activation:
to the v6 counterpart?
ruleblock->setActivation(/*new AlgebraicProduct()*/ ???)
ruleblock->setActivation(/*new Minimum()*/ ???)
I’ve looked at the C++ examples but it seems they still use the v5’s way.
Thank you very much.
MarcoJuly 25, 2015 at 07:07 #1914Juan Rada-Vilela (admin)Keymaster
thank you for your question.
V6.0 is still in development, and there are already changes that will break old code. As fuzzylite matures, I prefer to remove and refactor at will over polluting the code with backwards compatibility. Still, I reckon version 6 will be quite final in that little development will be needed after it. Having said this, I reply to the change in v6.0 regarding activation methods.
In previous versions, the activation refers to a T-Norm that determines how the activation degree of the antecedent of a rule will modify the consequent of the rule. However, in v6.0, I further modularised fuzzylite to incorporate activation methods (*not* a T-Norm). The name clash was unfortunate, but I could not think of a better name for these methods, and soon I realised I needed to change the name of the activation operator. The activation operator was renamed to implication operator, like Matlab’s, in order to avoid the name clash with activation methods. As such, the examples will show:
engine->setImplication(new AlgebraicProduct); //previously, engine->setActivation(new AlgebraicProduct);
The activation methods incorporated in fuzzylite refer to activation methods for the rules, that is, within a rule block, not all rules are necessarily activated. The activation method selects which rules activate. By default, if not set, the
Generalapproach will be used, which will result in all rules being activated accordingly (same behaviour as previous versions). However, there are other activation methods like
Highestin which only the rule with the highest activation degree will be activated. As such, developers will be able to easily incorporate their activation methods without rewriting the behaviour of a rule block.
Please, check the
documentationbranch where these methods have been properly documented.
I hope this helps. Let me know if you have further questions.
Cheers.July 26, 2015 at 01:33 #1915UnknownMember
Thank you, Juan.
Now it’s more clear.
- You must be logged in to reply to this topic.