fuzzy sets module¶
simpful.fuzzy_sets module¶
-
class
simpful.fuzzy_sets.
CrispSet
(a, b, term)¶ Bases:
simpful.fuzzy_sets.FuzzySet
Creates a new crisp set.
- Parameters:
a – left extreme value of the set.
b – right extreme value of the set.
term – string representing the linguistic term to be associated to the crisp set.
-
set_params
(a=None, b=None)¶ Changes parameters of the crisp set.
- Parameters:
a – left extreme value of the set.
b – right extreme value of the set.
-
class
simpful.fuzzy_sets.
Crisp_MF
(a, b)¶ Bases:
simpful.fuzzy_sets.MF_object
Creates a crisp membership function.
- Parameters:
a – left extreme value of the set.
b – right extreme value of the set.
-
class
simpful.fuzzy_sets.
DoubleGaussianFuzzySet
(mu1, sigma1, mu2, sigma2, term)¶ Bases:
simpful.fuzzy_sets.FuzzySet
Creates a new double Gaussian fuzzy set.
- Parameters:
mu1 – mean of the first distribution.
sigma1 – standard deviation of the first distribution.
mu2 – mean of the second distribution.
sigma2 – standard deviation of the second distribution.
term – string representing the linguistic term to be associated to the fuzzy set.
-
set_params
(mu1=None, sigma1=None, mu2=None, sigma2=None)¶ Changes parameters of the double Gaussian fuzzy set.
- Parameters:
mu1 – mean of the first distribution.
sigma1 – standard deviation of the first distribution.
mu2 – mean of the second distribution.
sigma2 – standard deviation of the second distribution.
-
class
simpful.fuzzy_sets.
DoubleGaussian_MF
(mu1, sigma1, mu2, sigma2)¶ Bases:
simpful.fuzzy_sets.MF_object
Creates a double Gaussian membership function.
- Parameters:
mu1 – mean of the first distribution.
sigma1 – standard deviation of the first distribution.
mu2 – mean of the second distribution.
sigma2 – standard deviation of the second distribution.
-
class
simpful.fuzzy_sets.
FuzzySet
(points=None, function=None, term='', high_quality_interpolate=False, boundary_values=None, verbose=False)¶ Bases:
object
Creates a new fuzzy set.
- Parameters:
points – list of points to define a polygonal fuzzy sets. Each point is defined as a list of two coordinates in the universe of discourse/membership degree space.
function – function to define a non-polygonal fuzzy set. Supports pre-implemented membership functions Sigmoid_MF, InvSigmoid_MF, Gaussian_MF, InvGaussian_MF, DoubleGaussian_MF, Triangle_MF, Trapezoidal_MF or user-defined functions.
term – string representing the linguistic term to be associated to the fuzzy set.
high_quality_interpolate – True/False, toggles high quality interpolation for point-based fuzzy sets. Default value is set to False.
boundary_values – list of two membership values for point-based fuzzy sets. The first and second value are used to fill in values at the left-side and right-side of the fuzzy set, respectively. If None (default value), fuzzy sets will be considered as shouldered.
verbose – True/False, toggles verbose mode.
-
get_term
()¶ Return the linguistic term associated to this fuzzy set.
-
get_value
(v)¶ Return the membership value of v to this Fuzzy Set.
- Parameters:
v – element of the universe of discourse.
- Returns:
The membership value of v to this Fuzzy Set.
-
get_value_cut
(v, cut)¶ Return the membership value of v to this Fuzzy Set, capped to the cut value.
- Parameters:
v – element of the universe of discourse.
cut – alpha cut of the fuzzy set.
-
set_points
(points)¶ Changes points of the point-based fuzzy set.
- Parameters:
points – a list of points to define a polygonal fuzzy sets. Each point is defined as a list of two coordinates in the universe of discourse/membership degree space.
-
class
simpful.fuzzy_sets.
GaussianFuzzySet
(mu, sigma, term)¶ Bases:
simpful.fuzzy_sets.FuzzySet
Creates a new Gaussian fuzzy set.
- Parameters:
mu – mean of the distribution.
sigma – standard deviation of the distribution.
term – string representing the linguistic term to be associated to the fuzzy set.
-
set_params
(mu=None, sigma=None)¶ Changes parameters of the Gaussian fuzzy set.
- Parameters:
mu – mean of the distribution.
sigma – standard deviation of the distribution.
-
class
simpful.fuzzy_sets.
Gaussian_MF
(mu, sigma)¶ Bases:
simpful.fuzzy_sets.MF_object
Creates a Gaussian membership function.
- Parameters:
mu – mean of the distribution.
sigma – standard deviation of the distribution.
-
class
simpful.fuzzy_sets.
InvGaussianFuzzySet
(mu, sigma, term)¶ Bases:
simpful.fuzzy_sets.FuzzySet
Creates a new inversed Gaussian fuzzy set.
- Parameters:
mu – mean of the distribution.
sigma – standard deviation of the distribution.
term – string representing the linguistic term to be associated to the fuzzy set.
-
set_params
(mu=None, sigma=None)¶ Changes parameters of the inversed Gaussian fuzzy set.
- Parameters:
mu – mean of the distribution.
sigma – standard deviation of the distribution.
-
class
simpful.fuzzy_sets.
InvGaussian_MF
(mu, sigma)¶ Bases:
simpful.fuzzy_sets.MF_object
Creates an inversed Gaussian membership function.
- Parameters:
mu – mean of the distribution.
sigma – standard deviation of the distribution.
-
class
simpful.fuzzy_sets.
InvSigmoidFuzzySet
(c, a, term)¶ Bases:
simpful.fuzzy_sets.FuzzySet
Creates a new inversed sigmoidal fuzzy set.
- Parameters:
c – universe of discourse coordinate of inflection point.
a – steepness of the curve.
term – string representing the linguistic term to be associated to the fuzzy set.
-
set_params
(c=None, a=None)¶ Changes parameters of the inversed sigmoidal fuzzy set.
- Parameters:
c – universe of discourse coordinate of inflection point.
a – steepness of the curve.
-
class
simpful.fuzzy_sets.
InvSigmoid_MF
(c=0, a=1)¶ Bases:
simpful.fuzzy_sets.MF_object
Creates an inversed sigmoid membership function.
- Parameters:
c – universe of discourse coordinate of inflection point.
a – steepness of the curve.
-
class
simpful.fuzzy_sets.
SigmoidFuzzySet
(c, a, term)¶ Bases:
simpful.fuzzy_sets.FuzzySet
Creates a new sigmoidal fuzzy set.
- Parameters:
c – universe of discourse coordinate of inflection point.
a – steepness of the curve.
term – string representing the linguistic term to be associated to the fuzzy set.
-
set_params
(c=None, a=None)¶ Changes parameters of the sigmoidal fuzzy set.
- Parameters:
c – universe of discourse coordinate of inflection point.
a – steepness of the curve.
-
class
simpful.fuzzy_sets.
Sigmoid_MF
(c=0, a=1)¶ Bases:
simpful.fuzzy_sets.MF_object
Creates a sigmoidal membership function.
- Parameters:
c – universe of discourse coordinate of the inflection point.
a – steepness of the curve.
-
class
simpful.fuzzy_sets.
SingletonsSet
(pairs, term)¶ Bases:
simpful.fuzzy_sets.FuzzySet
Creates a set composed of singletons.
- Parameters:
pairs – a list of pairs [x, y], where x is an element of the universe of discourse and y its membership degree.
term – string representing the linguistic term to be associated to the singletons set.
-
set_params
(pairs=None)¶ Changes the pairs of the singletons set.
- Parameters:
pairs – a list of pairs [x, y], where x is an element of the universe of discourse and y its membership degree.
-
class
simpful.fuzzy_sets.
Singletons_MF
(pairs)¶ Bases:
simpful.fuzzy_sets.MF_object
Creates a membership function composed of singletons.
- Parameters:
pairs – a list of pairs [x, y], where x is an element of the universe of discourse and y its membership degree.
-
class
simpful.fuzzy_sets.
TrapezoidFuzzySet
(a, b, c, d, term)¶ Bases:
simpful.fuzzy_sets.FuzzySet
Creates a new trapezoidal fuzzy set.
- Parameters:
a – universe of discourse coordinate of the leftmost vertex.
b – universe of discourse coordinate of the upper left vertex.
c – universe of discourse coordinate of the upper right vertex.
d – universe of discourse coordinate of the rightmost vertex.
term – string representing the linguistic term to be associated to the fuzzy set.
-
set_params
(a=None, b=None, c=None, d=None)¶ Changes parameters of the trapezoidal fuzzy set.
- Parameters:
a – universe of discourse coordinate of the leftmost vertex.
b – universe of discourse coordinate of the upper left vertex.
c – universe of discourse coordinate of the upper right vertex.
d – universe of discourse coordinate of the rightmost vertex.
-
class
simpful.fuzzy_sets.
Trapezoidal_MF
(a=0, b=0.25, c=0.75, d=1)¶ Bases:
simpful.fuzzy_sets.MF_object
Creates a normalized trapezoidal membership function. Requires a <= b <= c <= d.
- Parameters:
a – universe of discourse coordinate of the leftmost vertex.
b – universe of discourse coordinate of the upper left vertex.
c – universe of discourse coordinate of the upper right vertex.
d – universe of discourse coordinate of the rightmost vertex.
-
class
simpful.fuzzy_sets.
TriangleFuzzySet
(a, b, c, term)¶ Bases:
simpful.fuzzy_sets.FuzzySet
Creates a new triangular fuzzy set.
- Parameters:
a – universe of discourse coordinate of the leftmost vertex.
b – universe of discourse coordinate of the upper vertex.
c – universe of discourse coordinate of the rightmost vertex.
term – string representing the linguistic term to be associated to the fuzzy set.
-
set_params
(a=None, b=None, c=None)¶ Changes parameters of the triangular fuzzy set.
- Parameters:
a – universe of discourse coordinate of the leftmost vertex.
b – universe of discourse coordinate of the upper vertex.
c – universe of discourse coordinate of the rightmost vertex.
-
class
simpful.fuzzy_sets.
Triangular_MF
(a=0, b=0.5, c=1)¶ Bases:
simpful.fuzzy_sets.MF_object
Creates a normalized triangular membership function. Requires a <= b <= c and the semantics is the following:
1 | . | / \ | / \ 0 |/ \ --------- a b c
- Parameters:
a – universe of discourse coordinate of the leftmost vertex.
b – universe of discourse coordinate of the upper vertex.
c – universe of discourse coordinate of the rightmost vertex.