Announcements | |
---|---|

December 31, 2013 | NEW jfuzzylite v1.0 for Java/Android! |

December 31, 2013 | NEW fuzzylite v4.0 for C++! |

December 31, 2013 | NEW website powered by WordPress! |

# Introduction

`fuzzylite` is a cross-platform, free and open-source fuzzy logic control library programmed in `C++`. Its goal is to allow you to easily create fuzzy logic controllers in a few steps utilizing object-oriented programming without requiring any third-party libraries.

`jfuzzylite` is the same `fuzzylite` library, but programmed entirely in `Java` without requiring any third-party libraries.

`qtfuzzylite` is a cross-platform, free and open-source Qt-based graphic user interface for `fuzzylite`. Its goal is to allow you to visually design your fuzzy logic controllers and interact with them in real time.

If you are going to cite `fuzzylite` in your article, please do so as:

Reference |
---|

Juan Rada-Vilela. fuzzylite: a fuzzy logic control library, 2014. URL http://www.fuzzylite.com. |

```
@misc{fl::fuzzylite,
author={Juan Rada-Vilela},
title={fuzzylite: a fuzzy logic control library},
url={http://www.fuzzylite.com},
year={2014}}
```

# Features

Controllers | Mamdani, Takagi-Sugeno, Larsen, Tsukamoto, Inverse Tsukamoto |
---|---|

Linguistic terms | triangle, trapezoid, rectangle, discrete, gaussian, gaussian product, bell, pi-shape, sigmoid difference, sigmoid product, ramp, sigmoid, s-shape, z-shape, constant, linear, function |

T-Norms | minimum, algebraic product, bounded difference, drastic product, einstein product, hamacher product |

S-Norms | maximum, algebraic sum, bounded sum, normalized sum, drastic sum, einstein sum, hamacher sum |

Defuzzifiers | centroid, bisector, smallest of maximum, largest of maximum, mean of maximum, weighted average, weighted sum |

Hedges | any, not, extremely, seldom, somewhat, very |

Import from | FuzzyLite Language fll, Fuzzy Inference System fis, Fuzzy Control Language fcl |

Export to | C++, Java, FuzzyLite Language fll, FuzzyLite Dataset fld, Fuzzy Inference System fis, Fuzzy Control Language fcl |

Examples | Play with 30+ examples of Mamdani, Takagi-Sugeno and Tsukamoto controllers from Octave, Matlab and fuzzylite, each included in the following formats: C++, Java, fll, fld, fis, and fcl |

Additionally, you can:

- Extend every component of
`fuzzylite`, create new ones, and easily incorporate them in your engine - Utilize multiple rule blocks within a single engine, each containing any number of (possibly weighted) rules, and different conjunction, disjunction and activation operators
- Write inference rules just naturally e.g.
`"if Ambient is DARK then Power is HIGH"` - Return a default output value, lock the last valid output value when no rules are activated, and lock the output values to be within specific ranges
- Create the 2D surface of any controller and draw its contours
- Utilize the entire library across multiple threads because it is thread-safe
- Download the sources, documentation, and binaries for the major platforms
**here**

# Screenshots

Ubuntu |

Mac |

Windows |

# Videos

tutorial on fuzzylite |

tutorial on qtfuzzylite |

example of fuzzylite in real time |