Sesión 9 “Razonamiento con imprecisión” Año académico 2014/15 Profesores: Sascha Ossowski, Alberto Fernández y Holger Billhardt –1– Índice • • • • • Introducción Conjuntos borrosos Operaciones con conjuntos borrosos Lógica borrosa Inferencia Borrosa –2– Introducción • En informática normalmente manipulamos información “precisa” o “nítida” IF temperatura < 20 ºC THEN encender calefacción • Pero los humanos a menudo hablamos y razonamos de forma “imprecisa” SI hace frío y la sala es grande ENTONCES poner la calefacción muy fuerte –3– Descripción general • La Lógica Borrosa (Fuzzy Logic) es una generalización de la Lógica Clásica. • Es un formalismo matemático que permite representar, manipular y realizar razonamientos con información imprecisa • La información imprecisa, expresada mediante predicados vagos, se representa mediante conjuntos borrosos (extensión de los conjuntos clásicos) • La Lógica Borrosa aporta modelos de representación del conocimiento y de razonamiento más flexibles que los de la Lógica Clásica • Fue introducida por Lotfi Zadeh (1965) –4– Índice • • • • • Introducción Conjuntos borrosos Operaciones con conjuntos borrosos Lógica borrosa Inferencia Borrosa –5– Predicados nítidos / Predicados vagos • Predicados nítidos: – Expresan propiedades precisas acerca de los elementos de un cierto universo, dividiendo a éstos en dos clases totalmente diferenciadas: los elementos que verifican la propiedad y los que no la verifican. Estos predicados son o bien ciertos o bien falsos, y se representan mediante conjuntos clásicos. – Ejemplos: • “x tiene menos de 20 años” • “x es un número primo” • “x pertenece al intervalo [5,7] –6– Predicados nítidos / Predicados vagos • Predicados vagos (imprecisos) – Expresan propiedades imprecisas acerca de los elementos de un cierto universo, de forma que éstos no se pueden clasificar de forma categórica. Estos predicados no son únicamente ciertos o falsos, sino que admiten distintos grados de verdad, y se representan mediante conjuntos borrosos – Ejemplos: • • • • “x es joven'' “x es un número cercano al cuatro'' “x está aproximadamente comprendido entre 5 y 7'' “La temperatura es alta'' –7– Conjuntos clásicos / Conjuntos borrosos • Conjuntos Clásicos – Dado un universo E, un conjunto clásico A ⊆ E se representa mediante su función característica, ϕA: E → {0,1}, que asigna a cada elemento del universo E o bien el valor 0, para indicar que el elemento no pertenece al conjunto A, o bien el valor 1 para indicar que sí pertenece – Ejemplo: “x tiene menos de 20 años” –8– Conjuntos clásicos / Subconjuntos borrosos • Conjuntos Borrosos – Dado un universo E, un conjunto borroso A ⊆ E se representa mediante su función de pertenencia, µA: E → [0,1], que asigna a cada elemento del universo E un valor entre 0 y 1 que indica el grado de pertenencia del elemento al conjunto – Ejemplo: “x es joven” –9– Conjuntos Borrosos definidos sobre R • Números borrosos (“x es aproximadamente el real r”) • Intervalos borrosos (“x está, aproximadamente entre r1 y r2”) – 10 – Conjuntos Borrosos definidos sobre R • Números grandes (“x es, aproximadamente, mayor que r”) • Números pequeños (“x es, aproximadamente, menor que r”) – 11 – Índice • • • • • Introducción Conjuntos borrosos Operaciones con conjuntos borrosos Lógica borrosa Inferencia Borrosa – 12 – Operaciones con Conjuntos Borrosos • Dados dos conjuntos borrosos µA, µB : E → [0,1], ¿cómo definir los conjuntos borrosos µA∩B, µA∪B, µA’: E → [0,1]? • Requisito básico: los conectivos borrosos deben ser una extensión de los correspondientes conectivos clásicos • Solución habitual: – µA∩B(x) = T(µA(x), µB(x)), con T: [0,1]2→ [0,1] tal que T(0,0) = T(0,1) = T(1,0) = 0 y T(1,1) = 1 – µA∪B (x) = S(µA(x), µB(x)), con S: [0,1]2→ [0,1] tal que S(0,0) = 0 y S(0,1) = S(1,0) = S(1,1) = 1 – µA’ (x) = N(µA(x)), con N: [0,1] → [0,1] tal que N(0) = 1 y N(1) = 0 – 13 – Intersección: normas triangulares • Una norma triangular o t-norma es una función T: [0,1]2→ [0,1] conmutativa, asociativa, monótona no decreciente y tal que T(x,1)=x para todo x ∈ [0,1] • T-normas más habituales: – T(x,y) = Min(x,y) (t-norma mínimo) – T(x,y) = Prod(x,y) = x·y (t-norma producto) – T(x,y) = W(x,y) = Max(0, x+y-1) (t-norma de Lukasiewicz) • Propiedades más importantes: – – – – T(x,0) = 0 para todo x ∈ [0,1] Para toda t-norma T, T ≤ Min W ≤ Prod ≤ Min La única t-norma que cumple idempotencia es Min – 14 – Intersección: normas triangulares Ejemplo Min(x,y) Prod(x,y) W(x,y) – 15 – Unión: conormas triangulares • Una conorma triangular o t-conorma es una función S: [0,1]2→ [0,1] conmutativa, asociativa, monótona no decreciente y tal que S(x,0)=x para todo x ∈ [0,1] • T-conormas más habituales: – S(x,y) = Max(x,y) (t-conorma máximo) – S(x,y) = Prod*(x,y) = x + y - x·y (t-conorma producto) – S(x,y) = W*(x,y) = Min(1, x+y) (t-conorma de Lukasiewicz) • Propiedades más importantes: – – – – S(x,1) = 1 para todo x ∈ [0,1] Para toda t-conorma S, S ≥ Max Max ≤ Prod* ≤ W* La única t-conorma que cumple idempotencia es Max – 16 – Unión: conormas triangulares Ejemplo Max(x,y) Prod*(x,y) W*(x,y) – 17 – Complementario (Negación) • Una negación estándar es una función N: [0,1] → [0,1], que cumple: – N(0) = 1 – N(1) = 0 – es no creciente ( si x ≤ y entonces N(y) ≤ N(x) ) • Una negación fuerte es una función N: [0,1] → [0,1], que cumple: – las propiedades de la negación estándar – es involutiva (N(N(x)) = x) • Ejemplos – N(x) = 1-x (la más usada) – N(x) = 1 − x 2 – N(x) = (1-x)/(1+λx) λ > -1 (negación de Sugeno) – 18 – Dualidad • Si T es una t-norma y N es una negación fuerte entonces T*(r,s) = N(T(N(r),N(s))) es una t-conorma que se denomina t-conorma dual de T • Si S es una t-conorma y N es una negación fuerte entonces S*(r,s) = N(S(N(r),N(s))) es una t-norma que se denomina tnorma dual de S • T es la t-norma dual de S si y sólo si S es la t-conorma dual de T • Ejemplos (tomando N(x) = 1-x) – Min ---– Prod ---– W = Max(0, x+y-1) ---- Max Prod* (suma-producto) = x + y - x·y W* = Min(1, x+y) – 19 – Modificadores lingüísticos • • • • Modificadores externos Modifican los grados de verdad ([0,1]) µMP(x)=α(µP(x)) con α: [0,1] →[0,1] “Dilatan” o “amplían” el uso del predicado: P ⊆ MP (µP ≤ µMP) “Contraen” o “restringen” el uso del predicado MP ⊆ P (µMP ≤ µP) Ejemplos: – – – – La Negación “MUY”: restringe el uso del predicado : µMUY P ≤ µP “MODERADAMENTE”: dilata el uso del predicado: µP ≤ µMOD P Suele usarse: µMUY P (x) = (µP(x))2 µMOD P (x) = (µP(x))1/2 – 20 – Modificadores lingüísticos Modificadores Internos • Modifican los valores en el dominio de la variable µMP(x)=µP(α(x)) con α: E →E • Ejemplo: Antónimo: alto/bajo, joven/viejo, grande/pequeño – No hay que confundir el antónimo con la negación – Suele expresarse: µaP(x) = µP(α(x)) con α: E →E, α(α(x)) = x – Es habitual que µaP(x) ≤ µNO P(x) – Cuando E = [a,b] de la recta real, se suele tomar α: [a,b] → [a,b] α(x) = a + b - x – 21 – Variable lingüística • Una variable lingüística está definida por un nombre de variable y un conjunto de términos que son los valores que puede tomar. • Cada término se representa mediante un conjunto borroso • Ejemplos – Altura = {bajo, mediano, alto} – Edad = {joven, viejo, muy joven, muy viejo, moderadamente joven, de media edad, ...} – Temperatura: {fría, templada, caliente} – 22 – Índice • • • • • Introducción Conjuntos borrosos Operaciones con conjuntos borrosos Lógica borrosa Inferencia Borrosa – 23 – Lógicas Borrosas • Las Lógicas Borrosas son lógicas multivaluadas con valores de verdad pertenecientes a un conjunto parcialmente ordenado (L,≤) • Del mismo modo que la lógica clásica es isomorfa a la teoría de conjuntos clásicos, las lógicas borrosas son isomorfas a las teorías de conjuntos borrosos (FL(E),∩,∪,’), siendo FL(E) el conjunto de todos los subconjuntos borrosos A definidos sobre un universo E, con función de pertenencia µA: E → L • Las más habituales son las denominadas lógicas borrosas estándar, en las que L = [0,1], – ∧ es una t-norma continua (µP∧Q(x, y) = T(µP(x), µQ(y)) ) – ∨ es una t-conorma continua ( µP∨Q(x, y) = S(µP(x), µQ(y)) ) – ¬ es una negación fuerte (µ¬P (x) = N(µP(x)) ) – 24 – Implicación en Lógica Borrosa • Objetivo: representar expresiones condicionales (reglas borrosas) de la forma “Si x es P, entonces y es Q”, donde P y Q son predicados vagos • Solución: – “x es P” (P(x)) se representa mediante un conjunto borroso µP: X → [0,1] – “y es Q” (Q(y)) se representa mediante un conjunto borroso µQ: Y → [0,1] – “Si x es P, entonces y es Q” (P(x) → Q(y)) se representa mediante una relación borrosa R: X × Y → [0,1] definida por µP→ Q(x,y) = J(µP(x),µQ(y)) para todo (x,y) ∈ X × Y, siendo J : [0,1] × [0,1] → [0,1] una función de implicación borrosa adecuada – 25 – Principales funciones de Implicación Borrosas • • • • • • • Mamdani: T = Min; J(x,y) = Min(x,y) Larsen: T = Prod; J(x,y) = x·y Brower-Gödel: T = Min; J(x,y) = 1 si x ≤ y; y en otro caso Lukasiewicz: T = W; J(x,y) = Min(1,1 – x + y) Kleene-Dienes: S = Max; J(x,y) = Max(1 – x, y) Reichenbach: S = Prod*; J(x,y) = 1 – x + x·y Willmot: T = Min; S = Max; J(x,y) = Max(Min(x,y),1 – x) – 26 – Índice • • • • • • Introducción Conjuntos borrosos Operaciones con conjuntos borrosos Lógica borrosa Implicación borrosa Inferencia Borrosa – 27 – Mecanismos de Inferencia Borrosa • Las dos reglas de inferencia clásicas fundamentales son la regla del Modus Ponens (MP) y la regla del Modus Tollens (MT): Modus Ponens Si p, entonces q p q Modus Tollens Si p, entonces q no q no p • La inferencia en lógica borrosa se realiza generalizando las reglas anteriores al mundo de los predicados vagos: reglas del Modus Ponens Generalizado y Modus Tollens Generalizado – 28 – Mecanismos de Inferencia Borrosa Modus Ponens Generalizado Si x es P, entonces y es Q x es P* y es Q* Modus Tollens Generalizado Si x es P, entonces y es Q y no es Q* x no es P* • P y Q son predicados vagos definidos sobre sendos universos X e Y • P* y Q* son predicados vagos definidos sobre X e Y que representan una cierta modificación de los predicados P y Q • Objetivo: describir los predicados vagos Q* y P* de forma que los hechos “y es Q*” y “x no es P*” se puedan considerar como conclusiones correctas de las premisas respectivas. – 29 – Regla Composicional de Inferencia de Zadeh • Los predicados vagos P, P*, Q y Q* se representan mediante conjuntos borrosos µP, µP* : X → [0,1] y µQ, µQ* : Y → [0,1], y sus negaciones se modelan mediante una negación fuerte N • La regla borrosa “Si x es P, entonces y es Q” se interpreta como una implicación borrosa (µP→Q(x,y)) • La conjunción de las premisas se realiza con una t-norma T (coherente con la implicación: T(r,J(r,s)) ≤s)) • MP: µQ*(y) = supx∈X T(µP*(x), µP→ Q (x,y)) • MT: N(µP*(x)) = supy∈Y T(N(µQ*(y)), µP→ Q (x,y)) – 30 – 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 – 31 –