Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing....

32
Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia

Transcript of Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing....

Page 1: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

Fundamentos de Lógica Difusa (Fuzzy)

José Edinson Aedo Cobo, Msc. Phd.

Departamento de Ing. Electrónica

Universidad de Antioquia

Page 2: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

OBJETIVOS

Este módulo pretende introducir los sistemas difusos como una herramienta para su utilización en diversas aplicaciones en ingeniería

Los sistemas difusos pueden usarse en muchos campos de la ingeniería, por ejemplo:

- Control de procesos.- Modelado no lineal.- procesamiento de imágenes.- Comunicaciones.- Problemas de optimización.- Sistemas para toma de decisiones.

Page 3: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

3

Sistemas difusos usados como controladores:

Un sistema difuso implementa una función no lineal apartir de la definición de un conjunto de reglas. En un sistema de control típico:

Sistema difuso proceso

detectores

x0

x(t)

e(t) u(t)

z

x’(t)

x0= setpoint, e= error, u= acción de control, x´= salidas del procesox(t)= valores medidos, z= ruido

u=f(e)

Page 4: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

4

Parámetros a ser determinados en la implementación deUn sistema difuso:

Los parámetros determinan la estructura del sistema difuso y por consiguiente su comportamiento de entrada/salida:

1. Número de entradas y salidas del sistema. Para cada entrada y salida se deben definir las funciones de pertenencia. Su forma. También los factores de escalamiento de las entradas y salidas.2. Número de reglas. La estructura de la base de conocimiento.

Peso de las reglas.3. Método de “fuzificación” y “defuzificación”.4. Operadores: para la inferencia. Para el conectivo “and”. Para la agregación de las reglas.

Page 5: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

5

Metodología para obtener los parámetros:

Principalmente las reglas y los conjuntos difusos asociados a cadaentrada y salida:

• Experiencia del operador.• Conocimiento del ingeniero del control sobre el comportamiento

del sistema.• Modelado de las acciones de control del operador.• A partir de datos experimentales del control deseado: a. Aplicando métodos heurísticos para obtener los parámetros a partir de estos datos. b. Utilizando técnicas de aprendizaje (derivadas de las redes neuronales) c. Utilizando técnicas de optimización tales como los algoritmos genéticos.

Page 6: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

6

Ejemplo:

Considere un control para un sistema dinámico cuya respuesta en el tiempo al escalón tiene una salida tipo S como se muestra en laFigura.

En general un sistema dinámico de esta naturaleza es modelado porun sistema de ecuaciones diferenciales del tipo:

t

x(t)

2

2

( ) ( ) ( )( , ), ( , ),......., ( , )

n

n

x t x t x tg x u h x u f x u

t t t

Page 7: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

7

Ejemplo (continuación):

Dado un punto de referencia (setpoint), x0, se debe aplicar una acción de control para que el sistema alcance este punto sin muchasoscilaciones y de forma rápida. Una respuesta típica de un sistemade control es el siguiente:

t

x(t)x0

Para efecto llevar a cabo este comportamiento se define un controlador con variables de entrada: el error, e(t)=x0-x(t) yla tendencia (variación) del error con el tiempo: de(t)= e(t)-e(t´)donde t < t´y t’ t, (más precisamente de(t)/dt).La salida sería la acción de control u(t) (el cambio de la salidacon respecto a la salida actual).

Page 8: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

8

Ejemplo (continuación):

e(t)

Si dividimos las entradas y salida en 7 regiones definidas con conjuntos difusos tipos triangular, con la nombres siguientes:

NB( negative big), NM(negative medium), NS(negative small), ZE (cero), PB( positive big), PM(positive medium), PS(positive

small).

controlde(t)

u(t)

Page 9: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

9

Ejemplo (continuación):

e(t)

Las reglas se pueden crear de forma de acuerdo con comportamientoDeseado.

Por ejemplo la regla:

Si el error es cero y el cambio del error es cero entonces el cambio delcontrol es cero.

Establezca otras reglas para controlar el sistema.

controlde(t)

u(t)

Page 10: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

10

Ejemplo de una técnica heurística para determinar un sistema difuso a partir de datos experimentales (table-lookup scheme)(Li-Xin Wang, Adaptive fuzzy systems and control)

Es un método simple para el diseño de sistemas difusos cuando se tiene datos experimentales de entrada/salida del sistema.

Sean n datos de entrada/salida del sistema deseado de dos

entradas (x1,x2) y una salida (y):

(1) (1) (1) (2) (2) (2)1 2 1 2( , ; ), ( , ; ),....x x y x x y

dato1 dato2

Técnicas Heurísticas para determinar la estructura de un sistema difuso

Page 11: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

11

Ejemplo de una técnica heurística para determinar un sistema difuso a partir de datos experimentales (table-lookup scheme)

Es un método consiste en 5 pasos:

Paso1: Se divide los espacios de entradas y salidas en regiones difusas. Con x1 y x2 siendo las entradas, y la variable y la salida, asumimos que los dominios son:

1 1 2 2[ , ] [ , ] [ , ]x x x x y y

x1x2 y

Cada dominio se divide en 2N+1 regiones con N=1,2,3..La regiones se denominan: SN, SN-1, …, S1, CE, B1,…,BN-1,BN y se asignan funciones trapezoidales a cada una.

Page 12: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

12

1x

x1

x2

y

S2 S1 CE B1 B2

S3 S2 S1 CE B1 B2 B3

S2 S1 CE B1 B2

1x

2x

2x

y y

(1)2x

(2)1x

(2)2x

(1)1x

(1)y (2)y

Page 13: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

13

Ejemplo de una técnica heurística para determinar un sistema difuso a partir de datos experimentales (table-lookup scheme)

Paso2: primero, determine los grados de pertenencia para cada dato de entrada/salida.

(1) (1) (1) (1)1 2 1( , ; ) 0.8 1 0.2 2x x y x tiene en B y en B

(1)2 0.7 1 0.4 2x tiene en S y en S

Determine para cada dato las regiones con mayor pertenencia:

(1) (1) (1) (1) (1) (1)1 2 1 2( , ; ) , 0.8 1 ,0.7 1; , 0.9x x y x en B y x en S y en CE

Genere la regla correspondiente: if x1 is B1 and x2 is S1 then y is CE

Page 14: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

14

Ejemplo de una técnica heurística para determinar un sistema difuso a partir de datos experimentales (table-lookup scheme)

Para el segundo dato

(2) (2) (2) (2)1 2 1( , ; ) 0.6 1 0.4x x y x tiene en B y en CE

(2)2 1x tiene en CE

Las regiones con mayor pertenencia:

(2) (2) (2) (2) (2) (2)1 2 1 2( , ; ) , 0.6 1 ,1 ; , 0.7 1x x y x en B y x en CE y en B

Genere la regla correspondiente: if x1 is B1 and x2 is CE then y is B1

Page 15: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

15

Ejemplo de una técnica heurística para determinar un sistema difuso a partir de datos experimentales (table-lookup scheme)

Paso3: se da un grado a cada regla de acuerdo con el los valores de pertenencia obtenidos:

1 1 1 2( 1) ( ) ( ) ( )B S CED Rule x x y

0.8 0.7 0.9 0.504

El mismo procedimiento se realiza para todas las reglas.

1 1 2 1( 2) ( ) ( ) ( )B CE BD Rule x x y

0.6 1 0.7 0.42

Page 16: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

16

Ejemplo de una técnica heurística para determinar un sistema difuso a partir de datos experimentales (table-lookup scheme)

Paso4: Se Crea la base de reglas combinadas (el conjunto de reglas) analice las reglas con el mismo antecedente pero con diferente consecuente. Escoja la que tiene mayo grado. Adicione reglas suministradas por expertos si existen.

