logica difusa
TRANSCRIPT
Sistemas Expertos Lógica Difusa
1
LOGICA DIFUSA
INTRODUCCION
Los expertos a menudo se basan en el sentido común para resolver problemas. Se ve que
los expertos describen los problemas usando términos ambiguos.
Por ejemplo El experto podría indicar, cuándo el motor está funcionando y está caliente
entonces hay que disminuir la velocidad un poco. Estamos acostumbrados a oír un problema
descrito de esta manera, y usualmente nos cuesta poco trabajo interpretando el uso de los
términos ambiguos.
Sin embargo proporcionar un equipo con la misma comprensión es el desafío de ¿Cómo se
puede representar la razón con estos términos en una computadora?
Este capítulo contesta la pregunta explorando el tema de lógica difusa.
Primero revisamos las ideas básicas detrás de la lógica difusa y luego consideramos su
formalismo matemático. Luego vemos qué tan velloso la lógica puede ser utilizada en un sistema
difuso.
El capítulo también provee un acercamiento estructurado para diseñar un sistema experto
difuso e ilustra un ejemplo el proceso a través del diseño de un sistema.
VISTA GENERAL DE LOGICA DIFUSA
Los sistemas difusos surgieron en la década de los 20 (1920), cuando se propuso por
primeravezLukasiewicz (el inventor de la notación polaca inversa) (Rescher, 1969). Lukasiewicz
estudióla representación matemática de "fuzzy". Su motivación para este trabajo provino de
unentendimiento de términos definidos en la representación de dos valores [0-
1]”lógicaaristotélica verdad o falso”.
Desarrolló un sistema de lógica que amplió la gama de valores de verdad a todos los
númerosreales en el rango de 0 a 1. Él usó un número en esta serie para representar a la
posibilidad deque una declaración dada era verdadera o falsa. Por ejemplo, la posibilidad de que
unapersona de 6 pies de altura es muy alta podría ser fijada a un valor de 0.9, es muy probableque
la persona es muy alta. Esta investigación condujo a una técnica de razonamiento formalinexacta
llamada teoría de la posibilidad.
En 1965, Zadeh (1965) extendió el trabajo sobre la teoría de la posibilidad en un
sistemaformal de la lógica matemática. Posiblemente más importante, Zadeh, señaló a la atención
decientíficos e ingenieros una colección de conceptos valiosos para trabajar con fuzzy otros
delenguaje natural que eran casi exclusivamente los filósofos académicos de los últimoscuarenta
años. Esta nueva herramienta lógica para representar y manipular los términosdifusos o borrosos
se llama la lógica difusa.
Sistemas Expertos Lógica Difusa
2
DEFINICION 13.1: Lógica Difusa
Es una rama de la lógica que utiliza grados de conjuntos (miembros de conjuntos) en lugar
deverdad/falso.
Variables lingüísticas
Lógica difusa se basa principalmente en la cuantificación y el razonamiento acerca de
lostérminos confusos o ambiguos que aparecen en el lenguaje natural. En lógica difusa
estostérminos se refieren a las variables lingüísticas (también llamadas variables difusas).
CUADRO 13.1: ejemplos de variables lingüísticas
Con valores típicos.
Variable lingüística Valores típicos
Temperatura
Estatura
Velocidad
caliente, frío
pequeño, mediano, alto
baja, trepante, rápido
DEFINICIÓN 13.2:Variable lingüística
Término que se utiliza en el lenguaje natural para describir un concepto que
generalmentetiene valores difusos.
Por ejemplo, en la declaración de "Jack es joven." Estamos diciendo que la variable
lingüística implícita edad tiene el valor lingüístico de los jóvenes. CUADRO 13.1 muestra otros
ejemplos de variables lingüísticas y valores típicos que les podríamos asignar a ellos.
En los sistemas expertos difusos, usamos las variables lingüísticas en reglas difusas. Una
regla difusa deduce información sobre una variable lingüística que figura en su conclusión a partir
de información acerca de otra variable que figura en su premisa.
Por ejemplo:
Sistemas Expertos Lógica Difusa
3
REGLA 1
IF velocidad es lenta
THEN hacer la aceleración alta
REGLA 2
IF temperatura es bajo
AND la presión es medio
THEN disminuir la velocidad
Pedimos el rango de valores posibles de una variable lingüística de la variable universal.
Por ejemplo, podríamos dar a la variable "velocidad", utilizada en la REGLA 1 del rango entre 0 y
100 kilómetros por hora. La frase " velocidad es lenta ", ocupa una parte de la variable universal en
un conjunto difuso.
Conjuntos Difusos
La teoría de conjuntos tradicionales desde el punto de vista del mundo como blanco o
negro.
Es decir, un objeto está dentro o no en un conjunto dado. Consideremos, por ejemplo,
unconjunto compuesto por jóvenes, es decir, los niños. En la teoría tradicional de conjuntospodría
asignarles un valor de 1 a los miembros del conjunto y 0 a los que no son miembros delmismo. En
una instancia los miembros del conjunto consistirían solamente de aquellaspersonas menores a 10
años, usando esta interpretación estricta, las personas de 11 añosquedan totalmente fuera del
mismo.
La lógica difusa proporciona una interpretación más razonable de los jóvenes mediante
unconjunto difuso. Un conjunto difuso asigna valores de pertenencia entre 0 y 1, que reflejan
deforma más natural es un miembro de la asociación con el conjunto. Por ejemplo, si unapersona
la edad es de 5, podemos asignar un valor de 0.9, o si la edad es de 13 un valorde 0,1.
FIGURA 13.1
Sistemas Expertos Lógica Difusa
4
FIGURA 13.1conjuntos difuso y estricto de personas jóvenes
En este ejemplo "edad" es la variable lingüística y el "joven", uno de los conjuntos difusos.
Otros conjuntos que podríamos considerar son "viejo", "mediana edad", etc.
Cada uno de estos grupos representan un adjetivo que define en las variables lingüísticas.
En general, un conjunto difuso proporciona una transición elegante a través de una
frontera como ilustra la figura 13.1. El eje x, representa la edad de la persona. El eje y toma el
valor difuso. El conjunto difuso de personas "jóvenes" los mapas de valores de edad
correspondiente. Se puede ver en la figura que persona de 11 años de edad no es un niño. La
persona se eliminarán progresivamente a partir de esta clasificación como su edad aumenta.
Formalmente, podemos definir un conjunto difuso como:
DEFINICION 13.3:Conjunto Difuso
Sea X el universo con elementos de X denotado como x. Un conjunto difuso A de X se
caracteriza por una función µA(x) que asocia a cada elemento x con el grado de pertenencia de A.
En contraste con la teoría de probabilidades, que se basa en la asignación de
probabilidades a un evento determinado sobre la base de frecuencias antes del evento, la lógica
difusa asigna valores a los eventos en base a una función de pertenencia se define como:
µA(x):X → [0, 1]
En lógica difusa, el evento o elemento x es asignado un valor por una función µ. Este valor
representa el grado para el elemento x que pertenece al conjunto A.
µA(x) = grado(x ∈ A)
El valor de x está limitado por el siguiente rango
0 <= µA(x) <= 1
El conjunto difuso A es una extensión de la teoría tradicional de conjuntos. Se generalizan
los conceptos de pertenencia mediante el uso de la función de pertenencia µ que devuelve un
valor entre 0 y 1 que representa el grado de pertenencia (también llamado valor de pertenencia)
un objeto x tiene el conjunto A.
FORMACION DE CONJUNTOS DIFUSOS
Para representar un conjunto difuso en una computadora se necesita definir su función de
pertenencia. Un enfoque que podemos utilizar es la encuesta de un grupo de personas para su
comprensión del término que estamos intentando representar el conjunto difuso. Por ejemplo
considerar el concepto una persona alta. Se podría preguntar a cada uno de los individuos en qué
Sistemas Expertos Lógica Difusa
5
grado creen que una determinada persona de altura es alta. Después de adquirir la respuesta para
una variedad de alturas, se podría realizar un promedio simple para producir un conjunto difuso
de las personas altas. Ahora si podemos usar esta función para atribuir (o valor de pertenencia) a
un individuo que pertenece a los conjuntos difusos de personas altas. Podríamos continuar con
esta votación para tener en cuenta las descripciones tales como la altura a corto o medio plazo. De
esta manera podemos obtener conjuntos difusos que refleje la opinión popular de la mayoría de
las personas para cada una de estas clasificaciones. Este punto es ilustrado en la Figura 13.2 donde
los conjuntos difusos se muestran en una forma lineal en trozos para las cuestiones de las tres
diferentes categorías para la altura de un individuo. Al definir múltiples conjuntos difusos del
mismo, la literatura difusa menudo se refiere a subconjuntos difusos. Al formar subconjuntos
difusos para varios términos, podemos atribuir un valor de pertenencia de un determinado objeto
para cada conjunto.
Considerar la figura 13.2 de un individuo.
De una altura de 5.5 pies es parte de personas medianas con valores de pertenencia de 1 y
al mismo tiempo pertenecen a personas pequeñas y altas con valor de 0.25. Es un interesante
como un solo objeto es considerado como miembro parcial de múltiples conjuntos. Se verá los
valores de este punto cuando se revise la operación de sistemas expertos difusos. Otro enfoque
encontrado en práctica para formar conjuntos difusos recae estrictamente en la interpretación de
un solo experto. Otro enfoque más reciente descrito por Kosko (1992) consiste en una técnica de
redes neuronales, este enfoque es usualmente visto como una aplicación de control, donde la red
neuronal usa datos de las operaciones del sistema para derivar conocimiento en forma de
conjuntos difusos.
REPRESENTACION DE CONJUNTOS DIFUSOS
En la sección anterior se introdujo conjuntos difusos y discutiendo valores cuantitativos de
términos ambiguos utilizados dentro del lenguaje natural. En esta sección introduce la
representación formal de conjuntos difusos. Asumimos que tenemos un universo de elementos X
Sistemas Expertos Lógica Difusa
6
definidos dentro un conjunto difuso A. Sin embargo asumimos que tenemos un conjunto discreto
de X elementos { x1, x2, .. ,xn}. El conjunto difuso A define la función de asociación
µA(x) que mapea los elementos xi de X al grado asociado entre [0, 1]. Los valores asociados indican
el grado de xi asociado hacia A. para un conjunto discreto de elementos, una manera conveniente
de representar un conjunto difuso es por el uso de vectores.
A=(a1, a2, a3, ... , an)
Donde ai = µA(xi)
Para una representación clara el vector también puede incluir el símbolo "/" el cual asocia
el valor asociado ai, con el elemento xi.
A= (a1/x1, a2/x2, ... , an/xn)
Como un ejemplo considere el conjunto difuso de la estatura de personas mostrada
anteriormente.
ESTATURA = (0/5, 0.25/5.5, 0.7/6, 1/6.5, 1/7)
La notación estándar de conjuntos difusos representa la unión de las dimensiones de los
vectores como sigue: donde "+"representa la notación booleana de la unión.
A= µ1/x1, + µ 2/x2 + ... + µ n/xn
Ó
A =∑ µ i/xi.
Si X es una función continúa, entonces el conjunto A puede ser representado como:
A = ∫µA(xi)/xi
Para un continuo conjunto de elementos, se requiere alguna función para mapear los
valores asociados de los elementos. Una función típica es Gausiana.
Es una función adecuada que representa los datos básicos de los conjuntos difusos.
Sistemas Expertos Lógica Difusa
7
LIMITES
En la sección anterior se describió métodos para capturar y representar los términos
lingüísticos cuantitativos a través de conjuntos difusos. En conversaciones normales, los humanos pueden adicionar términos a una sentencia por el uso de adverbios como "muy", “ligeramente" o "un poco".
Un adverbio es una palabra que modifica un verbo, un adjetivo, otro adverbio, o una frase entera. Consideremos por ejemplo un adverbio que modifica un adjetivo "la persona es muy alta."
Si necesitamos representar el nuevo conjunto difuso, nosotros podríamos obtener el mismo grupo de personas usadas en la obtención de nuestro conjunto difuso de personas de estatura alta. Sin embargo, se disponen de técnicas para trabajar con conjuntos difusos existentes para capturar el impacto de la adición de adverbios, este es el objetivo de los límites.
Un límite modifica matemáticamente un conjunto difuso para acomodarse a la adición de adverbios. Por ejemplo la figura 13.3 muestra los tres conjuntos difusos de la altura mostrada anteriormente en la figura 13.2, junto con los conjuntos ajustados por la introducción de término muy derivado a través de un funcionamiento que se discutirá después.
Para ilustrar el impacto de las modificaciones del conjunto difuso por la operación de un límite, consideremos a una persona de estatura 6, de acuerdo a la figura 13.3 podemos considerar a esta estatura con una certeza de 0.7. Sin embargo, como también muestra la figura 13.3 podemos considerar el mismo como muy alta con una certeza de 0.4, un resultado razonable.
La siguiente secciónsediscutirá el límitecomún utilizado en la práctica.
Sistemas Expertos Lógica Difusa
8
Concentración (Muy)
La operación deconcentración tiene un efecto de reducir elvalor asociado deesos elementos
que tienenestosvalores pequeños, estaoperaciónesta dada por:
µconcen(A) (x) =(µA(x))²
Dado unconjunto difuso de personas altas, podemosusar esta operación para crear
el conjunto de personas muyaltas.
Dilatación(Algunos)
La operación de dilatación,dilata los elementos del conjunto difuso por la incrementación de
sus valores asociados de aquelloselementoscon unvalor pequeñomás que los elementos con valor
alto, estaoperaciónestadadapor:
µDIL(A)(x) = (µA(x))
Dado unconjunto difuso de personasmedianas, podemos usarestaoperación para crearel
conjunto demásomenospersonas medianas.
Intensificación (Realmente)
La operación de intensificación tiene el efecto de intensificación del significado de la frase
por el incremento de los valores asociados a 0.5 y disminuyendo por debajo de
0.5.Estaoperación esta dada por:
µINT(A)(x) =2(µA(x))² para 0 µA(x) 0.5
= 1 –2 (1 - µA(x))² para 0.5 <µA(x) 1
Dado unconjunto difuso de personasmedianas, podemos usarestaoperación para crearel
conjunto de personas realmentemedianas.
Potencia(muy muy)
La operación potenciaesuna extensión de laoperación de concentración.
µpow(A) (X) =(µA(x))n
Dado unconjunto difuso de personas altas,podemosusar esta operación conn=3 para
generar unconjuntopersonas muy muy altas.
Sistemas Expertos Lógica Difusa
9
OPERACIONES CONCONJUNTOS DIFUSOS
Intersección
En la teoríaclásica de conjuntos, la intersección de dos conjuntos contiene los elementos
que soncomunesaambos, sinembargo enlosconjuntosdifusos un elemento puede estar
parcialmenteen ambosconjuntos. Poreso cuandoconsideramos la intersección de estos conjuntos,
se debever cual de los elementoesmas parecidopara estar en la intersección en uno de los
conjuntosoriginales. Paraobtener la intersección de dos conjuntos difusosA y B definidos enX dadopor:
µA∧B (X) =min(µA(x),µB(x)) para todo x∈X
=µA(x) ∧ µB(x)
=µA(x) ∩ µB(x)
El símbolo"∧" (llamado el lógico “AND”) es usadoen lógica difusa para representar
laoperaciónmínimo,simplemente toma el mínimo de losvalores bajoconsideración. Para ilustrar
estaoperación,considera los conjuntos difusos de personas altasy pequeñas.
Alta = (0/5, 0.2/5.5, 0.5/ 6,0.8/6.5,1/7)
Pequeña = (1/5, 0.8/5.5, 0.5/6,0.2/6.5, 0/7)
Entoncesla intersecciónde estos conjuntos seria:
µALT∧PEQ (X) =(0/5, 0.2/5.5,0.5/6, 0.2/6.5,0/7 )
Cuando seconsidera eltérmino“alto y pequeño” esrazonable al interpretar el significado
de“mediano”. Con esta interpretación, se espera el grado de asociación delconjunto alto, yel más
bajo límitedeconjunto.
Este resultado seobserva en la interseccióndel conjunto difuso “alto” y“pequeño”. Este
ejemplomuestracomo ambos conjuntos pueden ser combinados para luego formar uno nuevo. El
término lingüístico nosotros podríamos aplicarlo a este nuevo conjunto podría ser las personas de
altura mediana.
Unión
Otra forma de combinar los conjuntos difusos.La uniónesta compuesta por elementos que
están en un conjunto o en ambos.
El símbolo (v) representa a la un on y se lo conoce como OR. La unión consiste en obtener
los valores máximos de los conjuntos.
Sistemas Expertos Lógica Difusa
10
Ejemplo :TALL =(0/5, 0.2/5.5 , 0.5/6 , 0.8/6.5 , 1/7)
SHORT = (1/5 , 0.8 /5.5 , 0.5/6 , 0.2/6.5 , 0/7)
TALL u SHORT = (1/5 , 0.8/5.5 , 0.5/6 , 0.2/6.5 , 1/7)
Complementación NOT
El complemento NOT es la operación inversa de nuestro conjunto .
Y es equivalente a 1-conjunto.
Ejemplo: TALL =(0/5, 0.2/5.5 , 0.5/6 , 0.8/6.5 , 1/7)
NOT TALL =(1/5, 0.8/5.5 , 0.5/6 , 0.2/6.5 , 0/7)
Operaciones adicionales: Usando los conjuntos difusos se pueden derivar otras operaciones, por
ejemplo para conocer el tamaño de las personas medians seria:
1- (conjunto)΅2
Inferencia difusa
La lógica difusa trata con proposiciones difusas. Una proposición difusa es una sentencia que
contiene el valor de las variables.
Ejemplo La talla es alta
Representa X is A
Donde A es el valor que puede tomar nuestra variable.
Una regla difusa contiene dos proposiciones de la siguiente forma:
IF X is A THEN Y is B
Esta regla establece una relación entre dos proposiciones.
Un sistema experto basado en lógica difusa, necesita muchas reglas y la asociación entre sus
proposiciones ( A, B), para ello se crea una matriz M .
La matriz M mapea los valores de A y B, esto se conoce como Matriz asociativa difusa (
FuzzyAssociativeMatrix FAM).
Ejemplo: Tenemos dos proposiciones
Talla es alta Peso es pesado
X is A Yis B
Podemos representar los valores de A y B como vectores para capturar la relación en la matriz de
asociación.
Para realizar esto se tienen dos técnicas:
Matriz inference (Inferencia de matriz) y Max-Productinference (Inferencia de Máximo producto).
Sin embargo necesitamos primero aprender una operacion conocida como: Multiplicaciónvectror-
Matriz.
Sistemas Expertos Lógica Difusa
11
Multiplicación Vector Matriz
Se define como A . M = B.
Donde los componentes de B se obtienen de: bn = max(min(a1, m11), min(a2, m21)...
(min(an,mxy)
Ejemplo: Tenemos un vector A = (0.2,0.4,0.6,1)
M = | 0,1 0,6 0,8 |
| 0.6 0.8 0.6 |
| 0.8 0.6 0.5 |
| 0 0.5 0.5 |
b1 = max (min(0.2,0,1), min(0.4,0.6), min(0.6, 0.8), min (1,0))
b1 = max (0.1 , 0.4, 0.6 , 0)
b1 = 0.6
b2 = 0.6
b3 = 0.5
B = (0.6 , 0.6, 0.5 )
Ideas Básicas dela inferencia Difusa
El mejor recurso de información acerca de lainferencia es Zadeh (1965).
Zadhe mira a todo lo difuso como un conjunto de funciones basadas en distribuciones de
probabilidad.
Los datos que utiliza como base son
A = Distribución de probabilidad
= UA(x)
= HA
HA º HB|A = HB
Donde el primer y tercer término son los vectores que contienen los valores característicos
de las variables lingüísticas A y B y El segundo término es la matriz que combina dichos valores.
Whalen y Schott en 1983 hicieron un estudio del segundo término de la expresión, para poder
encontrar las formas de conseguir el mismo, a continuación se les presentarán las formas Max-Min
y Min-Max.
Inferencia Max – Min
Mij = truth(ai�bj) = min(a,b) (1)
Bi = max {min(ai, mij)} (2)
Sistemas Expertos Lógica Difusa
12
Las anterioresecuaciones serán usadas para realizar el cálculo dela Matriz M ó HB|A.
Como se menciono antes A y B son variables lingüísticas, las cuales poseen distintos valores
característicos, para indicar este método lo haremos con un ejemplo.
Digamos que A se ayuda medir la temperatura normal, dentro de todas las posibles temperaturas
que se puedan presentar, y B indica la velocidad media, dentro de todos los valores que se pueden
adoptar para la velocidad; por lo tanto demos un el conjunto siguiente:
A = {0/100 0.5/125 1/150 0.5/175 0/200}
B = {0/10 0.6/20 1/30 0.6/40 0/50}
Donde los numeradores de los quebrados hacen referencia a la probabilidad del valor
típico que es el denominador.
La regla que manejaremos es:
SI A ENTONCES B
Ahora que ya se tiene la regla y los vectores que definen los conjuntos difusos A y B
respectivamente aplicamos la ecuación (1):
M = mij = min(ai , bj)
Donde M es la siguiente matriz:
Min(0,0) Min(0,0.6) Min(0,1) Min(0,0.6) Min(0,0)
Min(0.5,0) Min(0.5,0.6) Min(0.5,1) Min(0.5,0.6) Min(0.5,0)
Min(1,0) Min(1,0.6) Min(1,1) Min(1,0.6) Min(1,0)
Min(0.5,0) Min(0.5,0.6) Min(0.5,1) Min(0.5,0.6) Min(0.5,0)
Min(0,0) Min(0,0.6) Min(0,1) Min(0,0.6) Min(0,0)
=
0 0 0 0 0
0 0.5 0.5 0.5 0
0 0.6 1 0.6 0
0 0.5 0.5 0.5 0
0 0 0 0 0
Esta matriz nor permite hallar los valores de B cuando el vector que recibimos de A es
distinto digamos:
A’ = {0/100 0.5/125 0/150 0/175 0/200}
Ahora haremos el cálculo del vector B’ usando la ecuación 2.
Sistemas Expertos Lógica Difusa
13
Bi = max {min(ai, mij)}
B1 = max {min(0, 0) min(0.5, 0.0) min(0, 0) min(0, 0) min(0, 0)}
B2 = max {min(0, 0) min(0.5, 0.5) min(0, 0.6) min(0, 0.5) min(0, 0)}
B3 = max {min(0, 0) min(0.5, 0.5) min(0, 1) min(0, 0.5) min(0, 0)}
B 4 = max {min(0, 0) min(0.5, 0.5) min(0, 0.6) min(0, 0.5) min(0, 0)}
B5 = max {min(0, 0) min(0.5, 0.0) min(0, 0) min(0, 0) min(0, 0)}
Donde los valores resultantes dan como resultado B’:
B’ = {0/10 0.5/20 0.5/30 0.5/40 0/50}
El proceso que se ha realizado es conocido como fusificación.
Ahora bien los valores de ese vector, corresponden al valor estimado en función al vector
A’. El vector A’ es la resultante del análisis de alguno de los puntos dentro de la gráfica del
conjunto A. Ahora bien para encontrar el valor puntual al que hacen referencia ambos valores se
deben usar algún método de defusificación conocido, como el de los medios, centroide, basas, etc.
De estos métodos el más conocido es el centroide.
Las gráficas se las realizan plasmando sobre el eje y los valores de las posibilidades del vector de la
variable lingüística, y en el eje x los valores típicos delas variables. Uniendo esos puntos se obtiene
una figura, la cual es el conjunto difuso. Ahora bien cuando se manda un vector con valores
distintos, estos corresponden a un valor del eje X, del cual no conocemos su posibilidad de
ocurrencia, y menos aún el valor típico en el conjunto al que se infiere, en este caso B, es por esto
que se hace el cálculo de los valores usando la matriz M. Una vez obtenido los valores de los
nuevos vectores se busca el punto de equilibrio de la figura encontrada, y el valor que
corresponda a trasposición sobre el eje X, es el valor que se da como respuesta.
En el caso que estuvimos viendo, en los valores del vector A corresponden a una
temperatura de 125 grados y la velocidad que devolvería sería aproximadamente 20 pies por
segundo. Esta forma de encontrar el valor corresponde al método del centroide.
Max-producto de inferencia
Max-producto de inferencia utiliza el estándar del producto como operador de aplicación cuando
la formación de los componentes de M:
mq = aibj
Tras el cálculo de la composición de la matriz, máximos y mínimos que se utiliza para determinar la
matriz B' inducida de algunos vectores del subconjunto A '.
Para ilustrar esta técnica se considera los siguientes vectores :
Sistemas Expertos Lógica Difusa
14
A = (0, 0.5, 1, 0.5, 0) B = (0, 0.6, 1, 0.6, 0)
| (0 .0 * 0.0) (0.0 * 0.6) (0.0 * 1.0) (0.0 * 0.6) (0.0 * 0.0) |
| (0.5 * 0.0) (0.5 * 0.6) (0.5 * 1.0) (0.5 * 0.6) (0.5 * 0.0) |
M = | (1.0 * 0.0) (1.0 * 0.6) (1.0 * 1.0) (1.0 * 0.6) (1.0 * 0.0) |
| (0.5 * 0.0) (0.5 * 0.6) (0.5 * 1.0) (0.5 * 0.6) (0 .5 * 0.0) |
| (0.0 * 0.0) (0.0 * 0.6) (0.0 * 1.0) (0.0 * 0.6) (0.0 * 0.0) |
| 0.0 0.0 0.0 0.0 0.0 |
| 0.0 0.3 0.5 0.3 0.0 |
= | 0.0 0.6 1.0 0.6 0.0 |
| 0.0 0.3 0.5 0.3 0.0 |
| 0.0 0.0 0.0 0.0 0.0 |
Suponiendo que tenemos A' = (0/100, 5/125, 0/150, 0/175, 0/200) aplicando máximos y mínimos
obtendremos B' aplicando la siguiente fórmula:
b = max { min ( a'i , mij)}
b1 = max [ min(0.0 , 0.0), min(0.5 , 0.0), min(0.0 , 0.0), min(0.0 , 0.0), min(0.0 , 0.0) ]
b2 = max [ min(0.0 , 0.0), min(0.5 , 0.3), min(0.0 , 0.6), min(0.0 , 0.5), min(0.0 , 0.0) ]
b3 = max [ min(0.0 , 0.0), min(0.5 , 0.6), min(0.0 , 0.1), min(0.0 , 0.5), min(0.0 , 0.0) ]
b4 = max [ min(0.0 , 0.0), min(0.5 , 0.3), min(0.0 , 0.6), min(0.0 , 0.5), min(0.0 , 0.0) ]
b5 = max [ min(0.0 , 0.0), min(0.5 , 0.0), min(0.0 , 0.0), min(0.0 , 0.0), min(0.0 , 0.0) ]
B' = (0.0 , 0.3 , 0.5 , 0.3 , 0.0)
La técnica de inferencia max-producto produce una versión a escala de B, como se muestra en la
figura 1. donde se ilustra el resultado general, de utilizar esta técnica para los conjuntos fuzzy
triangulares.
A B
IF A THEN
B
Reglas
Sistemas Expertos Lógica Difusa
15
Reglas con Múltiples Premisas
En las secciones anteriores hemos estado buscando en reglas difusas que contienen una sola
premisa como IF A THEN B. Pero en la practica necesitamos definir reglas con múltiples premisas,
como por ejemplo IF A AND B THEN C.
Para poder representar las reglas con múltiples premisas se utilizan las condiciones AND o OR,
dependiendo a los condicionantes que se utilice, se utiliza diferentes reglas como se especifica en
la siguiente tabla.
C' Premisa de unión Inferencia
min(ai , bj) ^ Uc (z) AND Max-Min
min(ai , bj) ^ Uc (z) OR Max-Min
min(ai , bj) . Uc (z) AND Max Producto
min(ai , bj) . Uc (z) OR Max Producto
Defuzzificación
La defuzzificación es definida como un mapeo de un conjunto difuso B' en V � R (que es la salida
de la inferencia difusa). Conceptualmente, la tarea de defuzzificar es especificar un punto,
elemento de V, que refleje
la mejor representación del conjunto difuso B' . Hasta el momento no existe un algoritmo óptimo
para
la defuzzificación.
El método mas popular de defucificacion es el calculo del centro de gravedad o centroide, el cual
retorna el centro del área bajo la curva.
Múltiples reglas Difusas
Asumiendo que se desea controlar la velocidad de algunos vehículos. Supongamos, además, que
nuestra decisión se basa en la temperatura y la presión del vehículo como se recoge en las
siguientes reglas:
Figura 1. Max-Producto de Inferencia
Sistemas Expertos Lógica Difusa
16
IF temperatura es normal
OR presión es baja
THEN Velocidad es medio
IF temperatura es normal
AND presión es normal
THEN velocidad es baja
La representación gráfica de estas reglas aplicando la inferencia de los procesos max-min
tendremos el siguiente cuadro:
IF T=Normal
OR P= Bajo
IF T=Normal
AND P=Normal
THEN V = Baja
Reglas Temperatura T Presión P Velocidad V
Normal Baja
Max ( T, P )
Normal Normal Min ( T, P)
Medio
Bajo
Ajuste de Velocidad = Centroide
Figura 3. Inferencia de Max-Min para multiples Reglas
Lecturas
Sistemas Expertos Lógica Difusa
17
CONSTRUYENDO UN SISTEMA EXPERTO DIFUSO
Para ilustrar el diseño de un sistema experto difuso consideramos el problema de conducir un
carro del golf. Nosotros queremos diseñar un sistema difuso que conducirá automáticamente a
Kathy quien es una apasionada jugadora de golf de fin de semana, alrededor del campo de golf.
Sistemas Expertos Lógica Difusa
18
Kathy ha tenido dificultad al conducir su carro que ha llevado a un incremento en su
ansiedad y una baja en su anote en el a puntaje de golf. Con un carro de golf automático, ella
puede relajarse, y confortadamente disfrutar y mejorar su juego.
Existen siete tareas principales que típicamente realizara al desarrollar un sistema
experto con lógica difusa:
Tarea 1: Definir el problema
Tarea 2: Definir las variables lingüísticas
Tarea 3: Definir los conjuntos difusos
Tarea 4: Definir las reglas difusas
Tarea 5: construir el sistema
Tarea 6: Probar el sistema
Tarea 7: Refinar el sistema
TAREA 1: DEFINIR EL PROBLEMA.-
Como todos los proyectos de sistema experto, primeramente necesitamos obtener una
fuente de conocimiento. Normalmente esta fuente es un experto en el problema. Para nuestro
problema, nosotros avisamos a Bob, un profesional de golf en un curso local, que tiene años de
experiencia manejando un carro del golf.
Sistemas Expertos Lógica Difusa
19
Bob nos dice que el problema básico es conducir el carro de un modo eficaz y seguro de
una posición fija inicial a la posición de la pelota de golf. Nosotros obtenemos la eficiencia
minimizando la distancia recorrida y el tiempo transcurrido. Nosotros obtenemos la seguridad
esquivando todo árbol que este por el camino. Para logar estas tareas nosotros necesitaremos
proporcionar el control al sistema difuso sobre la dirección y velocidad del carro, la Figura 13.10
ilustra nuestro problema de conducir el carro.
Este es básicamente un problema de error nulo. Inicialmente el carro debe dirigirse hacia
la pelota anulando el error de desfase entre la dirección angular del carro y la dirección hacia la
pelota. El carro también debe acelerar a una velocidad máxima aceptable, luego bajar lentamente
la velocidad finalmente detenerse cuando esté cerca de la pelota; nosotros elegimos detenerse a
una distancia alrededor de 3 yardas. Esto minimiza el error entre la posición del carro y la posición
de la pelota de un modo rápido. Además, cuando un árbol está en el camino del carro, debe
dirigirse el carro alrededor de él prudentemente(es decir, bajar lentamente la velocidad), luego
aumente la velocidad y diríjase de nuevo hacia la pelota.
TAREA 2: DEFINIR LAS VARIABLES LINGÜISTICAS.-
Posteriormente necesitamos definir las variables lingüísticas para nuestro problema.
Logramos esta tarea escuchando como Bob resuelve el problema. Nosotros queremos descubrir
las variables que representarán nuestro universo de discurso y los conjuntos difusos que se
definirán en él.
De la tarea 1, nosotros sabemos que nuestro sistema de la lógica difusa se compone de
tres problemas básicos:
1. Controlar la conducción del carrito en dirección de la bola
2. Controlar la velocidad del carrito
3. Controlar la conducción del carrito evadiendo árboles
Posteriormente le pedimos a Bob que discuta en general cómo se resuelve cada uno de
estos problemas. Considere el problema y asumí que Bob nos proporcionaría la estrategia del
sentido común que se tomara para dirigir el carro hacia la pelota:
“Cuando la dirección del carro está lejos de la pelota, dirigir la dirección del carro hacia la
pelota”
De un modo similar nosotros obtenemos las estrategias del experto para controlar la
velocidad del carro:
“Cuando el carro esta lejos de la pelota, aumente la velocidad del carro.”
“Cuando el carro está cerca de la pelota, disminuya la velocidad del carro lentamente.”
Sistemas Expertos Lógica Difusa
20
Y la dirección del carro con velocidad:
“Cuando el carro está cerca del árbol y delante de é, entonces disminuir lentamente la
velocidad del carro y conducir en dirección lejos del árbol.”
De esta discusión nosotros podemos definir nuestras variables lingüísticas del universo
de discurso, y también pedirle a nuestro experto que defina sus rangos:
VARIABLES LINGÜISTICAS RANGO
Error del ángulo - 180 a 180 grados
Angulo del árbol - 180 a 180 grados
Angulo de dirección - 45 a 45 grados
Velocidad 0 a 5 yardas/s
Aceleración - 2 a 1 yarda/s/s
Distancia de la pelota 0 a 600 yardas
Distancia del árbol 0 a 1000 yardas
TAREA 3: DEFINIR LOS CONJUTNOS DIFUSOS.-
El siguiente paso involucra la definición de los conjuntos difusos en cada universo. Para
lograr esto nosotros consultamos de nuevo a Bob y le pedimos una lista de adjetivos típicos
empleados con cada variable lingüística. Asuma como resultado de este esfuerzo la lista que se
muestra en la Figura 13.11. Esta figura representa un “diccionario” de vocabulario para el
problema
SUGERENCIA DE DISEÑO: Mantenga un diccionario de términos usados en el sistema que
incluye todas las variables lingüísticas y sus adjetivos asociados.
Error del ángulo
Angulo del árbol
Angulo de dirección
Velocidad Aceleración Distancia
de la pelota
Distancia del árbol
Negativo grande
Negativo grande
Firmemente a la derecha
Cero Frenar
firmemente Cero Cerca
Negativo pequeño
Negativo pequeño
Ligeramente a la derecha
Ligeramente lento
Luz de freno Realmente
cerca
Cero Cero Cero Lento Límite Cerca
Positivo pequeño
Positivo pequeño
Ligeramente a la
izquierda Media Cero Media
Positivo grande
Positivo grande
Firmemente a la
izquierda Rápida
Ligeramente acelerando
Lejos
Pisando fondo
Figura 13.11: Variables difusas con adjetivos
Sistemas Expertos Lógica Difusa
21
Luego pedimos a Bob la información que nos permita definir los conjuntos difusos para
cada adjetivo empleado. Figura 13.11. Por ejemplo, nosotros primero podríamos preguntar:
- “¿Qué velocidad usted considera lento?” asuma que Bob proporciona una respuesta vaga
a esta pregunta – “alrededor de 3 yardas por segundo.” En este punto, nosotros podemos
preguntarle a qué grado él cree que los distintos valores de velocidad son lentos – “¿A qué grado
usted cree que 1 yd/s es lento?”. Nosotros podemos usar las preguntas similares para otros
valores de velocidad, y siguiendo este resultado con la selección de una función que
razonablemente traza los valores de velocidad, y valora el grado de certeza de los valores
correspondientes – ahora nosotros tenemos nuestro primer conjunto difuso.
El trazado difuso o las funciones correspondientes pueden tener una variedad de formas
de dependen de cómo el experto relaciona los diferente valores de un dominio de los valores de
creencia. En la práctica, una función lineal, tal como una figura triangular o trapezoidal,
proporciona una captura adecuada de la creencia del experto y simplifica el cálculo
Podríamos continuar este proceso para definir los otros conjuntos difusos para la
variable lingüística “Velocidad”. Sin embargo, en la práctica cuando el experto ve como se forma el
primer conjunto difuso, generalmente puede definir los otros conjuntos simplemente cambiando
la función de trazado seleccionada por el universo de la variable. Sin embargo, este enfoque
podría requerir una pequeña reducción o aplicación de la función cambiada.
SUGERENCIA DE DISEÑO: Permita que el experto cambie una función del conjunto difuso
existente en el universo de discurso para explicar otros adjetivos
Las figuras 13.12 hasta la 13.18 muestran los conjuntos difusos para toras las condiciones
mostradas en la figura 13.11. Cada figura incluye también los vectores apropiados para los
diversos conjuntos difusos.
Un punto clave al definir los conjuntos difusos es asegurarse de que usted tenga la
coincidencia suficiente en los conjuntos para garantizar que cada posible valor pruébele algún
valor admitido en el conjunto difuso. Si no se hace esto, la posibilidad existirá siempre que su
sistema sea indiferente a algún valor.
SUGERENCIA DE DISEÑO: Mantenga la coincidencia suficientemente en los conjuntos
difusos adyacentes.
Sistemas Expertos Lógica Difusa
22
Sistemas Expertos Lógica Difusa
23
Sistemas Expertos Lógica Difusa
24
Sistemas Expertos Lógica Difusa
25
TAREA 4: DEFINIR LAS REGLAS DIFUSAS.-
Posteriormente necesitamos definir las reglas difusas. Para lograr esto, le pedimos a Bob
discutir sobre como maneja los tres principales problemas: dirigir el carro a la pelota, controlar la
velocidad del carro, y dirigir el carro evadiendo un árbol. También le pedimos que considere el uso
de los adjetivos difusos definidos previamente. Sin embargo, si otros adjetivos aparecen durante
esta discusión, simplemente podremos agregarlos a nuestra lista anterior y podemos definir un
conjunto difuso para cada uno. Los resultados de este trabajo son mostrados en la Figura 13.19,
donde varios conjuntos difusos y el operador difuso NOT, son usados.
Debe notarse que el uso de límites en las reglas difusas deben ser considerados
posteriormente, es decir cuando el sistema este siento refinado. El conjunto inicial de reglas debe
ser pequeño y solo debe incluir las reglas difusas para los adjetivos del diccionario, sin adverbios
adicionales. Cuando usted pruebe el sistema, puede agregar los adverbios para ver si el
rendimiento del sistema mejora.
Sistemas Expertos Lógica Difusa
26
SUGERENCIA DE DISEÑO: Use los adverbios en las reglas al refinar el rendimiento del
sistema
• REGLAS de conducción
REGLA 1S – Mantener la dirección
IF el error_ángulo es cero
AND la distancia_árbol NO ES ALGO cercana
AND el ángulo_árbol NO ES ALGO cercano a cero
THEN mantener el ángulo_dirección en cero
REGLA 2S – Cambiar la dirección ligeramente a la derecha
IF el error_ángulo es un positivo_pequeño
AND la distancia_árbol NO ES ALGO cercana
AND el a´ngulo_árbol NO ES ALGO cercano a cero
THEN dirigir el ángulo_direcciónligeramente_ïzquierda
REGLA 3S – Cambiar la dirección ligaramente a la izquierda
IF el error_ángulo es un negativo_pequeño
AND la distancia_árbol NO ES ALGO cercana
AND el ángulo_árbol NO ES ALGO cercano a cero
THEN dirigir el ángulo_direcciònligeramente_izquierda
REGLA 4S – Cambiar la dirección ligeramente a la derecha
IF el error_ángulo es un positivo_grande
AND la velocidad es rápida
THEN dirigir el ángulo_direcciónligeramente_derecha
REGLA 5S – Cambiar la dirección firmemente a la derecha
IF el error_ángulo es un positivo_grande
AND la velocidad NO es rápida
THEN dirigir el ángulo_direcciónfirmemente_derecha
Sistemas Expertos Lógica Difusa
27
REGLA 6S – Cambiar la dirección ligeramente a la izquierda
IF el error_ángulo es un negativo_grande
AND la velocidad es rápida
THEN dirigir el ángulo_direcciónligeramente_izquierda
REGLA 7S – Cambiar la dirección firmemente a la izquierda
IF el error_ángulo es un negativo_grande
AND la velocidad NO es rápida
THEN dirigir el ángulo_direcciónfirmemente_izquierda
• REGLAS para la aceleración
REGLA 1A – Frene ligeramente
IF el error_ángulo es un positivo_grande
AND la velocidad es rápida
THEN encender la luz_freno de aceleración
REGLA 2A – Frene ligeramente
IF el erorro_ángulo es un negativo_grande
AND la velocidad es rápida
THEN encender la luz_greno de aceleración
REGLA 3A – Pisar fondo
IF la distancia_pelota está lejana
AND la velocidad NO ES MUY rápida
THEN pisar_fondo el acelerador
REGLA 4A – ponga la acceleration a cero
IF la distancia_pelota está lejana
AND la velocidad es MUY rápida
THEN ponga la aceleración a cero
Sistemas Expertos Lógica Difusa
28
REGLA 5A – aceleración ligera
IF la distancia_pelota es mediana
AND la velocidad NO ES rápida
THEN haga que la aceleración sea loeramente_acelerado
REGLA 6A – ponga la aceleración a cero
IF la distancia_pelota es mediana
AND la velocidad es rápida
THEN ponga la aceleración a cero
REGLA 7A – luz de freno
IF la distancia_pelota es cercana
AND la velocidad es rápida
THEN encender la luz_freno de aceleración
REGLA 8A – ligeramente acelerado
IF la distancia_pelota es cvercana
AND la velocidad es cero
THEN haga que la aceleracion sea ligeramente_acelerado
REGLA 9A – frenar firmemente
IF la distancia_pelota es relamente_cerca
AND la velocidad es media
THEN frenar_firmemente la aceleración
REGLA 10A – luz de freno
IF la distacia_pelota es realmente_cerca
AND la velocidad es media
THEN encender la luz_freno de aceleración
Sistemas Expertos Lógica Difusa
29
REGLA 11A – al límite
IF la distancia_pelota es realmente_cerca
AND la velocidad es lenta
THEN haga que la aceleración este al límite
REGLA 12A – ponga la aceleración a cero
IF la distancia_pelota es realmente_cerca
AND la velicidad es realmente_lenta
THEN ponga la aceleración a cero
REGLA 13A – ligeramente acelerado
IF la distancia_pelota es realmente_cerca
AND la velocidad es cero
THEN haga que la aceleración sea ligeramente_acelerado
REGLA 14A – frenar firmemente
IF la distancia_pelota es cero
AND la velocidad NO es cero
THEN frenar_firmemente la aceleración
REGLA 15A – límite
IF la distancia_pelota es cercana
AND la velocidad es media
THEN haga que la aceleración esté al límite
REGLA 16A – ponga la aceleración a cero
IF la distancia_pelota es cercana
AND la velocidad es lenta
THEN ponga la aceleración a cero
Sistemas Expertos Lógica Difusa
30
• REGLAS que evitan el árbol
REGLA 1T – Giro ligeramente a la izquierda evitando el árbol
IF la distancia_árbol es ALGO cercana
AND el ángulo_árbol es ALGO cernaco a cero
AND el ángulo_árbol es un positivo_pequeño
THEN dirigir el ángulo_direcciónligeramente_izquierda
REGLA 2T – Giro ligeramente a la derecha evitando el árbol
IF la distancia_árbol es ALGO cercana
AND el ángulo_árbol es ALGO cercano a cero
AND el ángulo_árbol es un negative_pequeño
THEN dirigir el ángulo_direcciónligeramente_derecha
REGLA 3T – Frenar firmemente evitando el árbol
IF la distancia_árbol es MUY cercana
AND el ángulo_árbol es cero
THEN frenar_firmemente la aceleración
Figura 13.19: Reglas Difusas
TAREA 5: CONTRUIR EL SISTEMA
Ahora que tenemos las reglas y los conjuntos difusos, nuestra próxima tarea es construir
el sistema.
Esta tarea implica la codificación de los conjuntos difusos, reglas y procedimientos para
la ejecución de funciones lógicas difusas así como la inferencia difusa. Para realizar esta tarea
podemos elegir uno de dos caminos: construir el sistema usando un lenguaje de programación
básico ó usar un shell de desarrollo en lógica difusa.
El leguaje de programación C es el lenguaje de mayor preferencia para desarrollar
sistemas expertos en lógica difusa. Estos ofrecen una estructura de datos que son conducidos por
implementación de procedimientos de lógica difusa. Sin embargo, construir un sistema de lógica
difusa usando como un lenguaje de programación básico, requiere un desarrollador que no solo
codifique la adquisición de conocimiento (es decir, conjuntos difusos y reglas difusas); sino
también sea responsable de la codificación de los procesos de la lógica difusa.
Sistemas Expertos Lógica Difusa
31
Un shell de lógica difusa proporciona un entorno completo para desarrollar un sistema
experto en lógica difusa. El diseñador es el único responsable de codificar el problema de
adquisición de conocimiento – esta tarea frecuentemente utiliza el lenguaje natural para las reglas
y un método grafico para definir los conjuntos difusos.
Asumiremos que nuestro sistema de ejemplo fue desarrollado usando el shellCubiCalc.
CubiCalc es un entorno Windows que permite obtener rápidamente prototipos de sistemas
expertos en lógica difusa. Este también ofrece un utilitario que nos permite probar nuestro
sistema fácilmente.
TAREA 6: PROBAR EL SISTEMA
Después de tener el sistema construido, buscaremos probarlo para ver si se encuentran
las especificaciones definidas en la Tarea 1. Para nuestro sistema, los carros de prueba son
simulados usando un utilitario de simulación de CubiCalc. Toda prueba corre usando la técnica de
inferencia max-prtoduct.
El número de casos de pruebas existentes depende de la localización de la pelota, árbol,
carro y la orientación de éste. Observaremos solo dos situaciones: Una sin el árbol en la ruta del
carro, y otra con el árbol en la ruta del carro. Para ambos casos de prueba asumiremos que la
pelota está en las coordenadas (0,0).
Prueba Nº 1 sin el árbol en la ruta
Para el primer caso de prueba consideraremos una situación en la que el árbol no esta en
la ruta directa del carro. Además, el carro esta dirigido lejos con un ángulo de 45 grados. Los
resultados de la prueba de simulación son mostrados en las difusas 13.20 y 13.21.
Figura 13.20 ilustra la ruta del carro durante la prueba y vemos que tuvo una pequeña
dificultad al alcanzar la pelota. Después de una maniobra inicial para obtener la tarjeta, el carro
sigue una línea recta acercándose a la pelota, sin desviarse de esta. El carro se detiene
aproximadamente a 3 yardas de la pelota.
Sistemas Expertos Lógica Difusa
32
La figura 13.21muestra la velocidad del carro durante la prueba. Desde la posición
estacionada el carro arranca rápidamente a su velocidad máxima permitida de 5 yardas/segundo.
Como el carro se acerca a la pelota desacelera rápidamente. Para este punto la velocidad
comienza a oscilar (decrementar) –una indeseable situación que será discutida después.
Sistemas Expertos Lógica Difusa
33
Para proporcionar entradas dentro los sistemas de procesos de inferencia, la simulación
tuvo que ser pausada para inspeccionar las reglas difusas. Cuando se detuvo la simulación se
tenían las siguientes condiciones.
� El carro estaba a 28.5 yardas de la pelota
� El carro estaba moviéndose directamente hacia la pelota
� La velocidad del carro era de 4.5 yardas/segundo
� El carro estaba desacelerando acerca de 0.5 yardas/s/s
� El error del ángulo era muy grande
� El árbol estaba muy lejos
Bajo esas condiciones solo se aplican tres reglas: REGLA 5A, 6A,y 7A. Para evaluar la regla
5A, las funciones asociadas: “media” a “distancia de la pelota” y “rápida” a “velocidad” deberían
ser evaluadas. La “distancia de la pelota” de 28.5 yardas pertenece a la clasificación de “media”
para el rango de 0.125 (ver figura 13.17). Una “Velocidad” de 4.5yardas/segundo es considerada
“rápida ” para un rango de 0.8 (ver figura 13.15); por lo tanto esta “no es rápida” para un rango de
0.2. Cuando al AND se le asignan aquellos dos valores (0.8,0.2), el operador mínimo produce
0.125, tomando las premisas como verdaderas. Usando la técnica de inferencia de max-product,
este valor es usado para la escala de funciones asociadas a la conclusión de la REGLA 5A
“Aceleración ligera”.
Cuando la regla 6A es evaluada, usamos los valores de “media” y rápida como
verdaderas pero puede existir un error, las premisas tienen otra vez una combinación verdadera
del valor 0.125. La aceleración asociada a este valor es cero.
Cuando evaluamos la regla 7A, la distancia de 28.5 yardas es considerada “cercana” en
un rango de 0.625 y la “velocidad” es “rápida” en un rango de 0.8. Por lo tanto “luz de freno”
empieza a subir a escala hasta un valor de 0.625.
El inicio paralelo de estas tres reglas es mostrado en la figura 13.22. los tres inducidos
dentro de un conjunto difuso “aceleración”. Son también combinados usando el operador de
unión. El resultado central de este cálculo es provisto por un incremento en la aceleración del
carro. Desde que el valor final es negativo, el simulador decrementa la velocidad del carro y el
proceso continúa.
Sistemas Expertos Lógica Difusa
34
Prueba N ª 2 Árbol en la ruta
En la siguiente prueba nosotros vamos a considerar una situación deonde el árbol está
en dirección en línea recta del carro formando un ángulo de 60 º. También que el carro se
encuentra lejos de la pelota (balón)
En la Fig. 13.23 y Fig 13.24 simulan estos resultados
Sistemas Expertos Lógica Difusa
35
En la Fig. 13.23 se ilustra que el carro debe dirigirse al balón.
El carro debe entonces seguir la línea recta hacia el árbol hasta estar cerca de él, para
luego poder llegar al balón.
En este punto éste debe cambiar de rumbo (es decir, evitar o esquivar) al árbol y
entonces continuar en línea recta hasta acercarse al balón. En el caso de prueba Nº 1 el carro paró
aproximadamente a 3 yardas del balón.
En la Fig. 13.24 nos muestra que el carro una vez mas incrementa su velocidad hasta
alcanzar su máxima permitida, mientras se acerca al árbol. En este punto, disminuye su velocidad
para poder esquivar bordeando al árbol. Después de esquivar al árbol, éste aumenta nuevamente
su velocidad mientras se aproxima al balón. Aquí va reduciendo poco a poco su velocidad
preparándose para parar. Desafortunadamente, vemos que se presenta nuevamente el problema
del caso de prueba N º 1, donde el carro continúa teniendo cierta velocidad estando ya cerca del
balón.
Sistemas Expertos Lógica Difusa
36
TAREA 7: REFINAR EL SISTEMA
El refinamiento del sistema experto difuso se inicia cuando el sistema responde pero no
lo hace de manera precisa que satisfaga a las expectativas iníciales del usuario. Se requiere
entonces dedicarle un esfuerzo adicional para que el sistema quede en perfectas condiciones.
En un proyecto de un sistema experto difuso, el tiempo que se dedica a definir los
conjuntos difusos y la reglas es muy pequeño en comparación al tiempo que se dedica para su
refinamiento. Usualmente, la primera serie definida de conjuntos difusos y reglas nos ayudan a
llegar a una solución razonable del problema.
Esta puede ser una de las principales ventajas de usar lógica difusa. Para esto, usamos el
razonamiento del Sentido Común como base para la adquisición de conocimiento y asi poder dar
respuestas rápidas y razonables. Sin embargo, obtener respuestas mas precisas y exactas conlleva
dedicarle más esfuerzo y destreza.
Los resultados del caso de prueba Nº 2 nos dio a conocer mas a detalle las
especificaciones iníciales. Esto es, que el carro ya no correrá desenfrenadamente hacia el árbol y
llegara al balón con éxito. Sin embargo, inspeccionando en la velocidad del carro nosotros
podemos encontrar el problema.
Ambas Fig. 13.21 y 13.24 nos muestra que el carro llega con mucha velocidad al
acercarse al balón, pero esta velocidad continuamente oscila entre 0 y algún valor.
Sistemas Expertos Lógica Difusa
37
Un programador puede mirar este punto y estar feliz de que el carrito alcanza con buen
éxito al balón. Sin embargo, Kathy que es la conductora del carro y no así parte de los
programadores, no está feliz, porque debido a los abruptos cambios de velocidad en el carro le
han ocasionado una baja en sus puntajes de juego.
Entonces, para que el problema sea corregido, nosotros necesitamos hacer una
inspección en las reglas que controlan la velocidad del carro. Especialmente, nosotros necesitamos
observar aquellas reglas que controlan la velocidad del carro cuando éste se aproxima al balón y
esta “realmente cercano”. Las reglas 9A a la 13A cubren esta situación. La regla 13A es la que
causa un incremento en la velocidad del carro, cuando la velocidad se aproxima a 0 (cero) es aquí
donde comienza la oscilación (incrementa su velocidad). Para evitar este problema nosotros
podríamos eliminar esta regla.
En la Figura 13.25 se ilustra la velocidad del carro con la regla 13A eliminada. La
eliminación de esta regla evita que la velocidad oscile (aumente). Sin embargo, simulando este
nuevo caso el carro para a 7 yardas del balón versus las 3 yardas ilustradas en nuestra anterior
simulación (caso de prueba 1). En la práctica, ahora nosotros podemos retroceder mucho más
atrás para hacer ajustes en ambos casos y así dar una solución correcta al problema.
En general para refinar un sistema experto la lógica difusa debemos hacer una o mas de
las siguientes recomendaciones:
Sistemas Expertos Lógica Difusa
38
REGLAS
� Añadir reglas para las situaciones especiales
� Añadir premisas para otras variables lingüísticas
� Usar adverbios evitando la utilización de operadores
CONJUNTOS DIFUSOS
� Añadir conjuntos dentro de una variable lingüística definida
� Incrementar o reducir el número de conjuntos
� Cambiar lateralmente el número de conjuntos
� Corregir la forma de los conjuntos
SUGERENCIA DE DISEÑO: Cuando el control es minucioso se requiere necesariamente la
existencia de una variable difusa, pensar en añadir algunos conjuntos difusos centrándonos en
este punto de interés. En general, los conjuntos difusos proveen un control pobre.
EJERCICIOS
8.- Obtener la regla IF A THEN B, con A = (0, .5, 1, .5, 0) y B = (0, .5, 1, .5, 0), y A’ = (0, .5, 0, 0, 0),
encuentra B’ usando la inferencia máx. – min
Solución:
Para resolver este ejercicio primero debemos construir la matriz M
Donde M: mij= min (ai, bj)
0 0 0 0 0 0 0.5 0.5 0.5 0 M= 0 0.5 1 0.5 0 0 0.5 0.5 0.5 0 0 0 0 0 0
Como A’ = (0, .5, 0, 0, 0), entonces aplicando la inferencia max-min, tenemos :
B’ = (0, .5, .5, .5, 0)
Sistemas Expertos Lógica Difusa
39
9.- Repetir el problema 8 usando la inferencia máx. – product
Solución:
Teniendo: A = (0, .5, 1, .5, 0) y B = (0, .5, 1, .5, 0), y A’ = (0, .5, 0, 0, 0)
Para resolver este ejercicio primero debemos construir la matriz M. Donde M: mij = ai * bj
0 0 0 0 0 0 0.25 0.5 0.25 0 M= 0 0.5 1 0.5 0 0 0.25 0.5 0.25 0 0 0 0 0 0
Como A’ = (0, .5, 0, 0, 0), entonces aplicando la inferencia máx – product, tenemos:
B’ = (0, .25, .5, .25, 0)
10.- Las reglas difusas contienen premisas que comprenden variables difusas. Cada variable difusa
es representada por varios conjuntos difusos. Un sistema experto de lógica difusa puede
comprenderse de un conjunto de reglas que no son consideradas en un conjunto difuso
establecido, pero aun puede funcionar la propiedad. Explique por qué se da de este caso:
Respuesta: Este caso ocurre porque el sistema experto difuso llega a comportarse de forma
indiferente ante los posibles valores que no son considerados en un conjunto difuso. Es
importante tomar en cuenta que al definir los conjuntos difusos debe cerciorarse de que exista
una coincidencia suficiente en los conjuntos difusos para garantizar que cada posible valor pruebe
algún valor admitido en el conjunto difuso. Este caso también puede ocurrir porque el sistema
necesita de un refinamiento en el cual se recomienda añadir reglas para las situaciones especiales
que no fueron definidas anteriormente en algún conjunto difuso establecido.