• No results found

Implementing Product Lines

2.2 Software Product Line Engineering

2.2.5 Implementing Product Lines

aseveración siguiente: “Luís es joven”. Lo cual es comprendida de manera general. Pero que sucede cuando se hace la pregunta, ¿cual es la edad para que un a persona se catalogada como joven? Para algunos pueden ser 20 años, tal vez para otros sea 30. Existirán edades en la cuales

efinitivamente no se puede considerar a alguien joven, por ejemplo 2 años o tal vez 80.

Borrosa por otros autores) o Fuzzy Logic es ásicamente una lógica con múltiples valores, que permite definir valores en las áreas obscuras es convencionales de la lógica precisa: Si / No, Cierto / Falso, Blanco / egro, etc. Se considera un súper conjunto de la Lógica Booleana. Con la Lógica Difusa, las

ción se describen conceptos básicos y plicaciones de LD.

permite variar los rados de verdad.

n general la LD se aplica tanto a sistemas de ontrol como para modelar cualquier sistema continuo de ingeniería, física, biología o economía.

es con conjuntos difusos

os sistemas lógicos clásicos están basados en la Lógica Booleana, la cual asume que cualquier e o o a un conjunto dado (nunca a ambos). Desafortunadamente, este concepto pone una restricción inherente a la representación de conceptos imprecisos. Por ejemplo, d

