Skip to content

Hedge

Any

Bases: Hedge

Special hedge that always returns 1.0.

The antecedent of a rule considers Any to be a syntactically special hedge because it is not followed by a term (e.g., if Variable is any then... vs if Variable is very term then...)

The hedge is useful for better documenting rules.

related

Functions

hedge

hedge(x: Scalar) -> Scalar

Return scalar of same shape of x filled with 1.0.

Parameters:

Name Type Description Default
x Scalar

irrelevant except for its shape

required

Returns:

Type Description
Scalar

\(h(x)=1.0\)

Extremely

Bases: Hedge

Hedge that modifies the membership function value of a term as follows.

Equation

\(h(x) = \begin{cases} 2x^2 & \mbox{if } x \le 0.5 \cr 1-2(1-x)^2 & \mbox{otherwise} \cr \end{cases}\)

related

Functions

hedge

hedge(x: Scalar) -> Scalar

Compute \(\text{Extremely}(x)\).

Parameters:

Name Type Description Default
x Scalar

membership function value

required

Returns:

Type Description
Scalar

\(h(x) = \begin{cases} 2x^2 & \mbox{if } x \le 0.5 \cr 1-2(1-x)^2 & \mbox{otherwise} \cr \end{cases}\)

Hedge

Bases: ABC

Abstract class for hedges.

Hedges are used in the antecedent and consequent of a rule to modify the membership function of the term it precedes.

The hedges in the library can be ordered based on the difference between the membership function \(\mu(x)\) and its hedge \(h(\mu(x))\) as follows (from most similar to least): Seldom \(<\) Somewhat \(<\) Very \(<\) Extremely \(<\) Not \(<\) Any

