Modelado de Datos Difusos con FuzzyEER: Conceptos y Transformación
Modelo Conceptual FuzzyEER
El dominio de los grados suele estar delimitado al intervalo real [0, 1]. Nuestro interés se centra en representar algunos grados difusos, en este caso:
- Grado de pertenencia: La pertenencia de un valor a una instancia concreta puede ser cuantificada por un grado. Se representa con G0 o GPertenencia.
- Grado de cumplimiento (satisfacción): En una instancia, una propiedad puede cumplirse con cierto grado entre dos extremos. Se representa con G1 o GCumplimiento.
- Grado de incertidumbre: El grado de incertidumbre expresa la certeza o seguridad con que conocemos un dato determinado para una instancia concreta. Se representa con G2 o GIncertidumbre.
- Grado de posibilidad: Mide la posibilidad de la información que se está modelando para cada instancia de la entidad. Se representa con G3 o GPosibilidad.
- Grado de importancia: Distintos valores de un atributo pueden tener diferentes importancias, de forma que existan ciertos valores de cierto atributo más importantes que otros. Se representa con G4 o GImportancia.
Grado de pertenencia (G0) en agregación de atributos difusos
Una agregación permite representar tipos de entidades compuestas que se obtienen por la unión de otras más simples. Al tipo compuesto se refiere como el todo, mientras que los componentes son las partes. Se consideran dos tipos de agregación: compuesto/componente y miembro/colección.
La agregación de atributos difusa permite representar una entidad y un conjunto de atributos que representan sus partes componentes, extendiéndose a con qué grado pertenece un atributo a una entidad. La representación gráfica de la agregación difusa de atributos es un círculo de línea discontinua; junto a este, el nombre del atributo y el grado difuso que el atributo tiene para la entidad a la que pertenece.
EJEMPLO
Se tiene la entidad ALUMNO {Identificador, Nombre, Apellido_Paterno, Apellido_Materno}; los atributos de esta entidad son analizados según la Definición 1. En cada modelo de datos, a los atributos se les puede asignar un grado de pertenencia (G0) que tiene para una entidad y, por ende, al modelo; estos grados de pertenencia se deben asignar a partir de la especificación de requerimientos del usuario.
Grado de Toda la Instancia de la Entidad (Entidad Difusa)
Una entidad es una representación de un objeto real o abstracto acerca del cual se quiere almacenar información en la base de datos, y se denomina a la estructura genérica tipo de entidad. Por otra parte, una instancia (ocurrencia) de la entidad es cada una de las realizaciones concretas (objetos o valores) de ese tipo de entidad.
Tipo de entidad difusa: En un modelo FuzzyEER, se define como una entidad a la que se le añade un atributo que expresa un grado (con cualquiera de los significados indicados previamente). La expresión μE(ei) puede medir el grado con que la instancia ei pertenece a E, aunque puede tener otros significados. La notación de un tipo de entidad difusa es representada con un rectángulo de líneas discontinuas. También se debe añadir el atributo difuso, con el significado del grado que represente, señalado con un círculo con línea discontinua.
Esto es similar a los casos anteriores, pero aquí el grado está asociado a toda la instancia de cierto tipo de entidad y no exclusivamente a un valor particular de un atributo de una instancia. Esta definición consiste en generar tipos de entidades difusas, de forma que cada instancia del tipo de entidad tenga un grado para medir la relación de esa instancia con su tipo de entidad (su grado de pertenencia a ese tipo de entidad, o su grado de importancia dentro de ese tipo, su grado de certeza, etc.).
EJEMPLO
a) Se tiene la entidad ALUMNO {Identificador, Nombre, Apellido_Paterno, Apellido_Materno}; los atributos de esta entidad son analizados según la Definición 1. En cada modelo de datos, a los atributos se les puede asignar un grado de pertenencia (G0) que tiene para una entidad y, por ende, al modelo; estos grados de pertenencia se deben asignar a partir de la especificación de requerimientos del usuario.
Grado difuso asociado a un atributo (depende de otro atributo)
En este caso, el valor de cada atributo puede tener asociado un grado, en un intervalo [0, 1], que mida el nivel de difuminado de dicho valor. Los significados de estos grados pueden ser variados, como por ejemplo: de completitud, de incertidumbre, de posibilidad, etc.
Se define grado difuso asociado a un atributo con cierto significado. Este significado se expresa con la notación Gn o Gsignificado, donde ese n o su significado es uno de los que se definen a continuación u otros nuevos. Esta expresión se ubica delante del nombre de un atributo que define el grado, unido por una flecha al atributo al que se le asocia.
La notación de este tipo de atributo difuso, que contiene algún tipo de grado que representa, deberá considerar dos formas:
- i) Si tiene una función Q(x) asociada que define el cálculo de un atributo, este será un grado difuso derivado. Con esa función se obtiene el grado respectivo. Es decir, la función permite calcular esos grados de forma automática basándose en el valor de otros atributos o en cualquier otra información almacenada o disponible en la base de datos. Esa función puede ser, por ejemplo, una distribución de posibilidad de una etiqueta lingüística.
- ii) Si no tiene definida una función, es un atributo difuso directo (no derivado) que solo debe llevar el nombre del atributo que contiene el grado difuso.
EJEMPLO
Ampliando la entidad del caso a), se tiene ALUMNO {Identificador, Nombre, Apellido_Paterno, Nacionalidad, Apellido_Materno}; los atributos de esta entidad son analizados según la Definición 3. Esta representación adquiere robustez al considerar que, dependiendo de la nacionalidad, toma importancia como grado de pertenencia a la entidad los atributos apellidos de diferente forma. Por ejemplo, en Chile ambos apellidos son utilizados, pero con un mayor grado de pertenencia el apellido paterno; en cambio, en Brasil ocurre lo contrario.
Transformación de esquemas FuzzyEER a EER
- Para transformar un esquema FuzzyEER con grados de pertenencia de un atributo con respecto a una entidad (Figura 1), el analista puede asignar cardinalidades mínimas 0 a todos aquellos atributos cuyo grado de pertenencia sea menor a 1.
- Para transformar un esquema FuzzyEER con grados de pertenencia que corresponden a una función (Figura 2), se agregan en el esquema los atributos que forman parte de la función (número de cursos aprobados y número de cursos de la carrera), y se calcula el atributo que da el grado de pertenencia a la clase profesional del estudiante. En este caso, se debe especificar dicho cálculo para ser implementado a través de un módulo de software y decidir el criterio que se utilizará para incluir en el tipo de entidad PROFESIONAL a un estudiante.
- Para transformar un esquema FuzzyEER con grados de pertenencia de atributos dependientes de otros atributos (Figura 3), se generan especializaciones correspondientes a cada caso según la dependencia existente. A cada tipo de entidad subconjunto (especialización) se le asocian los atributos correspondientes según el grado de pertenencia definido para ellos. En el caso de la Figura 3, asumiendo n=1 y m=0,5 para los chilenos, y n=0,5 y m=1 para los brasileños, se debería crear un tipo de entidad subconjunto para alumnos en Chile y otra para alumnos en Brasil.
Transformación de esquemas FuzzyEER para implementar Bases de Datos Difusas
- i.- El esquema de la Figura 1 puede ser transformado a un modelo relacional agregando, por cada uno de aquellos atributos que tendrán un grado de pertenencia asociado, una columna más por cada fila de la tabla del modelo relacional.
- ii.- El esquema puede ser transformado a un modelo relacional considerando que el atributo que contiene el grado de pertenencia a la carrera, obtenido por el cálculo de la fórmula Q(c), es una columna de la tabla; en su implementación, deberá tener un trigger asociado a esta tabla que realice el cálculo del número de cursos aprobados dividido por el total de los cursos de la carrera. Este valor estará entre 1 y 0, lo que corresponderá al grado con que cada tupla pertenecerá a la entidad.
- iii.- El esquema de la Figura 3 puede ser transformado a un modelo relacional con las mismas características presentadas para transformar el esquema FuzzyEER de la Figura 1, incorporando una columna para el atributo Nacionalidad como lo muestra la Figura 8 c). La diferencia está en que la tabla deberá tener asociados dos triggers que permitan implementar la dependencia que genera el atributo Nacionalidad en los atributos Grado_Paterno y Grado_Materno (T2 y T3 en la Figura 8). Esto implica que, si es más importante el apellido materno, este debe tener asociado un grado mayor que el apellido paterno. Si tomamos como ejemplo el caso de la Figura 7, T2 se define como:
{Si Nacionalidad = Chileno entonces Grado_Paterno = 1 y Grado_Materno = 0,5; sino Grado_Paterno = 0,5 y Grado_Materno = 1}.
Captura de los aspectos fuzzy en la toma de requerimientos
- i. La presencia de múltiples visiones por parte de los usuarios y/o clientes de un sistema puede dar origen a que un elemento de información sea valorado de manera no consensuada. De este modo, un conjunto de usuarios puede opinar que un determinado elemento es imprescindible, mientras que otro grupo puede opinar que no lo es.
- ii. Cuando hay una visión consensuada acerca de una cierta información (es decir, no está en duda si debe considerarse o no), pero su grado de pertenencia se calcula en función de los valores de otros atributos, se debe escoger un tratamiento específico.
- iii. Si las visiones son consensuadas dentro de una misma unidad organizacional o grupo de usuarios, se puede manejar un atributo con grado de dependencia dependiente de otro, que en este caso será la unidad organizacional del usuario que usa el sistema, o bien el proceso de negocio que está siendo tratado. En este caso, el analista puede considerar implementar vistas u otros mecanismos para evitar que los usuarios que consideran irrelevante cierta información tengan acceso a ella. En el caso de que los usuarios que consideran irrelevante un elemento de información deban ingresar valores, será muy importante convencerlos de la real necesidad de ello; de lo contrario, la calidad de los datos puede estar en riesgo.