La Lógica Difusa [48] (llamada también Lógica b

entre las evaluacion N

proposiciones pueden ser representadas con grados de certeza o falsedad.

La lógica difusa se funda en el concepto "Todo es cuestión de grado", lo cual permite manejar información vaga o de difícil especificación, para así hacer cambiar con esta información el funcionamiento o el estado de un sistema especifico. Es entonces posible con la lógica difusa (LD) gobernar un sistema por medio de reglas de “sentido común” las cuales se pueden refieren a cantidades indefinidas. Los procesadores pueden aplicar esta lógica para representar ideas vagas o ambiguas, tales como “caliente” o “frío”. En esta sec

a

Aunque el termino Lógica Difusa pudiera ser relacionado con la noción de “mala” lógica, realmente se refiere a la lógica de la aproximación. A Diferencia de la Lógica Boolean, la cual asume que cualquier hecho es enteramente falso o enteramente cierto, la LD

g

Las reglas involucradas en un sistema difuso, pueden ser aprendidas con sistemas adaptativos que aprenden al “observar” como operan las personas los dispositivos reales, o estas reglas pueden también ser formuladas por un experto humano. E

c

La LD es entonces definida como un sistema matemático que modela funciones no lineales, que convierte unas entradas en salidas acordes con los planteamientos lógicos que usan el razonamiento aproximado.

Se fundamenta en los denominados conjuntos difusos y un sistema de inferencia basado en reglas de la forma " SI... ENTONCES... ", donde los valores lingüísticos de la premisa y el consecuente están definidos por conjuntos difusos.

2.3.3 Conjuntos difusos y operacion L

elemento pertenec n im

cuando la Lógica Booleana es usada para identificar si la temperatura de un cuarto es “caliente” o “fría”. La mayoría de la gente estará de acuerdo que 40°C es temperatura “caliente” y 4°C es una temperatura “fría”. Sin embargo, si la temperatura del cuarto es de 14°C, puede ser que sea más

difícil clasificarla en “caliente” o “fría”; la Lógica Booleana no provee los medios para identificar un valor intermedio.

La mayoría de los fenómenos que se encontran cada día son imprecisos, es decir, tienen implícito un cierto grado de difusidad en la descripción de su naturaleza. Esta imprecisión puede estar asociada con su forma, posición, momento, color, textura, o incluso en la semántica que describe lo que son. En muchos casos el mismo concepto puede tener diferentes grados de imprecisión en iferentes contextos o tiempo. Un día cálido en invierno no es exactamente lo mismo que un día

as cosas en el mundo''. a dicotomía entre el rigor y la precisión del modelado matemático en todos los campos y la

• La temperatura está caliente

es una compañía grande y agresiva

emas precedentes. Para expresar imprecisión en una de una manera

que el elemento esta ompletamente incluido dentro de un conjunto dado. Ahora se considera el ejemplo expuesto arto, 40°C tendría un valor tal forma que un valor de 14°C d

cálido en primavera. Este tipo de imprecisión o difusidad asociado continuamente a los fenómenos es común en todos los campos de estudio: sociología, física, biología, finanzas, ingeniería, oceanografía, psicología, etc.

Se acepta la imprecisión como una consecuencia natural de ''la forma de l L

intrínseca incertidumbre de ''el mundo real'' no es generalmente aceptada por los científicos, filósofos y analistas de negocios. Simplemente estos eventos se aproximan a funciones numéricas y se escoge un resultado en lugar de hacer un análisis del conocimiento empírico. Sin embargo se procesa y entiende de manera implícita la imprecisión de la información fácilmente. El ser humano está capacitado para formular planes, tomar decisiones y reconocer conceptos compatibles con altos niveles de vaguedad y ambigüedad. Considere las siguientes sentencias:

• La inflación actual aumenta rápidamente

• Los grandes proyectos generalmente tardan mucho

• Nuestros precios están por abajo de los precios de la competencia

• IBM

• Alejandro es alto pero Ana no es bajita

Estas proposiciones forman el núcleo de “las interacciones de las cosas en el mundo''. Sin embargo, son incompatibles con el modelado tradicional y el diseño de sistemas de información. Si se incorporan estos conceptos, se logra que los sistemas sean potentes y se aproximen más a la realidad.

La LD extiende a la Lógica Booleana para manejar la expresión de conceptos vagos, y como resultado, resuelve los probl

cuantitativa, introduce una función de pertenencia de un conjunto que clasifica elementos a valores reales entre cero y uno (inclusive); dicho valor indica el “grado” en cual un elemento pertenece a un conjunto. Un valor de pertenencia cero indica que el elemento esta completamente

uera del conjunto, mientras que un valor de pertenencia de uno, indica f

c

anteriormente. Si se utiliza la LD para representar lo caliente de un cu de pertenencia de uno y 4°C debería tener un valor de cero. De tendría un valor entre cero y uno.

Comentarios adicionales de las Funciones de Pertenencia.

o Una investigación o un experto debe determinar la función de pertenencia de tal forma que represente la opinión general. Una función de pertenencia que describe la caliente de la temperatura de un cuarto debe reflejar lo que la gente puede llamar “caliente” o “frío”.

o Las funciones de pertenencia puede tener una variedad de formas: triangular, de campana, trapezoidal, exponencial, etc. La figura 2-40 muestra algunas posibles funciones de pertenencia del conjunto de temperaturas “templadas” de una habitación. Asumiendo que

nión: La u ió y D está dado por el máximo de los valores de pertenecía d

Intersección tomar el mínimo valor de los

grados de p e

Complemen : , es obtenido de la substracción del grado

e pertenencia de los varios elementos dentro del domino de uno.

A = POCOS = (.4/1, .8/2, 1/3, .4/4) C-1 = {.6/6, .4/7, .2/8, .1/9} De con Re aire ac la el promedio es de 22°C

Figura 2-40 Representación gráfica de tres diferentes funciones de pertenencia para el conjunto difuso temperatura “templada” de una habitación.

Dado que la LD es una extensión de la Lógica Booleana, muchos de los conceptos lógicos se siguen aplicando. En particular, las operaciones de conjuntos clásicos de unión, intersección y complementación son definidos por conjuntos difusos (aunque estos tienen una significado ligeramente diferente):

U n n de dos conjuntos difusos A e sus elementos en A y B.

: La intersección de dos conjuntos difusos está dada al ert nencia de los elementos en A y B.

to El complemento de un conjunto difuso A d

Ejemplo: Sea U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} entonces los conjuntos definidos a continuación son difusos: B = VARIOS = (.5/3, .8/4, 1/5, 1/6, .8/7, .5,8) C = MUCHOS = (.4/6, .6/7, .8/8, .9/9,1/10) A unión B: A ∪ B = {.4/1, .8/2, 1/3, .8/4, 1/5, 1/6, .8/7, .5/8} A intersección B A ∩ B = {.5/3, .4/4} Complemento C

la misma manera que la Lógica Booleana, la LD puede usar operadores lógicos en conjunción glas del tipo “Si <condición> Entonces <acción>”. Por ejemplo una regla para controlar el ondicionado podría decir: Si <la habitación esta “caliente” y “húmeda”> Entonces

<ci l cuan o Aplicac

omo se sugiere en la sección previa, la LD se adecua perfectamente para sistemas que requieren habilidad para manejar procedimientos de modelos con razonamiento impreciso. Muchas de la aplicaciones de LD están relacionadas a “control de procesos”, lo cual se refiere a la administración, por ejemplo, de un proceso mecánico. Ejemplos de la aplicación de tecnología de LD incluye:

Aire acondicionado: Gradualmente reduce la velocidad del sistema de enfriamiento hasta para

