610 likes | 965 Views
Fundamentos de IA. Ramiro Lago. 2. INDICE. Introducci?nL?gica formal y teor?a de conjuntosConjuntos borrososOperadores fundamentales de l?gica borrosa: t-normas y t-conormasLas teor?as fundamentales de la l?gica borrosaConstrucci?n de funciones de pertenenciaLa l?gica borrosa como una l?gica d
E N D
1. Fundamentos de Inteligencia Artificial
2. Fundamentos de IA. Ramiro Lago 2 INDICE Introducción
Lógica formal y teoría de conjuntos
Conjuntos borrosos
Operadores fundamentales de lógica borrosa: t-normas y t-conormas
Las teorías fundamentales de la lógica borrosa
Construcción de funciones de pertenencia
La lógica borrosa como una lógica de los valores lingüísticos
Inferencia borrosa
Bibliografía básica
3. Introducción De forma sucinta veremos que es la lógica y algunas razones para estudiar la lógica borrosa o difusa
4. Fundamentos de IA. Ramiro Lago 4 ¿Qué es la lógica? Tradicionalmente se ha considerado a la lógica como la ciencia del razonamiento correcto
Este sentido de la lógica nació de la Grecia clásica, donde se observo que el estudio del razonamiento correcto era importante para el desarrollo del debate político, el proceso de justicia y la filosofía
En un sentido más técnico y moderno se habla de la lógica como el estudio de los métodos de inferencia o demostración. La ciencia de las consecuencias válidas
Por ello es una ciencia de las formas o esquemas lógicos
Por ejemplo, los siguientes esquemas lógicos son el tipo de cosas que interesa a la lógica:
5. Fundamentos de IA. Ramiro Lago 5 La lógica es un lenguaje formal Puesto que es un lenguaje formal, a la lógica le interesan los modelos o esquemas de inferencia
A la lógica formal le interesa en primer lugar la validez de la inferencia, y no tanto la interpretación de los esquemas. Por ello:
Lo esencial es el esquema:
Y lo secundario es la interpretación:
6. Fundamentos de IA. Ramiro Lago 6 ¿Por qué la lógica borrosa? En la lógica clásica la valoración de los enunciados se hace en términos de “verdad” o “falsedad”:
“Pedro es austriaco y Juan está casado”
“Todos los científicos son investigadores, pero Juan no es investigador; por tanto Juan no es científico”
Pero los enunciados que encontramos en múltiples contextos no son precisos, no son valorables en términos de verdadero o falso:
“Una pérdida de aceite moderada supone una disminución del rendimiento del motor”
“La infraestructura de soporte de la caldera es muy frágil”
¿Qué pretendemos con la lógica borrosa?
Representar de forma rigurosa el significado de los enunciados imprecisos del lenguaje natural
Tener reglas rigurosas que definan el paso de premisas imprecisas a conclusiones imprecisas
¿Con que herramienta contamos? Con la lógica formal
¿No es contradictorio tratar de forma rigurosa (al estilo de la lógica formal) lo que es eminentemente impreciso? Respuesta “gallega”: ¿es necesario tartamudear para analizar la tartamudez?
7. Lógica formal y teoría de conjuntos Veremos qué es un álgebra de Boole y la equivalencia de un álgebra conjuntista con otra basada en funciones, funciones de verdad sobre {0,1}.
Estableceremos la relación entre la lógica clásica de predicados y la teoría de conjuntos
8. Fundamentos de IA. Ramiro Lago 8 Elementos de un lenguaje formal (I) Letras esquemáticas: por ejemplo, representaremos las proposiciones por letras P, Q, R, etc.
Conectivas para combinar las letras esquemáticas:
Negación: ¬p permite construir una frase a partir de otra p del tipo: no p, no es cierto que p, es falso que p
Conjunción: p v q representa a los elementos del lenguaje que permiten unir dos frases de la forma: p y q, p pero q, p no obstante q, p sin embargo q
Disyunción: p Ú q uniones de la forma: p ó q, al menos p ó q, como mínimo p ó q
Condicional: p ® q relación causa efecto, de la forma: si p entonces q, q sólo si p, q necesario para p, p suficiente para q, p luego q
Signos de puntuación para deshacer posibles ambigüedades, por ejemplo los paréntesis
Reglas de formación: reglas para definir lo que es una fórmula bien formada. Por ejemplo:
Si A y B son fórmulas correctas, también son fórmulas correctas:
¬ A, ¬ B, A v B, A ^ B, A ? B, A ?? B
Reglas de transformación: por ejemplo, p ^ q ? p
9. Fundamentos de IA. Ramiro Lago 9 Elementos de un lenguaje formal (II) Por último un lenguaje debe basarse también en un pequeño número de principios o axiomas. Para Aristóteles eran autoevidentes o definiciones de términos
Un ejemplo de principio es el de no contradicción: “no puede ser que algo y su contrario sean verdaderos”
El lenguaje admite interpretaciones en términos de verdad o falsedad (y nada más). El principio de “tercio excluso” precisamente nos indica que de una expresión sólo podemos afirmar su verdad o bien su falsedad (y nada más)
Veremos más adelante por qué la lógica borrosa pone en cuestión estos principios
10. Fundamentos de IA. Ramiro Lago 10 Algebra de Boole Las álgebras de Boole son estructuras muy potentes tanto si la necesidad es la deducción de teoremas como el cálculo interpretado
Vamos a definir lo que es un álgebra de Boole para el retículo (U, +, ·, ‘, 0, I), donde:
U: conjunto donde se indica por P(U) el conjunto de sus partes o subconjuntos. Identificando cada subconjunto A de U por su función característica fA: U ? {0,1}, dada por:
1, si x ? A
fA(x) =
0, si x ? A
“+” y “·”: operaciones binarias
“ ‘ “: operación del complementario
“0” e “I”: cotas universales
11. Fundamentos de IA. Ramiro Lago 11 Propiedades del álgebra de Boole Idempotencia: a+a = a·a = a
Comutativa: a+b = b+a, a·b = b·a
Asociativa: a+(b+c) = (a+b)+c, a·(b·c) = (a·b) · c
Absorción: a·(a+b) = a+(a·b)
Distributiva: a+(b·c) = (a+b)·(a+c), a·(b+c) = (a·b)+(a·c)
Acotación: 0 · a = 0, 0 + a = a, I · a = a, I + a = I
Existencia de complemento:
Tercio excluso: a·a’=0
No contradicción: a+a’=1
12. Fundamentos de IA. Ramiro Lago 12 Importancia del álgebra de Boole A partir de un álgebra de Boole podemos deducir:
Las leyes de De Morgan: (a·b)’ = a’+b’, (a+b)’ = a’ · b’
La ley de involución: (a’)’ = a
También: a = a·b + a·b’
Con un álgebra de Boole aseguramos mayor facilidad y potencia de cálculo. Por ejemplo, para los modelos matemáticos usados en IA las propiedades conmutativa y asociativa son importantes
A partir de los operadores “+”, “·” y “ ’ ” se definen otras conectivas u operadores:
El condicional: a’ + b = a ? b
La disyunción exclusiva: a w b = (a ?? b)’ (a partir del doble condicional)
13. Fundamentos de IA. Ramiro Lago 13 Algebra de Boole: conjuntos y funciones Si consideramos el retículo (P(U), ?, ? , ‘, 0, U) donde :
Reunión: A ? B = { x ? U, x?A ó x?B }
Intersección: A ? B = { x ? U, x?A y x?B }
Complementario: A’ = { x ? U, x?A }
Este retículo es un álgebra de Boole
Como antes dijimos, hacemos corresponder a cada elemento A de P(U) su función característica fA: U ? {0,1}. De donde resulta que valen las siguientes ecuaciones:
fA+B = Max( fA, fB )
fA·B = Min( fA, fB )
fA’ = 1 - fA
Por tanto, el álgebra de Boole conjuntista es identificable con un álgebra de Boole funcional:
14. Fundamentos de IA. Ramiro Lago 14 Lógica clásica de predicados y teoría de conjuntos Cantor (1845-1918) creó la teoría de conjuntos
La lógica de predicados se puede interpretar como una teoría de conjuntos:
Existe un universo U al que pertenecen todos los individuos: ? x, x ? U
Cada predicado es un conjunto incluido en U: P ? U
Una afirmación del tipo Px tiene una interpretación en términos de verdad o falsedad. Ya que tenemos una función, fP(x), que puede determinar la verdad o falsedad de Px:
1, si x ? P
fP(x) =
0, si x ? P
Estamos, por tanto, ante una lógica de conjuntos estrictos: un individuo pertenece o no a un conjunto. Ejemplo:
15. Fundamentos de IA. Ramiro Lago 15 Conectivas y teoría de conjuntos Negación: ¬P
P ¬P
1 0
0 1
Conjunción: Px ^ Qx (intersección, ?)
P Q P^Q
1 1 1 (A)
0 1 0
1 0 0
0 0 0
Disyunción: Px v Qx (unión, ?)
P Q PvQ
1 1 1 (A)
0 1 1 (B)
1 0 1 (C)
0 0 0
16. Conjuntos borrosos Explicaremos el concepto de conjunto borroso. Veremos que para definir un conjunto borroso es necesario determinar su función de pertenencia (la “función característica” de la lógica clásica)
17. Fundamentos de IA. Ramiro Lago 17 Conjuntos borrosos: relajamos el concepto de pertenencia Con la lógica clásica la pertenencia del individuo a un conjunto viene definida por una función que nos da un valor de verdad en un universo binario de la verdad
Dado un universo U y un P(U) como el conjunto de partes o subconjuntos de U
Tenemos que fP: U ? {0,1}
Con la lógica borrosa [Zadeh 1965] la pertenencia a un conjunto viene dada por una función de pertenencia (?) sobre un universo continuo [0,1]
Dado un universo U y un P(U) como el conjunto de partes o subconjuntos de U
Tenemos que ?P: U ? [0,1]
18. Fundamentos de IA. Ramiro Lago 18 Conjuntos borrosos: verdad y negación Decimos que cada conjunto borroso tiene una función de pertenencia que determina el valor de la proposición Px
?x, x ? U, P ? U
?P: U ? [0,1]
?P(x) = ?, donde x ?? P
El grado de compatibilidad de x con P se puede interpretar como el grado de verdad de Px [Trillas 1995]
A cada conjunto borroso P le podemos hacer corresponder un P’ (el complementario de P):
Significado extensional de P’ = {?x x ? U; x ? P}
?P’(x) = 1 - ?P(x)
O bien ?P’(x) = ( 1 - ?P(x)2 )½
19. Fundamentos de IA. Ramiro Lago 19 Ejemplo Una metáfora: el dibujo de un conjunto borroso se podría realizar como si fuera una nebulosa (más densa en el centro y más ligera o clara en los extremos)
20. Fundamentos de IA. Ramiro Lago 20 Función de pertenencia: intensionalidad y extensionalidad Retomando el ejemplo anterior del conjunto borroso “Persona joven”, podemos distinguir dos formas de definirlo:
Extensionalmente (“el camino largo”): señalamos todos los posibles valores de entrada (edades) y a cada uno le asignamos su ?Joven correspondiente:
?x, x ? W (personas), Joven ? W, Edad(x) ? U = {10, 20, 30, 40, 50, 60, 70}
?Joven(Edad(x)) = {10/1, 20/1, 30/0.8, 40/0.6, 50/0.4, 60/0.2, 70/0}
Intensionalmente: definimos una función de pertenencia:
¿En que grado sería Pepe “No joven”, si su edad es de 60 años?
21. Fundamentos de IA. Ramiro Lago 21 Una lógica local En el ejemplo anterior una persona de 60 años era joven en un grado de 0.2. ¿Cuál sería el ?Joven(60) si la esperanza y calidad de vida se alarga hasta los 200 años? Tendríamos que aumentar ?Joven(60) hasta un valor cercano al 0.8
La representación de los predicados aproximados (y por tanto sus funciones de pertenencia) son dependientes del universo del discurso. Por ello, se habla de la lógica borrosa como de una lógica local
Este condicionante nos empuja a hablar no tanto de conjuntos borrosos, como de subconjuntos cuya modelización es dependiente (relativa a) un universo elegido
22. Fundamentos de IA. Ramiro Lago 22 Ejemplo: seleccionando la función de pertenencia Supongamos que tenemos el subconjunto P de “Personas cercanas a los 40 años”, donde ?x, x ? W, Edad(x) = e, e ? U = [10,70]
?P(e) = (1 + 0.45(0.45(e – 45))2)-1
Otra forma: ?P(e) = (1+(e-45)2)-1
23. Operadores fundamentales de lógica borrosa: t-normas y t-conormas Del mismo modo que en la lógica clásica tenemos la conjunción y la disyunción (intersección y reunión en teoría de conjuntos) necesitamos también operadores borrosos. A los operadores de conjunción los llamamos t-normas y a los de disyunción t-conormas.
24. Fundamentos de IA. Ramiro Lago 24 Conjunción y disyunción Al igual que ocurre en la lógica clásica, necesitamos operadores que nos permitan realizar la conjunción (intersección) o disyunción (reunión) de subconjuntos borrosos
Disyunción: por ejemplo, el área de RRHH necesita evaluar en que medida los candidatos para un puesto reúnen las cualidades de tener un buen expediente y ser comunicativos
Conjunción: por ejemplo, el área de control de calidad quiere calcular en que medida las piezas producidas son a un tiempo resistentes y flexibles
25. Fundamentos de IA. Ramiro Lago 25 t-normas La conjunción borrosa entre dos subconjuntos borrosos A y B se expresa como una función T:[0,1]x[0,1] ? [0,1], que expresa el grado de pertenencia de x a A^B
El concepto de t-norma fue introducido por Schweizer (1983). Una conjunción borrosa es una t-norma si satisface las siguientes propiedades:
Asociativa: T(x,T(y,z)) = T(T(x,y), z)
Conmutativa: T(x,y) = T(y,x)
Monotonía: T(x,y) = T(x’,y’) si x =x’, y =y’
Elemento neutro: T(x,1) = 0
Además conviene que T sea continua
En el caso de la teoría de Zadeh: T(x,y) = Min(x,y)
Ejemplo: decimos que una persona es digna de confianza si es a un tiempo sincera y cumplidora. Sabemos que el individuo c es sincero en grado ?Sincero(c) = 0.9 y es cumplidor ?Cumplidor(c) = 0.4. Entonces, ¿Cuál será el ?Sincero ? Cumplidor(c)?
26. Fundamentos de IA. Ramiro Lago 26 t-conormas Las t-conormas corresponden a las disyunciones de la lógica clásica
Las deducimos usando las leyes de De Morgan:
p v q = ¬(¬p ^¬q)
Si T es una t-norma, diremos que T* es su t-conorma dual cuando cumple que T*(x,y) = 1- T(1-x,1-y)
Las t-conormas cumplen las propiedades:
Asociativa: T*(x,T*(y,z)) = T*(T*(x,y), z)
Conmutativa: T*(x,y) = T*(y,x)
Monotonía: T*(x,y) = T*(x’,y’) si x =x’, y =y’
Elemento absorvente (cota): T*(x,1) = 1
Elemento neutro: T*(x,0) = 0
En el caso de Zadeh la t-conorma es T*(x,y) = Max(x,y)
27. Las teorías fundamentales de la lógica borrosa Veremos las diferentes aportaciones teóricas a la lógica borrosa. En especial veremos que cada teoría especifica su t-norma y t-conorma. Daremos algunos criterios para seleccionar una u otra teoría.
28. Fundamentos de IA. Ramiro Lago 28 Teorías fundamentales de la lógica borrosa Existen numerosas familias de lógica borrosa, cada una de ellas define una t-norma y su t-conorma. Vamos a centrarnos en las tres más importantes:
No hay una necesidad absoluta de elegir la t-conorma dual. Pero si no lo hacemos, entonces estamos sacrificando la validez de las leyes de De Morgan
¿Todos los operadores cumplen los casos clásicos, fV: {0,1}x{0,1} ? {0,1}?
Algunos factores que debemos tener en cuenta a la hora de seleccionar una teoría:
Propiedad distributiva: la única que la cumple es el Max/Min de Zadeh
Orden
Interacción
Cumplimiento de principios de la lógica clásica : tercio excluso y no contradicción
29. Fundamentos de IA. Ramiro Lago 29 Orden de los operadores Orden de las t-normas
De forma intuitiva, decimos que las t-normas están ordenadas en la medida que unas dan unos valores mayores que los que dan otras. Se podría explicar diciendo que las t-normas “mayores” son más “optimistas”, es decir, dan valores superiores (más cercanos a 1):
De manera formal:
T1 = T2 si T1(x,y) = T2(x,y), ?x?y ? [0,1]
El orden es: W = Prod = Min
El orden de las t-conormas:
Definido el orden de manera equivalente a lo anterior resulta: Max = Prod* = W*
30. Fundamentos de IA. Ramiro Lago 30 Interacción, un ejemplo Supongamos el siguiente ejemplo (adaptado de [Sobrino 1993]): Tenemos que interpretar el predicado “Capacidad de inversión” como la reunión de dos predicados: A=“Activos de alta liquidez” y C=“Capacidad crediticia” para los individuos {a,b,c}. Donde ?A(x) y ?C(x) son las funciones de pertenencia para A y C.
El resultado será (siguiendo Max/Min):
?A ? C (a) = 0.8
?A ? C (b) = 0.7
?A ? C (c) = 0.8
El problema de este resultado es que es incompatible con el más mínimo sentido común, que nos dice que b tiene la máxima capacidad de inversión
¿Qué ha ocurrido? Sencillamente que en Max/Min entre los ? de los predicados no hay interacción, se escoge uno u otro
Probar el resultado si se utilizase Luckasiewicz
Moraleja: si la interactividad es importante tal vez no conviene Max/Min
31. Fundamentos de IA. Ramiro Lago 31 ¿Qué ocurre con los axiomas clásicos? Ya vimos que los principios fundamentales eran el de tercio excluso y el de no contradicción:
¿Cómo se comportan las diferentes teorías frente a estos principios?
Zadeh (Max/Min): sólo cumple los principios en los casos clásicos {0,1}
Suma-Prod: idem
Luckasiewicz: cumple los dos:
Max(0, x+x’-1) = Max(0, 1-x’+x’-1) = 0
Min(1, x+x’) = Min(1, x+1-x) = 1
32. Construcción de funciones de pertenencia Para definir funciones de pertenencia utilizaremos unas formas o familias estándar, empezando por la trapezoidal (la más utilizada)
33. Fundamentos de IA. Ramiro Lago 33 Introducción La función de pertenencia se puede definir de dos formas:
Extensionalmente: donde decimos que el conjunto borroso consiste en un conjunto de pares ordenados P={ (x, ?P(x)) , x ? U} }. Lo hacemos así, ya que la variable es discreta. Por ejemplo, la variable “Potencia” para el subconjunto “Coche potente” (donde x corresponde con los caballos de vapor del coche):
?Potencia(x) = {80/0.1, 100/0.3, 120/0.5, 140/0.7, 160/0.9, 180/1}
Intensionalmente: puesto que la variable no es discreta podemos dar una función continua. A continuación vamos a ver como se pueden construir estas funciones.
34. Fundamentos de IA. Ramiro Lago 34 Trapezoidal y triangular La función trapezoidal se define por cuatro puntos S(x;a,b,c,d):
0, si x < a
(x-a) / (b-a), si a = x = b
1, si b = x = c
(d-x) / (d-c), si c = x = d
0, si x > d
35. Fundamentos de IA. Ramiro Lago 35 Tipo S y ? La función S se define por tres puntos S(x;a,b,c):
2( (x-a) / (c-a))2, si a = x = b
1- 2((x-a) / (c-a)) 2, si b = x = c
36. La lógica borrosa como una lógica de los valores lingüísticos Hasta ahora hemos estudiado la lógica borrosa como una lógica multivalorada que generaliza la lógica clásica. Ahora vamos a ver como además nos puede ayudar a modelizar el lenguaje natural.
37. Fundamentos de IA. Ramiro Lago 37 Variable lingüística Uno de los focos de aplicación de la lógica borrosa es el del tratamiento del lenguaje natural, por ejemplo modelizar expresiones de tipo “Si la presión es alta, entonces el nivel de refrigeración debe ser muy elevado”
Cada subconjunto borroso viene definido por una etiqueta llamada variable lingüística. Ejemplos de estas etiquetas: “Presión alta”, “Temperatura fria”, “Persona Joven”. Estas etiquetas son definidas en términos de lenguaje natural y se aplican a los elementos de ese conjunto.
Una variable lingüística se define por una tupla (A, T(A), U, G, M):
A: El nombre de la variable. Ejemplo: Temperatura fría
T(A): El conjunto de términos que puede tomar A. En el ejemplo de la Temperatura puede ser: {caliente, muy poco fría, poco fría, medianamente fría, bastante fría, muy fría, absolutamente fría}
U: el conjunto (si es discreta) o rango (continua) de valores. En el ejemplo anterior podemos decir: [-70,200]
G: Regla sintáctica para generar los términos
M: regla para asociar un significado a cada valor
38. Fundamentos de IA. Ramiro Lago 38 Modificadores lingüísticos Un subconjunto borroso, A, tiene una serie de términos, T(A), que son a su vez subconjuntos borrosos. En el caso de “Persona sociable” tenemos {Insociable, Muy poco sociable, Poco sociable, Medianamente sociable, Bastante sociable, Muy sociable, Absolutamente sociable}
El conjunto de términos (term set) se construye anteponiendo unas partículas que llamamos modificadores lingüísticos: “poco”, “muy”, “extraordinariamente”, etc.
¿Cómo se calculan los subconjuntos resultantes de usar modificadores lingüísticos?
Observe que un modificador lingüístico amplia (dilata) o disminuye (contrae) la extensión de un predicado borroso (crea otro predicado)
39. Fundamentos de IA. Ramiro Lago 39 Ejemplo: el subconjunto de los pisos grandes (I) Variable lingüística: “Grande”
Términos(Grande) = {muy poco grande, poco grande, medianamente grande, bastante grande, muy grande}
En metros cuadrados: U = {100, 110, 120, 130, 140, 150, 160, 170, 180}
Empezamos construyendo el conjunto “medianamente grande”, por medio de una función: (x-100) / (180-100). Con lo que resulta que ?Med.Grande(x) = {100/0, 110/0.13, 120/0.25, 130/0.38, 140/0.5, 150/0.63, 160/0.75, 170/0.88, 180/1}
A continuación calculamos el resto de términos:
40. Fundamentos de IA. Ramiro Lago 40 Ejemplo: el subconjunto de los pisos grandes (II) Ahora queremos representar el predicado “Pisos que no son bastante grandes o muy grandes”, es decir, nos piden valorar ?(B.Grande ? MuyGrande)’(x).
Partimos de la distribución de Pisos bastante grandes y muy gandes para hallar ?B.Grande ? MuyGrande(x) = Max(?B.Grande(x), ?MuyGrande(x))
A continuación hallamos ?(B.Grande ? MuyGrande)’(x) = 1- ?B.Grande ? MuyGrande(x)
Nota: ver que se cumple De Morgan: (AvB)’ = A’^B’
41. Inferencia borrosa Veremos como podemos aplicar el Modus Ponens a la lógica borrosa, para ello nos ayudamos en la regla de composición de relaciones.
42. Fundamentos de IA. Ramiro Lago 42 Condicional difuso Necesitamos modelizar relaciones del tipo “Si el piso es medianamente céntrico, entonces el precio es alto”. Supongamos que tenemos:
C: “Bastante Céntrico”
P: “Precio muy alto”
Conocemos el modus Ponens:
Regla: C ? P
Aserto: C
-------------------
Conclusión: P
Con la lógica borrosa podemos generalizar el modus ponens: ¿qué ocurre si el aserto no es exactamente igual al antecedente (pero si semejante)? Por ejemplo, “el piso es un poco céntrico” (C*). Con la lógica clásica no podemos concluir nada. Con la lógica borrosa podemos concluir P* (por ejemplo, “el precio es medianamente alto”):
Regla: C ? P
Aserto: C*
-------------------
Conclusión: P*
43. Fundamentos de IA. Ramiro Lago 43 Modelos de condicional (I) Los tipos más usuales de condicional son:
El más conocido es el de Luckasiewicz, que se deduce de la regla:
P ? Q = P’ v Q
?(P?Q)(x,y) = ?(P’ v Q)(x,y) = Min( 1, ?P’ (x) + ?Q (y)) = Min( 1, 1-?P (x) + ?Q (y))
Gracias a estos modelos podemos determinar el conjunto borroso de la regla
Los operadores de Luckasiewicz y Zadeh son compatibles con la lógica clásica. Los de Mamdani y de Larse no son compatibles con la lógica clásica. En la siguiente tabla de verdad se puede observar este hecho:
44. Fundamentos de IA. Ramiro Lago 44 Modelos de condicional (II) Los operadores de Mamdani y de Larsen no son compatibles con la lógica clásica. ¿Por qué se usan?
Supongamos un modelo causal que mantenga el supuesto de un mundo cerrado, es decir, donde las consecuencias sólo se dan por la aparición de las causas especificadas en la base de conocimiento (y por ninguna otra), es decir, donde es falsa la relación de implicación en la que el antecedente es falso y el consecuente verdadero. Dicho de otra forma, puesto que el mundo de las causas está “cerrado” (no existen más que aquellas que especificamos), entonces es falso que no se produzca la causa pero si la consecuencia.
Por tanto, los operadores de Mamdani y Larsen son útiles para modelizar el implicador como una relación de causa-efecto, por ello son ampliamente utilizados en dominios de la ingeniería, en donde es falso que “falso? verdadero”.
Con lo que acabamos de ver ya podemos determinar las distribuciones de posibilidad de la regla y el aserto:
Regla: ?(P?Q)(x,y)
Aserto: ?P*(x)
Pero todavía no podemos definir la conclusión, ?Q*(x), ya que para ello necesitamos componer Regla y aserto. A continuación veremos un ejemplo de condicional y después la Regla de Composición de relaciones borrosas.
45. Fundamentos de IA. Ramiro Lago 45 Ejemplo: distancia y velocidad Introduzcamos un ejemplo que trata de relacionar la velocidad de un robot con la distancia al objetivo. Nuestro robot tiene definidos los subconjuntos borrosos “distancia baja”, “normal” y “alta”:
46. Fundamentos de IA. Ramiro Lago 46 Relación borrosa Para dos universos del discurso U y V, una relación borrosa se define como un conjunto borroso R en el espacio UxV, cuya función de pertenencia es ?R(x,y), con x?U y y?V
Un ejemplo de relación borrosa lo tenemos en el condicional ?P?Q(x,y), con x?U e y?V. Por ejemplo:
“Si la inestabilidad climatológica es grande, entonces la conducción es peligrosa”
Donde tenemos unos conjuntos borrosos:
P: “Inestabilidad climatológica grande”
Q: “Conducción peligrosa”
Y sabemos que:
Necesitamos representar la relación ?P?Q(x,y), donde:
?x, x?U (grados de inestabilidad del clima) y P ? U
?y, y?V (niveles de peligrosidad de la conducción) y Q ? V
Para dicha representación ya tenemos operadores, por ejemplo el de Luckasiewicz
47. Fundamentos de IA. Ramiro Lago 47 Regla de composición de relaciones Pero además de tener relaciones necesitamos componer relaciones. Un ejemplo típico es la composición para determinar la conclusión de la inferencia borrosa. Ejemplo:
R: “Si la inestabilidad climatológica es grande, entonces la conducción es peligrosa”
A: “Sucede que la inestabilidad climatológica es bastante grande”
-------------------------------------------------------------------------------
Z: ¿Cuál es la conclusión?
Z es la composición de R y A (R·A). Expresado de una manera más formal:
R(x,y)
A(x)
-------
(A·R)(y) ?x?U, ?y?V, A ? U, R ? UxV
La regla de composición nos dice que:
?R·A (x,y) = Maxy?V[?R (x,y) * ?A (y)]
Donde el operador * puede ser cualquier t-norma (normalmente se usa el mínimo o el producto)
48. Fundamentos de IA. Ramiro Lago 48 Modus Ponens Generalizado Aplicaremos la regla de composición para resolver el Modus Ponens:
B(x) ? C(y)
B*(x)
----------------
C*(y) es igual a la composición (B* · (BxC)) (y); ?x?U, ?y?V, B*? U, C ? V
De acuerdo a la regla tenemos:
?(B*·(BxC)) (y) = Maxx?U[ T (?B* (x), ?BxC (x,y)) ] =
Maxx?U[ T (?B* (x), I B?C(?B (x), ?C (y))) ]
Donde T es una t-norma (normalmente es el mínimo o el producto) e I es el condicional borroso
Si “a” es el número de elementos del conjunto B* y “b” es el de B, la matriz AxB tiene “a” filas y “b” columnas
De esta forma obtenemos la conclusión a partir de la composición de las distribuciones de posibilidad de aserto y regla
Silogismo hipotético:
A(x) ? B(y)
B(y) ? C(z)
A*(x)
----------------
((AxB) · (BxC))(x,z) ?x?U, ?y?V, ?z?W, A? U, A*? U, B? V, C ? W
Donde debemos realizar la composición de una composición:
Maxx?U,z ? W[ T [?A* (x), Maxx?U,z ? W [ T ( IA?B (x,y), ( IB?C (y,z))]]]
49. Fundamentos de IA. Ramiro Lago 49 Producto matricial Hemos definido el modus ponens como:
?Q* (y) = Maxx[Min(?P* (x),I P?Q(?P (x), ?Q (y)))]
Esta ecuación implica una operación entre matrices:
?P* (x) será una matriz de una fila y n columnas
I P?Q(?P (x), ?Q (y)) será una matriz de n filas y q columnas
La matriz resultante tendrá una fila y q columnas.
En vez de usar el producto matricial normal con la suma y el producto usamos las funciones Max y Min (otra posibilidad es Max y producto)
Por ejemplo:
?P* (x) = {r, s, t} a1 b1 c1 d1
I P?Q(?P (x), ?Q (y)) = a2 b2 c2 d2
a3 b3 c3 d3
El resultado será la matriz {h, j, k, l}:
h = Max[ Min(r,a1), Min(s,a2), Min(t,a3) ]
j = Max[ Min(r,b1), Min(s,b2), Min(t,b3) ]
k = Max[ Min(r,c1), Min(s,c2), Min(t,c3) ]
l = Max[ Min(r,d1), Min(s,d2), Min(t,d3) ]
En general: rij = Maxk Min(pik, pkj)
50. Fundamentos de IA. Ramiro Lago 50 Terminando el ejemplo de la distancia y la velocidad (I) Partíamos de la regla “Si la distancia es alta, la velocidad es rápida”. El conjunto borroso de la regla (?D_alta?V_rapida), usando el implicador de Luckasiewicz:
51. Fundamentos de IA. Ramiro Lago 51 Terminando el ejemplo de la distancia y la velocidad (II) Resumiendo lo que acabamos de hacer:
Regla: Si la distancia es alta, la velocidad es rápida
Aserto: La distancia es normal
Conclusión: La velocidad es poco rápida
Podemos hacer otra prueba con:
Aserto: La distancia es baja,
?D_baja(x) = {250/1, 300/.85, 350/.35, 400/.15, 450/0 }
La composición da el siguiente resultado:
?V*(x) = {1, 1, 1, 1 }
Esta conclusión concuerda con “Velocidad muy poco rápida” (VMPR):
?VMPR(x) = {.99, 1, 1, 1 }
Donde ?VMPR(x) = 2?VPR(x) - ?VPR(x)2.
Las dos conclusiones resultan ser sensatas y muestran la flexibilidad y potencia de la lógica borrosa a la hora de tratar con el lenguaje natural
52. Fundamentos de IA. Ramiro Lago 52 El aserto tiene un conjunto singleton: ejemplo de cálculo largo ¿Qué haremos cuando el aserto tiene un conjunto singleton? Supongamos los siguientes subconjuntos (temperatura media, baja y alta):
53. Fundamentos de IA. Ramiro Lago 53 El aserto tiene un conjunto singleton: ejemplo de cálculo simplificado A continuación veremos que los hechos singleton nos permiten realizar un cálculo simplificado.
Volvamos a nuestro ejemplo anterior y recordemos el antecedente y consecuente de la regla:
?T_alta(x) = {100/0.04, 150/0.15, 200/0.35, 250/0.85, 300/0.95 }
?P_bastante(x) = {1/0, 2/0.01, 2/0.42, 3/0.98 }
En general, si * representa el operador del condicional (en nuestro caso Luckasiewicz) y x es el valor del singleton, entonces el conjunto de la conclusión será:
?antecedente(x) * ?consecuente(y)
En nuestro ejemplo: ?T_alta( 100) * ?P_bastante(y), con ?T_alta(100) = 0.04
Por tanto hay que componer {0.04} * {0, 0.01, 0.42, 0.98 } = {.96, .97, 1, 1}
Este resultado coincide con el anterior, con un centroide de 2.52.
Probar a usar como aserto el conjunto singleton {0, 0, 0, 0, 1}, como es de esperar:
Su centroide nos indica un aumento considerable del peligro.
Además el conjunto resultante es muy próximo al conjunto “Bastante peligro”.
En general, si una regla tiene múltiples antecedentes A1, ... An con múltiples entradas singleton x1, ... xn; entonces la conclusión será:
T{ ?A1(x1), ... ?An(xn) } * ?consecuente(y) , donde T es una T-norma (si están unidos por la conjunción) o una T-conorma (si están unidos por la disyunción). * es el operador del condicional.
54. Fundamentos de IA. Ramiro Lago 54 Reglas con varios antecedentes Puede suceder que las reglas tengan varios antecedentes:
A1^ ... ^ An ? C
A1 v ... v An ? C
Lo más cómodo (ver las razones en Escolano et al. (2003, p.82)) es separarlas en diversas reglas, por ejemplo:
A1 ? C
...
An ? C
Una vez que se hayan obtenido los conjuntos Cn*, debemos resolver la conjunción o disyunción:
C1* ^v ... ^v Cn*.
55. Fundamentos de IA. Ramiro Lago 55 Ejemplo: la potencia y el precio (I) Partimos de la regla “Si un coche es de potencia alta, entonces será caro”
La distribución de posibilidad de “Potencia alta” y de “Precio caro” (DIL(x)=2M(x)-M(x)2):
Para la implicación hemos usado Luckasiewicz:
En caso de afirmar una potencia alta:
...que corresponde con la distribución de “Precio Caro”
¿cuál sería la conclusión si afirmamos “Potencia Poco Alta”? ¿Y con “Potencia Muy Poco Alta”?
56. Fundamentos de IA. Ramiro Lago 56 Ejemplo: la potencia y el precio (II) En el siguiente gráfico puedes comparar los resultados con las distribuciones “esperadas”:
Por ejemplo, cuando a la regla le añadimos “Potencia Muy Poco Alta” el resultado que se consigue entra dentro de lo esperado, “Precio Muy Poco Caro”:
57. Fundamentos de IA. Ramiro Lago 57 Algunas medidas borrosas Medida de borrosidad de la función de pertenencia:
f(?) = 1 – 2 Max X?Z |? (x) – ½|
La distancia entre conjuntos borrosos (A y C):
Hamming: f(A) = S| ?A(x) - ?C(x) |
Euclidea: f(A) = (S( ?A(x) - ?C(x) )2)1/2
Entropía borrosa: nos da la medida en que un conjunto aporta información a la descripción de la variable x:
f(A) = S{?A(x) log?A(x) + [1 - ?A(x)] log[1- ?A(x) ] }
58. Fundamentos de IA. Ramiro Lago 58 Arquitectura de sistemas difusos (I) Diferencias más importantes con otros tipos de sistemas:
Los sistemas difusos no suelen usar encadenamiento de reglas. El resultado de aplicar las entradas a las reglas es la salida del sistema.
Las reglas del sistema se activan en paralelo, de modo que la salida global es una combinación de la salida de cada una de las reglas
La base de conocimiento almacena las reglas del sistema, las funciones de pertenencia y las variables y modificadores lingüísticos:
59. Fundamentos de IA. Ramiro Lago 59 Arquitectura de sistemas difusos (II) Interfaz de fuzzyficación. Hay aplicaciones en las que la entrada no es borrosa, sino que es numérica (por ejemplo, captura de datos por sensores). La solución es modelarlo como singleton.
Interfaz de defuzzyficación: que convierte las salidas fuzzy en salidas estrictas (crisp), en especial cuando el usuario de la salida es un dispositivo industrial. Existen diversos métodos, pero el más usado es el del centroide o centro de masas:
x= Si=1...n xi ?A(xi) / Si=1...n ?A(xi)
60. Fundamentos de IA. Ramiro Lago 60 Bibliografía básica [Cuena 1985]
Cuena, J.: Lógica Informática. Alianza Editorial, 1985
[Dubois 1980]
Dubois, D. Y Prade, H.: Fuzzy Sets and Systems: Theory and Applications, Academic Press, 1980
[Escolano et al. 2003]
Escolano Ruiz, Francisco; Cazorla Quevedo, Miguel Angel et al.: Inteligencia Artificial. Thomson Editores, Madrid.
[Fernandez 1998]
Fernandez Galán, S. Y Gonzalez, J. Y Mira J.: Problemas resueltos de Inteligencia Artificial Aplicada. Addison Wesley.
[Lopez 1990]
Lopez de Mántaras, R.: Approximate Reasoning Model Models, Ellis Horwood Series in AI, 1990
[Martín 2001]
Martin del Rio, B. Y Sanz, A.: Redes neuronales y sistemas borrosos. Rama.
[Passino 98]
Passino, K. Y Yurkovich, S.: Fuzzy control. Addison-Wesley, 1998
[Schweizer 1983]
Schweizer, B. Y Skalar, A.: Probabilistic Metric Spaces. Elservier North-Holland. New York.
[Sobrino 1993]
Sobrino, A., Barro, S.(editores): Estudios de lógica borrosa y sus aplicaciones. Universidad de Santiago de Compostela, 1993.
[Trillas 1980]
Trillas, E.: Conjuntos Borrosos. Vicens Vives, Barcelona, 1980
[Trillas 1995]
Trillas, E., Alsina, C., Terricabras, J.: Introducción a la lógica borrosa. Ariel, 1995
[Zadeh 1965]
Zadeh, L. A.: Fuzzy Sets, en Information and Control, 8, pag. 338-353, 1965.
[Wang 94]
Wang, L.: Fuzzy Systems and Control. Prentice Hall, 1994