net.groboclown.util.math.fuzzylogic.v1
Interface IFuzzyNumber

All Known Implementing Classes:
LinearFuzzyNumber

public interface IFuzzyNumber

This corresponds to the Fuzzy Number concept. A fuzzy number is a special kind of fuzzy set where the elements of the set are the Real Numbers (R), where the non-zero degree of membership values are bound within a range between [0, 1], and within that bound range they are convex in geometrical shape and continuous, and at least one point in those bounds is 1.

From a coding standpoint, a Fuzzy Number is like a function from one Fit value to another.

All IFuzzyNumber implementations should be immutable.

FuzzyNumbers are commonly used with Fuzzy Rules, to indicate the amount of a match.


Method Summary
 Fit getMembership(Fit f)
          Calculates the degree of membership for the given fit.
 boolean isWithinBounds(Fit f)
           
 

Method Detail

isWithinBounds

public boolean isWithinBounds(Fit f)
Returns:
true if the given Fit value is within the current instance's non-zero bounds, or false if it is not.

getMembership

public Fit getMembership(Fit f)
Calculates the degree of membership for the given fit. This maps a Fit value to another Fit value. This must meet the criteria that if, for Fit f, #isWithinRange() returns false, then this method must return 0.0, but if #isWithinRange() returns true, it may return any Fit value.


Written under the LGPL