eradores lógicos y reglas del tipo “Si <x> entonces <y>”. iones anteriormente citadas: fuzzificación,

ificación, entonces es la definición de la reglas “Si … Entonces…” y utiliza los atos d ertenencia. En este punto, uno está listo para aplicar la LD e

jempl de aire acondicionado que monitorea la

y los niveles de humedad para determinar el “nivel de circulación” óptimo. En este humedad de la habitación. Dentro de la s, las cuales estarán relacionadas con el ión”, es decir con la respuesta del sistema en relación a esas variables. Ver la ariable Lingüística tiene ciertos valores, que son conocidos como es para nuestro caso son los mostrados en la figura 2-42.

rcu ar el aire>. Sin embargo, distinto a la Lógica Booleana, la condición no solo es evaluado t es “verdad” o “falsa”, es asociada con un grado de veracidad.

iones. C

que la temperatura de la habitación alcanza el ajuste deseado.

nido químico Quemadores de Gas: Monitorea la temperatura, la presión y el conte

asegurar la estabilidad.

Video cámaras: identifica cuando el objeto se esta moviendo y cuando dicho movimiento es causado por la persona que realiza la grabación.

Lavadoras: Optimiza el ciclo de lavado al examinar la cantidad de carga, lo sucio de la ropa y la cantidad de detergente.

En este momento, surge la siguiente pregunta: ¿Cómo estas aplicaciones utilizan la LD? Hasta aquí se han definido los conceptos básicos en los cuales se fundamenta la LD: funciones de

ertenencia, grados de pertenencia, op p

Sin embargo, hasta ahora no se ha explicado como la LD puede ser utilizada para hacer decisiones prácticas. La siguiente sección resume la cuatro pasos del procedimiento del

azonamiento difuso empleado en las aplicac r

inferencia, composición y defuzzificación.

uzzificación F

Establece la base de los sistemas difusos. Primeramente, se identifica las entradas y salidas del istema. Fuzz

s

d irectos para obtener una función de p n el sistema.

o de Fuzzificación: Considere un sistema E

temperatura

caso, los datos de entrada son la temperatura y el nivel de LD, a estos datos se le conoce como Variables Lingüística “nivel de circulac

figura 2-41. A su vez cada V Valores Lingüísticos, los cual

Figura 2-41 Variables lingüísticas.

ísticos.

En la fi ciones de pertenencia de cada variable lingüística.

(z) | z ∈ Z} ; μB1 (z) ∈ [0, 1] ia: B2 = { z , μB2 (z) | z ∈ Z} ; μB2 (z) ∈ [0, 1] B3 = { z , μB3 (z) | z ∈ Z} ; μB3 (z) ∈ [0, 1]

Figura 2-43 Funciones de pertenencia para temperatura.

Figura 2-42 Valores lingü gura 2-43 y 2-44 se muestra las fun

La representación matemática se hace de la siguiente forma.

Temperatura Fría: A1 = { x , μA1 (x) | x ∈ X} ; μA1 (x) ∈ [0, 1] Temperatura Templada: A2 = { x , μA2 (x) | x ∈ X} ; μA2 (x) ∈ [0, 1] Temperatura Caliente: A3 = { x , μA3 (x) | x ∈ X} ; μA3 (x) ∈ [0, 1] Humedad : B1 = { z , μB1 Humedad Med umedad Alta: H

rso de valores. Es decir un conjunto ifuso A se considera como un conjunto de pares ordenados, en los que el primer componente es ento x de X en A, y el En general los grados a cuestión objetiva. Se ad de que la expresión

ea cierta, e ás n do de pertenencia.

ás que:

ás a A (de modo que 0 y enencia completa, respectivamente).

b) Un conjunto en el sentido usual es también difuso pues su función característica u es también una función μ(x) [0,1]; o sea que los conjuntos difusos son una generalización de los conjuntos usuales.

Esto indica que la función de pertenencia para el conjunto A es cero si x no es un elemento en A y la función de pertenencia es si x es un elemento en A. Dado que existen solamente dos estados, la transición entre estos dos estados es siempre inmediata. La pertenencia de estos conjuntos está siempre totalmente categorizada y no existe ambigüedad o dicotomía acerca de la pertenencia. Una parte fundamental es el establecimiento de la funciones de pertenencia, las cuales deber ser establecidas por un experto o a ser producto de una investigación profunda de la percepción u opinión de la gente,

El sistema difuso produce el nivel de circulación optimo: “ninguno”, “bajo” o “alto”. Las siguientes reglas son usadas:

Si la habitación esta “caliente” entonces circular el aire en “alto”