term Seldom Somewhat Very Extremely Not Any
fuzzylite.term.Rectangle fuzzylite.hedge.Seldom fuzzylite.term.Rectangle fuzzylite.hedge.Somewhat fuzzylite.term.Rectangle fuzzylite.hedge.Very fuzzylite.term.Rectangle fuzzylite.hedge.Extremely fuzzylite.term.Rectangle fuzzylite.hedge.Not fuzzylite.term.Rectangle fuzzylite.hedge.Any fuzzylite.term.Rectangle
fuzzylite.term.SemiEllipse fuzzylite.hedge.Seldom fuzzylite.term.SemiEllipse fuzzylite.hedge.Somewhat fuzzylite.term.SemiEllipse fuzzylite.hedge.Very fuzzylite.term.SemiEllipse fuzzylite.hedge.Extremely fuzzylite.term.SemiEllipse fuzzylite.hedge.Not fuzzylite.term.SemiEllipse fuzzylite.hedge.Any fuzzylite.term.SemiEllipse
fuzzylite.term.Triangle fuzzylite.hedge.Seldom fuzzylite.term.Triangle fuzzylite.hedge.Somewhat fuzzylite.term.Triangle fuzzylite.hedge.Very fuzzylite.term.Triangle fuzzylite.hedge.Extremely fuzzylite.term.Triangle fuzzylite.hedge.Not fuzzylite.term.Triangle fuzzylite.hedge.Any fuzzylite.term.Triangle
fuzzylite.term.Trapezoid fuzzylite.hedge.Seldom fuzzylite.term.Trapezoid fuzzylite.hedge.Somewhat fuzzylite.term.Trapezoid fuzzylite.hedge.Very fuzzylite.term.Trapezoid fuzzylite.hedge.Extremely fuzzylite.term.Trapezoid fuzzylite.hedge.Not fuzzylite.term.Trapezoid fuzzylite.hedge.Any fuzzylite.term.Trapezoid
fuzzylite.term.Discrete fuzzylite.hedge.Seldom fuzzylite.term.Discrete fuzzylite.hedge.Somewhat fuzzylite.term.Discrete fuzzylite.hedge.Very fuzzylite.term.Discrete fuzzylite.hedge.Extremely fuzzylite.term.Discrete fuzzylite.hedge.Not fuzzylite.term.Discrete fuzzylite.hedge.Any fuzzylite.term.Discrete
fuzzylite.term.Bell fuzzylite.hedge.Seldom fuzzylite.term.Bell fuzzylite.hedge.Somewhat fuzzylite.term.Bell fuzzylite.hedge.Very fuzzylite.term.Bell fuzzylite.hedge.Extremely fuzzylite.term.Bell fuzzylite.hedge.Not fuzzylite.term.Bell fuzzylite.hedge.Any fuzzylite.term.Bell
fuzzylite.term.Cosine fuzzylite.hedge.Seldom fuzzylite.term.Cosine fuzzylite.hedge.Somewhat fuzzylite.term.Cosine fuzzylite.hedge.Very fuzzylite.term.Cosine fuzzylite.hedge.Extremely fuzzylite.term.Cosine fuzzylite.hedge.Not fuzzylite.term.Cosine fuzzylite.hedge.Any fuzzylite.term.Cosine
fuzzylite.term.Gaussian fuzzylite.hedge.Seldom fuzzylite.term.Gaussian fuzzylite.hedge.Somewhat fuzzylite.term.Gaussian fuzzylite.hedge.Very fuzzylite.term.Gaussian fuzzylite.hedge.Extremely fuzzylite.term.Gaussian fuzzylite.hedge.Not fuzzylite.term.Gaussian fuzzylite.hedge.Any fuzzylite.term.Gaussian
fuzzylite.term.GaussianProduct fuzzylite.hedge.Seldom fuzzylite.term.GaussianProduct fuzzylite.hedge.Somewhat fuzzylite.term.GaussianProduct fuzzylite.hedge.Very fuzzylite.term.GaussianProduct fuzzylite.hedge.Extremely fuzzylite.term.GaussianProduct fuzzylite.hedge.Not fuzzylite.term.GaussianProduct fuzzylite.hedge.Any fuzzylite.term.GaussianProduct
fuzzylite.term.PiShape fuzzylite.hedge.Seldom fuzzylite.term.PiShape fuzzylite.hedge.Somewhat fuzzylite.term.PiShape fuzzylite.hedge.Very fuzzylite.term.PiShape fuzzylite.hedge.Extremely fuzzylite.term.PiShape fuzzylite.hedge.Not fuzzylite.term.PiShape fuzzylite.hedge.Any fuzzylite.term.PiShape
fuzzylite.term.SigmoidDifference fuzzylite.hedge.Seldom fuzzylite.term.SigmoidDifference fuzzylite.hedge.Somewhat fuzzylite.term.SigmoidDifference fuzzylite.hedge.Very fuzzylite.term.SigmoidDifference fuzzylite.hedge.Extremely fuzzylite.term.SigmoidDifference fuzzylite.hedge.Not fuzzylite.term.SigmoidDifference fuzzylite.hedge.Any fuzzylite.term.SigmoidDifference
fuzzylite.term.SigmoidProduct fuzzylite.hedge.Seldom fuzzylite.term.SigmoidProduct fuzzylite.hedge.Somewhat fuzzylite.term.SigmoidProduct fuzzylite.hedge.Very fuzzylite.term.SigmoidProduct fuzzylite.hedge.Extremely fuzzylite.term.SigmoidProduct fuzzylite.hedge.Not fuzzylite.term.SigmoidProduct fuzzylite.hedge.Any fuzzylite.term.SigmoidProduct
fuzzylite.term.Spike fuzzylite.hedge.Seldom fuzzylite.term.Spike fuzzylite.hedge.Somewhat fuzzylite.term.Spike fuzzylite.hedge.Very fuzzylite.term.Spike fuzzylite.hedge.Extremely fuzzylite.term.Spike fuzzylite.hedge.Not fuzzylite.term.Spike fuzzylite.hedge.Any fuzzylite.term.Spike
fuzzylite.term.Arc fuzzylite.hedge.Seldom fuzzylite.term.Arc fuzzylite.hedge.Somewhat fuzzylite.term.Arc fuzzylite.hedge.Very fuzzylite.term.Arc fuzzylite.hedge.Extremely fuzzylite.term.Arc fuzzylite.hedge.Not fuzzylite.term.Arc fuzzylite.hedge.Any fuzzylite.term.Arc
fuzzylite.term.Binary fuzzylite.hedge.Seldom fuzzylite.term.Binary fuzzylite.hedge.Somewhat fuzzylite.term.Binary fuzzylite.hedge.Very fuzzylite.term.Binary fuzzylite.hedge.Extremely fuzzylite.term.Binary fuzzylite.hedge.Not fuzzylite.term.Binary fuzzylite.hedge.Any fuzzylite.term.Binary
fuzzylite.term.Concave fuzzylite.hedge.Seldom fuzzylite.term.Concave fuzzylite.hedge.Somewhat fuzzylite.term.Concave fuzzylite.hedge.Very fuzzylite.term.Concave fuzzylite.hedge.Extremely fuzzylite.term.Concave fuzzylite.hedge.Not fuzzylite.term.Concave fuzzylite.hedge.Any fuzzylite.term.Concave
fuzzylite.term.Ramp fuzzylite.hedge.Seldom fuzzylite.term.Ramp fuzzylite.hedge.Somewhat fuzzylite.term.Ramp fuzzylite.hedge.Very fuzzylite.term.Ramp fuzzylite.hedge.Extremely fuzzylite.term.Ramp fuzzylite.hedge.Not fuzzylite.term.Ramp fuzzylite.hedge.Any fuzzylite.term.Ramp
fuzzylite.term.Sigmoid fuzzylite.hedge.Seldom fuzzylite.term.Sigmoid fuzzylite.hedge.Somewhat fuzzylite.term.Sigmoid fuzzylite.hedge.Very fuzzylite.term.Sigmoid fuzzylite.hedge.Extremely fuzzylite.term.Sigmoid fuzzylite.hedge.Not fuzzylite.term.Sigmoid fuzzylite.hedge.Any fuzzylite.term.Sigmoid
fuzzylite.term.SShape - fuzzylite.term.ZShape fuzzylite.hedge.Seldom fuzzylite.term.SShape - fuzzylite.hedge.Seldom fuzzylite.term.ZShape][] fuzzylite.hedge.Somewhat fuzzylite.term.SShape - fuzzylite.hedge.Somewhat fuzzylite.term.ZShape fuzzylite.hedge.Very fuzzylite.term.SShape - fuzzylite.hedge.Very fuzzylite.term.ZShape fuzzylite.hedge.Extremely fuzzylite.term.SShape - fuzzylite.hedge.Extremely fuzzylite.term.ZShape fuzzylite.hedge.Not fuzzylite.term.SShape - fuzzylite.hedge.Not fuzzylite.term.ZShape fuzzylite.hedge.Any fuzzylite.term.SShape - fuzzylite.hedge.Any fuzzylite.term.ZShape
fuzzylite.term.SShape fuzzylite.hedge.Seldom fuzzylite.term.SShape fuzzylite.hedge.Somewhat fuzzylite.term.SShape fuzzylite.hedge.Very fuzzylite.term.SShape fuzzylite.hedge.Extremely fuzzylite.term.SShape fuzzylite.hedge.Not fuzzylite.term.SShape fuzzylite.hedge.Any fuzzylite.term.SShape
fuzzylite.term.ZShape fuzzylite.hedge.Seldom fuzzylite.term.ZShape fuzzylite.hedge.Somewhat fuzzylite.term.ZShape fuzzylite.hedge.Very fuzzylite.term.ZShape fuzzylite.hedge.Extremely fuzzylite.term.ZShape fuzzylite.hedge.Not fuzzylite.term.ZShape fuzzylite.hedge.Any fuzzylite.term.ZShape
related

