nebular: a pure Java Fuzzy Logic API

nebular is a fuzzy logic API written in pure Java. It contains pre-defined membership functions such as sigmoidal, gaussian, pi-shaped among others.

A fuzzy set is a set whose elements have certain degree of membership. In classical sets (or bivalent, or crisps) an element belongs or not to the set. In fuzzy sets, membership functions define the degree to which an element belongs to certain set.

See the examples for examples on how to create a fuzzy set using a membership function in nebular. Or see the User Guide for details on each membership. function.

nebular uses Apache Commons Functor to create membership functions using functional programming. This way, a user can extend nebular by creating his own functions). nebular relies on Apache Commons Math for some of its fuzzy calculations.

Releases

nebular 0.3 Release (February 2013)

This release adds defuzzificaiton to nebular. The following functions were implemented.

  • Centroid defuzzification function
  • Bisector defuzzification function
  • Smallest Of Maxima defuzzification function
  • Mean Of Maxima defuzzification function
  • Largest Of Maxima defuzzification function

nebular 0.2 Release (May 2012)

This released updated Apache Commons Functor classes, to guarantee that nebular functions can work well with functional programming.

nebular 0.1 Release (March 2012)

This is the first official nebular release. The following membership functions are supported in this version.

  • Differential sigmoidal membership function
  • Gaussian membership function
  • Generalized bell-shaped membership function
  • PI-shaped membership function
  • Product sigmoidal membership function
  • Sigmoidal membership function
  • S-shaped membership function
  • Trapezoidal membership function
  • Triangular membership function
  • Z-shaped membership function