Si la habitación esta “fría” entonces circular el aire en “ninguno”

Figura 2-44 Funciones de pertenencia para humedad. La superficie de la región de un conjunto difuso es el unive

d

un número en el rango [0,1] que denota el grado de pertenencia de un elem segundo componente especifica precisamente quién es ése elemento de x. de pertenencia son subjetivos en el sentido de que su especificación es un

ebe aclarar que aunque puede interpretarse como el grado de verd d

( x, μ (x)) s s m atural considerarlo simplemente como un gra em

Puede notarse ad

) Mientras más próximo está (x) a el valor 1, se dice que x pertenece m a

Si la habita el aire en “bajo”

Inferencia: Una vez que las entradas son recibidas por el sistema, la inferencia evalúa todas las reglas “Si… entonces …” y determina su grado de verdad. Si una entrada no corresponde a una regla “Si… entonces …”, una comparación es usada para establecer una respuesta.

Ejemplo de inferencia: Se supone que el aire acondicionado ha medido los niveles de temperatura y humedad y ha determinado que para “temperatura caliente” y “humedad baja” tiene valores de 0.7 y 0.1 respectivamente. El sistema necesita ahora inferir el grado de verdad de cada una del a reglas declaradas anteriormente. Existe innumerables técnicas de inferencia, pero en este ejemplo se utiliza el método más simple llamado MAX-MIN. Básicamente este método ajusta el valor difuso de la cláusula “Entonces…” (o conclusión) al valor de la cláusula “Si..”. Por lo tanto se infiere los valores difusos de 0.7, 0.1 y 0.1 para la reglas 1, 2, y 3 respectivamente.

Composición: Combina todas las conclusiones obtenidas por la inferencia en una sencilla

conclusión. Diferentes reglas pueden tener diferentes conclusiones, de tal forma que es necesario considerar todas las reglas. Existen también un número de métodos de composición disponibles.

de Composición: Cada conclusión de inferencia sobre el sistema de aire acondicionado

una acción de aire, la regla 2

giere apagar el air

de ecífico. La Defuzzifiación es necesaria, pues los controladores de

(es decir apagado), “bajo” o “alto”. De tal forma que el proceso de defuzzificación

a entidad dada.

cial. Provee una forma sencilla para una conclusión definida basada

n info ienta amigable para el

mod la más simples y ofrecen

ción esta “caliente” y la humedad es “baja” entonces circular

Ejemplo

sugiere diferente; la regla 1 sugiere un nivel “alto” de circulación

e acondicionado y las regla 3 sugiere un nivel “bajo” de circulación. Una su

variedad de técnicas pueden ser aplicadas para determinar la conclusión más apropiada, pero se utilizará en este ejemplo el método MAX-MIN de selección dado que es simple. En este caso, el método toma el valor máximo de las conclusiones de inferencias como conclusión final. En este caso en particular, la composición selecciona el valor de 0.7 dado que es el valor mayor asociado con las conclusiones de inferencia.

Defuzzificación: Convierte los valores difusos de la composición en una valor específico; este roceso es algunas veces complejo dado que el resultado puede ser que no se trasla p

directamente a un valor esp

sistemas físicos pueden requerir señales discretas.

Ejemplo de Defuzzificación: Tomar en cuenta que la salida de la lógica de composición del aire acondicionado da un valor de 0.7. Desafortunadamente, este valor no es directamente útil para el sistema de aire acondicionado; este necesita saber si el aire acondicionado se deberá ajustar a

ninguno” “

debe convertir la salida difusa de 0.7 a uno de los niveles de circulación de aíre. Existen muchas técnicas para realizar esto, para el ejemplo, es claro que la salida “difusa” de 0.7 indica que la circulación debe ser ajustada a nivel de “alto”.

Tanto la LD y la lógica Booleana están basadas en hechos. Pero encontraste la LD tiene la habilidad de manejar con nociones de imprecisión, y continua siendo una forma puramente objetiva de la lógica; la pertenencia a un conjunto difuso esta determinado estrictamente de la

atos obtenidos de un d

Así, la LD se ha convertido en una metodología esencial para la solución de problemas en el ampo de la inteligencia artifi

c

e rmación vaga o imprecisa. Como resultado, la LD es una herram e do del complejo mundo real. Estos modelos son normalmente

resu ad ía de la Lógica Difusa tien e

eneficios que las compañías regularmente no ignoran.

r expresiones umanas vagas. De esa forma, es un intento de aplicar la forma de pensar humana a la

trabajo busca plicar esta ciencia para la determinación cual SAM de los expuestos en la sección 2.1 es más