June 14, 2017 at 20:28 #2556UnknownMember
For my masterthesis I’m researching collaboration.
I’m using fuzzy set/logic in my thesis.
I’ve used differend fuzzy set models, but none of them could help me.
I’ve got 9 linguistic variables with each 5 linguistic values, so I’ve got 59.049 possible outcomes and have to determine 59.049 fuzzy rules.
The creation of the fuzzy rules is not a problem. I’ve created an computer script to do so.
My problem lies in the fuzzy models i’ve used. None of them could handle 9 linguistic variables and often there’s a limitation in de usability of the number variables in fuzzy rules.
Can you please tell me if I can define 9 linguistic variables in your FuzzyLite program?
Can you also tell me if I can create fuzzy rules with 9 conditions and if there’s a limitation in the number of fuzzy rules I can create?
I really hope you can help me out!
With kind regards,
Erwin de JongJune 14, 2017 at 20:57 #2557Juan Rada-Vilela (admin)Keymaster
thank you for your post and interesting question.
There are no limits in fuzzylite regarding the number of rules you can have. As long as you have enough RAM, you should be fine, and my guess is that you would not need that much RAM anyway. However, 59,049 rules is quite a large number that may affect performance. I suggest the following:
(1) As possible, use Takagi-Sugeno engines as they will be importantly more efficient.
(2) If using Mamdani, it will be interesting to evaluate its performance. If performance is poor, you can sacrifice accuracy over performance by reducing the resolution of the defuzzifier (see http://fuzzylite.github.io/fuzzylite/d9/d95/classfl_1_1_integral_defuzzifier.html).
(3) If performance is still an issue, you can create your own activation method to parallelise the activation of rules. We could have a collaboration on this to incorporate into fuzzylite.
(4) You could also split the rules into multiple rule blocks and do (3).
(5) If possible, you could create multiple engines, each of which having a set of rules, and they would safely running in parallel. This may be more convenient than (3) and (4).
As for the rest,
Q: Can you please tell me if I can define 9 linguistic variables in your FuzzyLite program?
A: You can define the 9 linguistic variables, with any number of terms, and fuzzylite has some methods that would allow you to create every possible combination of rules based on your linguistic terms.
Q: Can you also tell me if I can create fuzzy rules with 9 conditions and if there’s a limitation in the number of fuzzy rules I can create?
A: There are no limitations regarding the number of rules, variables, engines, etc. Each rule is represented as a binary expression tree, where you can have one rule containing any number of propositions, which can be grouped with parenthesis
(), and you can also use
orconnectors in a single rule (the precedence order is parentheses, and, and or).
Let me know if you need anything else.
- You must be logged in to reply to this topic.