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

Post on 03-Feb-2015

15 views 5 download

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

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.

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)

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.

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.

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

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

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)

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)

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

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.

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

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

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

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

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”

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.

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

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

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

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

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

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*

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

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

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)

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

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

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

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}

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.

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