Post on 05-Jul-2015
Lógica Difusa
Razonamiento Humano
Lógica Booleana : Verdadero / Falso Solo dos estados posibles
Existe razonamiento humano el cual no es posible describirlo en dos estados. Persona Joven Persona Alta Él es bueno en Matemática ¿Qué tan
bueno?
Util para definir conceptos sin definiciones claras.
Evaluar expresiones sin ser tan restricctivos.
Usos Control de Procesos Redes Neuronales Bases de Datos Introducir experiencias de un experto
Un ejemplo en Control de Procesos, Estanque
Controlador LógicoV1 1, si LL cambia de 1 a 0
0, si LH cambia de 0 a 1Operador Humano (Control
Difuso) Si nivel es bajo entonces abrir V1 Si nivel es alto entonces cerrar
V1
Logica difusa Utilizar todo el espectro posible entre
los valores Verdadero / Falso, esto esIntervalo [0,1]
Set Difuso
Set (colección o clase): colección de objetos que forman un todo.
Ejemplos El set de enteros no negativos menores
que 40,1,2,3
Función de Pertenencia
Un conjunto difuso A se define como una FUNCION DE PERTENENCIA que empareja los elementos de un dominio X con elementos del intervalo [0,1].
Cuanto más cerca esté A(x) del valor 1, mayor será el grado de pertenencia del objeto x al conjunto A 0 no pertenece en absoluto 1 pertenencia total
Conjunto difuso
Contexto No es lo mismo alto en personas que en
árboles.Función de pertenencia, se puede
representar A : X [0,1] Pares de valores, elemento del dominio
y grado de pertenencia. Gráficamente
Tipos de Funciones de Pertenencia
Depende del contexto, concepto y aplicación.
Es preferible funciones simples.Ejemplos
Función S, Triangular, Trapezoidal, Gausiana, Gamma
Función Triangular
m, valor modalA(x;a,m,b)=max{min{(x-a)/(m-a),(b-x)/
(b-m)},0}
Función S
m, punto de inflexiónEl crecimiento es más lento cuanto
mayor sea la distancia a-b.
Conjunto Difuso Normalizado
A(x)Normalizado=A(x)/Altura(x) , donde
Altura(x), es el valor más grande de su función de pertenencia. Sup x e X A(x)
Es decir Altura(A)=1 para un conjunto normalizado.
Variables Linguisticas (1)
Variable Lingüística Variables cuyos
valores son palabras o sentencias
Ejemplo ‘Edad’ Etiquetas
Lingüísticas definidas como conjuntos difusos.
Joven
Viejo
Variables Linguisticas (2)
Variable Lingüística Variable Fuzzy
Variable Base
Ejemplo ‘Temperatura’
Términos Primarios Definidos a Priori
FríoCalienteTibio
Ejemplo del Estanque
Regla Difusa Si el nivel es bajo,
entonces, ...
‘Bajo’ es una variable difusa, y da un valor a la variable lingüística Nivel.
Bajo, esta definida en un rango de los valores esperados para nivel [0,100%] de lleno.
Nivel, es un escalar.
Bajo
Alto
Operaciones con un Conjunto Difuso
Intersección
Unión
Complemento
AB min{a,b}
AB max{a,b}
A1-A
Operaciones Difusas
Propiedades (estudie y averigüe)
Conmutatividad
Asociatividad
Distributividad
Absorción
Identidad
AB = BA AB = BA(AB) C= A(B C)(AB) C= A(B C)A(BC)=(AB)(AC)
A U= U , A =
A = A , A U=X
Propiedades que No se Cumplen (estudie y averigüe?)
Contradicción
Ley del Tercio Excluso
Ej. Conjunto difuso “joven”
A c(A) = con c(A)
complemento
A c(A) = Ucon U universo
Comparación
Modificadores Lingüísticos
Ejemplo : “casi”, “muy”, “algo”
Se modelan a partir de operaciones sobre la función de pertenencia de la variable.
Modifica el significado de los términos.Muy FríoCasi Abierto
Modificadores
Tipo Representación Cálculos Negación NEG((x)) 1- (x)Concentración CON((x)) 2(x)Dilatación DIL((x)) 2(x)-2(x)Intensificación INT((x))
22(x), si 0.5(x)0 1-2(1-(x))2, si (x) 0.5
con (x) función de pertenencia.
Ejemplo de Modificadores Linguisticos
“no” NEG((x))“muy” CON((x))“algo” DIL((x))“casi” DIL(DIL((x)))“bastante” INT(CON((x)))
Inferencia con Lógica Difusa
Existe todo un marco teórico para realizar la inferencia con este tipo de representación.
Ideas muy similares a la lógica de predicado.
También puede construirse un sistema basado en Reglas (sistema de producción), con reglas difusas.
Inferencia Max-Min
Sean A y B dos conjuntos difusos Utiliza como operador de implicación el
min para formar la Matriz M.mij = min (ai,bj).
Determinar el vector inducido B’ para un subconjunto de A designado como A’. Utilizando:
bj = max1≤i≤n {min(a’i,mij)}
Funcionamiento
A BR e g la
I F AT H E N B
R e a d in g
Para un valor crisp de entrada
Para una entrada difusa A BR e g la
I F AT H E N B
A A'
EjemploPlanteamiento del problema
Sea U el universo de las posibles cantidades de dinero (en millones de pesos) en que están valorados los bienes de una persona cualquiera.
Sobre este universo se definen los siguientes conjuntos difusos: 500/1 100/0.9, 50/0.5, 10/0.2, 5/0.1, 1/0, 0/0, rico"ser " R
500/1 100/1, 50/1, 10/0.8, 5/0.5, 1/0.1, 0/0, adinerado"ser " A
Por otra parte, sea V el universo de los posibles precios en (millones de pesos) de un auto.
Si se sabe que: “ Jorge es rico” “Si Jorge es adinerado, se comprará un auto caro.”
Comprobar si se puede concluir “Jorge se comprará un auto caro”
10/1 ,5/0.9, 2/0.5 1/0, 0.5/0, caro" auto unser " C
Gráficamente
1 5 10 50 100 500
0.10
0.5
0 .91
0 .8
R
1 5 10 50 100 500
0.1
0
0.5
0 .91
0 .8
A
0.1
0
0.5
0 .91
0 .8
0 .5 1 2 5 10
C
RICO ADINERADO
CARO
Solución
Entrada es un conjunto difuso, subconjunto de A (ser rico):
Formamos la matriz M con la formula mij = min (ai,cj).
Tomando en consideración
500/1 100/0.9, 50/0.5, 10/0.2, 5/0.1, 1/0, 0/0, A'
500/1 100/1, 50/1, 10/0.8, 5/0.5, 1/0.1, 0/0, A
10/1 ,5/0.9, 2/0.5 1/0, 0.5/0, C
adinerado
caro
rico
Matriz M
A x C 0.5/0 1/0 2/0.5 5/0.9 10/1
0/0 0 0 0 0 0
1/0.1 0 0 0.1 0.1 0.1
5/0.5 0 0 0.5 0.5 0.5
10/0.8 0 0 0.5 0.8 0.8
50/1 0 0 0.5 0.9 1
100/1 0 0 0.5 0.9 1
500/1 0 0 0.5 0.9 1
Determinar C’ usando:Cj = max1≤i≤n {min(a’i,mij)}
M = 0 0 0 0 0
0 0 0.1 0.1 0.1
0 0 0.5 0.5 0.5
0 0 0.5 0.8 0.8
0 0 0.5 0.9 1
0 0 0.5 0.9 1
0 0 0.5 0.9 1
500/1 100/0.9, 50/0.5, 10/0.2, 5/0.1, 1/0, 0/0, A'
min(a’i,mij)
A’ x M
0/0 0 0 0 0 0
1/0 0 0 0.1 0.1 0.1
5/0.1 0 0 0.5 0.5 0.5
10/0.2 0 0 0.5 0.8 0.8
50/0.5 0 0 0.5 0.9 1
100/0.9
0 0 0.5 0.9 1
500/1 0 0 0.5 0.9 1
0 0 0 0 0
0 0 0 0 0
0 0 0.1 0.1 0.1
0 0 0.2 0.2 0.2
0 0 0.5 0.5 0.5
0 0 0.5 0.9 0.9
0 0 0.5 0.9 1
max1≤i≤n {min(a’i,mij)}
C’= {0.5/0, 1/0, 2/0.5, 5/0.9 10/1}
0 0 0 0 0
0 0 0 0 0
0 0 0.1 0.1 0.1
0 0 0.2 0.2 0.2
0 0 0.5 0.5 0.5
0 0 0.5 0.9 0.9
0 0 0.5 0.9 1
Conclusión
El subconjunto de C obtenido es C’= {0.5/0, 1/0, 2/0.5, 5/0.9 10/1}
El que concuerda completamente con C.
Por lo tanto la regla se cumple.
Funcionamiento Gráfico
Inferencia Max-Producto
Utiliza como operador de implicación el producto para formar la Matriz M.
mij = ai* bj
Determinar el vector inducido B’ para un subconjunto de A designado como A’. Utilizando:
bj = max1≤i≤n {min(ai,mij)}
Funcionamiento
A BR e g la
I F AT H E N B
R e a d in g
Ejemplo
Si usamos el mismo ejemplo anterior, y aplicando mij = ai*bj , para obtener M, tenemos:
M =
A x C 0.5/0 1/0 2/0.5 5/0.9 10/1
0/0 0 0 0 0 0
1/0.1 0 0 0.05 0.09 0.1
5/0.5 0 0 0.25 0.45 0.5
10/0.8 0 0 0.4 0.72 0.8
50/1 0 0 0.5 0.9 1
100/1 0 0 0.5 0.9 1
500/1 0 0 0.5 0.9 1
Determinar C’ usando: C’j = max1≤i≤n {min(a’i,mij)}
M =
0 0 0 0 0
0 0 0.05 0.09 0.1
0 0 0.25 0.45 0.5
0 0 0.4 0.72 0.8
0 0 0.5 0.9 1
0 0 0.5 0.9 1
0 0 0.5 0.9 1
min(a’i,mij)
A’ x M
0/0 0 0 0 0 0
1/0 0 0 0.05 0.09 0.1
5/0.1 0 0 0.25 0.45 0.5
10/0.2 0 0 0.4 0.72 0.8
50/0.5 0 0 0.5 0.9 1
100/0.9 0 0 0.5 0.9 1
500/1 0 0 0.5 0.9 1
0 0 0 0 0
0 0 0 0 0
0 0 0.1 0.1 0.1
0 0 0.2 0.2 0.2
0 0 0.5 0.5 0.5
0 0 0.5 0.9 0.9
0 0 0.5 0.9 1
max1≤i≤n {min(a’i,mij)}
C’= {0.5/0, 1/0, 2/0.5, 5/0.9 10/1}
0 0 0 0 0
0 0 0 0 0
0 0 0.1 0.1 0.1
0 0 0.2 0.2 0.2
0 0 0.5 0.5 0.5
0 0 0.5 0.9 0.9
0 0 0.5 0.9 1
Conclusión
El subconjunto de C obtenido es C’= {0.5/0, 1/0, 2/0.5, 5/0.9 10/1}
El que concuerda completamente con C.
Por lo tanto la regla se cumple
Control Difuso
Los sistemas expertos de control difuso basados en reglas son la aplicación más extendida de la lógica difusa, también conocidos como: Controladores difusos o FLC (Fuzzy Logic
Controllers). Sistemas de inferencia difusa o FIS (Fuzzy
Inference Systems),
Estructura
F u zzi fi c ad o r D e s fu zzi fi c ad o r
B as e d ec o n o c i m i e n t o s
D i s p o s i t i vo d ei n fe r e n c i a d i fu s a
X Y
Base de ConocimientoContiene el conocimiento asociado al
dominio de la aplicación y los objetivos de control.
Esta formada por una base de datos y un conjunto de reglas difusas de control de la forma: Si (X1 es A1)y (X2 es A2) y…(Xn es An)
Entonces (Y es B) donde:Los Xi son las Variables de Estado del
sistema a controlarY es una Variable de Control del Sistema a
controlar.Los Ai y B son etiquetas lingüísticas con una
funcion de pertenencia asociada que dan valor a sus variables.
Fuzzificador
Obtiene los valores de la variable de entrada.Convierte los valores reales (crisp) de
entrada en conjuntos difusos, lo que permite ser tratados como tales.
Ventajas de la fuzzificación Permite minimizar posibles cambios ligeros en las
variables de entrada. Permite suavizar el comportamiento del sistema. Permite minimizar los posibles errores al tomar
los datos.
Dispositivo de Inferencia Difusa
Nucleo del controlador difusoInfiere las acciones de control simulando
el proceso de decisión humano usando una implicación difusa y las reglas de inferencia de la lógica difusa.
Defuzzificador
Convierte los valores difusos de las variables de salida en valores concretos dentro del universo de discurso correspondiente.
Genera una acción no difusa a partir de la acción difusa resultante del sistema de inferencia.
Metodos de defuzzificación Usando la agregación de todos los conjuntos
difusos resultantes de todas las reglas:Centro de Gravedad (COG)Punto de Máximo Criterio (PMC o Media de
Maximos).Centro de Area.Etc.
Usando los conjuntos difusos resultantes de cada regla Individualmente:
COG (o PMC) ponderado por el área o por la altura.Media de PMC.Media del mínimo y máximo PMC. COG (o PMC) del de mayor área o del de mayor
altura.Etc.
Características Son bastante intuitivos: La posibilidad de usar
expresiones con imprecisión genera modelos intuitivos.
Tolerancia al ruido: En general, como una salida depende de varias reglas no se vera muy afectada si se produce una perturbación.
Estabilidad: Son sistemas robustos En caso de caída del sistema ésta se produce
lentamente, dando tiempo a tomar medidas.No necesita modelo matemático preciso del
sistema a controlar Permiten controlar sistemas que son imposibles de
controlar con los sistemas de control clásicos.Permiten gran precisión:
Aplicaciones
Nombre ObjetivoControlador de tráfico en una intersección.
Minimizar el tiempo de espera de los coches y la longitud de cola
Controlador de un grupo de Ascensores
Minimizar el tiempo de espera de los pasajeros (dentro y fuera del ascensor)
Planificación del transporte en tren de multitud de productos.
Optimizar el transporte ferroviario de distintos tipos de mercancías que requieren ciertos tipos de vagones y más requisitos.
Planificación en una red de Comunicaciones
Transmitir la información de forma rápida, minimizando los nodos por los que pasa.
Otros
Controlador de un motor de inducción.
Diagnósticos de fallos en sistemas dinámicos, usando redes neuronales difusas.
Software de simulación de controladores difusos.
Ejemplo Controlador de Tráfico
Variables de entrada (o de estado)A: Ritmo de llegada de coches (en la fase
verde del semáforo).Q: Longitud de la cola de coches (en la fase
roja).
Variables de salida (o de control)T: Tiempo de la fase verde del semáforo
(con un valor máximo prefijado).
Definir las etiquetas lingüísticas de cada variable:
A : Ritmo de llegada.Q: Longitud de cola.T: Tiempo de fase verde
Establecer funciones de pertenencia:
0 1 2 3 4 5 6 7 8 9 1 0
1
A
C o ch e s
Muy_Poco s
Poco s
Mu ch os
Mu ch ís im
os
0 1 2 3 4 5 6 7 8 9 1 0
1
Q
C o ch e s
Muy_Pe qu e ñ a
Pe qu e ñ a
Me dia
Larga
0 1 2 3 4 5 6 7 8 9 1 0
1
T
S e g s .
Mu y_C orto
C orto
Me dio
Largo
Definir las reglas difusas de Control: la tabla muestra 16 reglas, aunque son necesarias menos reglas, pues algunas pueden sintetizarse en una única regla.
Las reglas son del tipo: SI A Y Q ENTONCES T
Q/A Muy_Pocos
Pocos Muchos Muchisimos
Larga Muy_Corto
Corto Medio Largo
Media Muy_Corto
Muy_Corto
Corto Medio
Pequeña Muy_Corto
Muy_Corto
Muy_Corto
Corto
Muy_Pequeña
Muy_Corto
Muy_Corto
Muy_Corto
Muy_Corto
Ejemplo de funcionamiento
Existen 5 coches en la cola del semáforo en rojo.
El ritmo de llegada en la fase verde del semáforo son 5.
El tiempo del semáforo verde será de 3.11 segundos.