What is jFuzzyLogic?

jFuzzyLogic is a fuzzy logic package written in java (as you might have guessed). It implements Fuzzy control language (FCL) specification (IEC 61131 part 7)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

jFuzzyLogic Features

    - Implements Fuzzy control language (FCL) IEC-61131-7 specification.
    - Parametric optimization algorithms.
    - Membership functions:
        -Continuous: GenBell, Sigmoidal, Trapetzoidal, Gaussian, PieceWiseLinear, Triangular, Cosing, Dsigm
        -Discrete: Singleton, GenericSingleton
        -Custom membership functions can be defined
    - Defuzzifiers:
        -Continuous: CenterOfGravity, RightMostMax, CenterOfArea, LeftMostMax, MeanMax
        -Discrete: CenterOfGravitySingletons
        -Custom defuzzifiers can be easly created
        -Function based deffuzifiers (e.g. "TERM drainage := FUNCTION (-2 * pressure * Ln(pressure)) + (temp * 4);");
    - Rule aggregation (how rules are aggregated / accumulated): BoundedSum, Max, ProbOr, Sum, NormedSum
    - Rule connection operators (AND, OR): Max / Min, ProbOr / Prod, BoundedDif //BoundedSum, etc.
    - Rule implication methods (activation): Min , Product.

Eclipse plugin (December 2012 release)

New plugin available for Eclipse (Helios). See details here
      - To install: Eclipse menu Help -> Install new software       - Click on Add
        - Name: jFuzzyLogic
        - Location: http://jfuzzylogic.sourceforge.net/eclipse/
        - Click OK an follow the instructions.

jFuzzyLogic Paper

If you use jFuzzyLogic in an academic project, please cite our papers:
BibTex:
@inproceedings{cingolani2013jfuzzylogic,
  title={jFuzzyLogic: a Java Library to Design Fuzzy Logic Controllers According to the Standard for Fuzzy Control Programming.}
  author={Cingolani, Pablo and Alcala-Fdez, Jesus},
  booktitle={International Journal of Computational Intelligence Systems}
  pages={61-75},
  year={2013},
  organization={IEEE}
}

@inproceedings{cingolani2012jfuzzylogic,
  title={jFuzzyLogic: a robust and flexible Fuzzy-Logic inference system language implementation},
  author={Cingolani, Pablo and Alcala-Fdez, Jesus},
  booktitle={Fuzzy Systems (FUZZ-IEEE), 2012 IEEE International Conference on},
  pages={1-8},
  year={2012},
  organization={IEEE}
}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Examples

To run this demo, download jFuzzyLogic.jar and run "java -jar jFuzzyLogic.jar demo"

Video capture