a fuzzy logic control library in Python
Project description
pyfuzzylite: A Fuzzy Logic Control Library in Python
Introduction
fuzzylite
is a free and open-source fuzzy logic control library
programmed in C++ for multiple platforms (e.g., Windows, Linux, Mac, iOS).
jfuzzylite
is the equivalent fuzzylite
library for Java and Android
platforms. pyfuzzylite
is the equivalent fuzzylite
library for Python.
QtFuzzyLite 6
is (very likely) the best application available to easily
design and directly operate fuzzy logic controllers in real time.
If you are going to cite us in your article, please do so as:
Juan Rada-Vilela. The FuzzyLite Libraries for Fuzzy Logic Control, 2018. URL https://fuzzylite.com/.
@misc{fl::fuzzylite,
author={Juan Rada-Vilela},
title={The FuzzyLite Libraries for Fuzzy Logic Control},
url={https://fuzzylite.com/},
year={2018}}
License of the FuzzyLite Libraries
The FuzzyLite Libraries, namely fuzzylite 6.0
and jfuzzylite 6.0
,
are licensed under the GNU General Public License (GPL)
3.0, and pyfuzzylite 7.0
is released under the
GNU Affero General Public License v3. The FuzzyLite
Libraries are also offered under a paid license for commercial purposes. If you are using
them under a free license, please consider purchasing a license of QtFuzzyLite to support
the development of the libraries. If you want a commercial license of fuzzylite
, jfuzzylite
,
or pyfuzzylite
, please contact sales@fuzzylite.com.
Features
The FuzzyLite Libraries have the following features:
(6) Controllers: Mamdani, Takagi-Sugeno, Larsen, Tsukamoto, Inverse Tsukamoto, Hybrids
(21) Linguistic terms: (4) Basic: triangle, trapezoid, rectangle, discrete. (9) Extended: bell, cosine, gaussian, gaussian product, pi-shape, sigmoid difference, sigmoid product, spike. (5) Edges: binary, concave, ramp, sigmoid, s-shape, z-shape. (3) Functions: constant, linear, function.
(7) Activation methods: general, proportional, threshold, first, last, lowest, highest.
(8) Conjunction and Implication (T-Norms): minimum, algebraic product, bounded difference, drastic product, einstein product, hamacher product, nilpotent minimum, function.
(10) Disjunction and Aggregation (S-Norms): maximum, algebraic sum, bounded sum, drastic sum, einstein sum, hamacher sum, nilpotent maximum, normalized sum, unbounded sum, function.
(7) Defuzzifiers: (5) Integral: centroid, bisector, smallest of maximum, largest of maximum, mean of maximum. (2) Weighted: weighted average, weighted sum.
(7) Hedges: any, not, extremely, seldom, somewhat, very, function.
(3) Importers: FuzzyLite Language fll
, Fuzzy Inference System fis
,
Fuzzy Control Language fcl
.
(7) Exporters: C++
, Java
, FuzzyLite Language fll
, FuzzyLite Dataset
fld
, R
script, Fuzzy Inference System fis
, Fuzzy Control Language fcl
.
(30+) Examples of Mamdani, Takagi-Sugeno, Tsukamoto, and Hybrid controllers
from fuzzylite
, Octave, and Matlab, each included in the following formats:
C++
, Java
, fll
, fld
, R
, fis
, and fcl
.
In addition, you can easily:
-
Create your own classes inheriting from
fuzzylite
, register them in the factories, and incorporate them to operate infuzzylite
. -
Utilize multiple rule blocks within a single engine, each containing any number of (possibly weighted) rule, and different conjunction, disjunction and activation operators.
-
Write inference rules just naturally, e.g.,
"if obstacle is left then steer is right"
. -
Return a default output value, lock the output values to be within specific ranges, lock the previous valid output value when no rules are activated.
-
Explore the function space of your controller.
-
Utilize the entire library across multiple threads as it is thread-safe.
-
Download the sources, documentation, and binaries for the major platforms in the Downloads tab.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyfuzzylite-7.0b2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ac487289ee634b77aae35f1e7bad43e498a636658051ef42c177db4c02f4ba3 |
|
MD5 | 3090488a0f1ca35188c902e86aaaa03c |
|
BLAKE2b-256 | 85fa718945596e465872a92f1ddec95790fd3956f758c79f7c4c23811b6ada83 |