Attributes

name property

name: str

Return the name of the hedge.

Returns:

Type Description
str

name of the hedge.

Functions

__repr__

__repr__() -> str

Return the Python code to construct the hedge.

Returns:

Type Description
str

Python code to construct the hedge.

__str__

__str__() -> str

Return the name of the hedge.

Returns:

Type Description
str

name of the hedge.

hedge abstractmethod

hedge(x: Scalar) -> Scalar

Implement the hedge for the membership function value \(x\).

Parameters:

Name Type Description Default
x Scalar

membership function value

required

Returns:

Type Description
Scalar

hedge of \(x\).

HedgeFunction

Bases: Hedge

Hedge that modifies the membership function value of a term according to the term Function.

This hedge is not registered with the HedgeFactory because the Function cannot be easily configured.

related

Attributes

function instance-attribute

function = function

name property

name: str

Get the name of the hedge.

Returns:

Type Description
str

name of the hedge

Functions

__init__

__init__(function: Function) -> None

Constructor.

Parameters:

Name Type Description Default
function Function

function \(f\).

required

hedge

hedge(x: Scalar) -> Scalar

Compute \(f(x)\).

Parameters:

Name Type Description Default
x Scalar

membership function value

required

Returns:

Type Description
Scalar

\(h(x) = f(x)\)

