II. Razonamiento con imprecisión Tema 7 Controladores Borrosos Sistemas Basados en el Conocimiento Grado en Ingeniería Informática –1– Razonamiento con imprecisión Tema 5. MYCIN Tema 6. Redes Bayesianas Tema 7. Controladores Borrosos –2– Referencias • Sistemas Inteligentes. Conceptos, Técnicas y Métodos de Construcción. J. Cuena. Ed. UPM. 1997 • Sistemas expertos representación e inferencia problemas resueltos. A. Fernández. Dykinson (URJC). 2010 • Fuzzy CLIPS. User's Guide. http://awesom.eu/~cygal/archives/2010/04/22/fuzzycli ps_downloads/index.html –3– Índice • Repaso Lógica Borrosa • Sistemas de inferencia borrosos • Controladores borrosos –4– Repaso • Conjuntos Borrosos función de pertenencia, µA: E → [0,1] Altura media M baja B alta A 1 cm 150 160 170 180 µBaja(165) = 0.5 –5– 190 200 Repaso • Operaciones con Conjuntos Borrosos – µA∩B(x) = T(µA(x), µB(x)) • T(x,y) = Min(x,y) (t-norma mínimo) • T(x,y) = W(x,y) = Max(0, x+y-1) (t-norma de Lukasiewicz) • T(x,y) = Prod(x,y) = x·y (t-norma producto) – µA∪B (x) = S(µA(x), µB(x)) • S(x,y) = Max(x,y) (t-conorma máximo) • S(x,y) = W*(x,y) = Min(1, x+y) (t-conorma de Lukasiewicz) • S(x,y) = Prod*(x,y) = x + y - x·y (t-conorma producto) – µA’ (x) = N(µA(x)) • N(x) = 1 – x • Dualidad – Min / Max, Prod / Prod*, W / W* –6– Repaso • Lógica Borrosa – – – – Conjunción: Disyunción: Negación: Implicación: µP∧Q(x, y) = T(µP(x), µQ(y)) µP∨Q(x, y) = S(µP(x), µQ(y)) µ¬P (x) = N(µP(x)) µP→Q(x,y) = J(µP(x),µQ(y)) • Inferencia Modus Ponens Generalizado Si x es P, entonces y es Q [µP→Q(x,y)] x es P* [µP*(x)] y es Q* [µQ*(y)] Regla Composicional de Inferencia (RCI) de Zadeh: µQ*(y) = supx∈X T(µP*(x), µP→ Q(x,y)) –7– Índice • Repaso Lógica Borrosa • Sistemas de inferencia borrosos • Controladores borrosos –8– Sistema de Inferencia Borroso SISTEMA BORROSO BASE DE CONOCIMIENTO - Variables Lingüísticas - Base de Reglas Entrada Nítida BORROSIFICACIÓN (FUZZYFICACIÓN) Valor Borroso MOTOR DE INFERENCIA –9– Valor Borroso DESBORROSIFICACIÓN (DEFUZZYFICACIÓN) Salida Nítida Borrosificación/Desborrosificación • Borrosificación – Convertir valor nítido en un conjunto borroso µF(x0) µF(x0) 1 1 x0 x x0 x • Desborrosificación – Obtener un valor nítido a partir de un conjunto borroso – Métodos más habituales xf ( x) dx ∫ cg = ∫ f ( x)dx • Centro de Gravedad • Media de Máximo – 10 – Cálculo Centro de Gravedad xf ( x) dx ∫ cg = ∫ f ( x)dx • cg: • Algunas figuras geométricas conocidas – Rectángulo: punto medio – Triángulo rectángulo: a 1/3 del cateto 1/3 • Se puede hacer por partes – Se divide el área de la figura en i partes: ∑ cg ⋅ A cg = ∑A 4 i i i 2 3 5 6 i i 1 – 11 – 2/3 Motor de Inferencia Borroso • Dado un conjunto de reglas y hechos, consiste en aplicar la RCI a las reglas • Si hay varias reglas cuya conclusión se proyecta sobre la misma variable (q1(y), q2(y), ..., qn(y)), se aplica una función S de agregación (S suele ser una t-conorma), obteniendo Q(y) = S(q1(y), q2(y), ..., qn(y)) • Una vez obtenido el conjunto borroso resultado µQ*(x), se puede obtener – un valor cualitativo • algún criterio de proximidad – Un valor numérico • Centro de gravedad – 12 – Motor de Inferencia Borroso • Valor cualitativo – Si y toma valores en {Q1, Q2, ..., Qn}, aquella cualificación y=Qi tal que µQi (x) ≥ µQ*(x) será aceptable – Si no hay ningún Qi que lo cumpla, se usa algún criterio de proximidad – Ejemplo de Función distancia d = α ( Ai − A) 2 + β (cg i − cg ) 2 con α+β=1, A, Ai : áreas de las distribuciones de posibilidad cg, cgi : centros de gravedad (del valor cualitativo i) xf ( x)dx ∫ cg = ∫ f ( x)dx – 13 – Motor de Inferencia Borroso • La base de conocimiento está formada por reglas de la forma: R1: Si x = A1(x) ∧ y = A2(y) ∧ ... → z = Q(z) R2: Si x = A’1(x) ∧ y = A’2(y) ∧ ... → z = Q’(z) R3: Si x = A’’1(x) ∧ y = A’’2(y) ∧ ... → z = Q’’(z) ....................... • El objetivo es obtener el conjunto borroso para la variable z • Nota: las reglas también pueden incluir el conectivo ∨ – 14 – Motor de Inferencia Borroso • El motor de inferencia aplica Modus Ponens x = A1(x) ∧ y = A2(y) → z = Q(z) x = B1(x) ∧ y = B2(y) z = Q* • Los valores de entrada (B1(x) y B2(y)) pueden ser nítidos o borrosos. • Recordando que µQ*(y) = maxx∈X T(µP*(x), µP→ Q (x,y)) µQ* (z) = maxx,yT(B1(x) ∧ B2(y), A1(x)∧ A2(y) → Q(z)) • Según la t-norma e implicación que se utilice la respuesta puede ser más o menos intuitiva. – 15 – Motor de Inferencia Borroso • Utilizaremos implicación y t-norma de Mamdani (Min) µQ*(z) = maxx,y T(B1(x) ∧ B2(y),A1(x) ∧ A2(y) → Q(z)) µQ*(z) = maxx,y min[min[B1(x),B2(y)],min[min(A1(x),A2(y)),Q(z)]] µQ*(z) = min(NA,Q(z)), siendo NA = min(NA1,NA2) (máx(NA1,NA2) si el conectivo es ∨) NA1 = maxx [min(B1(x),A1(x))] NA2 = maxy [min (B2(y),A2(y))] A1 B1 NA1 A2 B2 Q(z) NA2 • Si hay varias reglas, se combinan mediante una tconorma, en este caso S = Max – 16 – Procedimiento general de Inferencia • Se tienen m reglas y datos x=B1(x) y y=B2(y) y ... • Para cada regla – Se calcula el NAi – Se obtiene µQi*(z) = min(NAi,Qi(z)) • Se halla la distribución µQ*(z)=∪ µQi*(z) (t-conorma=Max) • Se desborrosifica: transformar la distribución de posibilidad µQ*(z) en un valor numérico. – Centro de gravedad – Media de los z con posibilidad máxima – 17 – Resumen Sistema de Inferencia Borroso ENTRADA x1 = v1, x2 = v2, ..., xn = vn borrosificación BASE DE REGLAS SI x1 es A11 .... Y xn es A1n ENTONCES y es B1 SI x1 es A21 .... Y xn es A2n ENTONCES y es B2 ....................... ....................... SI x1 es Am .... Y xn es Amn ENTONCES y es Bm inferencia RESPUESTA y es B1*, y es B2*, .., y es Bm* agregación SALIDA BORROSA y es B* y=v desborrosificación – 18 – SALIDA Índice • Repaso Lógica Borrosa • Sistemas de inferencia borrosos • Controladores borrosos – 19 – Descripción general • El control de un sistema S tiene por objeto garantizar una determinada respuesta en la salida de S próxima a un valor de referencia a pesar del medio en que opera S • Control clásico: modelización matemática de los problemas a resolver mediante sistemas de ecuaciones diferenciales, a menudo no lineales. • El control borroso es una de las aplicaciones más importantes y exitosas de la Lógica Borrosa. • Es una alternativa al control clásico para problemas en los cuales o bien no es posible encontrar una descripción matemática precisa o bien ésta resulta demasiado compleja. – 20 – Ejemplo (control clásico): péndulo invertido – 21 – Esquema general de un controlador borroso SISTEMA BORROSO BASE DE CONOCIMIENTO - Variables Lingüísticas - Base de Reglas Entrada Nítida BORROSIFICACIÓN (FUZZYFICACIÓN) Valor Borroso MOTOR DE INFERENCIA Variables de Estado Valor Borroso DESBORROSIFICACIÓN (DEFUZZYFICACIÓN) Variables de Control SISTEMA CONTROLADO – 22 – Salida Nítida Motor de Inferencia Borroso • La función de control se formula mediante una base de conocimiento formada por reglas que relacionan las variables de estado del proceso con la variable de control de la forma: R1: Si x = A1(x) ∧ y = A2(y) ∧ ... → z = Q(z) R2: Si x = A’1(x) ∧ y = A’2(y) ∧ ... → z = Q’(z) R3: Si x = A’’1(x) ∧ y = A’’2(y) ∧ ... → z = Q’’(z) ....................... • El objetivo es, considerando las reglas y utilizando un motor de inferencia, enviar en cada instante información al sistema sobre las acciones de control – 23 – Controlador Borroso • Las Aki, Qk son etiquetas cualitativas con dominio similar a <NA,NM,NP,Z,PP,PM,PA>, siendo NA (negativo alto), NM (negativo medio), NP (negativo pequeño), Z (nulo), PP (positivo pequeño), PM, PA. • Un ejemplo de posible distribución de posibilidad es NA -1 NM NP Z 0 -0.5 – 24 – PP PM 0.5 PA 1 Ejemplo (control borroso): péndulo invertido • Reglas del Controlador Borroso – – – – – – – R1: Si e=NM ∧ ∆e=AZ → v=NM R2: Si e=NP ∧ ∆e=NP → v=NP R3: Si e=NP ∧ ∆e=PP → v=AZ R4: Si e=AZ ∧ ∆e=AZ → v=AZ R5: Si e=PP ∧ ∆e=NP → v=AZ R6: Si e=PP ∧ ∆e=PP → v=PP R7: Si e=PM ∧ ∆e=AZ → v=PM – 25 –