logica difusa

39
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.

Upload: mauricio-terceros

Post on 05-Jul-2015

535 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Logica difusa

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.

Page 2: Logica 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:

Page 3: Logica difusa

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

Page 4: Logica difusa

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é

Page 5: Logica difusa

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

Page 6: Logica difusa

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.

Page 7: Logica difusa

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.

Page 8: Logica difusa

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.

Page 9: Logica difusa

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.

Page 10: Logica difusa

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.

Page 11: Logica difusa

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)

Page 12: Logica difusa

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.

Page 13: Logica difusa

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 :

Page 14: Logica difusa

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

Page 15: Logica difusa

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

Page 16: Logica difusa

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

Page 17: Logica difusa

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.

Page 18: Logica difusa

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.

Page 19: Logica difusa

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.”

Page 20: Logica difusa

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

Page 21: Logica difusa

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.

Page 22: Logica difusa

Sistemas Expertos Lógica Difusa

22

Page 23: Logica difusa

Sistemas Expertos Lógica Difusa

23

Page 24: Logica difusa

Sistemas Expertos Lógica Difusa

24

Page 25: Logica difusa

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.

Page 26: Logica difusa

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

Page 27: Logica difusa

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

Page 28: Logica difusa

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

Page 29: Logica difusa

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

Page 30: Logica difusa

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.

Page 31: Logica 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.

Page 32: Logica difusa

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.

Page 33: Logica difusa

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.

Page 34: Logica difusa

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

Page 35: Logica difusa

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.

Page 36: Logica difusa

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.

Page 37: Logica difusa

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:

Page 38: Logica difusa

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)

Page 39: Logica difusa

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.