Paso5: Determine el mapeo, usando la máquina de inferencia. Use en este caso, el operador producto, para calcular el grado de activación de las reglas.

Ejemplo de aplicación: “Truck Backer-Upper control”

Page 17: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

17

Sistemas difusos tipo Sugeno:

Los sistemas difusos tipo Sugeno (o sistemas tipo TSK, Takagi, Sugeno, Kang) se caracterizan por tener reglas de la forma:

R: Si x is A y w es B then z=f(x,w)

Donde, A y B son conjuntos difusos definidos en el antecedente de laRegla y f(x,w) es una función polinómica que depende de las entradas.

Si f(x,w) es un polinomio de primer orden se dice que el sistema deSugeno es de primer orden. Si f es una constante se dice que esun sistema de Sugeno de orden cero.

Page 18: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

18

Sistemas difusos tipo Sugeno:

Ejemplo de un sistema Sugeno de orden 1 con dos entradas,una salida y 4 reglas:

R1: Si x es pequeño y w es pequeño entonces z=-x+w+1 R2: Si x es pequeño y w es grande entonces z=-w+3 R3: Si x es grande y w es pequeño entonces z=-x+3 R4: Si x es grande y w es grande entonces z=x+w+2

Page 19: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

19

Cómo se calcula la salida en un sistema difuso tipo Sugeno ?

Asumamos que tenemos un sistema difuso tipo Sugeno dedos reglas y dos entradas :

Regla1: Si x es A1 y w es B1 entonces f1= p1x+q1w+r1

Regla2: Si x es A2 y w es B2 entonces f2= p2x+q2w+r2

P: Si x es A* y w es B*

Igual que en las reglas difusas (tipo Mamdani) el grado de activación de las reglas será:Regla1:

Regla 2:

