Vous êtes sur la page 1sur 18

05/08/2019

Diseño de Sistemas
Difusos
Conjuntos difusos, funciones de membresía, variables lingüísticas

Agenda

 Conjuntos difusos

 Funciones de membresía

 Variables lingüísticas

 Reglas

Programación de Sistemas Adaptativos: Sistemas Difusos 2

1
05/08/2019

El débil no puede perdonar. El perdón


es un atributo de los fuertes.

- Mahatma Gandhi

Programación de Sistemas Adaptativos: Sistemas Difusos 3

Imagen: https://www.readersdigest.co.uk/health/health-conditions/forgiveness-is-the-best-medicine

Motivación

 Para poder diseñar un sistema difuso, es necesario caracterizar sus principales


elementos:

Reglas
contienen
Funciones de
Variables membresía
lingüísticas
se representan con
Conjuntos
toman como posibles
difusos
valores

Programación de Sistemas Adaptativos: Sistemas Difusos 4

2
05/08/2019

Conjuntos Nítidos
 En la teoría de conjuntos convencional, un elemento
 O pertenece (completamente) al conjunto
 O no pertenece (en nada) al conjunto

Guapos Feos

Johnny Bravo johnny  G


johnny  F

Programación de Sistemas Adaptativos: Sistemas Difusos

Conjuntos difusos
 Los conjuntos difusos rompen este paradigma al permitir grados de
membresía.
 El grado de membresía normalmente es un valor entre 0 y 1.

 De esta manera, un elemento puede “medio” pertenecer a un conjunto.

Conjuntos nítidos Conjuntos difusos


uzzy_logic_temperature_en.svg
http://en.wikipedia.org/wiki/File:F
Fuente:

Programación de Sistemas Adaptativos: Sistemas Difusos 6

3
05/08/2019

Conjuntos difusos

 Denotamos el grado de membresía de un elemento x en un conjunto D con


mD(x).

 Como veremos más adelante, mD(x) resulta de una función de membresía.

Programación de Sistemas Adaptativos: Sistemas Difusos 7

Ejemplo: velocidades

 Supongamos que U = {30, 60, 100}, donde cada elemento representa una
velocidad (km/hr).

 Podemos definir los siguientes conjuntos difusos

Lenta = {(30, 0.8), (60, 0.4), (100, 0.1)}

Rápida = {(30, 0.2), (60, 0.5), (100, 0.9)}

Programación de Sistemas Adaptativos: Sistemas Difusos 8

4
05/08/2019

Operaciones con conjuntos difusos

 Ejemplo: autos nacionales


 Dos conjuntos: autos nacionales (N) y autos extranjeros (E).
 Funciones de membresía: % de partes nacionales.

mN(x) = p(x)
mE(x) = 1 – p(x) mE(x) mN(x)
1

Programación de Sistemas Adaptativos: Sistemas Difusos 9

0 100%

Conjuntos Difusos

 Ejemplo: autos nacionales auto1, auto2,


auto3

 U = {80, 40, 60}


 N = {(80, 0.8), (40, 0.4), (60, 0.6)}
 E = {(80, 0.2), (40, 0.6), (60, 0.4)}

Programación de Sistemas Adaptativos: Sistemas Difusos 10

5
05/08/2019

Conjuntos difusos: operaciones


 Unión
 mA  B(x) = max[mA(x), mB(x)]
 Normas S
Ejercicio: realiza estas
 Intersección operaciones con el ejemplo de
 mA  B(x) = min[mA(x), mB(x)] los autos.

 Normas T

 Complemento
 mA’(x) = 1 - mA(x)

Programación de Sistemas Adaptativos: Sistemas Difusos 12

Operadores con Ejemplo Autos


