RAZONAMIENTO APROXIMADO
Sistemas Difusos (Fuzzy Systems)
Introducción a la IA - LCC
REALIDAD
El conocimiento que necesitamos para
desarrollar un Sistema basado en
Conocimiento tiene muchas veces las
siguientes características:
NO ES DEL TODO NO ES DEL TODO
CONFIABLECONFIABLE
INCOMPLETOINCOMPLETO CONTRADICTORIOCONTRADICTORIO
IMPRECISOIMPRECISO
REALIDAD
Las personas con esas fuentes de
conocimiento, dotadas de esas
características, razonamos y
muchas veces concluímos …
CAPACIDAD DE RAZONAR CAPACIDAD DE RAZONAR
APROXIMADAMENTEAPROXIMADAMENTE
Como Como modelizamosmodelizamos estas estas
caractercaracteríísticas del sticas del conocimiento,conocimiento, de de
modo de poder:modo de poder:
PROBLEMA
UTILIZARLO
REPRESENTARLO
REALIDAD
La lógica clásica es un buen modelo
para formalizar cualquier
razonamiento basado en información
certera (V o F)
NECESITAMOS OTROS FORMALISMOS
REALIDAD
El desarrollo de la IA ha incentivado
el estudio de formalismos que son
alternativos o complementarios a la
lógica clásica
INVESTIGACION Y DESARROLLO DE
OTROS FORMALISMOS
CONOCIMIENTO IMPRECISO
El conocimiento cuenta con predicados o cuantificadores vagos (no precisos)
Ejemplos: •Pedro tiene entre 20 y 25 años.
•Juan es joven
•Mucha gente juega al fútbol
•El espectáculo es para gente grande.
RAZONAMIENTO APROXIMADO (RA)
Trata como
REPRESENTAR
COMBINAR y
REALIZAR INFERENCIAS
con conocimiento impreciso y/o incierto
RA: DISTINTOS MODELOS
MODELOS PROBABILISTICOS
MODELO POSIBILISTICO
� Todos tratan la incertidumbre en un
sistema de producción
� Sólo el modelo posibilístico puede tratar la
imprecisión.
10
Razonamiento inexacto
Es necesario cuantificar y razonar acerca de términos o predicados difusos que aparecen en el lenguaje natural.
La lógica difusa se refiere a estos términos como variables lingüísticas, y la tecnología de los sistemas expertos, incorpora estas variables lingüísticas en reglas que pasan a ser reglas difusas.
11
LÓGICA DIFUSA
� Introducción
� Teoría de conjuntos difusos
• Teoría de conjuntos clásica (conjuntos clásicos)
• Conjuntos Difusos
– Funciones de pertenencia
– Etiquetas lingüísticas
• Operaciones elementales con conjuntos difusos
– Complemento
– Intersección
– Unión
� Razonamiento difuso
• Inferencia difusa
• Decodificación
� Funcionamiento de un sistema difuso
� Conclusiones
12
Necesidad de razonamiento difuso
En el mundo real existe mucho conocimiento con las siguientes características: conocimiento vago, impreciso, incierto, ambiguo, inexacto, o probabilísticopor naturaleza.
El razonamiento y pensamiento humano frecuentemente conlleva información de este tipo:
• imprecisión inherente de los conceptos humanos y
• razonamiento basado en experiencias similares, pero no idéntica
Problema: Poca capacidad de expresión de la lógica clásica.
� Ejemplo 1. Clasificación de personas en altas o bajas
� Ejemplo 2. Definición del término joven
13
Considerando conocimiento Fuzzy …
Ejemplos de sentencias Fuzzy:� El motor está funcionando muy caliente.
� Tom es un muchacho muy alto.� Los autos elécticos no son muy rápidos.
� Rosario está a una corta distancia de Santa Fe.
� Rosario es una linda ciudad.
� El máximo alcance de un vehículo eléctrico es bajo.
Si corta distancia significa: 300 km o menos, 301km es larga ?
� Se quiere expresar en que grado se tienen una propriedad.
14
Fuzzy sets:
Are functions: f: domain → [0,1]
11
00150150 160160 170170 180180 190190 200200 210210 cmcm
Crisp set (tall men):
Fuzzy set (tall men):11
00150150 160160 170170 180180 190190 200200 210210 cmcm
15
Representing a domain:
Crisp sets (men’s height):
11
00150150 160160 170170 180180 190190 200200 210210 cmcm
shortshort mediummedium talltall
Fuzzy set (men’s height):
11
00150150 160160 170170 180180 190190 200200 210210 cmcm
shortshort mediummedium talltallshortshort
16
Lógica difusa
En 1965, Lofti Zadeh sienta las bases de la lógica difusa
�Motivación inicial: estudio de la vaguedad
Relación vaguedad ↔ incertidumbre�Solución: definir conjuntos con grados de pertenencia
�Éxito de la lógica difusa :• Desde el punto de vista práctico: miles de aplicaciones, la mayoría en sistemas de control
•Desde el punto de vista lógico: lógica fuzzycomo una lógica multivaluada.
17
Características principales de la lógica difusa
� Se intenta representar la vaguedad e imprecisión inherentes en el lenguaje natural
� Utiliza varios elementos: conjuntos difusos, variables difusas, relaciones difusas, reglasdifusas (lenguaje difuso)
� Dichos elementos se combinan entre sí en el proceso de inferencias (fuzzy logic)
� Fuzzy control: El proceso de inferencia incluye pasos que pasan la información precisa a difusa y viceversa
18
Lógica difusa
Por definición “logica difusa” es una rama de la lógica multivaluada que utiliza grados de verdad de las fórmulas (grados de pertenencia a los conjuntos) en lugar de los estrictos valores verdadero o falso.
Estos conjuntos reciben la denominación de “conjuntos difusos”.
19
La lógica difusa concierne a la cuantificación y razonamiento sobre términos vagos o difusos que aparecen en el lenguaje natural cotidiano. En la lógica difusa, estos términos son denominados variables lingüísticas.
variables lingüísticas: son términos que describen algún concepto que usualmente tiene asociados valores vagos o difusos.
Lógica difusa
20
Lógica difusa
lenta, normal, rápidavelocidad
baja, media, altaaltura
caliente, fríotemperatura
Valores típicosVariable lingüística
21
Difusión de fuzzy logic
• En la actualidad es un campo de investigación muy importante, tanto por sus implicaciones matemáticas o teóricas como por sus aplicaciones prácticas:� Revistas (Fuzzy Sets and Systems, IEEE Transactions on Fuzzy
Systems..) � Congresos (FUZZ-IEEE, IPMU, EUSFLAT, ESTYLF...) � Miles de aplicaciones reales:
• Control de sistemas: Tráfico, vehículos, compuertas en plantas hidroeléctricas, centrales térmicas, lavadoras, metros ascensores...
• Predicción y optimización: Predicción de terremotos, optimización de horarios...
• Reconocimiento de patrones y Visión por ordenador: Seguimiento de objetos con cámara, reconocimiento de escritura, reconocimiento de objetos, compensación de vibraciones en cámaras, sistemas de enfoque automático...
• Sistemas de información o conocimiento: Bases de datos, sistemas expertos...
22
Un poco de publicidad...
Carga: 5kg Revoluciones: 1400 rpmCaracterísticas energéticas: A+,A,BMulti-DisplayFuzzy LogicProgramas especiales: Lavado a mano, Seda, Lana
Poderoso lente zoom de 4.3x, 28-120 con elementos de lentes de cristal ED Sistema de flash doble incorporado. Ajuste de Exposición Automática programada Sistema de Medición TTL: Fuzzy logic ESP, Promedio Balanceado al Centro
OLYMPUS ERGONÓMICA SRL 28-120
AEG Lavamat 64600
23
Conjuntos difusos
� Conjuntos clásicos (crisp)
� A ⊂ U definido por su función de pertenencia
� µA: U → {0,1} / µA(x)= 1 sii x ∈ A
�Conjunto difuso (Fuzzy set) A de U
� µA: U → [0,1]
�µA(x) me define el grado de pertenencia de x a A
�Hay “distintos grados de pertenencia”
24
Conjuntos difusos
La sentencia “Juan es alto” implica la variable “estatura” que tiene como valor lingüístico “alto”. El rango de los posibles valores de la variable lingüística (estatura) es el universo de discurso X de dicha variable [0.3, 2.5m].
La frase “Juan es alto” restringe los valores de la variable estatura y se puede representar mediante un conjunto difuso.
25
� Para otras descripciones de la variable lingüística estatura tales como: baja o media, se pueden obtener otros conjuntos difusos que reflejan la opinión popular (o de expertos).
� se pueden definir múltiples conjuntos difusos para un mismo universo de discurso: subconjuntos difusosrepresentando distintos términos vagos.
Conjuntos difusos
26
27
Funciones de pertenencia
Algunas de las funciones de pertenencia más utilizadas son:
≥
<<−
−≤
=
m xpara 1
xa para amax
a xpara 0
mx)(µ
1
a m
• Función GAMMA (Γ):
• Función LAMBDA o triangular
• Función L
Puede definirse simplemente como 1 menos la función GAMMA
1
m a
>
≤<−
−
≤<−
−≤
=µ
bx para 0
bxm para mb
xb
mxa para am
axax para 0
)x(
1
a b m
28
Funciones de pertenencia
• Función PI o trapezoidal
>
≤<−
−
≤<
≤<−
−≤
=µ
dx para 0
dxc para cb
xd
cx b para
bxa para ab
axax para 0
)x( 1
1
a b c d
29
Funciones de pertenencia
• Función S
• Función Π
• Función Z (opuesta de la S)
≥
≤≤+
−
−−
+≤≤
−
−
≤
=µ
cx para 1
cx2
capara ,
ac
ax 21
2
caxa para ,
ac
ax 2
ax para 0
(x) 2
2
S
µZ(x) = 1- µS(x)
>µ
≤µ=µΠ bx para )x(
bx para )x( (x)
Z
S
a c (a+c)/2
b-d b+d b
30
Conjunto difuso - espacio discreto
Considerando ahora un universo de discurso discreto, tal que los elementos de X sean { x1, x2, .....xn} y, siendo A un conjunto difuso definido en dicho universo:
� La representación del vector se clarifica utilizando el símbolo “ / “ que asocia el valor de pertenencia ai con la coordenada de xi :
A = ( a1 / x1, a2/x2.....an/ xn )
� Considerando el conjunto difuso altoALTO = (0/1.65, 1/1.75, 1/1.85, 0/1.95)
31
También se expresa como:A = ( a1 /x1+ a2/x2+.....+an/ xn )
A = ΣΣΣΣi=,1,n µµµµA(xi)/xi
Si X es una función continua, el conjunto A, este puede ser representado como:
A = ∫∫∫∫ µµµµA(xi)/xi
Canjunto difuso - espacio discreto
32
Etiquetas lingüísticas - Hedges
� Equivalentes a los adverbios del lenguaje natural
� Se utilizan para definir conjuntos difusos a partir de otros ya existentes. Por ejemplo, viejo—> MUY viejo
� Lo que se hace es componer la función de pertenencia con alguna otra función, de forma que la función resultante tenga la forma deseada
� Por ejemplo, función para el adverbio MUY —> f(y) = y2
0
1 viejoMuy viejo
33
Etiquetas lingüísticas
Nombre del modificador Descripción del modificador
not 1-y
very (muy) y2
somewhat (algo) y1/3
more-or-less (más o menos) y1/2
extremely (extremadamente) y3
Existe todo un catálogo de adverbios/funciones
34
Etiquetas lingüísticas�Otras operaciones usuales
−−
≤= −
−
caso otro en 0.5y para
pp
pp
y
yyf
)1(21
2)( 1
1
−−
≤=
caso otro en
0.5y para
2/)1(1
2/)(
y
yyf
Concentración
Intensificación contraste
Dilatación
Difuminación
Normalización
f(y) = y/Altura
f(y)=yp, con p>1
f(y)=yp, con 0<p<1
0
1
0
1
0
1
0
1
35
Operaciones con conjuntos difusos
Las funciones c para el complemento más utilizadas son:
Complemento (Negación)
Dado un conjunto difuso A, su complemento vendrá definido por
0
1
• c(αααα) = 1 - αααα.
• Sugeno cλ(α) = (1-α)/(1-λα) λ∈ [0, 1]
0
1
))(()( xcxAA
µµ =
• Yager cw(α) = ( 1 - αw)1/w w∈ [0, ∞]
0
1
36
Operaciones con conjuntos difusos
Intersección (conjunción)Dados dos conjuntos difusos A y B, su intersección vendrádefinida por
µA ∩B (x) = i(µΑ(x),µΒ (x))
Las funciones i que verifican las propiedades que se esperan de una conjunción se llaman normas triangulares (t-normas).
37
Operaciones con conjuntos difusos
Algunas t-normas usuales:
• t-norma del mínimoimin(α,βα,βα,βα,β) = min(α,βα,βα,βα,β)
0
1
• t-norma del producto i*(α,β) = αβ
0
1
0
1
• t-norma del producto drástico
i inf ( α , β ) =
α si β = 1
β si α = 1
0 en otro caso
38
Operaciones con conjuntos difusos
Unión (disjunción)
Dados dos conjuntos difusos A y B, su unión vendrádefinida por
µAuB(x) = u(µA(x), µB(x))
Las funciones u que verifican las propiedades esperadas para una disjunción se llaman:conormas triangulares (t-conormas).
39
Operaciones con conjuntos difusos
Si consideramos como complemento la función c(u) = 1-u, las t-conormas correspondientes a las t-normas anteriores son:
• t-conorma del máximo
umax(αααα,ββββ) = max(αααα,ββββ)
• t-norma de la suma drástica
0
1
• t-conorma de la suma u*(α,β) = α+β−αβ
0
1
u sup ( α , β ) =
α si β = 0
β si α = 0
1 en otro caso
0
1
40
Operaciones con conjuntos difusos
� Considerando la t-norma del mínimo (intersección, AND) junto con la t-conorma del máximo (unión, OR)
Conjuntos vacío y total:� Conjunto vacío� Conjunto total
(X crisp)
∀ x ∈ X µ ∅ x( ) = 0
∀ x ∈X µX x( ) =1
Sin embargo, con esta definición no se satisfacen algunos famosos principios de la lógica clásica, como por ejemplo:
A ∩ A = ∅
A ∪ A = X
Principio de contradicción
Principio del tercero excluso
41
Razonamiento difuso
Proposición difusa simple: � Proposición que asigna un valor a una variable difusa:
“Pepe es de estatura mediana”.
� Tiene asociado un conjunto difuso (función de pertenencia).
Proposición difusa compuesta:� Agrupación de dos o más proposiciones difusas simples
“la velocidad es normal” AND “el objeto está cerca”“la velocidad es alta” OR “el objeto está muy cerca”“la velocidad NO es alta”
Necesidad de definir operadores difusos:� NO (¬p) µ¬A(u) = 1 - µA(u)� AND (p∩q) vendrá definida por una función de pertenencia tipo
t-norma, por ejemplo µµµµ A∩∩∩∩B (u,v) = min( µµµµA(u), µµµµB(v))� OR (p∪q) vendrá definida por una función de pertenencia tipo t-
conorma, por ejemplo µµµµAUB(u,v) = max(µµµµA(u), µµµµB(v))
42
Razonamiento difuso: implicaciones
El siguiente paso es definir lo que es una implicación, es decir, asignar una función de pertenencia a una agrupación antecedente consecuente del tipo p→→→→q
Esto nos permitirá razonar con afirmaciones tales como:SI “la velocidad es normal”ENTONCES “la fuerza de frenado debe ser moderada”
Opciones:� Teórica: Dar a la implicación el mismo significado que en la lógica clásica. p→q ≡ ¬p∨q µp→q(u,v) = max(1-µA(u), µB(v))
p→q ≡ ~(p∧(~q)) µp→q(u,v) = 1 – min[µA(u), 1-µB(v)]� Práctica: Dar a la implicación el significado de relación causa-efecto:
Implicación de Mamdanip→q ≡ A∧B ⇒ µp→q(u,v) = min( µA(u), µB(v))
43
Inferencia Difusa – Fuzzy inference
Una regla difusa relaciona dos proposiciones difusas, por ejemplo considerando dos conjuntos difusos tales como A (estatura es alta) y B (peso es elevado), estos pueden estar relacionados por la regla:
If A Then B� Los sistemas expertos difusos almacenan las
reglas como asociaciones difusas (A,B), en una matriz M denominada matriz asociativa difusa.
44
Como en otras técnicas de razonamiento inexacto, el proceso de inferencia difusaintenta establecer la credibilidad conclusión de la regla dada una cierta evidencia en la premisa.
If A Then BA*B* ???
Inferencia Difusa – Fuzzy inference
45
Disponiendo de la matriz M que se obtiene a partir de A����B, el proceso de inferencia difusa permite a partir de información A’(subconjunto de A), inducir un subconjunto B’de B.Técnicas de inferencia difusas:
� Inferencia max-min� Inferencia max-product
Inferencia Difusa – Fuzzy inference
46
47
Inferencia max-min
El operador de de la implicación utilizado es el “minmin”, es decir:
mij = min(ai,bj)
� Entonces, dados dos conjuntos difusas A y B, se obtiene la matriz M.
� Luego, dado el conuunto A’, se puede inducir el subconjunto B’.
48
Inferencia max-min
Ejemplo: sea un universo de discurso X que representa “temperatura”, y A un conjunto difuso que representa “temperatura normal”.
Asumiendo que Y representa “velocidad” y un B que representa “velocidad media”, entonces si tenemos la siguiente regla difusa:
� If temperatura normal Then velocidad media
� IF A THEN B
49
Inferencia max-min - Ejemplo
50
A’ representa una entrada de t=125º
51
El subconjunto A’ (lectura única)
induce un conjunto difuso B’ utilizando la composición max-min:
52
Inferencia max-min - Ejemplo
53
Cuando A’ tiene un solo valor de pertenencia distinto de 0, por ejemplo xk se puede utilizar solo µµµµ A (xk) directamente con la representación de B, µµµµ B (y) para inducir B’ como
B’ = µµµµ A (xk) ∧∧∧∧ µµµµ B (y)
� Truncamiento del conjunto difuso B por el valor µµµµ A(xk)
Inferencia max-min - Observación
54
En el ejemplo, nosotros asumimos que la temperatura es de 125 grados A’ tiene un solo valor de pertenencia distinto de 0, y resulta µµµµ A (x) = 0.5Luego:
B’ = [min(.5, 0), min(.5, .6), min(.5, 1),min(.5, .6), min(.5, 0) =
= (0, .5, .5, .5, 0)
Inferencia max-min - Ejemplo
55
En el caso que la entrada a la regla sea una lectura difusa A’, nosotros podemos considerar la intersección de A y A’, es decir:
min (ai, a’i) para inducir el B’
Inferencia max-min - Observación
56
57
El operador de de la implicación utilizado es el producto en lugar del min:
mij = ai * bj
� Dados los conjuntos difusos A y B, se obtiene la matriz M.
� Luego, dado el vector de ajuste de A’, se puede inducir el subconjunto B’.
Inferencia max-product
58
Inferencia max-product : Ejemplo
59
Inferencia max-product : Ejemplo
60
Inferencia max-product : Ejemplo
61
Inferencia DifusaEl método numérico desarrollado puede ser extendido a reglas con cláusulas múltiples en la premisa vinculadas por operadores de conjunción o disyunción.
Si A and/or B Entonces C
La extensión del método consiste en incorporar las matrices asociativas a cada uno de los conjuntos difusos A y B involucrados en la regla y resolverlos conforme a la naturaleza del operador que los vincula.
62
Inferencia Difusa
A’ °°°° MAC = CA’
B’ °°°° MBC = CB’
luego para la conjunción resulta:C’ = (A’ °°°° MAC) ∧∧∧∧ (B’ °°°° MBC) = CA’ ∧∧∧∧ CB’
y para la disyunción deviene: C’ = (A’ °°°° MAC) ∨∨∨∨ (B’ °°°° MBC) = CA’ ∨∨∨∨ CB’
63
Inferencia DifusaEl efecto de la combinación de las conclusiones de varias reglas:
R1: A1 →→→→ C, ... Rn: An →→→→ Cy el valor resultante del aporte de cada una de
ellas, permite suponer que el resultado de la composición ( la unión):
C’ = C’1 ∪∪∪∪ C’2 ∪∪∪∪ C’3 ....... ∪∪∪∪C’n
según las operaciones entre conjuntos difusos
C’ = max (C’1 , C’2 , C’3 ,...... , C’n)
64
Funcionamiento de un sistema de control basado en lógica difusa
Reglas
Inferencia
Codificador Decodificador
u ∈Up
Conjuntos difusos entrada
v ∈VConjuntos
difusos salida
Entrada crisp
x ∈Up y=f(x) ∈V
Salidacrisp
65
Decodificación - defuzzyfication
� Una vez llevado a cabo el proceso de razonamiento difuso, es necesario dotar al sistema de la capacidad de tomar decisiones. Así por ejemplo, el sistema debe saber qué fuerza de frenado que debemos aplicar si la velocidad es alta
� Para ello se utilizan las llamadas técnicas de decodificación, que transforman un conjunto difuso en un valor nítido.
� Las más usuales son:� El valor máximo (es decir, el más posible).
� El centroide o centro de gravedad difuso
∑
∑
∈
∈=
Xx
A
Xx
A
centroidex
xx
y)(
)(
µ
µ
66
En resumen
� La lógica difusa se concibió originalmente como un método mejor para manejar y almacenar información imprecisa
� Ha demostrado ser una excelente alternativa para sistemas de control, ya que imita a la lógica de control humana
� Se pede incluir en cualquier sistema, desde dispositivos pequeños a sistemas de control complejos
� Usa un lenguaje impreciso pero muy descriptivo para operar con datos de entrada de una forma parecida a la usa un operador humano
� Es robusta y no demasiado dependiente de los datos de entrada y operadores elegido
� Incluso las primeras versiones funcionan bastante bien, con escasa necesidad de ajustes