1 11 * *min{max [min( ( ), ( ))],max [min( ( ), ( )]}x A A w B Bw x x w w

2 22 * *min{max [min( ( ), ( ))],max [min( ( ), ( )]}x A A w B Bw x x w w Este operador puede ser el producto

Page 20: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

20

Cómo se calcula la salida en un sistema difuso tipo Sugeno ?

1 1*max [min( ( ), ( ))] ( )x A A Ax x a

1 1*max [min( ( ), ( )] ( )w B B Bw w b

1 11 * *min{max [min( ( ), ( ))],max [min( ( ), ( )]}x A A w B Bw x x w w

Si los conjuntos A* y B* son “singletons” tal que:

1 en x = a 1 en w = b μA*(x) = μB*(w)= 0 para x a 0 para w b

Entonces:

Para la primera regla:

Luego:

1 11 min{ ( ), ( )}A Bw a b

1 11 ( ) ( )A Bw a b Usando el producto

Page 21: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

21

Cómo se calcula la salida en un sistema difuso tipo Sugeno ?

2 2*max [min( ( ), ( ))] ( )x A A Ax x a

2 2*max [min( ( ), ( )] ( )w B B Bw w b

2 22 * *min{max [min( ( ), ( ))],max [min( ( ), ( )]}x A A w B Bw x x w w

Para la segunda regla:

Luego:

2 22 min{ ( ), ( )}A Bw a b

Usando el producto 2 22 ( ) ( )A Bw a b

Page 22: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

22

Cómo se calcula la salida en un sistema difuso tipo Sugeno ?

1 1 2 21 1 2 2

1 2

w f w fw f w f

w w

1 1 1 1f p a q b r

2 2 2 2f p a q b r

La salida del sistema difuso tipo Sugeno es:

Donde:

11

1 2

ww

w w

22

1 2

ww

w w

Page 23: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

23

De forma gráfica:

1 1 1 1 1 1R1: Si x es A y w es B entonces f p x q w r

2 2 2 2 2 2R2: Si x es A y w es B entonces f p x q w r

1w

2w

1 1 1 1f p a q b r

2 2 2 2f p a q b r

1 1 2 2

1 2

w f w ff

w w

1 1 2 2f w f w f

x a w b

A1

A2

B1

B2

A* B*

Page 24: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

24

El sistema difuso tipo Sugeno como una red adaptativa

se le denomina ANFIS (Adative networks-based fuzzy

inference systems)

Una red adaptativa: es una red cuyo comportamiento de

entrada/salida es determinado por los valores de un conjunto

de parámetros modificables.

Estructuralmente una red adaptativa esta compuesta por un

conjunto

de nodos (fijos y adaptativos) unidos por interconexiones por las

cuales fluye la información (en una sola dirección).

Page 25: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

25

3 6 8

975

4

x1

x2

x8

x9

nodos adaptativos nodos fijos

Redes adaptativas:

Están compuestas de nodos adaptativos y nodos fijos

Ejemplo de red adaptativa:

No poseen parámetros

capa1 capa2 capa3

poseen parámetros

Page 26: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

26

x1

x2

x3

x1

x2

x4f3 f4

f3Ejemplo:

3 3 1 2 0 1 2 1 1 2 2 0x f (x ,x ;w ,w ,w ) w x w x w parámetros

x4=f4(x3) =1 si x3≥ 0

0 si x3<0

x4f4

x3

La red adaptativa:

Modelo del neuron (perceptron)

Page 27: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

27

Un sistema difuso tipo Sugeno se puede convertir en una redAdaptativa de 5 capas.

Sea el sistema:

Regla1: Si x es A1 y w es B1 entonces f1= p1x+q1w+r1

Regla2: Si x es A2 y w es B2 entonces f2= p2x+q2w+r2

Para un una entrada x y w (genérica) la salida del sistemase puede calcular:

1 1 2 21 1 2 2

1 2

w f w fw f w f

w w

Grados de activación de las reglas

Page 28: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

28

1w

2w

1 1 1 1f p x q w r

2 2 2 2f p x q w r

1 1 2 2

1 2

w f w ff

w w

1 1 2 2f w f w f x w

A1

A2

B1

B2

A1

A2

B1

B2

x

y

N

N

x y

x y

capa 1 capa 2 capa 3 capa 4 capa 5

1w

2w

1w

2w2 2w f

1 1w ff

Page 29: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

29

Capa1: nodos adaptativos. Siendo las entradas x y w, seevalúan las funciones de pertenencia:

1, ( ), 1, 2ii AO x para i

21, ( ), 3,4ii BO w para i

Los parámetros son los que definen la función de pertenencia

Capa2: nodos fijos. Calcula el grado de pertenencia. Usandoel operador producto:

2, ( ) ( ), 1, 2i ii i A BO w x w para i

Page 30: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

30

Capa3: nodos fijos. Calcula la razón de los grados de activación.

3,1 2

, 1, 2ii i

wO w para i

w w

Grados de activación normalizados

Capa4: nodos adaptativos. Calcula el grado de total de cadaregla

4, ( )i i i i i i iO w f w p x q w r

El conjunto de parámetros es {pi,qi,ri}

Page 31: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

31

Capa5: nodos fijos. Calcula la salida total

5,1 i ii

O w f

Grados de activación normalizados

Nota importante: Un sistema difuso con la estructura anterior es similar a una red neuronal multicapa, por consiguiente se pueden usar algoritmos de entrenamiento para determinar los parámetros del sistema.

Page 32: Fundamentos de Lógica Difusa (Fuzzy) José Edinson Aedo Cobo, Msc. Phd. Departamento de Ing. Electrónica Universidad de Antioquia.

32

EjercicioDibujar la red adaptativa correspondiente al siguiente sistemaDifuso.

R1: Si x es pequeño y w es pequeño entonces z=-x+w+1 R2: Si x es pequeño y w es grande entonces z=-w+3 R3: Si x es grande y w es pequeño entonces z=-x+3 R4: Si x es grande y w es grande entonces z=x+w+2