Forum Replies Created

Viewing 10 posts - 431 through 440 (of 472 total)
  • Author
  • in reply to: What FCL version does Fuzzylite use? #1016

    Hi asho,

    Could you post the example you want to import into fuzzylite?

    FCL is defined only to use discrete terms, and anything additional to that is not an official extension to the FCL. fuzzylite covers the standard FCL, but also extends it with its set of terms and other properties such as locks (refer to the ). I think jFuzzyLogic covers the standard too, like fuzzylite, but also extends it in its own particular way. For example, in fuzzylite a Triangle term is expressed as Triangle (0.0, 1.0, 2.0) (parenthesis and commas are optional), whereas in jFuzzyLogic I think it is expressed as trian (0.0, 1.0, 2.0). The definition of a triangle in FCL is expressed as a set of discrete points as (0.0, 0.0) (1.0, 1.0) (2.0, 0.0), which you can do in fuzzylite using the Discrete term. Thus, fuzzylite and jFuzzyLogic extend the basic FCL in different ways that the official FCL did not cover, which renders the extensions of FCL incompatible between both libraries, but the basic FCL should be compatible.

    In fuzzylite, the only difference from the standard FCL is that the accumulation method is defined within the Defuzzify block, whereas the standard FCL defines it within the RuleBlock. Such a difference is intentional and corresponds to the design of fuzzylite, which I could argue provides a better design. In addition, multiline comments (e.g. /* */) are not supported in fuzzylite.

    As for .Net, I have not replied because I have no information about it. I hope someone else has managed to make it work and be kind enough to share the information.

    in reply to: Arduino export. #1011

    Hi Odox,

    Thanks for your question. I hope to provide support for Arduino later this year. At the moment it is not possible given that operators new and delete and exceptions are not supported by Arduino. I already have an idea to work around such limitations, but it will take me some time to be able to export Arduino C++ code.

    in reply to: Source not found on Android. #1002


    thank you for your kind words.

    At the moment, I have no solution to your problem because I am busy with other things. However, I am sure you can find a solution using google searching for how to attach sources to java libraries for debugging.

    As soon as I have time, I will reply to this post with a concrete solution.


    Please check QtFuzzyLite to have an idea which TNorms and SNorms to use. The configuration requires case-sensitive names of the TNorms and SNorms. For example,

    engine.configure("AlgebraicProduct", "AlgebraicSum", "AlgebraicProduct", "AlgebraicSum", "Centroid");

    Please, also notice that you should group the conditions in the rules within parenthesis as I mentioned before:

    if (chestpain is ASYMPTOMATIC or restpress is MAX or serum is MAXLEVEL) and (smoke is LOWPOSSIBILITY or sugar is LEVELNO or minrate is MINRATE or restrate is HIGHRATE) then angin is MASSIVE

    in reply to: Different Rule Weights? #999

    Hi cw,

    as mentioned in another post, you use with w. For example, the weight of the following rule is 0.5

    if x is a then y is b with 0.5

    in reply to: Want: weights for rules #997

    Hi CW,

    I am sorry, but this other message was filtered as spam too!

    Thanks for your kind words.

    fuzzylite does provide weighting rules as follows:

    if ivariable is iterm then ovariable is oterm with w

    where with is the keyword to indicate weight of rule and w is a value in [0.0,1.0].

    in reply to: Time and Absolute Values? #995

    Hi CW,

    I apologize for such a late reply, but your message was filtered as spam.

    How about the rules as follow?

    if FlagContainsBlue is any and FlagContainsRed is any and FlagContainsWhite is any then FrenchFlag is somewhat True

    The hedge any will always evaluate to true, thereby having the behaviour that you expect. I am not sure if you can do if variable is not any then ... in fuzzylite 4.0, but surely you will in version 5.0 to be released in April (hopefully). As for the output variable FrenchFlag, you could define it with two Constants 0 and 1 (respectively) and use a Takagi-Sugeno engine with WeightedAverage defuzzifier.


    the problem is in rule:

    if (chestpain is ASYMPTOMATIC or restpress is MAX or serum is MAXLEVEL) and (smoke is LOWPOSSIBILITY or sugar is LEVELNO or minrate is MINRATE or restrate is HIGHRATE) then angin is MASSIVE

    where you refer to minrate, but you have not added any variable named minrate to the engine.

    In addition, please make sure you have considered the precedence order of the connectors and|or in your rules. If unsure, please group propositions in parenthesis as I have done (if that grouping makes sense to your problem).

    Notice also that since you are using and|or in your rules, you have to set the respective conjunction and disjunction operators of your choice. For example,

    engine.configure("AlgebraicProduct", "AlgebraicSum", "AlgebraicProduct", "AlgebraicSum", "Centroid");


    in reply to: Problems when building from source #984

    Hi Lucas,

    thanks for your kind words.

    (1) It was my mistake to put the libraries in same bin folder. If it is an issue for you, please remove the line set(LIBRARY_OUTPUT_PATH bin) from fuzzylite/CMakeLists.txt. I think that would do.

    (2) The ui_* files should be located in folder qtfuzzylite. Make sure they are there, otherwise you may want to either check folder qtfuzzylite/ui to find them or make sure . is indeed in the INCLUDE_PATH (which it should given line include_directories(. ${CMAKE_SOURCE_DIR}/../fuzzylite) in qtfuzzylite/CMakeLists.txt).

    Let me know if it helps.



    Could you please post all the code setting up your engine?

Viewing 10 posts - 431 through 440 (of 472 total)