XFL3: The Xfuzzy 3 specification language

The standard package xfl

The XFL3 specification language allows the user to define its own membership functions, families of membership functions, crisp functions, defuzzification methods, and functions related with fuzzy connectives and linguistic hedges. In order to ease the use of XFL3, the most well-known functions have been included in a standard package called xfl. The binary functions included are the following:

Name

Type

Java description

min

T-norm

(a<b? a : b)

prod

T-norm

(a*b)

bounded_prod

T-norm

(a+b-1>0? a+b-1: 0)

drastic_prod

T-norm

(a==1? b: (b==1? a : 0) )

max

S-norm

(a>b? a : b)

sum

S-norm

(a+b-a*b)

bounded_sum

S-norm

(a+b<1? a+b: 1)

drastic_sum

S-norm

(a==0? b : (b==0? a : 0) )

dienes_resher

Implication

(b>1-a? b : 1-a)

mizumoto

Implication

(1-a+a*b)

lukasiewicz

Implication

(b<a? 1-a+b : 1)

dubois_prade

Implication

(b==0? 1-a : (a==1? b : 1) )

zadeh

Implication

(a<0.5 || 1-a>b? 1-a : (a<b? a : b))

goguen

Implication

(a<b? 1 : b/a)

godel

Implication

(a<=b? 1 : b)

sharp

Implication

(a<=b? 1 : 0)

The unary functions included in the package xfl are:

Name

Parameter

Java description

not

-

(1-a)

sugeno

l

(1-a)/(1+a*l)

square

-

(a*a)

cubic

-

(a*a*a)

sqrt

-

Math.sqrt(a)

yager

w

Math.pow( ( 1 - Math.pow(a,w) ) , 1/w )

pow

w

Math.pow(a,w)

parabola

-

4*a*(1-a)

edge

-

(a<=0.5? 2*a : 2*(1-a) )

The crisp functions included in the package xfl are:

Name

Parameter

Description

add2

-

Sum of two variables

addN

N

Sum of N variables

addDeg

-

Sum of two angular variables (in degrees)

addRad

-

Sum of two angular variables (in radians)

diff2

-

Difference of two variables

diffDeg

-

Difference of two angular variables (in degrees)

diffRad

-

Difference of two angular variables (in radians)

prod

-

Product of two variables

div

-

Division of two variables

select

N

Selection between N variables

The membership functions defined in the package xfl are the following:

Name

Parameters

Description

triangle

a,b,c

trapezoid

a,b,c,d

isosceles

a,b

slope

a,m

bell

a,b

sigma

a,b

rectangle

a,b

singleton

a

parametric

unlimited

-

The families of membership functions defined in the package xfl are the following:

Name

Parameters

Description

rectangular

p[]

triangular

p[]

sh_triangular

p[]

spline

p[]

The defuzzification methods defined in the standard package are:

Name

Type

Defined for

CenterOfArea

Conventional

any function

FirstOfMaxima

Conventional

any function

LastOfMaxima

Conventional

any function

MeanOfMaxima

Conventional

any function

FuzzyMean

Simplified

triangle, isosceles, trapezoid, bell, rectangle, singleton

WeightedFuzzyMean

Simplified

triangle, isosceles, trapezoid, bell, rectangle

Quality

Simplified

triangle, isosceles, trapezoid, bell, rectangle

GammaQuality

Simplified

triangle, isosceles, trapezoid, bell, rectangle

MaxLabel

Simplified

singleton

TakagiSugeno

Simplified

parametric


For comments, patches, bug reports, etc contact us at:   xfuzzy-team@imse-cnm.csic.es

©IMSE-CNM 2018