Forum Replies Created

Viewing 10 posts - 451 through 460 (of 472 total)
  • Author
  • in reply to: Fuzzylite on VS 2012 does not compile #950

    Hi Manishak,

    Thank you for your email reporting the issue.

    I have tried to “Build Solution” in Visual Studio 2010 and I was not able to compile either. The problem is that a warning is raised during compile time and warnings are treated as errors in order to have clean builds. The warning code is C4702, which happens due to unreachable code (e.g. code after a return statement) that I use for tests.

    Please, add in file fl/fuzzylite.h the following line within the #ifdef FL_WINDOWS (together with the other #pragmas):

    #pragma warning(disable:4702) //Ignore unreachable code

    I was able to compile after this.

    Please, let me know if this solves your issue.


    in reply to: Using Fuzzy Lite with IDE #948

    Hi Scott,

    please, do not use FL_HEADERS because it is a file only for CMake.

    You need to use #include <fl/Headers.h>

    Let me know if this helps.


    in reply to: Time and Absolute Values? #944

    Hi Fishwaldo,

    Could you elaborate further on your time-based rules? Could you write a few rules to understand what you want to do?

    As for your boolean output variables, I suggest that you utilize for those the WeightedAverage defuzzifier and their respective terms be Constants. For example,

    OutputVariable: light
      defuzzifier: WeightedAverage
      accumulation: AlgebraicSum
      term: on Constant 1.0
      term: off Constant 0.0
      activation: AlgebraicProduct
      rule: if brightness is dark, then light is on

    Furthermore, I would create a rule block specifically for those boolean functions in order to set the activation operator to the AlgebraicProduct, which might not necessarily be the activation operator for the other rules. The model I propose will still give you values between 0 and 1, for which you will just have to round them manually (std::round).

    in reply to: Ubuntu Packages #943

    Hi Fishwaldo,

    Thanks for your help offer! I would appreciate very much your help creating the necessary files. Do not worry about not having the time to maintain the packages as I could handle the maintenance for every update.

    Opensuse build service sounds fine.

    Let me know how can I help you.


    in reply to: Problems with Ant build on OS X using Java 1.6.0_65 #940

    Dear Stephen,

    Thank you very much for your kind words and feedback.

    The problem you are having compiling the library is due to the Java version that you are using. The “diamond” operator <> is a feature of Java 1.7, and it only means that the compiler is able to determine its type. I feel I made the wrong decision taking advantage of such a feature due to the lack of backward compatibility. Hence, for jfuzzylite version 2.0, I will make sure it is compatible for older versions of Java. I will aim to release version 2.0 by the end of March.

    In the meantime, if you have access to Java 1.7, you can build a JAR file for previous versions specifying the target in the command line using the option -jo=”-source 1.7 -target 1.6″. I am not sure about the exact details, but a Google search would surely point you in the right direction.


    in reply to: 2D Surface and JPG Output #935

    Hi Brian,

    As soon as I have time, I will try the Surface2D in Windows, but in Ubuntu Linux it is working just fine. The image formatting and internal details are handled by the Qt framework. Please, refer to the Qt documentation for precise implementation details. You may find below JPEG images at different resolutions for the same controller generated and saved directly from QtFuzzyLite v4.0 without any manipulation. The resolutions are 8×16, 13×15, 33×33 and 800×600 (units in pixels). You may set any resolution for the images, even when the increments are by 8px.



    in reply to: QtFuzzylite Control screen input slider behaviour #933

    Hi Brian,

    At the moment, the only option to fix the behaviour you are seeing is to increase the range of the QSliders and build from source, unfortunately. In version 5.0, it will be far easier to fix that without building from source. The behaviour you are seeing is somewhat necessary as both must be in sync: moving slider changes value, changing value moves slider.

    As for testing, I did not mean anything exhaustive whatsoever. Just making sure the issues you have mentioned have been addressed in 5.0 would be enough. I like very much the details, like the ones you have mentioned, that’s all.


    in reply to: QtFuzzylite Control screen input slider behaviour #931

    Hi Brian,

    thank you very much for your kind words and for taking the time to describe the issue. I totally agree with the behaviour that you expect. At the moment, my guess is that the value you are entering in the QDoubleSpinBox gets reflected in the QSlider, which cannot represent every floating-value that you enter and then rounds to the nearest possible value, which then triggers another signal to the QDoubleSpinBox and changes its value. As for the delta increments, I honestly cannot remember what I did for those. I think the delta increment changes according to the range of the variable, the resolution of the QSlider, or maybe both (range/resolution).

    At the moment, I am working on a new version of QtFuzzyLite from scratch, taking much more care on the details, and a much better design. I will address the issues you have mentioned in the new version, which I expect to release late February or early March. As soon as I have a working version, if you are interested, I could build the binaries for you so you can test it and let me know your suggestions. Otherwise, if you prefer to modify the source code of the current version, I think all you need to do is increase the range of the QSliders.

    If you have more feature requests, please feel free to post them! It is a good time since I am working many hours during the week on (qt)fuzzylite.



    in reply to: Centre of Maximums Defuzzifier et al #928

    Yes, your fuzzy logic controller would become a Takagi-Sugeno model, which matches your description of little computational complexity. However, have in mind that you need to model the output terms as Constant values. Otherwise, if you use Triangles or any other membership function, you would end up with an inverse tsukamoto controller, which is hardly any useful.

    in reply to: Centre of Maximums Defuzzifier et al #926

    Hi Brian,

    thank you for your kind words and good ideas.

    I believe the defuzzifier you are after is the Weighted Average in fuzzylite, and you have to model the output terms as Constant values. In the example from the figure, you would model the OutputVariable using the following terms:
    NegativeLarge Constant -30
    NegativeMedium Constant -15
    NegativeSmall Constant -5
    Zero Constant 0
    PositiveSmall Constant 5
    PositiveMedium Constant 15
    PositiveLarge Constant 30

    Center of Maximum

    As for the initial screen, I will consider your suggestions for version 5.0. At the moment, you can skip it by pressing Escape, or surely modifying the source and building it again.



Viewing 10 posts - 451 through 460 (of 472 total)