320 likes | 520 Views
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
E N D
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.
Sistemas difusos usados como controladores: Un sistema difuso implementa una función no lineal a partir de la definición de un conjunto de reglas. En un sistema de control típico: z u=f(e) x0 e(t) u(t) Sistema difuso proceso x’(t) x(t) detectores x0= setpoint, e= error, u= acción de control, x´= salidas del proceso x(t)= valores medidos, z= ruido
Parámetros a ser determinados en la implementación de Un 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.
Metodología para obtener los parámetros: • Principalmente las reglas y los conjuntos difusos asociados a cada • entrada 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.
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 la • Figura. • En general un sistema dinámico de esta naturaleza es modelado por • un sistema de ecuaciones diferenciales del tipo: x(t) t
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 muchas oscilaciones y de forma rápida. Una respuesta típica de un sistema de control es el siguiente: x(t) x0 t Para efecto llevar a cabo este comportamiento se define un controlador con variables de entrada: el error, e(t)=x0-x(t) y la 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 salida con respecto a la salida actual).
Ejemplo (continuación): e(t) control u(t) de(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).
Ejemplo (continuación): e(t) control u(t) de(t) Las reglas se pueden crear de forma de acuerdo con comportamiento Deseado. Por ejemplo la regla: Si el error es cero y el cambio del error es cero entonces el cambio del control es cero. Establezca otras reglas para controlar el sistema.
Técnicas Heurísticas para determinar la estructura de un sistema difuso 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): dato2 dato1
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: x2 y x1 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.
S2 S1 CE B1 B2 x1 S3 S2 S1 CE B1 B2 B3 x2 S2 S1 CE B1 B2 y
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. Determine para cada dato las regiones con mayor pertenencia: Genere la regla correspondiente: if x1 is B1 and x2 is S1 then y is CE
Ejemplo de una técnica heurística para determinar un sistema difuso a partir de datos experimentales (table-lookup scheme) Para el segundo dato Las regiones con mayor pertenencia: Genere la regla correspondiente: if x1 is B1 and x2 is CE then y is B1
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: El mismo procedimiento se realiza para todas las reglas.
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”
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 la Regla 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 de Sugeno es de primer orden. Si f es una constante se dice que es un sistema de Sugeno de orden cero.
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
Cómo se calcula la salida en un sistema difuso tipo Sugeno ? Asumamos que tenemos un sistema difuso tipo Sugeno de dos 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: Este operador puede ser el producto
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: Cómo se calcula la salida en un sistema difuso tipo Sugeno ? Luego: Usando el producto
Cómo se calcula la salida en un sistema difuso tipo Sugeno ? Para la segunda regla: Luego: Usando el producto
Cómo se calcula la salida en un sistema difuso tipo Sugeno ? La salida del sistema difuso tipo Sugeno es: Donde:
De forma gráfica: B1 A1 B2 A2 A* B*
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).
Redes adaptativas: Están compuestas de nodos adaptativos y nodos fijos nodos adaptativos nodos fijos poseen parámetros No poseen parámetros Ejemplo de red adaptativa: x8 8 3 6 x1 4 x9 9 7 5 x2 capa1 capa2 capa3
x1 x3 f3 Ejemplo: x2 parámetros x3 x4 f4 1 si x3≥ 0 x4=f4(x3) = 0 si x3<0 La red adaptativa: x1 x4 f4 f3 x2 Modelo del neuron (perceptron)
Un sistema difuso tipo Sugeno se puede convertir en una red Adaptativa 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 sistema se puede calcular: Grados de activación de las reglas
A1 B1 B2 A2 x y A1 x N A2 f B1 y N B2 x y capa 1 capa 2 capa 3 capa 4 capa 5
Capa1: nodos adaptativos. Siendo las entradas x y w, se evalúan las funciones de pertenencia: Los parámetros son los que definen la función de pertenencia Capa2: nodos fijos. Calcula el grado de pertenencia. Usando el operador producto:
Capa3: nodos fijos. Calcula la razón de los grados de activación. Grados de activación normalizados Capa4: nodos adaptativos. Calcula el grado de total de cada regla El conjunto de parámetros es {pi,qi,ri}
Capa5: nodos fijos. Calcula la salida total 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.
Ejercicio Dibujar la red adaptativa correspondiente al siguiente sistema Difuso. 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