View
15
Download
5
Category
Preview:
Citation preview
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
Recommended