E  N = { (80, max[mN(80), mE(80)]),
(40, max[mN(40), mE(40)]),
(60, max[mN(60), mE(60)] }

E  N = { (80, max[0.8, 0.2]),


(40, max[0.6, 0.4]),
(60, max[0.4, 0.6]) }

E  N = { (80, 0.8), (40, 0.6), (60, 0.6) }

Programación de Sistemas Adaptativos: Sistemas Difusos 13

6
05/08/2019

Operadores con Ejemplo Autos


E  N = { (80, min[mN(80), mE(80)]),
(40, min[mN(40), mE(40)]),
(60, min[mN(60), mE(60)] }

E  N = { (80, min[0.8, 0.2]),


(40, min[0.6, 0.4]),
(60, min[0.4, 0.6]) }

E  N = { (80, 0.2), (40, 0.4), (60, 0.4) }

Programación de Sistemas Adaptativos: Sistemas Difusos 14

N’ = {(80, 1 - mN(80)),
(40, 1 - mN(40)),
(60, 1 - mN(60))}

N’ = { (80, 1 - 0.8),
(40, 1 – 0.4),
(60, 1 – 0.6)}

N’ = {(80, 0.2), (40, 0.6), (60, 0.4)}


Programación de Sistemas Adaptativos: Sistemas Difusos 15

7
05/08/2019

Visualización de Operaciones

1
mEN(x) 1
mEN (x)

0 0
100% 100%

1
mN’ (x)

Programación de Sistemas Adaptativos: Sistemas Difusos 16


0 100%

Funciones de membresía
Triangular, trapezoidal, otras

Programación de Sistemas Adaptativos: Sistemas Difusos 17

8
05/08/2019

Funciones de membresía

 Determinan los grados de membresía para los conjuntos difusos.

 Visto de otra manera, representan conjuntos difusos.

Programación de Sistemas Adaptativos: Sistemas Difusos 18

Función de membresía triangular


Para el elemento x de un conjunto F

0, 𝑥≤𝑎  Ejemplo
𝑥 −𝑎, 𝑎<𝑥≤𝑏
𝑏−𝑎
𝜇𝐹 𝑥 =
𝑐−𝑥, 𝑏<𝑥<𝑐
𝑐−𝑏
0, 𝑥≥𝑐
Función con
parámetros
donde a, b y c son las aristas del
a= 3
triángulo
b=5
c=7

19
Programación de Sistemas Adaptativos: Sistemas Difusos

9
05/08/2019

Función de membresía trapezoidal


Para el elemento x de un conjunto F
𝑥−𝑎 𝑎≤𝑥≤𝑏
,
𝑏−𝑎  Ejemplo
𝑏≤𝑥≤𝑐
1,
𝜇𝐹 𝑥 =
𝑑−𝑥 𝑐≤𝑥≤𝑑
,
𝑑−𝑐
0 de otra forma Función con
parámetros
donde a, b, c y d son las
a= 3
esquinas del trapezoide b=5
c=7
d=9

20
Programación de Sistemas Adaptativos: Sistemas Difusos

Función de membresía trapezoidal R


(medio trapezoide)
Para el elemento x de un conjunto F
 Ejemplo

0, 𝑥>𝑑
𝑑−𝑥
𝜇𝐹 𝑥 = 𝑑 − 𝑐 , 𝑐≤𝑥≤𝑑
1, 𝑥<𝑐
Función con
parámetros

c=5
d=7

Programación de Sistemas Adaptativos: Sistemas Difusos 21

10
05/08/2019

Función de membresía trapezoidal L


(medio trapezoide)
Para el elemento x de un conjunto F
 Ejemplo

0, 𝑥<𝑎
𝑥−𝑎
, 𝑎≤𝑥≤𝑏
𝜇𝐹 𝑥 = 𝑏 − 𝑎
1, 𝑥>𝑏
Función con
parámetros

a=5
b=7

Programación de Sistemas Adaptativos: Sistemas Difusos 22

Otras funciones

Sigmoidal Gaussiana

• Lineal

• Escalonada

• Sombrero
mexicano

1 𝑥−𝑚 2
𝜇𝐹 𝑥 = 𝜇𝐹 𝑥 = 𝑒

2𝜎 2
1 + 𝑒 −𝑥
donde m es la media de la
Programación de Sistemas Adaptativos: Sistemas Difusos
distribución y s la 23

desviación estándar

11
05/08/2019

Variables lingüísticas

 Toman conjuntos difusos como valores.


 A estos valores también se les conoce como particiones, valores lingüísticos o
términos lingüísticos.

 Cada variable lingüística está asociada a una variable nítida, es decir, a una
variable numérica.

Programación de Sistemas Adaptativos: Sistemas Difusos 24

Ejemplo
Velocidad

Triangular
Lenta (a=0, b=30, c=60)

Triangular
Moderada (a=35, b=60, c=80)

Rápida Trapezoidal-L (a=45,


b=90)

Programación de Sistemas Adaptativos: Sistemas Difusos 25

12
05/08/2019

Ejemplo

Programación de Sistemas Adaptativos: Sistemas Difusos 26

Reglas

 Las reglas difusas tienen la forma

IF <proposición difusa>THEN <proposición difusa>

 Las proposiciones pueden ser atómicas o compuestas,


 es decir, estar unidas por conectores.

 Las proposiciones involucran a las variables lingüísticas y sus conjuntos difusos.

 Algunas variables son de entrada y otras de salida.

Programación de Sistemas Adaptativos: Sistemas Difusos 27

13
05/08/2019

Reglas

 Recordemos que las reglas difusas siguen el patrón


 IF <proposición difusa> THEN <proposición difusa>

 Esto lo podemos visualizar con una matriz.


 En caso de ser pocas variables…

Programación de Sistemas Adaptativos: Sistemas Difusos 28

Reglas

 Ejemplos:
 Si la temperatura es caliente y la humedad del suelo es
seca entonces el tiempo de riego es prolongado.

 Si la velocidad es baja, entonces aplica más fuerza al


acelerador.

 Si la cantidad de aire es pequeña y se ha incrementado


sustancialmente, entonces incrementa la tensión de la
superficie sustancialmente.
Programación de Sistemas Adaptativos: Sistemas Difusos 29

14
05/08/2019

Ejercicio

 Diseña los conjuntos difusos Caro y Barato con al menos tres elementos
(numéricos) cada uno y el respectivo grado de membresía para cada
elemento.

 Puedes hacer este ejercicio en parejas.

Programación de Sistemas Adaptativos: Sistemas Difusos 30

Ejercicio

 Determina m(85) para una función trapezoidal-R con parámetros c=70, d=90.

 Determina m(60) para una función trapezoidal con parámetros a=0, b=30,
c=50, d=70.

Programación de Sistemas Adaptativos: Sistemas Difusos 31

15
05/08/2019

Ejercicio

 Vuelve a plantear los conjuntos difusos Caro y Barato, pero ahora con
funciones de membresía.
 Diseña las funciones de membresía.
 Genera los conjuntos difusos.

Programación de Sistemas Adaptativos: Sistemas Difusos 32

Ejercicio

 Diseña la variable lingüística Precio y la variable lingüística Demanda. Indica


el rango de la variable. Incluye al menos dos conjuntos difusos para cada
variable (puedes apoyarte en los conjuntos ya generados de Caro y Barato
para la variable precio). Para cada conjunto difuso, indica qué tipo de función
de membresía lo representa y cuáles son los valores de los parámetros para
esta función.

Ejemplo

Variable Rango Variable Conjuntos Funciones de Parámetros de las


lingüística difusos membresía funciones
Precio (particiones)
Caro
Precio
Barato

Programación de Sistemas Adaptativos: Sistemas Difusos 33

16
05/08/2019

Ejercicio

 Genera una regla para las variables que diseñaste en el ejercicio pasado.

Programación de Sistemas Adaptativos: Sistemas Difusos 34

Nota

 Las gráficas aquí mostradas fueron creadas con e paquete Gnuplot. Dispoible
en http://www.gnuplot.info/

Programación de Sistemas Adaptativos: Sistemas Difusos 35

17
05/08/2019

Referencias

 Alonso, Sanjay Krishnankutty. Membership functions. eMathTeacher:


Mamdani’s Fuzzy Inference Method.
http://www.dma.fi.upm.es/recursos/aplicaciones/logica_borrosa/web/fuzzy
_inferencia/funpert_en.htm (Consultado el 30 de julio de 2018.)

 Wang, Li-Xin. A course in fuzzy systems and control. Prentice-Hall


International, Inc., Estados Unidos, 1996.

Programación de Sistemas Adaptativos: Sistemas Difusos 36

18

Vous aimerez peut-être aussi