HedgeLambda

Bases: Hedge

Hedge that modifies the membership function value of a term according to a \(\lambda\) function.

This hedge is not registered with the HedgeFactory because the \(\lambda\) function cannot be easily configured.

related

Attributes

_name instance-attribute

_name = name

function instance-attribute

function = function

name property

name: str

Get the name of the hedge.

Returns:

Type Description
str

name of the hedge

Functions

__init__

__init__(name: str, function: Callable[[Scalar], Scalar]) -> None

Constructor.

Parameters:

Name Type Description Default
name str

name of the hedge

required
function Callable[[Scalar], Scalar]

\(\lambda\) function.

required

hedge

hedge(x: Scalar) -> Scalar

Compute \(\lambda(x)\).

Parameters:

Name Type Description Default
x Scalar

membership function value

required

Returns:

Type Description
Scalar

\(h(x) = \lambda(x)\)

Not

Bases: Hedge

Hedge that modifies the membership function value of a term by.

Equation

\(h(x) = 1-x\)

related

Functions

hedge

hedge(x: Scalar) -> Scalar

Compute \(\text{Not}(x)\).

Parameters:

Name Type Description Default
x Scalar

membership function value

required

Returns:

Type Description
Scalar

\(h(x) = 1-x\)

Seldom

Bases: Hedge

Hedge that modifies the membership function value of a term as follows.

Equation

\(h(x) = \begin{cases} \sqrt{\dfrac{x}{2}} & \mbox{if } x \le 0.5 \cr 1-\sqrt{\dfrac{1-x}{2}} & \mbox{otherwise} \end{cases}\)

related

Functions

hedge

hedge(x: Scalar) -> Scalar

Compute \(\text{Seldom(x)}\).

Parameters:

Name Type Description Default
x Scalar

membership function value

required

Returns:

Type Description
Scalar

\(h(x) = \begin{cases} \sqrt{\dfrac{x}{2}} & \mbox{if \(x \le 0.5\)} \cr 1-\sqrt{\dfrac{(1-x)}{2}} & \mbox{otherwise}\cr \end{cases}\)

Somewhat

Bases: Hedge

Hedge that modifies the membership function value of a term by.

Equation

\(h(x) = \sqrt{x}\)

related

Functions

hedge

hedge(x: Scalar) -> Scalar

Compute \(\text{Somewhat}(x)\).

Parameters:

Name Type Description Default
x Scalar

membership function value

required

Returns:

Type Description
Scalar

\(h(x) = \sqrt{x}\)

Very

Bases: Hedge

Hedge that modifies the membership function value of a term by.

Equation

\(h(x) = x^2\)

related

Functions

hedge

hedge(x: Scalar) -> Scalar

Compute \(\text{Very}(x)\).

Parameters:

Name Type Description Default
x Scalar

membership function value

required

Returns:

Type Description
Scalar

\(h(x) = x^2\)