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
- "jFuzzyLogic: a Java Library to Design Fuzzy Logic Controllers According to the Standard for Fuzzy Control Programming."
- "jFuzzyLogic: A Robust and Flexible Fuzzy-Logic Inference System Language Implementation" .
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"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -