XFL3: El lenguaje de especificación de Xfuzzy 3

El paquete estándar xfl

El lenguaje de especificación XFL3 permite al usuario definir sus propias funciones de pertenencia, familias de funciones de pertenencia, funciones no difusas, métodos de defuzzificación y funciones relacionadas con las conectivas difusas y los modificadores lingüísticos. Con objeto de facilitar el uso de XFL3, las funciones más conocidas han sido incluidas en un paquete estándar llamado xfl. Las funciones binarias incluidas son las siguientes:

Nombre

Tipo

Descripción Java

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)

Las funciones unarias incluidas en el paquete xfl son:

Nombre

Parámetro

Descripción Java

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) )

Las funciones no difusas incluidas en el paquete xfl son:

Nombre

Parámetro

Descripción

add2

-

Suma de variables

addN

N

Suma de N variables

addDeg

-

Suma de dos variables angulares (en grados)

addRad

-

Suma de dos variables angulares (en radianes)

diff2

-

Diferencia entre dos variables

diffDeg

-

Diferencia entre dos variables angulares (en grados)

diffRad

-

Diferencia entre dos variables ngulares (en radianes)

prod

-

Producto de dos variables

div

-

División entre dos variables

select

N

Selección entre N variables

Las funciones de pertenencia definidas en el paquete xfl son las siguientes:

Nombre

Parámetros

Descripción

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

-

Las familias de funciones de pertenencia definidas en el paquete xfl son las siguientes:

Nombre

Parámetros

Descripción

rectangular

p[]

triangular

p[]

sh_triangular

p[]

spline

p[]

Los métodos de defuzzificación definidos en el paquete estándar son:

Nombre

Tipo

Definido para

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


Para comentarios, sugerencias, notificación de bugs, etc. contacte con nosotros en:   xfuzzy-team@imse-cnm.csic.es

©IMSE-CNM 2018