TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de...

272
UNIVERSIDAD DE GRANADA E.T.S. DE INGENIER ´ IA INFORM ´ ATICA Departamento de Ciencias de la Computaci ´ on e Inteligencia Artificial TESIS DOCTORAL Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones Nicol´ as Mar´ ın Ruiz Granada, mayo de 2001

Transcript of TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de...

Page 1: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

UNIVERSIDAD DE GRANADAE.T.S. DE INGENIERIA INFORMATICA

Departamento deCiencias de la Computacion

e Inteligencia Artificial

TESIS DOCTORAL

Estudio de la Vaguedad en los Sistemas deBases de Datos Orientados a Objetos:

Tipos Difusos y sus Aplicaciones

Nicolas Marın Ruiz

Granada, mayo de 2001

Page 2: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta
Page 3: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Estudio de la Vaguedad en los Sistemas deBases de Datos Orientados a Objetos:

Tipos Difusos y sus Aplicaciones

memoria que presenta

Nicolas Marın Ruiz

para optar al grado de

Doctor en Informatica

Mayo de 2001

DIRECTORAS

Olga Pons Capote Marıa Amparo Vila Miranda

DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION

E INTELIGENCIA ARTIFICIAL

E.T.S. de INGENIERIA INFORMATICA UNIVERSIDAD DE GRANADA

Page 4: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta
Page 5: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

La memoria titulada “Estudio de la Vaguedad en los Sistemas de Bases de DatosOrientados a Objetos: Tipos Difusos y sus Aplicaciones”, que presenta D. NicolasMarın Ruiz para optar al grado de Doctor, ha sido realizada en el Departamento deCiencias de la Computacion e Inteligencia Artificial de la Universidad de Granadabajo la direccion de las Doctoras Dra. Olga Pons Capote y Dra. Marıa Amparo VilaMiranda.

Granada, mayo de 2001.

El Doctorando Las Directoras

Fdo. Nicolas Marın Fdo. Olga Pons Fdo. M. Amparo Vila

Page 6: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta
Page 7: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Agradecimientos

Resulta difıcil resumir en tan pocas lıneas la lista de personas que a uno le vienea la memoria cuando piensa a quien tiene que agradecer el haber podido elaborareste trabajo. Desde el punto de vista profesional, este trabajo ha sido posible graciasal apoyo impagable de mis dos directoras de tesis, Amparo y Olga. Sin ellas, nohabrıa tenido la oportunidad de desarrollarlo. Por encima de su profesionalidad yde su brillante espıritu cientıfico, esta la calidad humana de dos amigas que me hanempujado hasta conseguir llegar hasta aquı.

El Departamento de Ciencias de la Computacion e Inteligencia Artificial de laUniversidad de Granada ha constituido un sitio magnıfico en el que desarrollar mitrabajo y sus miembros siempre han estado disponibles para ayudarme en mi tarea.Dentro de este departamento, merecen mi especial agradecimiento los miembros delgrupo de investigacion IDBIS, porque han participado de forma activa en mi forma-cion y han colaborado con sus ideas y consejos en la elaboracion de este trabajo.Mis companeros de fatigas1, han contribuido a alegrar el trabajo cotidiano, y tienenel merito de haber formado una pina de complicidad tanto en lo personal como enlo profesional. No puedo olvidar en mis agradecimientos a la gente estupenda delInstituto de Investigacion en Inteligencia Artificial que el CSIC tiene en Barcelona.A ellos les debo mi primer contacto con el mundo de la investigacion, sobre todo alas personas que allı se encargaron de ir encauzando mi formacion cientıfica e intro-dujeron en mi vida el dichoso intervalo cerrado [0,1].

Desde el punto de vista personal, a todos mis amigos (sobre todo aquellos que eldestino profesional tiene lejos de mı ahora) tengo que agradecerles el haberme ayu-dado a cargar las pilas cuando me ha hecho falta. Mis hermanas tienen el merito desoportar al Nicolas cotidiano (que no es poca tarea). Sin Carmen, aparte de no tenerejemplos esta memoria, me hubiera costado trabajo encontrar la motivacion y la ins-piracion necesaria para desarrollarla. Pero sobre todo, hay dos personas que merecenmi reconocimiento y que desde hace casi veintiseis anos vienen desarrollando otratesis bastante mas dura que esta. Gracias a mi madre por estar a mi lado siempre y ami padre por el esfuerzo que ha realizado durante toda su vida para proporcionarmela educacion que ahora culmino. Quien nos iba a decir a los dos, aquel 8 de Agostode 1987, cuando me ayudo a escribir mis primeras hojas en un procesador de textos,que hoy estarıa usando otro para componer estas lıneas de agradecimiento.

A todos ellos, gracias de todo corazon

1lease Mecenas

Page 8: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta
Page 9: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Estudio de la Vaguedad en los

Sistemas de Bases de Datos Orientados a Objetos:

Tipos Difusos y sus Aplicaciones

Nicolas Marın Ruiz

Page 10: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta
Page 11: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Indice General

1 Introduccion 1

2 Conceptos previos 92.1 Bases de Datos Orientadas a Objetos . . . . . . . . . . . . . . . . . 10

2.1.1 El Modelo de Datos Orientado a Objetos . . . . . . . . . . 10

2.1.1.1 Objetos . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.1.2 Identidad de Objetos . . . . . . . . . . . . . . . . 11

2.1.1.3 Tipos y Clases . . . . . . . . . . . . . . . . . . . 12

2.1.1.4 Instanciacion de clases . . . . . . . . . . . . . . 13

2.1.1.5 Herencia . . . . . . . . . . . . . . . . . . . . . . 14

2.1.1.6 Redefinicion de propiedades, polimorfismo y enla-ce tardıo . . . . . . . . . . . . . . . . . . . . . . 15

2.1.1.7 Encapsulamiento . . . . . . . . . . . . . . . . . . 17

2.1.1.8 Notacion . . . . . . . . . . . . . . . . . . . . . . 17

2.1.2 Sistemas de bases de datos orientados a objetos . . . . . . . 21

2.1.2.1 Historia de los sistemas de bases de datos orienta-dos a objetos . . . . . . . . . . . . . . . . . . . . 23

2.1.3 El modelo orientado a objetos en relacion con otros modelosde datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.1.3.1 Frente a los modelos semanticos . . . . . . . . . 24

2.1.3.2 Frente a los modelos jerarquicos y en red . . . . . 25

2.1.3.3 Frente al modelo relacional . . . . . . . . . . . . 26

2.1.4 Crıtica del modelo orientado a objetos de bases de datos . . 26

2.2 La Teorıa de Subconjuntos Difusos . . . . . . . . . . . . . . . . . . 27

2.2.1 Generalizacion del concepto de conjunto clasico: conjuntosdifusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.2.2 Conexion con los conjuntos clasicos: α−cortes . . . . . . . 30

Page 12: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

ii INDICE GENERAL

2.2.3 Operaciones sobre conjuntos difusos . . . . . . . . . . . . . 302.2.3.1 Interseccion de conjuntos difusos . . . . . . . . . 312.2.3.2 Union de conjuntos difusos . . . . . . . . . . . . 312.2.3.3 Complemento de conjuntos difusos . . . . . . . . 32

2.2.4 Relaciones de similitud . . . . . . . . . . . . . . . . . . . . 332.2.5 Principio de extension de Zadeh . . . . . . . . . . . . . . . 342.2.6 La Logica Difusa . . . . . . . . . . . . . . . . . . . . . . . 34

2.2.6.1 Conjuncion, disyuncion y negacion . . . . . . . . 352.2.6.2 Implicacion . . . . . . . . . . . . . . . . . . . . 35

2.2.7 Variables linguısticas . . . . . . . . . . . . . . . . . . . . . 362.2.7.1 Variables linguısticas y logica difusa . . . . . . . 38

2.3 Imprecision e incertidumbre en bases de datos . . . . . . . . . . . . 402.4 Bases de datos orientadas a objetos difusas . . . . . . . . . . . . . . 40

2.4.1 El modelo de J-P. Rossaza et al. . . . . . . . . . . . . . . . 432.4.1.1 Rango permitido y rango tıpico de un atributo . . 432.4.1.2 Rango posible y rango creıble de un atributo . . . 442.4.1.3 Relaciones clase-superclase . . . . . . . . . . . . 442.4.1.4 Relaciones objeto-clase . . . . . . . . . . . . . . 462.4.1.5 Herencia e instanciacion . . . . . . . . . . . . . . 472.4.1.6 Actualizacion de la jerarquıa . . . . . . . . . . . 482.4.1.7 Razonando con el modelo . . . . . . . . . . . . . 48

2.4.2 El modelo GBP de R. George et al. . . . . . . . . . . . . . 492.4.2.1 Relaciones objeto-clase . . . . . . . . . . . . . . 492.4.2.2 Relaciones clase-superclase . . . . . . . . . . . . 51

2.4.3 El modelo FOOD de A. Yazici et al. . . . . . . . . . . . . . 522.4.3.1 Nivel de atributo . . . . . . . . . . . . . . . . . . 522.4.3.2 Relaciones objeto-clase . . . . . . . . . . . . . . 522.4.3.3 Relaciones clase-superclase . . . . . . . . . . . . 54

2.4.4 El modelo de G. Bordogna et al. . . . . . . . . . . . . . . . 552.4.4.1 Grafo de esquema y grafo de instancias . . . . . . 552.4.4.2 Valores vagos para los atributos . . . . . . . . . . 562.4.4.3 Propiedades inciertas de objetos . . . . . . . . . . 562.4.4.4 Propiedades con valor de fuerza en los objetos . . 562.4.4.5 Relaciones objeto-clase: Clases difusas . . . . . . 572.4.4.6 Relacion clase-superclase: jerarquıas difusas de cla-

ses . . . . . . . . . . . . . . . . . . . . . . . . . 572.4.4.7 Otros aspectos del modelo . . . . . . . . . . . . . 57

Page 13: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

INDICE GENERAL iii

2.4.5 El modelo de N. Van Gyseghem et al. . . . . . . . . . . . . 582.4.5.1 Parte borrosa del modelo UFO . . . . . . . . . . 582.4.5.2 Parte incierta e imprecisa del modelo UFO . . . . 61

2.5 Conclusiones: crıtica y motivacion . . . . . . . . . . . . . . . . . . 62

3 Un modelo de datos orientado a objetos difuso 673.1 Vaguedad en los valores de atributo . . . . . . . . . . . . . . . . . 69

3.1.1 Imprecision en los dominios de las variables de instancia . . 693.1.1.1 Dominios sin representacion semantica subyacente 703.1.1.2 Dominios con representacion semantica subyacente 72

3.1.2 Incertidumbre en los dominios de los atributos . . . . . . . 773.1.3 Relaciones entre objetos . . . . . . . . . . . . . . . . . . . 79

3.2 Semejanza entre objetos . . . . . . . . . . . . . . . . . . . . . . . 803.2.1 Generalizacion de la igualdad de estado: relaciones de seme-

janza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.2.1.1 Semejanza en dominios basicos . . . . . . . . . . 813.2.1.2 Grado de inclusion entre dos conjuntos difusos guia-

do por semejanza . . . . . . . . . . . . . . . . . 833.2.1.3 Propiedades del grado de inclusion guiado por se-

mejanza . . . . . . . . . . . . . . . . . . . . . . 843.2.1.4 Combinando los dos grados de inclusion . . . . . 84

3.2.2 Calculo de la semejanza entre dos objetos . . . . . . . . . . 863.2.2.1 El problema del calculo de la semejanza entre objetos 873.2.2.2 Importancia de los atributos . . . . . . . . . . . . 873.2.2.3 Agregacion de semejanzas . . . . . . . . . . . . . 873.2.2.4 Objetos complejos: recursividad . . . . . . . . . 913.2.2.5 Semejanza de superficie y semejanza profunda . . 933.2.2.6 Gestion de valores nulos . . . . . . . . . . . . . . 953.2.2.7 Organizacion en el modelo orientado a objetos . . 963.2.2.8 Ejemplo . . . . . . . . . . . . . . . . . . . . . . 96

3.3 Extensiones difusas para las clases . . . . . . . . . . . . . . . . . . 1003.4 Jerarquıas de herencia difusas . . . . . . . . . . . . . . . . . . . . 102

3.4.1 Especializacion de clases . . . . . . . . . . . . . . . . . . . 1023.4.2 Generalizacion de clases . . . . . . . . . . . . . . . . . . . 104

3.5 Incertidumbre en el esquema . . . . . . . . . . . . . . . . . . . . . 1053.5.1 Incertidumbre en la definicion de los objetos . . . . . . . . 1053.5.2 Incertidumbre en la definicion de la clase . . . . . . . . . . 106

Page 14: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

iv INDICE GENERAL

3.6 Tipos difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083.6.1 Limitaciones del concepto clasico de tipo . . . . . . . . . . 108

3.6.1.1 Estructura de una clase . . . . . . . . . . . . . . 1083.6.1.2 Conceptos con diferentes niveles de especificidad 1093.6.1.3 Clases artificiales en las jerarquıas de herencia . . 1113.6.1.4 El problema de los datos no estructurados o semi-

estructurados . . . . . . . . . . . . . . . . . . . . 1163.6.1.5 El problema de la informacion incompleta . . . . 1173.6.1.6 El problema de los atributos de presencia o ausencia 118

3.6.2 Formalizacion del concepto de tipo difuso . . . . . . . . . . 1193.6.2.1 La estructura de un tipo difuso . . . . . . . . . . 1193.6.2.2 La conducta de un tipo difuso . . . . . . . . . . . 1213.6.2.3 Instanciacion de un tipo difuso . . . . . . . . . . 1253.6.2.4 Herencia de un tipo difuso . . . . . . . . . . . . . 1273.6.2.5 Redefinicion de propiedades . . . . . . . . . . . . 131

3.6.3 Representacion de tipos difusos . . . . . . . . . . . . . . . 1333.6.3.1 Tipos difusos en el modelo orientado a objetos clasico1333.6.3.2 Dos niveles de abstraccion . . . . . . . . . . . . 1363.6.3.3 Implementacion del constructor difuso . . . . . . 1373.6.3.4 Implementacion de la herencia de un tipo difuso . 138

3.6.4 Un ejemplo completo . . . . . . . . . . . . . . . . . . . . . 1433.7 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

4 Extraccion de la estructura difusa de un conjunto de datos 1494.1 Descripcion del problema . . . . . . . . . . . . . . . . . . . . . . . 1514.2 Grafos de inclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 152

4.2.1 Formalizacion del concepto de grafo de inclusion . . . . . . 1534.2.1.1 Grafo de inclusion y propiedad de consistencia . . 1534.2.1.2 Cotas para el numero de nodos y de arcos . . . . 1544.2.1.3 Grafo de inclusion completo y grafo de inclusion

complementario . . . . . . . . . . . . . . . . . . 1554.2.2 Grafos de inclusion representando conjuntos de datos . . . . 157

4.2.2.1 Peso propio y peso total de un nodo . . . . . . . . 1574.2.2.2 Busquedas en grafos de inclusion . . . . . . . . . 159

4.2.3 Construccion de un grafo de inclusion . . . . . . . . . . . . 1604.2.3.1 Insercion de nodos . . . . . . . . . . . . . . . . . 1604.2.3.2 Borrado de nodos . . . . . . . . . . . . . . . . . 163

Page 15: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

INDICE GENERAL v

4.2.3.3 Heurıstica de construccion . . . . . . . . . . . . 1644.2.4 Relacion entre el grafo de inclusion y la estructura del con-

junto de datos . . . . . . . . . . . . . . . . . . . . . . . . . 1654.2.4.1 Algunos ejemplos . . . . . . . . . . . . . . . . . 1654.2.4.2 Consideraciones sobre la utilizacion del grafo de

inclusion para obtener estructuras . . . . . . . . . 1674.3 Algoritmo de extraccion de tipos difusos . . . . . . . . . . . . . . . 169

4.3.1 Estrategia del algoritmo . . . . . . . . . . . . . . . . . . . 1694.3.2 Detalle del algoritmo . . . . . . . . . . . . . . . . . . . . . 1744.3.3 Calculo de los niveles de pertenencia . . . . . . . . . . . . 1754.3.4 Complejidad del algoritmo . . . . . . . . . . . . . . . . . . 1784.3.5 Experimentacion . . . . . . . . . . . . . . . . . . . . . . . 180

4.4 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

5 Una arquitectura para la construccion de SGBDOOD 1915.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1935.2 El gestor conceptual de borrosidad . . . . . . . . . . . . . . . . . . 196

5.2.1 Gestor de esquemas . . . . . . . . . . . . . . . . . . . . . . 1985.2.2 Gestor de objetos . . . . . . . . . . . . . . . . . . . . . . . 1995.2.3 Traductor clasico-difuso . . . . . . . . . . . . . . . . . . . 200

5.2.3.1 Independencia del Sistema Clasico Subyacente . . 2015.2.4 Gestor de Metadatos . . . . . . . . . . . . . . . . . . . . . 202

5.3 Persistencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2025.3.1 El catalogo de metadatos . . . . . . . . . . . . . . . . . . . 203

5.3.1.1 Conjuntos significativos de entidades . . . . . . . 2035.3.1.2 Esquema del catalogo de metadatos . . . . . . . . 2095.3.1.3 Eleccion del sistema gestor para el almacenamien-

to del catalogo . . . . . . . . . . . . . . . . . . . 2095.3.2 El Sistema Gestor de Bases de Datos Orientado a Objetos

Clasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2125.3.2.1 Caracterısticas . . . . . . . . . . . . . . . . . . . 2125.3.2.2 Eleccion del sistema clasico orientado a objetos . 212

5.4 El interfaz orientado a objetos difusos . . . . . . . . . . . . . . . . 2135.5 FoodBi: un interfaz prototipo . . . . . . . . . . . . . . . . . . . . . 214

5.5.1 Principales funcionalidades del interfaz . . . . . . . . . . . 2155.5.2 Funcionamiento de FoodBi: Un ejemplo . . . . . . . . . . . 219

5.5.2.1 Definicion del tipo difuso Imagen utilizando FoodBi 219

Page 16: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

vi INDICE GENERAL

5.5.2.2 Jerarquıa difusa para el tipo de la clase Imagen . . 2235.5.2.3 Representacion de los dominios . . . . . . . . . . 2275.5.2.4 Completando la jerarquıa difusa del ejemplo de las

Imagenes . . . . . . . . . . . . . . . . . . . . . . 2305.6 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

6 Conclusiones y trabajos futuros 233

Page 17: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Indice de Figuras

2.1 Notacion UML para representar una clase . . . . . . . . . . . . . . 192.2 Notacion UML para expresar relaciones entre clases . . . . . . . . . 192.3 Caracterısticas de una base de datos orientada a objetos . . . . . . . 222.4 Evolucion de las bases de datos orientadas a objetos . . . . . . . . . 23

3.1 Diagrama de clases para el ejemplo 3.1 . . . . . . . . . . . . . . . . 723.2 Diagrama de clases para el ejemplo 3.2 . . . . . . . . . . . . . . . . 753.3 Diagrama de clases para el ejemplo 3.3 . . . . . . . . . . . . . . . . 773.4 Diagrama de clases para el ejemplo de la incertidumbre . . . . . . . 783.5 Diagrama de clases para el ejemplo 3.6 . . . . . . . . . . . . . . . . 923.6 Diagrama de clases para el ejemplo 3.8 . . . . . . . . . . . . . . . . 1013.7 Diagrama de clases para los ejemplos 3.9 y 3.10 . . . . . . . . . . . 1033.8 Diagrama de clases para el ejemplo 3.12 . . . . . . . . . . . . . . . 1073.9 Estructura clasica de una clase . . . . . . . . . . . . . . . . . . . . 1083.10 Estructura de tipo difuso con niveles de especificidad . . . . . . . . 1113.11 Solucion jerarquica 1 . . . . . . . . . . . . . . . . . . . . . . . . . 1123.12 Solucion jerarquica 2 . . . . . . . . . . . . . . . . . . . . . . . . . 1143.13 Solucion jerarquica 3 . . . . . . . . . . . . . . . . . . . . . . . . . 1153.14 Bases de datos semiestructurados . . . . . . . . . . . . . . . . . . . 1163.15 Atributos de presencia ausencia . . . . . . . . . . . . . . . . . . . . 1193.16 Grafo de llamadas entre metodos de una clase . . . . . . . . . . . . 1223.17 Comparacion entre los dos tipos de herencia . . . . . . . . . . . . . 1313.18 Representacion de un tipo difuso . . . . . . . . . . . . . . . . . . . 1343.19 Jerarquıa de herencia 1-ramificada para el tipo difuso Imagen . . . . 1353.20 Grafo con dos niveles . . . . . . . . . . . . . . . . . . . . . . . . . 1363.21 Instanciacion de una imagen . . . . . . . . . . . . . . . . . . . . . 1373.22 Herencia sin propagacion de borrosidad . . . . . . . . . . . . . . . 1393.23 Ejemplo de herencia sin propagacion de borrosidad . . . . . . . . . 139

Page 18: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

viii INDICE DE FIGURAS

3.24 Herencia con propagacion de borrosidad . . . . . . . . . . . . . . . 1423.25 Creacion de la clase Bio-Imagen . . . . . . . . . . . . . . . . . . . 1423.26 Nivel difuso del problema . . . . . . . . . . . . . . . . . . . . . . . 1443.27 Nivel clasico del problema . . . . . . . . . . . . . . . . . . . . . . 147

4.1 Consistencia de un grafo de inclusion . . . . . . . . . . . . . . . . 1534.2 Grafo de inclusion completo . . . . . . . . . . . . . . . . . . . . . 1564.3 Grafo complementario . . . . . . . . . . . . . . . . . . . . . . . . 1574.4 Estructura de un nodo . . . . . . . . . . . . . . . . . . . . . . . . . 1604.5 Grafo vacıo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1614.6 Insercion de nodos en el grafo . . . . . . . . . . . . . . . . . . . . 1624.7 Actualizacion de los pesos en el grafo . . . . . . . . . . . . . . . . 1634.8 Eliminacion de un nodo en el grafo . . . . . . . . . . . . . . . . . . 1644.9 Tipos y grafos de inclusion . . . . . . . . . . . . . . . . . . . . . . 1664.10 Efecto de la informacion desconocida . . . . . . . . . . . . . . . . 1684.11 Efecto de un tipo difuso . . . . . . . . . . . . . . . . . . . . . . . . 1714.12 Una etapa del algoritmo . . . . . . . . . . . . . . . . . . . . . . . . 1724.13 Atributos de presencia-ausencia . . . . . . . . . . . . . . . . . . . 1814.14 Grafo de inclusion para el problema de presencia-ausencia . . . . . 1824.15 Valores nulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1844.16 Nodos en el grafo de inclusion . . . . . . . . . . . . . . . . . . . . 1844.17 Tiempo del proceso de busqueda . . . . . . . . . . . . . . . . . . . 185

5.1 La Arquitectura ANSI/SPARC . . . . . . . . . . . . . . . . . . . . 1935.2 La Arquitectura ANSI/SPARC modificada . . . . . . . . . . . . . . 1945.3 Arquitectura del sistema completo . . . . . . . . . . . . . . . . . . 1955.4 Gestor conceptual de borrosidad . . . . . . . . . . . . . . . . . . . 1975.5 Jerarquıa de dominios . . . . . . . . . . . . . . . . . . . . . . . . . 2045.6 Representacion de una clase normal . . . . . . . . . . . . . . . . . 2065.7 Jerarquıa de clases . . . . . . . . . . . . . . . . . . . . . . . . . . 2065.8 Representacion de atributos . . . . . . . . . . . . . . . . . . . . . . 2075.9 Representacion de metodos . . . . . . . . . . . . . . . . . . . . . . 2085.10 Clases para el catalogo en un esquema orientado a objetos . . . . . 2105.11 Diagrama Entidad-Relacion para el catalogo . . . . . . . . . . . . . 2115.12 Creacion de una clase . . . . . . . . . . . . . . . . . . . . . . . . . . 2165.13 Componente estructural . . . . . . . . . . . . . . . . . . . . . . . . . 2165.14 Componente de conducta . . . . . . . . . . . . . . . . . . . . . . . . 2165.15 Herencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

Page 19: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

INDICE DE FIGURAS ix

5.16 Datos generales del atributo . . . . . . . . . . . . . . . . . . . . . . . 2185.17 Detalle de la imprecision . . . . . . . . . . . . . . . . . . . . . . . . 2185.18 Datos sobre incertidumbre . . . . . . . . . . . . . . . . . . . . . . . . 2185.19 Uso de valores de fuerza . . . . . . . . . . . . . . . . . . . . . . . . 2185.20 Datos generales de Imagen . . . . . . . . . . . . . . . . . . . . . . . 2205.21 Detalle del tipo de herencia . . . . . . . . . . . . . . . . . . . . . . . 2205.22 Componente de conducta . . . . . . . . . . . . . . . . . . . . . . . . 2205.23 Esquema difuso generado . . . . . . . . . . . . . . . . . . . . . . . . 2205.24 Atributo calidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2225.25 Imprecision de calidad . . . . . . . . . . . . . . . . . . . . . . . . . 2225.26 Atributo antiguedad . . . . . . . . . . . . . . . . . . . . . . . . . . . 2225.27 Imprecision de antiguedad . . . . . . . . . . . . . . . . . . . . . . . . 2225.28 Representacion de dominios sin semantica subyacente . . . . . . . . 2275.29 Jerarquıa generica DisyuntiveDomainWithRep . . . . . . . . . . . . 2295.30 Clase AbstractDisyuntiveDomainWithRep . . . . . . . . . . . . . . 2295.31 Esquema de clases completo . . . . . . . . . . . . . . . . . . . . . 231

Page 20: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta
Page 21: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Indice de Tablas

2.1 Algunas t-normas habituales . . . . . . . . . . . . . . . . . . . . . 312.2 Algunas t-conormas habituales . . . . . . . . . . . . . . . . . . . . 322.3 Negaciones habituales . . . . . . . . . . . . . . . . . . . . . . . . 332.4 R-Implicaciones habituales . . . . . . . . . . . . . . . . . . . . . . 362.5 S-Implicaciones habituales . . . . . . . . . . . . . . . . . . . . . . 362.6 Operaciones de modificacion de conjuntos difusos . . . . . . . . . . 392.7 Metodos de FUZZYSET . . . . . . . . . . . . . . . . . . . . . . . 582.8 Metodos de POSS . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.1 Relacion de similitud . . . . . . . . . . . . . . . . . . . . . . . . . 713.2 Relacion de similitud modificada . . . . . . . . . . . . . . . . . . . 713.3 Definicion de las etiquetas . . . . . . . . . . . . . . . . . . . . . . 743.4 Relacion de similitud generalizando la igualdad . . . . . . . . . . . 743.5 Algunas metricas de distancia para el calculo de la similitud . . . . 823.6 Dominio del atributo calidad . . . . . . . . . . . . . . . . . . . . . 973.7 Dominio del atributo extension . . . . . . . . . . . . . . . . . . . . 973.8 Dominio del atributo planta . . . . . . . . . . . . . . . . . . . . . . 983.9 Dominio del atributo edad . . . . . . . . . . . . . . . . . . . . . . 983.10 Dominio del atributo altura . . . . . . . . . . . . . . . . . . . . . . 983.11 Propiedades para cada medio de transporte . . . . . . . . . . . . . . 113

4.1 Estadısticas de los experimentos . . . . . . . . . . . . . . . . . . . 1814.2 NE de los atributos . . . . . . . . . . . . . . . . . . . . . . . . . . 1874.3 Cantidad total de nulos por atributo . . . . . . . . . . . . . . . . . . 1884.4 Grados de pertenencia . . . . . . . . . . . . . . . . . . . . . . . . . 1894.5 Grados de pertenencia - continuacion . . . . . . . . . . . . . . . . . 190

5.1 Ficheros generados para la implementacion de la clase Imagen . . . 223

Page 22: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta
Page 23: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Capıtulo 1

Introduccion

Creer que el trabajo constante, firmee infatigable puede obtenerlo todo

constituye la imposibilidad del fracaso.Henry Ford (1863-1947)

Industrial estadounidense

Vivimos en la Sociedad de la Informacion, en la era de las Nuevas Tecnologıas.Cada vez es mas difıcil encontrar una companıa, un negocio familiar, o una organi-zacion en general, que no pretenda aplicar soluciones informaticas para mejorar lagestion de su trabajo. Hoy en dıa, se puede decir, sin temor a exagerar, que buenaparte de las cosas que ocurren en el mundo quedan registradas en una base de datos.Los sistemas de informacion empiezan a verse como una parte mas de la empresa,y mejorar la calidad de su diseno y de su implementacion es, desde hace tiempo, unobjetivo ineludible para la Ciencia de la Computacion.

El exito de un sistema de informacion depende en buena medida de que esteconstruido sobre un modelo de datos adecuado, de forma que refleje de una maneraacertada el ciclo de vida que tienen los datos en la empresa, su estructura, sus rela-ciones y el comportamiento que se espera de ellos. Una parte importante del esfuerzodel Ingeniero del Conocimiento reside en captar una idea lo mas clara posible de lanaturaleza y del proceso que tienen los datos del sistema que hay que modelar. Otraparte no menos importante es elegir como y de que manera puede tomar forma esaidea en el sistema de informacion.

Page 24: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2 Introduccion

Mediante el Modelado Conceptual de los datos se pretende capturar la descrip-cion de los objetos y su comportamiento en el mundo real y encontrar representacio-nes apropiadas para ellos en la base de datos. El Modelado Conceptual de datos hasido un area activa de investigacion desde los anos sesenta y ha conducido a muchasy diferentes propuestas de modelos de datos.

Los modelos clasicos de datos (Jerarquico [TL76], Red [CDT71] y Relacional[Cod70]) no son candidatos adecuados para el modelado conceptual debido, princi-palmente, a que todos ellos fallan al tratar de capturar buena parte de la semanticaasociada a los datos.

En los tres modelos, la construccion fundamental (registro o relacion) no consti-tuye una unidad semantica atomica y necesitan, por tanto, restricciones adicionalespara mantener la integridad semantica de la base de datos. Ademas, como la estruc-tura de datos de estos modelos puede no siempre corresponder a un unico objeto, esnecesario recurrir a complejos procedimientos de normalizacion [Cod72] para ase-gurar que no se produzcan efectos secundarios indeseados al manipular los datos.Como consecuencia directa, los esquemas de base de datos basados en estos modelosresultan con frecuencia difıciles de implantar.

En el modelo relacional, cuyo uso se ha extendido de forma admirable en lasociedad de la informacion de nuestros dıas, el principal problema radica en el usode un unico mecanismo (la relacion) para modelar tanto colecciones de entidadescomo para expresar asociaciones entre las mismas. Esta sobrecarga semantica delconcepto de relacion hace difıcil al usuario determinar el sentido y el proposito decada relacion, y oscurece el significado de la base de datos en su conjunto.

Las deficiencias de los modelos de datos clasicos para el modelado conceptualhan motivado un intenso trabajo de investigacion en el area del modelado de datos.Como respuesta a este esfuerzo han aparecido los denominados Modelos Semanticosde datos [PM88]. Basicamente, estos modelos, tratan de capturar el significado de losdatos de una manera mas o menos formal, con la intencion de que el diseno de la basede datos se pueda obtener despues de una forma sistematica y sencilla, y de que labase de datos pueda comportarse de una manera inteligente. Podemos situar el iniciode esta area de investigacion en los trabajos de Abrial [Abr74], aunque muchas de lasideas que la caracterizan ya habıan sido senaladas antes por Langefors [Lan63].

Los primeros modelos semanticos de datos fueron introducidos con el principalobjetivo de facilitar el diseno de esquemas para bases de datos que estaban mante-nidas por los gestores de bases de datos existentes. Los esquemas disenados usando

Page 25: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3

modelos semanticos de datos eran despues traducidos a alguno de los modelos dedatos clasicos para poder ası acometer su implementacion definitiva. Por eso estosmodelos no ponıan atencion a operadores o a aspectos de manipulacion de los datosque describıan.

El problema que ha caracterizado a las propuestas de modelos semanticos dedatos es que, tıpicamente, no usan una terminologıa comun ni estan definidas deuna manera formal. Esta carencia hace muy difıcil analizarlos, y ha motivado quemuchas de esas propuestas no hayan llegado muy lejos. Esto se une a la falta deimplementaciones de gran escala de estos modelos.

Uno de los ultimos modelos de datos, que se ha asentado poco a poco en laultima decada, es el Modelo Orientado a Objetos. Este modelo de datos tiene muchoen comun con el modelado semantico de datos y, en buena medida, soluciona algunasde las carencias que presentan los modelos semanticos.

Los modelos orientados a objetos deben su origen a lenguajes de programacionorientados a objetos como SmallTalk [GR83] y C++ [Str86]. Estos modelos hangeneralizado la idea de organizar la informacion como un conjunto de objetos conidentidad propia agrupados alrededor de tipos o clases. Ademas, han completado estavision de los datos anadiendo propiedades tan importantes como el encapsulamientoy dotando a los objetos tanto de estructura como de comportamiento: una base dedatos orientada a objetos almacena tanto datos como programas asociados con losobjetos. Puede decirse que los modelos orientados a objetos han venido a completarla abstraccion estructural aportada por los modelos semanticos, con la capacidad deabstraccion de conducta.

Aquellas aplicaciones del mundo real caracterizadas por tener que manejar infor-macion compleja y altamente interrelacionada han sido la cuna del exito de los siste-mas de bases de datos orientados a objetos. Problemas de CAD (Diseno Asistido porComputadora), CAM (Fabricacion Asistida por Computadora) y CASE (Ingenierıadel Software Asistida por Computadora), que fueron el primer centro de atencion deeste tipo de sistemas, son acompanados hoy dıa por una amplia variedad de aplicacio-nes que necesitan de un modelo orientado a objetos para recibir una representaciondinamica suficientemente expresiva [SSU95]. Entre ellas, destacan aplicaciones parala Representacion del Conocimiento, Extraccion de Informacion y para el desarrollode Almacenes de Datos1 que sirvan de soporte para sistemas de Ayuda a la Decision.En la mayorıa de estos casos hay que construir sistemas que trabajan sobre datos del

1del ingles Data Warehouse

Page 26: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4 Introduccion

mundo real que pueden presentar estructuras complejas y que normalmente no estanexpresados con el nivel deseado de exactitud. Es a la hora de hacer frente a la repre-sentacion de esos datos y de esas estructuras complejas donde encontramos el origende los objetivos de este trabajo de investigacion.

Objetivos

Los datos del mundo real, ademas de presentar estructuras mas o menos complicadasy relaciones de mayor o menor complejidad, pueden estar expresados con vaguedad:o bien la fuente que los proporciona no es fiable (la certeza sobre los datos no es total),o bien los propios datos estan afectados de imprecision y no estan muy claros. Masaun, en un conjunto de datos es bastante normal que se produzcan ambas situacionesal mismo tiempo.

En cualquier caso, sea cual sea la manera en la que nos venga la informacion,esta debe representarse de una forma adecuada en la base de datos. Hacer frente a larepresentacion y manipulacion de vaguedad que puede traer asociada esa informacionse convierte entonces en una necesidad.

El problema de la informacion vaga en bases de datos ha sido ampliamente estu-diado a lo largo de las ultimas decadas. En este contexto, la Teorıa de SubconjuntosDifusos y la Logica Difusa [Zad65] han demostrado ser de gran utilidad para hacerfrente a distintos tipos de falta de precision y certeza que pueden aparecer en los datosdel mundo real.

La Teorıa de Subconjuntos Difusos es una extension de la Teorıa Clasica de Con-juntos. En la teorıa clasica, cada conjunto viene determinado por una funcion carac-terıstica definida sobre el universo de referencia y aplicada sobre el conjunto 0,1.Pues bien, la Teorıa de Subconjuntos Difusos sustituye ese conjunto imagen binariopor el intervalo [0,1]: un elemento no esta limitado a pertenecer o no pertenecer aun determinado conjunto, sino que puede pertenecer a dicho conjunto con un ciertogrado.

Esta extension de la teorıa clasica de conjuntos tiene una correspondencia inme-diata en el mundo de la logica: la Logica Difusa generaliza a la Logica Clasica y esutilizada para afrontar procesos de razonamiento en los que intervienen datos afec-tados de imprecision e incertidumbre. El uso conjunto de la Teorıa de SubconjuntosDifusos y la Logica Difusa permite representar terminos linguısticos sobre cualquier

Page 27: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5

dominio y llevar a cabo un razonamiento linguıstico que se acerca mas al que utilizael ser humano. Gracias a esto, el modelado conceptual de los datos se puede hacerdesde un punto de vista de mas alto nivel.

Dentro del uso de la logica difusa y de la teorıa de subconjuntos difusos para ha-cer frente a la vaguedad de los datos, el modelo relacional de base de datos ha sido elmas estudiado. Desde los primeros intentos de Baldwin [Bal79] y Umano [Uma82],muchos son los estudios para el desarrollo de modelos difusos relacionales de basesde datos. El proceso ha culminado con el desarrollo de diversas implementacionesde sistemas de bases de datos relacionales difusas.

Durante los ultimos anos, el estudio de la vaguedad se ha extendido tambien haciael Modelo de Bases de Datos Orientado a Objetos. Si el modelo de datos orientadoa objetos ha demostrado ser una herramienta eficaz para el modelado conceptual, laposibilidad de manejar informacion vaga en dicho modelo aumenta de forma notablesu capacidad para el modelado de problemas del mundo real.

Esta memoria pretende estudiar y ofrecer soluciones al problema de la repre-sentacion de vaguedad en el modelo de datos orientado a objetos desde todas lasperspectivas desde las que se puede considerar la informacion en este modelo:

• Desde el punto de vista de los valores que caracterizan a los datos, consideran-do la forma de definir dominios sobre los que representar esos valores cuandovengan acompanados de imprecision y/o de incertidumbre:

– Dentro de este nivel, atenderemos a las distintas naturalezas que puedentener dichos dominios, en funcion de si es posible su representacion sobreotro dominio preciso que les sirva de base (la edad de las personas) ono (el diagnostico de una enfermedad) y de si admiten la posibilidad derepresentar valores multiples (los amigos de una persona, los idiomas quehabla, ...).

– La generalizacion de las relaciones de igualdad para poder comparar estetipo de datos imperfectos tambien es parte de los objetivos: Se estudiaratanto la utilizacion de relaciones de similitud como mecanismo basico decomparacion en los dominios, como la obtencion de una medida para elcalculo de la semejanza entre dos objetos complejos en cuya estructuraaparecen valores expresados con imprecision.

• Desde el punto de vista de las relaciones entre los datos, desarrollando estra-tegias adecuadas para flexibilizar las distintas formas que ofrece el modelo de

Page 28: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

6 Introduccion

datos orientado a objetos para establecer dichas relaciones tanto desde un puntode vista semantico como estructural.

– Viendo la forma de flexibilizar la relacion de los objetos con sus clases(pertenencia gradual a una clase).

– Estudiando los procesos de especializacion y generalizacion, viendo deque forma pueden influir en las relaciones entre clases (por ejemplo, crea-cion de clases fruto de la aplicacion de una propiedad imprecisa sobre otraclase ya existente).

– Analizando la forma de representar los distintos tipos de imperfeccionen las relaciones entre objetos y, por tanto, entre clases (por ejemplo,relaciones entre objetos afectadas de incertidumbre o con niveles de im-portancia).

• Desde el punto de vista de la estructura de los objetos y de las clases, analizan-do el sentido y el efecto que puede tener la vaguedad cuando aparece en estenivel. Como objetivos adicionales, dentro de este apartado se pretende:

– Completar un estudio de las limitaciones que ofrece el concepto clasicode tipo, tanto desde la perspectiva de la estructuracion de datos comodesde la perspectiva del modelado semantico de datos.

– Formalizar un nuevo concepto de tipo como respuesta a esas necesidadesque sea menos restrictivo y mas flexible que el actual. Ese concepto detipo debe contemplar propuestas efectivas tanto para representar la estruc-tura de la clase de una forma borrosa, como para reflejar esa borrosidaden la definicion del comportamiento de los objetos de la clase.

– Enriquecer las distintas caracterısticas de las Bases de Datos Orientadas aObjetos de forma que sean capaces de sacar partido a ese nuevo conceptode tipo. Se prestara especial atencion a la adaptacion de los mecanismosde instanciacion y herencia del modelo orientado a objetos.

– Aplicar el nuevo concepto de tipo sobre problemas actuales de repre-sentacion del conocimiento, centrandonos especialmente en el estudio detecnicas capaces de extraer informacion sobre las clases subyacentes enun conjunto dado de datos, que permitan aprender el tipo de un conjuntode datos.

El objetivo basico de nuestra propuesta es aportar las extensiones necesarias almodelo clasico de bases de datos orientadas a objetos para convertirlo en un modelo

Page 29: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

7

de bases de datos orientado a objetos difuso, partiendo de la premisa de que el pro-pio modelo de datos orientado a objetos tiene la expresividad suficiente para ser labase sobre la que se fundamente el nuevo modelo difuso. Por tanto, las diferentesestructuras propuestas para afrontar la vaguedad en los distintos niveles en los queesta puede aparecer estaran desarrolladas sobre el propio modelo clasico orientado aobjetos.

El desarrollo de un Sistema de Bases de Datos Orientado a Objetos Difuso sepuede plantear como la adicion de una capa adicional sobre un sistema de bases dedatos orientado a objetos ya existente, teniendo en cuenta la directiva basica que se haexpuesto en el parrafo anterior. El estudio de una arquitectura para llevar a efecto unsistema de esas caracterısticas y el desarrollo de un prototipo forman tambien partede los objetivos de este trabajo de investigacion.

Organizacion de la memoria

La memoria que aquı se presenta tiene organizados sus contenidos en cinco capıtulos,ademas de este primero dedicado a presentar el problema que la motiva.

El segundo capıtulo esta dedicado a presentar los tres pilares fundamentales sobrelos que se sustenta este trabajo de investigacion: el Modelo de Datos Orientado aObjetos, el problema de la informacion vaga en las bases de datos y la Teorıa deSubconjuntos Difusos. Se hara un repaso de los conceptos que caracterizan cadauna de estas areas de conocimiento, para desembocar en el estudio de los ModelosDifusos de Bases de Datos Orientados a Objetos, haciendo un analisis bibliograficode las principales propuestas que en este campo se pueden encontrar en la literatura.

En el tercer capıtulo desarrollamos un estudio detallado de la vaguedad en losdistintos niveles en los que puede aparecer en un modelo de datos orientado a obje-tos. Se analiza la interpretacion que debe hacerse de la misma en cada situacion y sepropone una estrategia adecuada para representarla sobre un modelo de datos orien-tado a objetos clasico. Se expone la forma de generalizar el concepto de igualdady mediante la utilizacion de relaciones de similitud y de semejanza se analiza comodeterminar un grado de parecido entre objetos. Como parte de este capıtulo, tambienaportamos un nuevo concepto de tipo de datos, el Tipo Difuso, y presentamos lasmodificaciones que deben hacerse sobre los mecanismos de instanciacion y herenciapara poder ser utilizados con tipos difusos en lugar de con tipos clasicos.

Page 30: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

8 Introduccion

Una de las aplicaciones deseables de este nuevo concepto de tipo es utilizarlopara representar mejor un conjunto dado de objetos que se corresponden con el con-cepto asociado a ese tipo. La estructura plana con la que normalmente se caracterizaun conjunto de datos tiene limitaciones muy importantes para la representacion. Siel conjunto de datos procede de procesos como la mezcla e integracion de datos pro-cedentes de bases de datos diferentes, la representacion plana se queda escasa y lainformacion del conjunto de datos se deteriora con la presencia de cantidades impor-tantes de valores nulos, fruto de los distintos niveles de precision con los que objetosde la misma clase son tratados por bases de datos diferentes.

El estudio de herramientas para explorar la estructura de un conjunto de datos esel objetivo del capıtulo cuarto de esta memoria. En este capıtulo formalizamos un tipoespecial de grafos, los Grafos de Inclusion, y explicamos la forma en la que puedenconstruirse sobre un conjunto de datos para poder visualizar la estructura de datossubyacente al mismo. Tambien exponemos una tecnica para extraer una definicionoptima de Tipo Difuso a partir de un conjunto de datos, basada en la minimizaciondel numero de valores nulos presentes en las tuplas del conjunto de datos.

Como ya se ha indicado en esta introduccion, la base de nuestra propuesta demodelo de base de datos orientada a objetos difuso reside en la utilizacion de unmodelo de base de datos orientado a objetos clasico para desarrollarlo. El capıtulocinco de este trabajo expone una arquitectura para la implementacion de un Sistemade Bases de Datos Orientado a Objetos Difuso sobre un Sistema de Bases de DatosOrientado a Objetos ya existente. Como prueba de la viabilidad de dicha arquitectura,presentamos un prototipo construido siguiendo esa filosofıa.

El ultimo capıtulo de esta memoria, el sexto, contiene una reflexion sobre el tra-bajo de investigacion que aquı se presenta, exponiendo las principales conclusionesque hemos alcanzado. Ese ultimo capıtulo tiene tambien el objetivo de servir de puntoy seguido en nuestro trabajo de investigacion en esta area incipiente de la Ciencia dela Computacion, senalando los distintos caminos por los que debe continuar nuestroestudio.

Page 31: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Capıtulo 2

Conceptos previos

Quien no anade nada a susconocimientos, los disminuye.

Talmud (ss. IV-V d.d.C.)Texto sagrado judıo

Nuestro primer paso esta dedicado a presentar los conceptos basicos de las distin-tas areas de conocimiento en las que se fundamenta nuestro trabajo. En primer lugarnos centraremos en conocer las ideas fundamentales del modelo orientado a objetosde bases de datos, haciendo un breve repaso de la evolucion que han tenido los sis-temas de bases de datos basados en este modelo desde su aparicion hasta nuestrosdıas.

La Teorıa de Subconjuntos Difusos de L. Zadeh constituye la otra herramientaimprescindible para el desarrollo de nuestro trabajo: aquı se describen algunos de losprincipales conceptos que la caracterizan.

Tambien presentamos un analisis del problema de la informacion vaga en lasbases de datos, resaltando el papel que la Teorıa de Subconjuntos Difusos ha tenidoa la hora de encontrar soluciones adecuadas al mismo y justificando la necesidad desistemas difusos de bases de datos orientadas a objetos. Un estudio de las principalespropuestas que pueden encontrarse en la literatura sobre Modelos Difusos de Basesde Datos Orientadas a Objetos cierra los contenidos de este capıtulo.

Page 32: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

10 Conceptos previos

2.1 Bases de Datos Orientadas a Objetos

Como hemos planteado en la introduccion de este trabajo, un problema clave en elmundo de las bases de datos es proporcionar al usuario de las mismas un modeloabstracto de datos que este muy cerca del modelo de usuario del mundo real. Elmodelo de datos orientado a objetos es un buen candidato para ello.

La orientacion a objetos constituye una nueva forma de ver las cosas en el mundodel modelado y en el mundo de la programacion de todo tipo de aplicaciones, inclu-yendo aquellas que tienen como principal objetivo la gestion y almacenamiento de lainformacion en una base de datos.

2.1.1 El Modelo de Datos Orientado a Objetos

La filosofıa del modelado orientado a objetos [Weg87] es muy sencilla: abstraer unmodelo de la realidad en forma de conjunto de objetos que interaccionan entre sı pormedio de mensajes. El origen de muchos de los conceptos basicos del desarrolloorientado a objetos (objeto, clase, herencia, ...) se remonta a finales de la decadade los anos sesenta y comienzo de los setenta, con la aparicion del lenguaje Simu-la [DN66].

Vamos a introducir la definicion de las caracterısticas mas importantes de estemodelo de datos. La vision de este modelo que aquı se presenta esta resumida ypretende reflejar solo las cuestiones mas importantes, que mas tarde utilizaremos enel desarrollo de esta memoria. Para un estudio mas completo de este paradigma demodelado de bases de datos y de programacion remitimos al lector a [Boo86, BRJ99,Bud94].

2.1.1.1 Objetos

El concepto basico en el modelado de datos orientado a objetos es el concepto deobjeto:

Definicion 2.1 (Objeto). Un objeto o es la encapsulacion del estado (valores dedatos) y del comportamiento (operaciones) de una entidad del mundo real.

Cada entidad del mundo real se representa en el modelo mediante un objeto quetiene asociado un estado y un comportamiento. El estado comprende los valores del

Page 33: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.1 Bases de Datos Orientadas a Objetos 11

conjunto de atributos que caracterizan al objeto, mientras que el comportamiento oconducta esta definido por el conjunto de operaciones que lo dotan de funcionalidad.

Normalmente en un modelo orientado a objetos no todos los elementos de infor-macion tienen que estar representados como objetos. Algunos elementos de caracterprimitivo (cadenas de caracteres, enteros, y tipos basicos por el estilo) son represen-tados como literales y carecen de identidad propia.

Definicion 2.2 (Variable de instancia). Cada uno de los atributos que caracterizanel estado de un objeto.

Los valores de los atributos de un objeto pueden ser a su vez otros objetos. Losobjetos que verifican esta propiedad suelen denominarse objetos complejos.

Definicion 2.3 (Metodo). Un metodo es un procedimiento algorıtmico que realizauna determinada operacion del comportamiento de un objeto.

Al igual que cualquier procedimiento o funcion, un metodo esta caracterizado porsu interfaz, es decir, su nombre, sus parametros formales o argumentos, y su valor deretorno (en su caso).

Los metodos de los objetos pueden ser de tres tipos: observadores, que devuelveninformacion acerca del estado de un objeto; modificadores, que cambian un objeto deun estado valido a otro; y constructores, que permiten la creacion de objetos [LG86].

La forma de aplicar un metodo sobre un determinado objeto en el modelo orien-tado a objetos se basa en una comunicacion por medio de mensajes.

Definicion 2.4 (Mensaje). Senal enviada a un objeto para que realice una determi-nada operacion.

El texto de un mensaje debe identificar al objeto receptor del mismo, ası comoestablecer que metodo debe utilizarse para completar la operacion junto con los ar-gumentos necesarios para realizarla.

2.1.1.2 Identidad de Objetos

Con este paradigma de modelado, cada objeto esta identificado por un identificadorunico (IDO – IDentificador de Objeto) que determina de forma unıvoca al objeto, yle permite tener una existencia independiente de los valores de sus atributos. Esteidentificador es generado por el sistema y nunca cambia para un determinado objeto.

Page 34: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

12 Conceptos previos

La nocion de identidad en el modelado orientado a objetos no coincide con laidea de clave del modelo relacional. Una clave esta formada por un valor de atributoo conjunto de atributos que identifica de forma unıvoca a una tupla de una relacion.Al estar la clave formada por valores de atributos, la identidad depende del estado delobjeto (tupla en este caso), y puede cambiar si se modifican esos valores. El uso deIDOs aporta una forma estandar de expresar la identidad, de forma independiente altipo o clase de objetos. Esto facilita la referencia entre objetos.

El concepto de identidad hace que sea necesario distinguir entre dos tipos deigualdad entre objetos:

Definicion 2.5 (Igualdad de identidad). Criterio de comparacion segun el cual dosobjetos son iguales si tienen el mismo IDO. En este caso se suele decir que son elmismo objeto. Normalmente se representa por el sımbolo ’=’.

Definicion 2.6 (Igualdad de valor). Criterio de comparacion segun el cual dos ob-jetos son iguales si los valores de sus atributos son iguales (utilizando recursivi-dad donde sea necesario en objetos complejos). Normalmente se representa por elsımbolo ’==’.

Si dos objetos satisfacen el primer criterio de igualdad, obviamente, tambien sa-tisfacen el segundo. El razonamiento contrario no se verifica. Aunque la igualdad deidentidad entre los objetos viene marcada por la coincidencia de sus identificadores,la igualdad de estado puede senalar una igualdad de identidad, o al menos servir depista, sobre todo si en ella intervienen atributos del objeto capaces de identificarlounıvocamente.

2.1.1.3 Tipos y Clases

El modelado orientado a objetos se construye a traves de la definicion de tipos y lacreacion de clases de objetos. La distincion entre el concepto de tipo y de clase se vaa establecer en esta memoria siguiendo las siguientes directrices:

Definicion 2.7 (Tipo). Modelo de los rasgos comunes de un conjunto de objetos quetienen las mismas caracterısticas.

El concepto de tipo esta estrechamente relacionado con el de Tipo Abstracto deDatos [Gut77]. En orientacion a objetos, el tipo determina tanto la estructura interna(es decir, los atributos) como el comportamiento (conjunto de metodos) de los objetosque caracteriza.

Page 35: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.1 Bases de Datos Orientadas a Objetos 13

Definicion 2.8 (Clase). Abstraccion conceptual que permite describir un conjuntode objetos que tienen el mismo tipo.

El concepto de clase engloba dos vertientes: un conjunto de objetos (normalmen-te denominado conjunto extension de la clase) y el tipo que los caracteriza.

Una de las ventajas mas importantes del modelado orientado a objetos es la es-trecha integracion que se establece entre el aspecto estructural y el funcional de losdatos, a traves del concepto de clase.

En el modelo orientado a objetos, las clases pueden verse tambien como un tipoespecial de objetos. Dentro de la definicion del tipo de una clase, pueden definirseatributos que van a estar ligados a la clase como tal, teniendo un valor compartidopor todos los objetos de esa clase. Son los denominados atributos o variables declase. Del mismo modo, pueden definirse metodos que implementen operaciones decaracter general en la clase que no necesiten como receptor un objeto en particular,sino que estan dirigidos a la propia clase. Son los denominados metodos de clase.

2.1.1.4 Instanciacion de clases

Definicion 2.9 (Instanciacion). Mecanismo que permite crear objetos de una clasedeterminada. Esos objetos estaran caracterizados por la estructura y el comporta-miento propios del tipo de la clase.

La instanciacion de objetos se suele implementar en los modelos orientados aobjetos mediante un metodo de clase especial, denominado constructor. De formagenerica nos vamos a referir a ese metodo mediante el identificador New.

Cada objeto nuevo en el modelo necesita tener su estado almacenado de formaindependiente de los otros objetos de su misma clase. Sin embargo, la definicion delcomportamiento es compartida por todos ellos.

La instanciacion supone el uso de la misma definicion para generar objetos caracte-rizados por la misma estructura y el mismo comportamiento. Es un potente meca-nismo de reutilizacion. En este sentido, el tipo de la clase actua como plantilla paradefinir objetos.

Definicion 2.10 (Instancia). Cada uno de los objetos de una determinada clase.

Aunque el mecanismo de instanciacion es el mecanismo mas extendido para lacreacion de nuevos objetos, existe un enfoque alternativo basado en el uso de pro-

Page 36: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

14 Conceptos previos

totipos [Lie86, LTP86]. En esencia, en lugar de utilizar una clase como plantilla, sedefinen objetos prototıpicos a partir de los cuales se pueden generar nuevos objetos,cambiando sus atributos y/o su comportamiento.

2.1.1.5 Herencia

La reutilizacion [Mey87] es puesta en practica por segunda vez en el modelado orien-tado a objetos gracias al mecanismo de herencia.

Definicion 2.11 (Herencia). Mecanismo mediante el cual el tipo de una clase puedeser definido sobre la base de la definicion del tipo de otra clase.

Se suelen utilizar los terminos subtipo y subclase para referirse al tipo y la clasenuevos, respectivamente, y los terminos supertipo y superclase para denotar el tipo yla clase utilizados como referencia.

Gracias al mecanismo de herencia, la subclase hereda los atributos que definenla estructura de la superclase y los metodos que caracterizan su comportamiento.Ademas, la subclase puede anadir nuevos atributos y metodos para completar su de-finicion.

Definicion 2.12 (Miembro de una clase). Cada objeto que es instancia de la claseo de alguna de sus subclases.

Dicho de otra forma, los objetos que pertenecen a la extension de una clase soninstancias solo de esa clase, pero miembros tanto de esa clase como de todas sussuperclases.

Algunos sistemas permiten que una clase pueda tener mas de una superclase. Eneste caso, el mecanismo de herencia se desdobla en dos tipos:

Definicion 2.13 (Herencia simple). Tipo especial de herencia que se produce cuan-do una clase hereda de una unica superclase.

Definicion 2.14 (Herencia multiple). Tipo especial de herencia que se producecuando una clase hereda de mas de una superclase.

La herencia multiple simplifica bastante la creacion de nuevas clases, pero in-troduce problemas cuando entran en conflicto las definiciones procedentes de lasdistintas superclases (por ejemplo, uso del mismo nombre para atributos distintosheredados de diferentes superclases) [Bud94, Mey88].

Page 37: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.1 Bases de Datos Orientadas a Objetos 15

Las relaciones de herencia organizan las clases en un tipo de grafo especial, de-nominado Jerarquıa de Herencia o Arbol de Herencia. No se debe confundir estoultimo con la denominada Jerarquıa de Agregacion o Grafo de Agregacion, que seobtiene siguiendo los enlaces que se establecen entre clases mediante sus atributos.Hay dos formas habituales de construir una jerarquıa de herencia, a saber, generali-zacion y especializacion.

Definicion 2.15 (Generalizacion). Tecnica de diseno en la que se construye unajerarquıa de tipos hacia arriba, agrupando las propiedades y operaciones comunesde varias clases de objetos similares en una nueva clase de objetos mas general.

Definicion 2.16 (Especializacion). Tecnica de diseno en la que se construye unajerarquıa de tipos hacia abajo, definiendo subtipos a partir de supertipos utilizandopredicados para restringir los valores de sus atributos.

Hay que tener en cuenta que la forma en que se defina la jerarquıa impondraalgunas propiedades de la misma. En procesos de generalizacion, todo miembro dela superclase debe ser miembro de alguna subclase, cosa que no ocurre en procesosde especializacion.

La importancia del concepto de herencia es tal que, para algunos autores [Weg87,Str88], la presencia o no de mecanismos que implementen de forma natural esteconcepto es lo que diferencia a un lenguaje de programacion orientado a objetos deotro que no lo es.

2.1.1.6 Redefinicion de propiedades, polimorfismo y enlace tardıo

Definicion 2.17 (Redefinicion). Proceso mediante el cual en un subtipo se vuelve adefinir una propiedad que ha sido heredada de uno de sus supertipos.

La redefinicion permite personalizar la definicion de una superclase para cadauna de sus subclases. Normalmente se usa la redefinicion de un metodo para mati-zar la operacion que realiza, sin introducir grandes cambios desde el punto de vistasemantico en la funcionalidad de esa operacion.

Definicion 2.18 (Metodo abstracto). Tipo especial de metodo definido para unaclase del que solo se define la interfaz, quedando pendiente la implementacion de laoperacion para las subclases que lo hereden.

Page 38: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

16 Conceptos previos

Definicion 2.19 (Clase abstracta). Clase en cuyo tipo se definen uno o mas metodosabstractos.

Una clase abstracta no se puede instanciar, puesto que no tiene completa su de-finicion. Suele usarse para definir un subconjunto de propiedades y de operacionescomunes a un conjunto de subclases, pero que estan pendientes de implementacionpor parte de estas. Una subclase de una clase abstracta debe completar las definicio-nes que falten, adaptandolas a sus necesidades.

La redefinicion aporta una potencialidad muy grande desde el punto de vista dela programacion de aplicaciones orientadas a objetos, gracias al polimorfismo y a laligadura dinamica.

Definicion 2.20 (Polimorfismo). Mecanismo que permite definir e invocar funcionesque comparten el mismo interfaz pero tienen una implementacion diferente.

Definicion 2.21 (Referencia polimorfica). Una referencia polimorfica en un lengua-je orientado a objetos es aquella que puede referirse a instancias de clases diferentesa lo largo del tiempo de ejecucion.

Se puede decir que una referencia polimorfica tiene un tipo dinamico, que puedecambiar a lo largo de la ejecucion de un programa. Cuando a esa referencia se leenvıa un mensaje, es posible que el compilador no sea capaz de decidir que metodose ejecutara de entre todos los que comparten esa interfaz para las distintas clases alas que puede pertenecer el objeto referenciado. En esos casos, sera en tiempo deejecucion cuando se produzca esa decision, una vez conocida de forma precisa laclase del objeto referenciado. Esto es lo que se llama enlace tardıo o dinamico.

Definicion 2.22 (Enlace dinamico). Eleccion en tiempo de ejecucion del metodo quese va a ejecutar como respuesta a un determinado mensaje que aparece en el codigo.

La utilizacion clasica en orientacion a objetos de estas capacidades esta en es-trecha relacion con la jerarquıa de herencia y la utilizacion de clases abstractas ymetodos abstractos. Una referencia de la superclase abstracta puede recibir un men-saje indicandole la ejecucion de uno de sus metodos abstractos. En tiempo de eje-cucion, la referencia podra contener un objeto de cualquiera de las subclases de lasuperclase abstracta, y aplicara el metodo redefinido por la subclase que se corres-ponde con la interfaz senalada en el mensaje.

Page 39: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.1 Bases de Datos Orientadas a Objetos 17

2.1.1.7 Encapsulamiento

La necesidad de modularidad y de una distincion clara entre la especificacion y laimplementacion de una operacion, han motivado la aparicion del concepto de encap-sulamiento dentro de la Ingenierıa del Software. Una de las labores fundamentales delas clases en Orientacion a Objetos es encapsular la estructura y el comportamientode sus objetos.

El encapsulamiento del comportamiento impide ver la implementacion interna deuna operacion. Cuando una clase es utilizada por una aplicacion, o por otras clases,basta con conocer la interfaz de cada metodo y la forma de utilizar esa interfaz, sinnecesidad de conocer el detalle de implementacion que hay por debajo. Cuando sedefine el tipo de una clase, el programador elige la visibilidad que van a tener los dis-tintos atributos y metodos que la caracterizan. Tradicionalmente se han consideradolos siguientes tres niveles de visibilidad:

• Privada: Una propiedad privada solo puede ser referenciada por metodos delpropio tipo que la contiene.

• Protegida: Una propiedad protegida puede ser referenciada por metodos delmismo tipo que la contiene, o por subtipos del mismo.

• Publica: Una propiedad publica no tiene restringida su visibilidad.

2.1.1.8 Notacion

Vamos a introducir ahora alguna notacion que nos sera util en el desarrollo de estamemoria y que nos va a permitir poder referirnos en proximas lıneas a los distintoselementos del modelo orientado a objetos sin ambiguedad.

Llamaremos A al conjunto de todos los atributos a que podemos utilizar en nues-tro modelo, y M al conjunto de todos los metodos m que podemos igualmente definiren nuestro modelo orientado a objetos.

Un tipo T sera un par con dos componentes de la forma (S, B), donde S denotael conjunto de atributos o variables de instancia que caracterizan la estructura deltipo (y por tanto S ⊆ A) y B es el conjunto de metodos que definen su conducta ocomportamiento (B ⊆M). Al conjunto de todos los tipos lo vamos a notar medianteFT , familia de tipos.

Page 40: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

18 Conceptos previos

Visto lo anterior podemos considerar una clase C como un par (T (C), O(C))

donde T (C) es el tipo de la clase (T (C) ⊆ FT ) y O(C) es la extension de la clase oel conjunto formado por todas las instancias que adoptan la estructura y el compor-tamiento propios de la clase. Al conjunto de todas las clases de nuestro modelo lovamos a llamar FC , familia de clases.

Dentro de FC , para una clase dada C existen dos subconjuntos relevantes, a saber:

• SubC , o conjunto de todas las subclases de C.

• SupC , o conjunto de todas las superclases de C.

Veamos ahora los dos mecanismos fundamentales de la orientacion a objetos:la instanciacion y la herencia. Notaremos por I al mecanismo de instanciacion envirtud del cual aumentamos la extension de una clase mediante la adicion de un nuevoobjeto a la misma. Notaremos por H al mecanismo de herencia, en virtud del cual sepropagan hacia una subclase la estructura y la conducta de una superclase dada.

Utilizaremos la letra minuscula o para referirnos a objetos. Las variables ymetodos de instancia tendran un nombre que empezara por letra minuscula, reser-vando el uso de una letra mayuscula inicial para las variables y metodos de clase.

Para referirnos al atributo a del objeto o escribiremos o.a. Utilizaremos la nota-cion o.m(p1,p2, ..., pn) para expresar un mensaje enviado al objeto o para que apliqueel metodo m con parametros p1,p2, ..., pn.

Para representar de forma grafica un modelo orientado a objetos vamos a utili-zar la notacion estandar que propone el Lenguaje Unificado de Modelado [OMG00,BRJ99] (UML1) para la descripcion de diagramas de clases. Solo vamos a centrarnosen el subconjunto de elementos graficos que vamos a utilizar en esta memoria.

Para representar una clase se utiliza un rectangulo que esta dividido en tres fran-jas: la superior, que indica el nombre de la clase, la intermedia, en la que aparecenlistados los atributos de la clase (nombre de atributo:dominio) y la inferior, en la queaparecen los metodos que caracterizan el comportamiento de los objetos de la clase.La figura 2.1 muestra un ejemplo sencillo de esta notacion grafica.

Un ejemplo de las distintas relaciones que pueden aparecer entre clases se mues-tra en la figura 2.2. La flecha con punta hueca representa relaciones de herencia,

1del ingles Unified Modeling Language

Page 41: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.1 Bases de Datos Orientadas a Objetos 19

ClaseA

atributo1 : Dominio1atributo2 : Dominio2atributo3 : Dominio3...

método1()método2()...

Figura 2.1: Notacion UML para representar una clase

Departamento

Empresa

0..*

1organización

perteneceAdministrativoTécnico Directivo

Trabajador

0..*1..*

patrón empleado

Dirección

1..*

1..*

dirección

Figura 2.2: Notacion UML para expresar relaciones entre clases

Page 42: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

20 Conceptos previos

dirigiendose desde la subclase a la superclase en cuestion (en el ejemplo, Tecnico,Administrador y Directivo son subclases de Trabajador).

El resto de aristas expresan relaciones de asociacion entre clases, que en nues-tro caso seran utilizadas para senalar aquellos atributos de las clases que merezcanespecial mencion. Estos atributos no apareceran listados en la franja dedicada a lasvariables en el rectangulo usado para representar una clase; en su lugar se represen-taran mediante una flecha uniendo la clase que los contiene con la clase sobre la quetienen definido su dominio.

Esta arista podra ser de dos formas:

• Una flecha dirigida cuando exprese una relacion unidireccional, etiquetada conel nombre del atributo y con la cardinalidad correspondiente (0, 1, 0..n, 1..n,etc.) en cada uno de los extremos. En el ejemplo, cada Trabajador puedeestar relacionado con uno o mas objetos de la clase Direccion. Se pone unasegunda cardinalidad para expresar que dos trabajadores pueden tener la mis-ma direccion. Como la relacion es unidireccional, solo habra un atributo pararepresentar la relacion que estara en la clase origen de la misma (en el ejemplo,en la clase Empleado).

• Si la arista no esta dirigida, entonces expresa una relacion bidireccional. Enese caso la arista estara etiquetada con dos parejas (nombre, cardinalidad), unaen cada extremo, para senalar el atributo con el que se corresponde en cada unade las clases. En el ejemplo, se expresa que una Empresa tiene un conjunto detrabajadores que como mınimo tendra cardinalidad 1. Los trabajadores podranestar pluriempleados e incluso en el paro.

Una asociacion normal entre dos clases representa una relacion estructural entreiguales, es decir, ambas clases estan conceptualmente en el mismo nivel, sin ser nin-guna mas importante que la otra. A veces se desea modelar una relacion “todo-parte”,en la cual una clase representa una cosa grande –el todo, que consta de elementos maspequenos –las partes. Si se desea indicar que la relacion de asociacion es de este tipose anade un rombo en la parte de la arista que corresponde a la clase que representael papel del todo. En el ejemplo, se indica que la empresa esta organizada como unconjunto departamentos.

Como ultima apreciacion, cuando no estemos interesados en la estructura y elcomportamiento de una clase (como ocurre en el diagrama que muestra la figura

Page 43: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.1 Bases de Datos Orientadas a Objetos 21

2.2), no dividiremos el rectangulo en tres franjas, y solo mostraremos el nombre dela clase en su interior.

2.1.2 Sistemas de bases de datos orientados a objetos

Normalmente los expertos no estan de acuerdo en que constituye una base de datosorientada a objetos. De hecho, resulta tambien difıcil encontrar un acuerdo sobre quedebe ser un sistema orientado a objetos en general.

Quizas la definicion mas ingenua y mas obvia es que una base de datos orientadaa objetos es un sistema orientado a objetos con capacidades anadidas para funcionarcomo un sistema gestor de bases de datos. Estas capacidades mınimas pueden ser lassiguientes:

• Existencia de un lenguaje de consulta de alto nivel con capacidad de optimiza-cion de consultas en el sistema subyacente.

• Soporte para transacciones atomicas, control de la concurrencia y capacidad derecuperacion de fallos.

• Soporte de almacenamiento de objetos complejos, ındices y metodos de accesoque permitan una captura de datos rapida y eficiente.

Teniendo esto en cuenta, podemos considerar la siguiente definicion de base dedatos orientada a objetos.

Definicion 2.23 (Base de datos orientada a objetos). Base de datos cuyo modeloconceptual de datos permite representar y manipular objetos complejos.

Esta definicion supone que el sistema posee de antemano todas las capacidadesque un sistema moderno de bases de datos proporciona y cuyos requerimientos aca-bamos de mencionar. Los nuevos mecanismos de representacion inciden en aspectosdel sistema como los que se citan a continuacion:

• Persistencia

• Almacenamiento

• Transacciones

Page 44: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

22 Conceptos previos

• Control de la concurrencia

• Recuperacion de fallos

• Consultas

• Versiones de objetos

• Integridad

• Seguridad

• Rendimiento

Visto lo anterior, podemos decir que la tecnologıa de bases de datos orientadas aobjetos es un matrimonio entre la programacion orientada a objetos y la tecnologıa debases de datos. La figura 2.3 muestra de forma grafica como se mezclan los distintosconceptos de programacion y bases de datos para configurar lo que denominamosbase de datos orientada a objetos.

Programación Orientada a Objetos

Capacidades de unabase de datos

Encapsulamiento

Herencia

Identidad de Objetos

Polimorfismo

Integridad

Seguridad

Versiones

Transacciones

Persistencia Concurrencia

Consulta Recuperación

Figura 2.3: Caracterısticas de una base de datos orientada a objetos

Esta mezcla da lugar a un potente sistema integrado para el desarrollo de apli-caciones. La herencia permite resolver problemas complejos de forma incremental,

Page 45: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.1 Bases de Datos Orientadas a Objetos 23

reutilizando codigo, y elaborando esquemas de bases de datos en estrecha relacioncon el modelo conceptual del problema. Caracterısticas de la orientacion a objetostan potentes como el polimorfismo y el enlace dinamico permiten crear diferentesobjetos que propongan soluciones personalizadas sin necesidad de escribir codigoespecıfico para cada uno de ellos. La incorporacion de comportamiento en la base dedatos reduce la complejidad de las aplicaciones.

Estas leves pinceladas, junto con otras muchas ventajas que aporta la integra-cion de ambas tecnologıas, hacen que los sistemas de bases de datos orientados aobjetos sean para los desarrolladores de aplicaciones importantes herramientas paraincrementar la productividad de su trabajo.

El principal objetivo de un sistema de bases de datos orientado a objetos esproporcionar una gestion de datos consistente, independiente de los datos, seguray facilmente mantenible. Hoy en dıa, la mayorıa de los sistemas comerciales proveebuena parte de estas caracterısticas.

2.1.2.1 Historia de los sistemas de bases de datos orientados a objetos

La investigacion en el mundo de las bases de datos orientadas a objetos se remontaa finales de los anos setenta [Loc79] y se ha convertido en un area importante deinvestigacion desde principios de los anos ochenta. Para finales de esa decada yaestaban en el mercado los primeros productos comerciales.

Las bases de datos orientadas a objetos estan siguiendo un camino de maduracionsimilar al de las bases de datos relacionales. La figura 2.4 ilustra la evolucion de lastecnologıas de bases de datos orientadas a objetos.

+ Funcionalidad de la base de datos

+ Facilidad de uso

Lenguaje Orientado a Objetos con persistencia

Base de datos con un lenguaje OO parala definición del comportamiento

Base de datos con una semántica declarativapara el modelado de datos de alto nivel

Figura 2.4: Evolucion de las bases de datos orientadas a objetos

En la izquierda aparecen lenguajes orientados a objetos que han sido extendi-dos para permitir persistencia de los datos, dando la posibilidad de que los objetosse mantengan entre sesiones de usuario. Estos sistemas aportan una funcionalidad

Page 46: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

24 Conceptos previos

mınima de la base de datos (funcionalidad entendida en terminos de control de laconcurrencia, transacciones, recuperacion, etc.).

Conforme avanzamos hacia el centro de la figura, encontramos sistemas queproporcionan suficiente soporte para algunas de las caracterısticas de funcionalidadenunciadas previamente. Con estos productos de bases de datos se pueden desarrollaraplicaciones de gestion de datos de un tamano razonable.

Finalmente, a la derecha, aparecen las bases de datos con semanticas declarativas(para expresar, por ejemplo, restricciones, reglas de integridad, y caracterısticas deseguridad) que tienen la habilidad de reducir en gran medida el esfuerzo de desarrollo.

Los sistemas de bases de datos orientados a objetos de hoy en dıa (Objecti-vity/DB, ONTOS DB, VERSANT, GemStone, ObjectStore PSE Pro, IBM San Fran-cisco, O2, Iris, etc.) se encuentran a medio camino entre el centro y la derecha delgrafico. Para iniciar un estudio mas detallado de estos sistemas y de sus modelos dedatos, consultar [GKP92, BM93, MRL99]. Avanzar mas hacia la derecha resulta algomas complicado. Y es que, conforme avanzamos hacia la derecha en la figura, la basede datos hace mas por el usuario, necesitando este menos esfuerzo para desarrollarlas aplicaciones que necesita para su trabajo.

Un signo de madurez de cada nueva tecnologıa es el establecimiento de grupos enla industria para estandarizar los diferentes aspectos de la misma. En la actualidad seobserva un significativo interes en el desarrollo de estandares para las bases de datosorientadas a objetos. Podemos citar como ejemplo dos grupos de investigacion: elObject Management Group (OMG)2 que persigue la definicion de un conjunto deinterfaces estandares para el desarrollo de componentes software interoperables, yel Object Database Management Group (ODMG) [BEJ+00] dedicado al desarrollode una API que permita la portabilidad de aplicaciones entre diferentes gestores debases de datos orientadas a objetos.

2.1.3 El modelo orientado a objetos en relacion con otros modelos dedatos

2.1.3.1 Frente a los modelos semanticos

Como vimos en la introduccion de esta memoria, los modelos semanticos de datos(por ejemplo, el modelo Entidad/Relacion de Chen [Che76]), constituyen un inten-

2www.omg.org

Page 47: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.1 Bases de Datos Orientadas a Objetos 25

to para capturar explıcitamente buena parte de la semantica de las relaciones entreentidades del mundo real.

La agregacion y las relaciones de instancia estan modeladas de forma adecuada.Puede incluso decirse que en terminos de expresividad, el modelo orientado a objetoses menos potente que los modelos semanticos de datos. Sin embargo, estos ultimoscarecen del concepto de metodo, y no son capaces de modelar el comportamiento delos objetos.

Esta es, en general, la principal diferencia entre estos dos tipos de modelo. Losmodelos semanticos de datos aportan mecanismos para la abstraccion estructural y eneste sentido son similares a los modelos de representacion del conocimiento. Por elcontrario, el principal objetivo de los modelos de datos orientados a objetos es aportarabstraccion de conducta, y por tanto se acercan mas a los lenguajes de programacion.

Dentro de los objetivos de los modelos orientados a objetos avanzados esta elde aportar potentes mecanismos adicionales para mejorar de forma adecuada los dostipos de abstraccion.

2.1.3.2 Frente a los modelos jerarquicos y en red

Puede decirse que las dos semejanzas mas notables entre el modelo orientado a obje-tos y los modelos en red estan en el anidamiento que se produce en los datos, y en eluso de identificadores de objeto independientes del estado.

Ambos modelos permiten la definicion de objetos que referencian a otros obje-tos como valores de sus atributos. Pero hay una diferencia fundamental: la jerarquıade agregacion en un esquema de bases de datos orientado a objetos puede conte-ner ciclos, mientras que para hacer esto en un modelo en red se requiere el uso deestructuras artificiales en el esquema.

Con respecto a la identidad, un IDO en el modelo orientado a objetos es un pun-tero logico, mientras que en los modelos en red la identidad se establece mediantepunteros a registro fısicos. Esto conlleva ciertas desventajas, como por ejemplo, com-plicar el control de la identidad referencial o la imposibilidad de una reorganizacionfısica independiente y rentable.

En cualquier caso, las diferencias entre los dos modelos desde el punto de vistade su poder expresivo y de la facilidad para manipular datos estan muy claras.

Page 48: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

26 Conceptos previos

2.1.3.3 Frente al modelo relacional

Una de las principales desventajas del modelo relacional frente al modelo orientadoa objetos es su incapacidad para modelar objetos complejos de forma directa, puestoque los valores de atributos en dicho modelo solo pueden ser atomicos.

La otra gran desventaja se centra en la imposibilidad de desarrollar la reutiliza-cion, ya que el modelo relacional no aporta la nocion de herencia. Ademas, no haymecanismos para asociar operaciones definidas por los usuarios con los objetos dedatos en el esquema de la base de datos, y la semantica de conducta de los objetosesta dispersa en programas de aplicacion.

Por ultimo, y como vimos en el apartado 2.1.1.2 de esta memoria, el modelo dedatos relacional no soporta el concepto de identidad de los objetos independiente desu estado.

2.1.4 Crıtica del modelo orientado a objetos de bases de datos

El modelo relacional de Codd [Cod70, Cod71, Cod72, Cod79, Cod82, Cod85, Cod86]es, hoy en dıa, el modelo de datos mas utilizado en el mundo de las bases de datosen los sistemas de informacion. El paradigma orientado a objetos de bases de datosno viene a sustituirlo, sino a ofrecer un modelo alternativo para aquellas aplicacio-nes en las que la complejidad de su esquema y su propio dinamismo, necesiten deherramientas mas potentes para hacer frente a su modelado.

Sin embargo, las bases de datos orientadas a objetos, comparadas con las basesde datos relacionales, han sido objeto de ciertas crıticas no siempre fundamenta-das [BM93]:

• La posibilidad de modelar objetos complejos y de navegar de unos objetos aotros a traves de las referencias que los caracterizan puede ser tildada comoun paso atras hacia los modelos en red y jerarquicos. Sin embargo, hay apli-caciones (como las de Diseno Asistido por Computadora o algunas propiasde la Inteligencia Artificial) para las que este tipo de navegacion es necesario.Ademas, la estructura anidada de objetos es solo un aspecto mas dentro delmodelado de datos orientado a objetos.

• El modelo orientado a objetos no esta basado hasta ahora en una teorıa ma-tematica coherente, como es el caso del algebra o del calculo en el modelo re-

Page 49: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.2 La Teorıa de Subconjuntos Difusos 27

lacional. Si bien estar bien fundamentado sobre una teorıa matematica es unacaracterıstica deseable, debemos recordar que la tecnologıa de bases de datoses algo muy complejo, y tanto el algebra como el calculo no fundamentan masque una pequena parte de la misma, quedando fuera aspectos tan importantescomo la autorizacion, control de concurrencia, recuperacion de fallos, etc..

En cualquier caso las bases de datos orientadas a objetos no intentan desbancar alas bases de datos relacionales, sino cubrir aquellas aplicaciones en las que el modelorelacional resulta mas difıcil de aplicar.

2.2 La Teorıa de Subconjuntos Difusos

El principal objetivo de una base de datos es almacenar informacion de un determina-do ambito de la vida real de una organizacion. El modelo de bases de datos orientadoa objetos supone un avance muy importante porque permite construir la base de da-tos de una forma muy cercana al modelo real que pretende reflejar. Sin embargo,la informacion cotidiana con la que se trabaja en cualquier organizacion esta afecta-da de ciertas imperfecciones que hacen difıcil modelarla en los diferentes modeloscomputacionales de que disponemos para ello. Dos de las fuentes que contaminannormalmente la informacion son la imprecision que tiene en su expresion y la incer-tidumbre que puede provocar la fuente que nos la proporciona. El ser humano sedesenvuelve con sorprendente facilidad a la hora de manejar este tipo de informacionpero, sin embargo, cuesta explicar que procedimientos sigue para ello.

El hallazgo de modelos matematicos para poder hacer frente a informacion im-perfecta ha sido un punto de gran interes en el mundo de la investigacion, aportandoteorıas como la de la Probabilidad [Fel71], la de la Evidencia [Sch76], o la de losFactores de Certeza [SB75]. En 1965 Lotfi A. Zadeh propuso una de las herramien-tas mas valiosas a la hora de trabajar con este tipo de informacion: la Teorıa deSubconjuntos Difusos [Zad65]. Desde la aparicion de esta teorıa son incontableslas aplicaciones que se han hecho de ella en el mundo de la investigacion en gene-ral, y en particular en el area de las Ciencias de la Computacion. Veamos algunosde sus conceptos fundamentales. Para un estudio mas completo se puede consultar[TAT95, DP80, KY95].

Page 50: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

28 Conceptos previos

2.2.1 Generalizacion del concepto de conjunto clasico: conjuntosdifusos

La nocion de conjunto esta en estrecha relacion con el cumplimiento de una determi-nada propiedad que deben satisfacer los elementos de ese conjunto. Podemos consi-derar que una propiedad es una funcion definida sobre un conjunto de objetos U , quehace corresponder cada uno de esos objetos con un elemento del conjunto 0,1. Unobjeto sera elemento del conjunto si esa funcion le asigna un 1. En caso contrario nolo sera.

Teniendo en cuenta lo anterior, cualquier propiedad P determina un conjunto SP

que esta formado por los siguientes elementos:

SP = u ∈ U : P (u) = 1 (2.1)

De la misma forma, cualquier subconjunto S ⊆ U genera una propiedad PS queviene dada por la siguiente expresion:

PS(u) = 1 si y solo si u ∈ S (2.2)

La Teorıa de Subconjuntos Difusos va mas alla, generalizando esta idea de con-junto, considerando que las propiedades que definen un conjunto son igualmente fun-ciones definidas sobre el universo U , pero que usan como imagen el intervalo cerrado[0,1]. Una propiedad de estas caracterısticas se dice que es difusa, y el conjunto quedicha propiedad determina viene dado por la siguiente expresion:

SP = < u, i >: P (u) = i, u ∈ U, i ∈ [0, 1] (2.3)

Definicion 2.24 (Conjunto Difuso). Conjunto de objetos cada uno de los cualestiene asociado un nivel de pertenencia al mismo en el intervalo [0,1].

Un conjunto difuso A definido sobre el universo U esta por lo tanto descrito porsu funcion de pertenencia µA:

µA : U→ [0, 1] (2.4)

de forma que para cada u ∈ U, µA(u) representa el grado de pertenencia del elementou al conjunto A.

Page 51: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.2 La Teorıa de Subconjuntos Difusos 29

En aquellos casos en los que se utiliza un universo de referencia U finito (U =

u1, u2, ..., un) la funcion de pertenencia suele expresarse mediante la siguientenotacion:

A = µA(u1)/u1 + µA(u2)/u2 + ... + µA(un)/un (2.5)

El conjunto de todos los subconjuntos difusos que se pueden definir sobre ununiverso de referencia U se denomina P(U). Los conjuntos clasicos son un casoparticular de conjuntos difusos, y por tanto, P(U) ⊂ P(U).

Definicion 2.25 (Soporte de un Conjunto Difuso). El soporte de un conjunto difusoA definido sobre el universo de referencia U es el conjunto de todos los elementos deU que tienen un nivel de pertenencia estrictamente mayor que 0, es decir:

Soporte(A) = u ∈ U : µA(u) > 0 (2.6)

Definicion 2.26 (Nucleo de un Conjunto Difuso). El nucleo de un conjunto difusoA definido sobre el universo de referencia U es el conjunto de todos los elementos deU que tienen un nivel de pertenencia exactamente igual a 1, es decir:

Nucleo(A) = u ∈ U : µA(u) = 1 (2.7)

Definicion 2.27 (Cardinal de un Conjunto Difuso). El cardinal de un conjunto di-fuso trata de generalizar el concepto clasico de cardinal como numero de elementosque pertenecen al conjunto. Existen numerosas medidas para su calculo, pero noso-tros vamos a considerar la siguiente definicion, tambien conocida como potencia delconjunto difuso[LT72]:

|A| =n

i=1

µA(xi) (2.8)

que en el caso de tener un soporte continuo se traduce en un calculo integral.

Definicion 2.28 (Conjunto Difuso Normal). Un conjunto difuso A se dice que esnormal si tiene un nucleo no vacıo, es decir:

A es normal si, y solo si, Nucleo(A) 6= ∅ (2.9)

Page 52: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

30 Conceptos previos

Definicion 2.29 (Conjunto de Niveles). El conjunto de valores α ∈ [0, 1] para losque existe al menos un elemento del universo de referencia que pertenece al conjuntodifuso A con ese grado, se denomina conjunto de niveles de A, formalmente:

Λ(A) = α : µA(u) = α para algun u ∈ U (2.10)

2.2.2 Conexion con los conjuntos clasicos: α−cortes

Definicion 2.30 (α-corte). Para cada α ∈ [0, 1] y cada subconjunto difuso A, sedefine el α-corte o corte de nivel α de A como el conjunto de todos los elementosdel universo de referencia que tienen un nivel de pertenencia mayor o igual a α, esdecir:

Aα = u ∈ U : µA(u) ≥ α (2.11)

Los α-cortes de un conjunto difuso guardan entre sı una relacion de inclusiondeterminada por la siguiente regla:

(α > β)⇒ Aα ⊆ Aβ (2.12)

Definicion 2.31 (Descomposicion de un conjunto difuso). Conjunto de todos susα-cortes relevantes (α ∈ Λ(A)).

Un conjunto difuso A puede representarse de forma unıvoca a partir de su des-composicion, utilizando el Teorema de Descomposicion de Zadeh [Zad71], de lasiguiente manera:

µA(u) =⋃

α∈Λ(A)

α · PAα(u) (2.13)

2.2.3 Operaciones sobre conjuntos difusos

La descomposicion de los conjuntos difusos mediante el uso de α-cortes estableceuna conexion entre los conjuntos clasicos y los conjuntos difusos que permite exten-der las operaciones que se realizan sobre los conjuntos clasicos para que operen sobreconjuntos difusos.

Page 53: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.2 La Teorıa de Subconjuntos Difusos 31

Tabla 2.1: Algunas t-normas habituales

Nombre Definicion

Mınimo t(α, β) = min(α, β)

Producto t(α, β) = α · β

Lukasiewicz t(α, β) = max(0, α + β − 1)

Las operaciones mas relevantes que se pueden realizar sobre conjuntos son launion, la interseccion y el complemento. La generalizacion de estas operacionesdebe hacerse de forma que mantengan el mismo funcionamiento cuando se apliquensobre conjuntos clasicos.

2.2.3.1 Interseccion de conjuntos difusos

Definicion 2.32 (t-norma). Se denomina t-norma a toda funcion t : [0, 1]× [0, 1]→

[0, 1] que verifique las siguientes propiedades:

1. t(α, 1) = α, ∀α ∈ [0, 1] (Frontera)

2. β ≤ γ ⇒ t(α, β) ≤ t(α, γ), ∀α, β, γ ∈ [0, 1](Monotonıa)

3. t(α, β) = t(β, α), ∀α, β ∈ [0, 1] (Commutativa)

4. t(α, t(β, γ)) = t(t(α, β), γ), ∀α, β, γ ∈ [0, 1] (Asociativa)

La tabla 2.1 muestra algunas funciones que se ajustan a la anterior definicion.

Mediante el uso de t-normas, la interseccion de dos conjuntos difusos puede de-finirse de la siguiente manera:

µA∩B(x) = t(µA(x), µB(x)) (2.14)

Para referirnos a funciones de esta familia utilizaremos la notacion ⊗.

2.2.3.2 Union de conjuntos difusos

Definicion 2.33 (t-conorma). Se denomina t-conorma a toda funcion u : [0, 1] ×

[0, 1]→ [0, 1] que verifique las siguientes propiedades:

Page 54: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

32 Conceptos previos

Tabla 2.2: Algunas t-conormas habituales

Nombre Definicion

Maximo u(α, β) = max(α, β)

Suma algebraica u(α, β) = α + β − αβ

Lukasiewicz u(α, β) = min(1, α + β)

1. u(α, 0) = α, ∀α ∈ [0, 1] (Frontera)

2. β ≤ γ ⇒ u(α, β) ≤ u(α, γ), ∀α, β, γ ∈ [0, 1](Monotonıa)

3. u(α, β) = u(β, α), ∀α, β ∈ [0, 1] (Commutativa)

4. u(α, u(β, γ)) = u(u(α, β), γ) (Asociativa)

La tabla 2.2 muestra algunas funciones que se ajustan a la anterior definicion.

Mediante el uso de t-conormas, la union de dos conjuntos difusos puede definirsede la siguiente manera:

µA∪B(x) = u(µA(x), µB(x)) (2.15)

Para referirnos a funciones de esta familia utilizaremos la notacion ⊕.

2.2.3.3 Complemento de conjuntos difusos

Definicion 2.34 (Negacion). Se denomina negacion a toda funcion c : [0, 1]→ [0, 1]

que verifique las siguientes propiedades:

1. c(0) = 1 y c(1) = 0 (Frontera)

2. α ≤ β ⇒ c(α) ≥ c(β), ∀α, β ∈ [0, 1](Monotonıa)

Para mejorar las negaciones, desde un punto de vista practico, tambien se lesexige que sean continuas e involutivas (c(c(α)) = α, ∀α ∈ [0, 1]).

La tabla 2.3 muestra algunas funciones que se ajustan a la anterior definicion.Mediante el uso de negaciones, el complemento de un conjunto difuso puede definirsede la siguiente manera:

Page 55: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.2 La Teorıa de Subconjuntos Difusos 33

Tabla 2.3: Negaciones habituales

Nombre Definicion

Estandar c(α) = 1− α

Umbral c(α) =

1 si α < umbral

0 si α ≥ umbral

µ¬A(x) = c(µA(x)) (2.16)

2.2.4 Relaciones de similitud

Zadeh generalizo el concepto de relacion haciendo uso de la nueva nocion de conjun-to, definiendo ası los conceptos de relacion difusa, relacion de semejanza y relacionde similitud [Zad71, Zad76].

Definicion 2.35 (Relacion difusa). Conjunto difuso definido sobre el producto car-tesiano de dos universos de referencia:

µR : U× V→ [0, 1] (2.17)

Definicion 2.36 (Relacion de semejanza). Consideremos una relacion difusa R de-finida sobre U × U. Se dice que R es una relacion de semejanza si, y solo si, verificalas siguientes propiedades:

1. µR(u, u) = 1, ∀u ∈ U (Reflexiva)

2. µR(u, v) = µR(v, u), ∀u, v ∈ U (Simetrica)

Definicion 2.37 (Relacion de similitud). Consideremos una relacion difusa R defi-nida sobre U × U. Se dice que R es una relacion de similitud si, y solo si, verificalas siguientes propiedades:

1. Es una relacion de semejanza

2. µR(u, v) ≥ maxw∈Umin(µR(u, w), µR(w, v)) (Max-Min Transitividad)

Page 56: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

34 Conceptos previos

2.2.5 Principio de extension de Zadeh

La Teorıa de Subconjuntos Difusos aporta un metodo general para extender opera-ciones sobre conjuntos ordinarios al caso de conjuntos difusos. Es lo que se conocecomo Principio de Extension de Zadeh [Zad75a].

Definicion 2.38 (Principio de Extension). Sea f : U1×U2× ...×Un → Y una fun-cion donde Ui, i=1..n, e Y son universos de referencia. Sean tambien A1, A2, ..., An

conjuntos difusos tales que Ai ∈ P(Ui).

La extension de la funcion f se define como una funcion f : P(U1) × P(U2) ×

...× P(Un)→ P(Y ), definida para todo y ∈ Y de la siguiente manera:

(f(A1, A2, ..., An))(y) = sup(x1,...,xn)∈f−1(y)infµA1(x1), ..., µAn(xn)

(2.18)

2.2.6 La Logica Difusa

Puede decirse que la logica es la ciencia que estudia los principios formales del ra-zonamiento. La Teorıa de Subconjuntos Difusos ha generado una extension de lalogica, la Logica Difusa, cuyo principal objetivo es el estudio de los principios delo que se ha llamado razonamiento aproximado, es decir, aquel razonamiento quenos permite obtener respuestas aproximadas a partir de un conjunto de hechos quepueden ser imprecisos o poco fiables.

El camino hacia la Logica Difusa esta recorrido en parte sobre la evolucion delconjunto de valores de verdad validos a la hora de expresar la veracidad de una pro-posicion. Desde la logica clasica que solo admite verdadero y falso como valoresde verdad, se ha pasado a las logicas multivaluadas [TAT95], en las que se puedeelegir entre un conjunto finito de posibles valores de verdad. La Logica Difusa per-mite utilizar valores de verdad representados como subconjuntos difusos definidosgeneralmente en el intervalo [0,1].

La expresion de los predicados es otra de las ventajas que introduce la LogicaDifusa. Los predicados no tienen la obligacion de estar expresados de forma precisa,sino que pueden ser subconjuntos difusos definidos sobre el universo del discurso. Eslo que se conoce como predicados vagos.

La Logica Difusa tiene como motivacion aportar un marco mas general que el delogicas anteriores para el tratamiento de la imprecision y de la incertidumbre en lainformacion.

Page 57: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.2 La Teorıa de Subconjuntos Difusos 35

2.2.6.1 Conjuncion, disyuncion y negacion

En anteriores apartados hemos visto como se definen las operaciones principales en-tre conjuntos en el marco de la Teorıa de Subconjuntos Difusos. Para ello se hanutilizado tres familias de operadores, a saber: t-normas, t-conormas y negaciones.

En el marco de la logica difusa, las operaciones de conjuncion, disyuncion y ne-gacion, tambien se generalizan utilizando estas familias de operadores: la conjuncionse modela utilizando t-normas, la disyuncion se modela utilizando t-conormas, y lanegacion utiliza la familia de negaciones.

2.2.6.2 Implicacion

Para completar una vision basica del funcionamiento de la logica difusa, falta consi-derar la generalizacion del operador de implicacion, que permite realizar inferencia.Veamos que familia de funciones realiza esta tarea.

Definicion 2.39 (Implicacion Difusa). Se denomina implicacion difusa a toda fun-cion I : [0, 1]× [0, 1]→ [0, 1] que verifique las siguientes propiedades:

1. β ≥ γ ⇒ I(α, β) ≥ I(α, γ), ∀α, β, γ ∈ [0, 1]

2. β ≥ γ ⇒ I(β, α) ≤ I(γ, α), ∀α, β, γ ∈ [0, 1]

3. I(0, α) = 1, ∀α ∈ [0, 1]

4. I(1, α) = α, ∀α ∈ [0, 1]

5. I(α, I(β, γ)) = I(I(α, β), γ)

Existen varios mecanismos para obtener funciones que cumplan estas propieda-des. Una clasificacion relevante de esta familia de operadores, que esta precisamentedeterminada por la forma de obtenerlas, es la que distingue entre R-implicaciones yS-Implicaciones. Las primeras se obtienen a partir del uso de una t-norma continua(ecuacion 2.19), y las segundas se obtienen a partir de una t-conorma y un operadorde negacion (ecuacion 2.20)

I(α, β) = supγ ∈ [0, 1] : t(α, γ) ≤ β (2.19)

Page 58: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

36 Conceptos previos

Tabla 2.4: R-Implicaciones habituales

Nombre Definicion

Godel I(α, β) =

1 si α ≤ β

β si α > β

Goguen I(α, β) =

1 si α ≤ β

β/α si α > β

Lukasiewicz I(α, β) = min(1, 1− α + β)

Tabla 2.5: S-Implicaciones habituales

Nombre Definicion

Kleene-Dienes I(α, β) = max(1− α, β)

Reichenbach I(α, β) = 1− α + α · β

Lukasiewicz I(α, β) = min(1, 1− α + β)

I(α, β) = u(c(α), β) (2.20)

Las tablas 2.4 y 2.5 muestran algunas de las funciones habituales de las dos sub-familias de implicaciones.

2.2.7 Variables linguısticas

Hemos hecho hincapie varias veces en este capıtulo a la idea de que conforme crecela complejidad de un sistema, los datos que se manejan son cada vez mas sofisticados,viendose a la vez afectados de imprecision y de incertidumbre sobre la fiabilidad lasfuentes que los generan.

La forma humana de razonar y de percibir la realidad esta basada en el uso de re-presentaciones resumidas de la realidad, que son por tanto imprecisas y generalmentesubjetivas. Esto justifica la presencia de vaguedad en la informacion.

Ademas, los humanos tendemos a utilizar palabras o sentencias para expresarnuestro razonamiento, evitando en muchos casos la especificidad que conlleva el usode numeros. Ası solemos decir Carmen es joven, en lugar de Carmen tiene 25 anos.

Page 59: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.2 La Teorıa de Subconjuntos Difusos 37

Aunque la segunda sentencia es mas informativa, la realidad es que en numerosasocasiones resulta muy difıcil poder expresarnos con esos niveles de exactitud.

La definicion de variable linguıstica puede expresarse de forma informal comoaquella variable que toma valores linguısticos en vez de numericos. Por ejemplo, vol-viendo al asunto de nuestra amiga Carmen, podrıamos utilizar una variable linguısticaedad, que utilizase terminos como joven, muy joven, de edad mediana, etc. para ex-presarla.

En la Logica Difusa, los conceptos imprecisos se representan mediante el usode variables linguısticas [Zad75a, Zad75b, Zad75c]. La interpretacion de cada valorlinguıstico de una variable se hace en este contexto mediante un conjunto difuso queexpresa una restriccion sobre los valores que puede tener la variable base que se estaexpresando. El grado de pertenencia de cada valor del universo de referencia sobreel que esta definido el conjunto difuso que da significado a un termino linguıstico,expresa el grado de compatibilidad de ese valor con dicho termino.

El razonamiento aproximado se puede establecer de esta manera de una formamas cercana a la que utiliza el hombre. Por ejemplo, si sabemos que el coche deCarmen es pequeno y que los coches de Carmen y de Juan son aproximadamenteiguales, podemos deducir que Juan tiene un coche mas o menos pequeno.

Definicion 2.40 (Variable linguıstica). Una variable linguıstica esta caracterizadapor una quıntupla (X, T(X),U,G,M ), en la que:

1. X es el nombre de la variable.

2. T(X) es el conjunto de valores linguısticos de X. Cuando los elementos de T(X)tienen una sola palabra se denominan terminos atomicos. En caso contrariose habla de terminos compuestos.

3. U es el universo de discurso de la variable.

4. G es una regla sintactica (normalmente en forma de gramatica) que determinala forma de generar valores de T(X).

5. M es una regla semantica que asocia a cada elemento de T(X) su significado.Para cada valor L ∈ T (X), M(L) sera un subconjunto difuso de U .

Las variables linguısticas suelen definirse de forma simple, imponiendo algunasrestricciones a la anterior quıntupla, de forma que resulten sencillas de manejar. Estas

Page 60: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

38 Conceptos previos

restricciones estan normalmente establecidas sobre el numero de terminos y la formade obtener la semantica de los terminos generados.

Definicion 2.41 (Variable linguıstica estructurada). Una variable linguıstica sedice que es estructurada si T(X) y M pueden ser caracterizados algorıtmicamente.

Una forma simple de construir una variable linguıstica es a partir de un conjuntode terminos atomicos, permitir la construccion de otros nuevos compuestos medianteel uso de modificadores.

Definicion 2.42 (Modificador linguıstico). Termino linguıstico que se puede aplicarsobre otro ya existente para construir uno nuevo, actuando como un operador sobreel conjunto difuso que representa el significado de su operando.

Por ejemplo, en el caso de la edad podemos partir de un conjunto basico determinos joven, viejo, y luego construir nuevos terminos mediante la aplicacion demodificadores como muy, bastante, poco, mas o menos.

En estos casos, la semantica se puede construir aportando los conjuntos difusosque representan los terminos basicos y definiendo al mismo tiempo la transformacionque ejerce cada uno de los modificadores sobre un conjunto difuso dado.

Definicion 2.43 (Variable linguıstica booleana). Una variable linguıstica se diceque es booleana si cumple las siguientes condiciones:

1. Tiene un numero finito de terminos atomicos.

2. Tiene un numero finito de modificadores.

3. Permite el uso de los conectivos logicos de conjuncion y disyuncion, ademasde la negacion.

La tabla 2.6 muestra algunas de las operaciones clasicas que se han utilizado paraoperar sobre conjuntos difusos. Un estudio de estos operadores y del uso que se puedehacer de ellos para definir modificadores linguısticos puede consultarse en [Zad73].

2.2.7.1 Variables linguısticas y logica difusa

Las variables linguısticas que se utilizan en logica difusa pueden desempenar rolesbastante variados, y no solo sirven para expresar predicados vagos.

Page 61: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.2 La Teorıa de Subconjuntos Difusos 39

Tabla 2.6: Operaciones de modificacion de conjuntos difusos

Nombre Definicion

Complemento µ¬A(y) = 1 − µA(y)

Interseccion µA∩B(y) = µA(y) ∧ µA(y)

Union µA∪B(y) = µA(y) ∨ µA(y)

Producto µA·B(y) = µA(y) · µA(y)

Normalizacion µNORMA(y) = µA(y)/k, k = supuµA(u) 6= 0

Concentracion µCON(A)(y) = µ2A(y)

Dilatacion µDIL(A)(y) = µ0.5A (y)

Intensificacion de contraste µINT (A)(y) =

2µ2A(y) 0 ≤ µA(y) ≤ 0.5

1 − 2[1 − µA(y)]2 en otro caso

Combinacion convexa µCV X1..k(Ai)(y) = w1(y)µA1

(y) + ... + wk(y)µAk(y),

0 ≤ wi(y) ≤ 1,∑

i wi(y) = 1, ∀y

Difusificacion

FUZZ(A) = µ1K(y1) + ... + µnK(yn)

FUZZ(A) = K(µ1)/y1 + ... + K(µn)/yn

donde K(u) es un intervalo difuso∗

∗conjunto difuso cuya funcion de pertenencia µK(u)(y) es una funcion no decreciente de la dis-tancia entre u e y

Por ejemplo pueden utilizarse para expresar la veracidad de las propias proposi-ciones. Normalmente se suele elegir como referencial el intervalo real [0,1], y sobreel se define un conjunto de etiquetas que expresen los valores de verdad, aportandogamas que vayan desde el falso hasta el verdadero. Por ejemplo, se puede utilizar elsiguiente conjunto de etiquetas:falso, bastante falso, mas bien falso, tan falso comoverdadero, mas bien verdadero, bastante verdadero, verdadero.

Tambien se pueden utilizar para denotar probabilidades, suavizando la expresionde las mismas y evitando la utilizacion de valores numericos o porcentuales. Se puedeutilizar, por ejemplo, el conjunto de etiquetas muy probable, bastante probable, maso menos probable, poco probable, improbable, imposible.

En muchas ocasiones, segun la utilizacion que se espere de ellas, puede obviar-se la definicion de una semantica subyacente definida sobre un conjunto referencialconcreto: el uso de una relacion de similitud y el establecimiento de un orden puedeser suficiente.

Tambien se utilizan para expresar cuantificadores linguısticos como muchos, po-cos, algunos, ninguno, alrededor de n, ... [Zad83].

Page 62: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

40 Conceptos previos

2.3 Imprecision e incertidumbre en bases de datos

El problema de la informacion vaga en bases de datos ha sido ampliamente estudiadoa lo largo de las ultimas decadas. En este contexto, la Logica Difusa y la Teorıa deSubconjuntos Difusos que hemos visto en la anterior seccion han demostrado ser degran utilidad para hacer frente a distintos tipos de falta de precision y certeza quepueden aparecer en los datos del mundo real.

El uso de la logica difusa y de la teorıa de conjuntos difusos para hacer frentea la vaguedad de los datos ha sido estudiado principalmente para el modelo rela-cional de bases de datos. Desde los primeros intentos de Baldwin [Bal79] y Uma-no [Uma82], muchos son los estudios para el desarrollo de modelos difusos relacio-nales de bases de datos, tanto desde el punto de vista teorico [CVK91, CV95, CV94,RM88, VCMP94b, VCMP94a] (diseno de bases de datos relacionales difusas, de-pendencias funcionales difusas, union y division difusas, etc.), como desde el puntode gestion de consultas [DP94, Mou99, VCMP94a, Yag91] (uso de cuantificadoresdifusos para flexibilizar la recuperacion de datos). El proceso ha culminado con eldesarrollo de diversas implementaciones de sistemas de bases de datos relacionalesdifusos [BGH88, KZZ89, MPV94, BMPV00].

Sin embargo, como ya hemos dicho en apartados anteriores, para determinadasaplicaciones con esquemas complejos altamente interrelacionados, el modelo relacio-nal no es el mas adecuado. Las bases de datos orientadas a objetos se han perfiladocomo una de las herramientas mas utiles disponibles para resolver este tipo de pro-blemas, gracias a las potentes caracterısticas que ofrece el modelo orientado a objetospara afrontar el modelado.

Con el fin de mejorar la capacidad de consulta de las bases de datos normales, asıcomo para aumentar la gama de problemas que puedan resolver, se procede ahora,como ya se ha hecho con otros modelos de bases de datos, a extenderlas introducien-do en ellas la posibilidad de trabajar con vaguedad. Aparecen ası los denominadosmodelos difusos de bases de datos orientadas a objetos.

2.4 Bases de datos orientadas a objetos difusas

Los distintos niveles en los que se ha sometido a estudio la incorporacion de vaguedaden el modelado de bases de datos orientadas a objetos, son los siguientes:

Page 63: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 41

• La primera extension que se puede considerar es permitir la entrada de datosdifusos en la base de datos, es decir que los dominios de los atributos de losobjetos puedan ser difusos. Podemos llamar a este nivel, nivel de atributos.

• El segundo nivel que se puede tener en cuenta, es la difuminacion de la per-tenencia de un objeto a una determinada clase. En lugar de considerar que unobjeto pertenezca completamente o no pertenezca en absoluto a una clase da-da, se puede pensar en un grado de pertenencia a la clase en el intervalo [0,1].Llamaremos a este nivel, nivel de relaciones de instancia.

• Un tercer nivel se centra en la propia jerarquıa de herencia de clases que seconsidera, suavizando la idea de relacion superclase-subclase. Esto se puedeestudiar desde dos perspectivas: la primera de ellas consiste en difuminar laherencia del conjunto de variables de instancia, y la segunda en considerarcomo se heredan los rangos de valores asociados a las mismas. Llamaremos aeste nivel, nivel de relaciones de herencia.

• El cuarto nivel se centra en la definicion del tipo de la clase y de los mismosobjetos, considerando la presencia de vaguedad en el mismo nivel de la estruc-tura. Llamaremos a este nivel, nivel de definicion.

• Un quinto y ultimo nivel serıa la difuminacion de la conducta de los objetos,es decir, llevar la vaguedad al comportamiento de los objetos, y por tanto a losmetodos que lo definen. Este nivel lo denominaremos nivel de conducta.

La estrecha relacion que hay entre los modelos semanticos de datos y el modeloorientado a objetos nos lleva a situar los primeros pasos del estudio de la vaguedaden este modelo precisamente en la aparicion de modelos semanticos avanzados, entreellos, como no, el Modelo Entidad/Relacion Difuso:

• En [Rus86], Ruspini presenta los distintos tipos de informacion vaga que cual-quier modelo de datos debe considerar, y ya habla de atributos definidos deforma imperfecta, representados mediante terminos linguısticos y conjuntosdifusos, ademas de considerar escalas probabilısticas y posibilısticas para ex-presar medidas sobre la veracidad de los datos.

• Zivieli and Chen en [ZC86], aunque no se centran en las distintas naturalezasde la vaguedad, empiezan a plantearse los distintos niveles en los que la infor-macion puede estar afectada de vaguedad (conceptual, relaciones difusas entreentidades, conjuntos difusos de entidades ...).

Page 64: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

42 Conceptos previos

• Vanderberghe et al. en [VC91] introducen nociones mas elaboradas de con-ceptos tan importantes como conjunto difuso de entidades, subclases difusas ycategorıas difusas.

A partir del campo de reflexion abierto por estos trabajos en relacion con la pre-sencia de vaguedad en los datos y sus relaciones mas alla del contexto puramenterelacional, empiezan a desarrollarse trabajos que ya se encuadran dentro del propiomodelo orientado a objetos.

A principios de los anos noventa J-P. Rossazza et al. [RDP98] hablan por primeravez de un modelo jerarquico de clases difusas, desarrollando nociones tan importan-tes como la de tipicidad mediante el uso de conjuntos difusos. Pocos meses despues,aparecen trabajos de George et al. [GBP93] en los que las relaciones de similitudcomienzan a ser utilizadas para modelar la imperfeccion en los valores de atributos.

Las principales directrices introducidas por George, han sido recogidas por Yaziciet al. [YAG96, YK97, YGA98] para desarrollar un modelo basado en ellas a lo largode la decada de los noventa. Hacia la mitad de esta decada, empieza a utilizarse conpropiedad el tıtulo de Modelos Orientados a Objetos Difusos de Bases de Datos comoarea independiente en el mundo de la investigacion relativo a las bases de datos.

Es tambien en esta epoca cuando empieza a gestarse una propuesta de G. Bor-dogna y G. Passi [BLP94, BPL99], en la que se presenta una notacion grafica ex-tendida basada en la idea de grafo para representar la informacion siguiendo el pa-radigma de la orientacion a objetos. De forma paralela, N. Van Gyseghem y R. deCaluwe [VD94, VD98] han desarrollado el modelo UFO, una de las propuestas mascompletas que se pueden encontrar en la literatura de esta area de investigacion.

Otros trabajos relevantes en esta area pueden consultarse en [NP96b, NP96a,BCMR00b, BCMR00a, Cao01], aunque se alejan de nuestro punto de interes, cen-trandose unos en modelos algebraicos algo complejos y otros adentrandose en elmundo de la logica. Incluso el modelo Entidad-Relacion sigue bajo estudio en estosmomentos para su utilizacion como herramienta de diseno en bases de datos orienta-das a objetos [MZMC01].

En cualquier caso, segun nuestra opinion, los cinco modelos citados en los parrafosprevios al anterior han sido los trabajos mas importantes que la pasada decada haofrecido en esta area de investigacion, y como tales, merecen ser estudiados con masdetalle en este capıtulo. Las proximas paginas estan dedicadas a esta labor. Pese a lavalıa y cuantıa de sus aportaciones, veremos que en ellos quedan puntos importantes

Page 65: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 43

por tratar con respecto a la vaguedad en el modelo orientado a objetos de bases dedatos, y es precisamente ese el origen y sentido de nuestra propuesta.

2.4.1 El modelo de J-P. Rossaza et al.

Estos autores [RDP98] presentan una representacion orientada a objetos cuya prin-cipal novedad es la posibilidad de especificar un rango de valores permitidos y unrango de valores tıpicos para los atributos que describen una clase. Estos rangospueden ser difusos. En el modelo pueden definirse diferentes tipos de relaciones deinclusion (graduadas) entre clases. Proponen un nuevo mecanismo de herencia y ha-cen un estudio de los procedimientos que se deben seguir ante los diferentes eventosque pueden ocurrir durante el mantenimiento y actualizacion de la base de datos. Nose consideran valores multiples en los atributos.

2.4.1.1 Rango permitido y rango tıpico de un atributo

Definicion 2.44 (Rango permitido). El rango R(a, C) de un atributo a de una claseC es el conjunto de valores permitidos que una instancia de C puede tomar para elatributo a.

El rango de un atributo puede ser un conjunto difuso porque algunos de sus valo-res se consideren atıpicos (menos factibles o posibles que otros valores). Las clasesson borrosas, no debido a la falta de informacion, sino con la intencion de dar flexi-bilidad y trabajar con casos en las fronteras.

Definicion 2.45 (Rango tıpico). El rango tıpico T (a, C) de un atributo a de unaclase C es el conjunto de los valores mas o menos tıpicos que una instancia de C

puede tomar para el atributo a.

Dado que la nocion de tipicidad es gradual, tambien se usan conjuntos difusospara referirse al rango tıpico. Ademas para que un valor se considere tıpico de algunmodo, debe ser no-atıpico, es decir:

Soporte(T (a, C)) ⊆ Nucleo(R(a, C)) (2.21)

En la practica, se suele asumir la igualdad, puesto que es difıcil encontrar un valorque sea no-tıpico y no-atıpico a la vez. De hecho, en el modelo, cuando no se disponedel rango tıpico, se obtiene directamente mediante el uso de esa igualdad.

Page 66: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

44 Conceptos previos

Se puede extender lo anterior y hablar de clases (necesarias) y clases tıpicas,considerando que una clase es el producto cartesiano de los rangos de sus atributos yuna clase tıpica es el producto cartesiano de los rangos tıpicos. Notese que la clasetıpica es diferente de la clase y ademas no tiene una existencia real en la base dedatos.

2.4.1.2 Rango posible y rango creıble de un atributo

Para referirse a una instancia, usan los conjuntos difusos con otro sentido. Apareceel concepto de rango posible (P (a, o)) y el de rango creıble (C(a, o)) de un atri-buto a para la instancia x. El valor real del atributo a para la instancia o esta enSoporte(P (a, o)) pero no sabemos con precision cual es.

Definicion 2.46 (Rango posible). P (a, o) es el conjunto difuso de todos los valo-res mas o menos posibles que puede tener un atributo para la instancia o. Es unainformacion segura, que se obtiene del usuario o por mecanismos de herencia.

Definicion 2.47 (Rango creible). C(a, o) expresa un rango obtenido por medio deun mecanismo incierto (por ejemplo una tecnica de razonamiento cuya validez noeste garantizada).

Cada valor completamente creıble es al menos un poco posible:

Nucleo(C(a, o)) ⊆ Soporte(P (a, o)) (2.22)

Esta relacion es muy debil, y podrıa establecerse otra mas fuerte que tomara elsoporte de C(a, o) en lugar del nucleo, pero el razonamiento plausible puede producirrangos creıbles que no la satisfagan.

La incertidumbre de un rango creıble nace del hecho de que ha sido producidocomo un rango por defecto (o bien razonado de otra forma), mientras que la incerti-dumbre de un rango posible es intrınseca a ese trozo de informacion.

2.4.1.3 Relaciones clase-superclase

El grado de inclusion N(B|A) de un conjunto difuso A en otro B puede calcularsemediante la siguiente expresion:

Page 67: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 45

N(B|A) = Infu∈UI(µA(u), µB(u)) (2.23)

En esta ecuacion, I denota una implicacion difusa. Centrandonos en las relacio-nes superclase (C1) - subclase (C2), la relacion mınima requerida entre los rangosdifusos A = R(a, C2) y B = R(a, C1) para afirmar que la inclusion de A en B seda en algun grado es la siguiente:

Soporte(R(a, C2)) ⊆ Soporte(R(a, C1)) (2.24)

Es decir que no haya valores que pertenezcan en algun grado a A y que no per-tenezcan en ningun grado a B. En su modelo ellos utilizan la implicacion de Godel(tabla 2.4), que satisface este requisito.

Esta definicion de inclusion se puede extender al concepto de clase. Puesto queuna clase se define a traves de la conjuncion de los rangos de sus atributos, pode-mos considerar el grado de inclusion como una agregacion conjuntiva del grado deinclusion de sus atributos comunes dos a dos.

Si suponemos los atributos independientes (es decir que puede darse cualquiertupla del producto cartesiano de los rangos), la generalizacion serıa la siguiente:

N(B1 × ...×Bn|A1 ×An) = ×N(Bi|Ai)|i ∈< 1, n > (2.25)

Se puede demostrar que si el producto cartesiano se define por medio del mınimo,se puede usar tambien el mınimo para agregar los grados de inclusion entre los atri-butos, supuestos los Ai normalizados.

Y esto se puede hacer extensivo al concepto de clase:

N(C1|C2) = minN(R(a, C1)|R(a, C2))| a es un atributo de C2 (2.26)

Visto lo anterior, se puede construir un grafo valuado que muestre los diferentesgrados de inclusion entre una coleccion de clases, teniendo en cuenta que se cumpleademas la siguiente ley de transitividad:

N(C|A) ≥ min(N(C|B), N(B|A)) (2.27)

Page 68: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

46 Conceptos previos

Finalmente se pueden definir otros tres tipos diferentes de enlaces es un tipo devariando rangos por rangos tıpicos3, y calculando:

• N(T (C1)|C2), grado en el que las instancias de C2 son tıpicas de C1.

• N(C1|T (C2)), grado en el que las instancias tıpicas de C2 son de C1.

• N(T (C1)|T (C2)), grado en el que las instancias tıpicas de C2 son tıpicas deC1.

2.4.1.4 Relaciones objeto-clase

Para definir el grado de pertenencia de un objeto o a una clase C, nos tenemos quefijar en el grado de inclusion del rango de valores posibles de cada atributo en loscorrespondientes rangos de la clase en cuestion. El proceso es similar al anterior,pero ahora consideran P (a, o) y R(a, C) y utilizan la implicacion de Dienes (vertabla 2.5), con la intencion de que se cumpla la siguiente propiedad:

N(R(a, C)|P (a, o)) = 1⇔ Soporte(P (a, o)) ⊆ Nucleo(R(a, C)) (2.28)

El grado de pertenencia de un objeto a una clase se puede definir como la con-juncion de los grados de inclusion calculados para cada uno de sus atributos. Esto,supuestos normalizados todos los P (a, o), se puede expresar ası:

N(C|o) = minN(R(a, C)|P (a, o))|a es un atributo de C (2.29)

Podemos ver que se cumple lo siguiente:

• N(C|o) = 1, tenemos certeza de que o pertenece a C, es decir es una instanciano-atıpica de C.

• 0 < N(C|o) < 1, o es sin duda una instancia atıpica de C y lo que le falta parallegar a 1 expresa esa atipicidad.

3mediante T(C) indicaremos que se utilizan los rangos tıpicos

Page 69: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 47

• N(C|o) = 0, no significa que o no pertenezca a C, sino que tenemos unaignorancia completa sobre ello. Es mejor no memorizar estos enlaces en labase de datos.

Ademas se cumple la siguiente ley de transitividad, que indica que una instanciade una clase es instancia de sus superclases:

N(C1|o) ≥ min(N(C2|o), N(C1|C2)) (2.30)

2.4.1.5 Herencia e instanciacion

El modelo no soporta la herencia ponderada por el usuario (con los problemas deconsistencia que conlleva), sino que propone tres tipos de herencia: tıpica, atıpica ynormal. Los pesos de los nuevos enlaces se calculan despues. Ademas la herenciapuede ser simple o multiple. Considerando primero la herencia simple, podemoselegir una de estas situaciones:

• C es una subclase tıpica de D: Los rangos posibles de C se heredan de losrangos tıpicos de D.

• C es una subclase normal de D: Los rangos de la clase C se heredan de losrangos de la clase D.

• C es una subclase atıpica de D: Los rangos posibles de C se heredan de lainterseccion de los rangos posibles de D con el complemento de los rangostıpicos de D, o, si estos no son conocidos, de los rangos posibles de D. Laherencia atıpica es la que afecta al grado de inclusion entre clases.

La herencia multiple se soluciona tomando la interseccion de los rangos de lassuperclases, teniendo en cuenta la naturaleza de la herencia y controlando una seriede condiciones de consistencia.

La instanciacion se gestiona de forma similar a la herencia, considerando tambientres tipos de instanciacion (normal, tıpica y atıpica), cada uno de los cuales determinalos rangos posibles y creıbles de la instancia a partir de los rangos de la clase. Noteseque al tomar algunas veces los rangos tıpicos como creıbles para la instancia, se estahaciendo una especie de razonamiento por defecto.

Page 70: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

48 Conceptos previos

2.4.1.6 Actualizacion de la jerarquıa

Los autores completan su modelo ofreciendo un conjunto de procedimientos que sedeben aplicar sobre el esquema cuando se produce alguna de las siguientes operacio-nes de actualizacion en la jerarquıa: insercion de nuevas clases, borrado de algunaclase, actualizacion de alguna clase - adicion y borrado de atributos y/o rangos-, mo-dificacion de instancias, etc. Siguiendo sus procedimientos, se garantiza que el grafovaluado que representa la jerarquıa de herencia se mantenga en un estado consistente.

2.4.1.7 Razonando con el modelo

El modelo propuesto esta muy orientado a la representacion del conocimiento y per-mite varios modelos de razonamiento:

• Razonamiento en una red semantica, que se puede obtener olvidandonos de lasdescripciones y atendiendo solo a los enlaces de la jerarquıa, colocando nodos(clases necesarias), nodos tıpicos (clases tıpicas) y enlaces “es un tipo de” y“es un”.

• Razonamiento sobre las descripciones: Las descripciones nos pueden permitirdescubrir nuevas relaciones entre los objetos de una base de datos, y entre lasclases a las que pertenecen. Si usamos otros ındices ademas de los de inclusionde Dienes y Godel, podemos calcular la posibilidad de que una instancia per-tenezca a una clase, el parecido entre dos clases dadas, grados negativos queexpresen no pertenencia o no inclusion, etc.

• Clasificacion: Tambien podemos afrontar problemas de clasificacion, consis-tentes en colocar de la mejor forma una instancia (posiblemente mal conocida)en una jerarquıa. El metodo natural consiste en ver los distintos grados depertenencia para las clases mas generales, y bajar por las ramas de la jerar-quıa tanto como se pueda. La ventaja de esta representacion es que es inutilseguir mirando las subclases de una clase que ya ha fallado en el proceso declasificacion (consecuencia de la ley de transitividad).

• Tambien podemos realizar inferencias acerca del contexto (conjunto de atribu-tos) en el que dos objetos o clases satisfacen una relacion determinada.

Page 71: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 49

2.4.2 El modelo GBP de R. George et al.

El trabajo que presentan estos autores [GBP93] no tiene su objetivo principal en larepresentacion del conocimiento ni en la inferencia, sino en representar situacionesdel mundo real dentro de un sistema gestor de bases de datos.

Utilizan un paradigma orientado a objetos clasico, introduciendo una distincionentre las nociones de dominio y rango de un atributo.

Definicion 2.48 (Dominio). Conjunto de valores que un atributo puede tomar inde-pendientemente de la clase en la que este.

Definicion 2.49 (Rango). Conjunto de valores permitidos para un atributo en unobjeto de una clase determinada. En general, el rango esta incluido en el dominio.

Proponen representar los problemas mediante el uso de una jerarquıa de clasesdifusa que se distingue de la clasica en que los conceptos que definen las clases tienenunos lımites imprecisos. Esta borrosidad se debe a la falta de precision de los valoresque toman los objetos que forman la clase.

Cada clase define un rango formal para cada atributo. Sin embargo un objetopuede tener un rango de valores para ese atributo bastante diferente de este. A la horade calcular el grado de pertenencia de dicho objeto a la clase en cuestion, se utilizauna relacion de similitud definida en el dominio de valores del atributo.

2.4.2.1 Relaciones objeto-clase

Veamos primero como realizan el calculo del grado de pertenencia de un objeto oj

a una clase C con atributos ai. Para calcularlo, utilizan el concepto de relevanciajunto con los rangos de los atributos, aplicando la siguiente formula:

µC(oj) = g[f(RLV (ai, C), INC(rng(ai)/oj .ai))] (2.31)

En la anterior formula rng(ai) se refiere al rango asociado al atributo ai de laclase C, oj .ai se refiere al valor del atributo ai para el objeto oj y RLV (ai, C) indicala relevancia que tiene el atributo ai en relacion con el concepto representado por laclase C.

INC(rng(ai)/oj .ai) denota el grado de inclusion de los valores de atributo deoj en el rango de ai perteneciente a la clase C. Este grado de inclusion viene determi-

Page 72: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

50 Conceptos previos

nado por el grado de similitud entre el valor (o conjunto de valores) del denominadorcon el valor (o conjunto de valores) que aparece en el numerador.

La funcion f representa la agregacion de los n atributos de la clase y g refleja eltipo de enlace existente entre una instancia y la clase/superclase (estas funciones sonheredadas de la superclase o definidas dentro de la clase local).

El valor de relevancia es aportado por el usuario o calculado de alguna manera.Para el calculo del grado de inclusion INC, se tienen en cuenta los siguientes casos:

1. Caso trivial, si oj .ai = ∅: INC = 0.

2. oj .ai ⊆ rng(ai): INC = 1.

3. Si |oj .ai| = 1 y oj .ai /∈ rng(ai) entonces tomamos el elemento con mayorsimilitud en el rango de ai para esta clase:

INC = max(µS(oj .ai, y)), y ∈ rng(ai)

donde µS(x, y) denota una relacion de similitud.

4. Si |oj .ai| > 1 y oj .ai 6⊂ rng(ai), entonces se pueden usar tres interpretacionessemanticas de los valores multiples:

(a) Semantica AND (es decir, todos los valores existen simultaneamente):

INC = minx∈oj .ai

maxz∈rng(ai)

(µS(x, z)), umb(oj .ai)

donde umb representa el mınimo nivel de similitud entre los valores delobjeto para el atributo y hace de cota superior. Es decir, se busca aquelvalor que tenga un grado de similitud mas bajo con los valores tıpicos delatributo para la clase (teniendo en cuenta, claro esta, el umbral).

(b) Semantica OR (algunos o todos existen simultaneamente). Se puedendistinguir dos tipos:

i. Exclusiva (exactamente uno es cierto):

INC = max(µS(x, z)), con x ∈ oj .ai y z ∈ rng(ai)

Se puede observar que se toma una postura muy optimista, al utilizarel maximo.

Page 73: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 51

ii. Inclusiva (se puede dar cualquier combinacion de valores ciertos):

INC = maxmax(µS(x, y)), minmax(µS(y, z)), umb(oj .ai)

con x, y ∈ oj .ai y z ∈ rng(ai)

Puede verse que se toma una postura optimista, considerando que sepuede dar el caso AND, o un caso pseudoexclusivo.

2.4.2.2 Relaciones clase-superclase

Para calcular el grado de pertenencia de una clase con respecto a sus superclasestenemos que tener en cuenta la relevancia de los atributos en relacion con el conceptorepresentado por la clase, el grado de inclusion de los rangos de los atributos de laclase en los de la superclase y la distancia conceptual entre la clase y la superclase.De forma similar a como se hacıa con los objetos, utilizan la siguiente expresion:

µCi(C) = g[f(RLV (ai, Ci), INC(rngCi(ai)/rngC(ai)))] (2.32)

El grado de pertenencia es entonces un valor ideal que relaciona los dos conceptosrepresentados por las clases. Los valores reales que se den en las instancias de esasclases pueden ser bastante diferentes. Para el calculo de INC, volvemos a tener unaserie de casos:

1. caso trivial si rngC(ai) = ∅: INC = 0.

2. rngC(ai) ⊆ rngCi(ai): INC = 1.

3. rngC(ai) 6⊂ rngCi(ai): INC = max(µS(x, y)) con x ∈ rngC(ai) e y ∈

rngCi(ai).

Notese que estos autores, al tomar el maximo para el caso (3), ignoran aquellosvalores del rango de la subclase que quedan fuera del rango de la superclase.

Las jerarquıas de clases clasicas se pueden modelar tambien con este enfoque. Engeneral f y g en estas jerarquıas son siempre la funcion identidad, y las relevanciasson las mismas para todos los atributos.

Page 74: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

52 Conceptos previos

2.4.3 El modelo FOOD de A. Yazici et al.

Estos autores [YAG96, YK97, YGA98] presentan un enfoque para el modelado quetambien soporta vaguedad en los niveles de atributo, objeto-clase y clase-superclase,ademas de en las relaciones clase-clase y asociaciones entre clases. Puede conside-rarse como una extension del anterior modelo.

Al igual que en la propuesta de R. George et al., la base de este modelo de basesde datos orientadas a objetos difusas (FOOD) es el cambio de la relacion de igualdadpor relaciones de similitud.

Para cada atributo, se define un dominio y una relacion de similitud (que genera-liza el concepto de relacion de equivalencia) para el conjunto de valores que puedetomar. Estos autores tambien utilizan el concepto de dominio y rango asociado a cadaatributo y la ecuacion 2.31 del modelo GBP para el calculo del grado de pertenenciade un objeto en relacion con una clase. Pero hacen una propuesta concreta para lasfunciones f y g, ademas de hacer algunos cambios con respecto a la interpretacionsemantica cuando aparecen valores multiples en los atributos del objeto.

2.4.3.1 Nivel de atributo

La incertidumbre en este nivel puede aparecer por muchos motivos, como por ejem-plo la presencia de informacion en terminos descriptivos no precisos.

De forma paralela a como se hacıa en el anterior modelo, a cada atributo difusose le puede asociar una semantica determinada de entre las siguientes: AND, OR yXOR, que debera elegirse en funcion del significado que se le quiera dar a los valoresdel atributo en caso de que sean multiples.

2.4.3.2 Relaciones objeto-clase

Si un objeto tiene los valores ideales para cada atributo difuso, pertenecera a la clasecon grado 1, y en otro caso lo hara con grado menor. El punto en el que deja deconsiderarse un objeto como instancia de una determinada clase se puede determinarpor medio de un umbral.

Al igual que en la propuesta anterior, para calcular el grado de pertenencia de unobjeto a una clase, debemos calcular el grado de inclusion de los valores que tomacada atributo en el rango de valores asociado a ese atributo en esa clase, teniendo encuenta la semantica del mismo (AND, OR, XOR).

Page 75: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 53

Se distinguen los siguientes casos:

1. Semantica AND: Si un objeto tiene todos los valores del rango, entonces elgrado de inclusion es 1, en otro caso sera menor dependiendo de las similitudes.La formula que se utiliza es la siguiente:

INC(rng(ai)/oj .ai) = min[min[max(µS(x, y)))], min[max(µS(z, w))]]

con x ∈ rng(ai), ∀y ∈ oj .ai, z ∈ oj .ai, ∀w ∈ rng(ai)(2.33)

Notese que esta postura es mas pesimista que la del anterior modelo, puesto quebusca la mınima similitud existente entre los valores del objeto y los valoresdel rango, y viceversa.

2. Semantica OR: Al igual que en la propuesta anterior, se tiene en cuenta la faltade similitud entre los valores del objeto para ese atributo, y se utiliza como cotasuperior. La formula es la siguiente:

INC(rng(ai)/oj .ai) = min[max(µS(x, y)), umb(oj .ai)]

∀x ∈ oj .ai, z ∈ rng(ai)(2.34)

Se puede observar, que estos autores interpretan la semantica OR como lo hacıael anterior para la semantica AND.

3. Semantica XOR: En este caso se obliga a que solo uno de los valores del rangosea cierto. Notese la diferencia con el anterior caso. La formula utilizada es:

INC(rng(ai)/oj .ai) = Mediax[maxy(µS(x, y))]

con x ∈ oj .ai, ∀y ∈ rng(ai)(2.35)

Estos autores se muestran mas prudentes con esta semantica. Al tomar la me-dia, consideran la posibilidad de que todos los valores puedan resultar elegidos.

Una vez que tenemos el grado de inclusion para cada atributo, el grado de perte-nencia del objeto oj a la clase C se puede calcular como sigue:

µC(oj) =∑

[INC(rng(ai)/oj .ai) ·RLV (ai, C)]/∑

[RLV (ai, C)] (2.36)

Page 76: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

54 Conceptos previos

La ecuacion anterior es similar a la del modelo GBP (2.31), pero con una pro-puesta concreta de funciones f y g. En realidad hacen una media de los valores deinclusion, ponderada por la relevancia de los atributos.

2.4.3.3 Relaciones clase-superclase

Normalmente, las jerarquıas no incluyen vaguedad, porque se intenta construir unajerarquıa de clases plena de significado desde el principio del diseno. Sin embargo, nosiempre es facil construir esa jerarquıa de forma precisa, debido a posibles diferenciasconceptuales entre una clase y sus subclases.

El grado de pertenencia de una subclase a sus superclases se calcula usando lasdefiniciones de rango y relevancia de atributos, de forma similar al caso del apartadoanterior. El grado de inclusion del rango de valores para un atributo de una subclaseC en el rango de valores de la superclase Ci se calcula como sigue:

INC(rngCi(ai)/rngC(ai)) = Minx[Maxy(µS(x, y))]

con x ∈ rngCi(ai), ∀z ∈ rngC(ai)(2.37)

Estos valores de inclusion tambien se combinan de forma ponderada con su re-levancia, mediante la siguiente formula, para obtener el grado de pertenencia de laclase C a su superclase:

µCi(C) =∑

[INC(rngCi(ai)/rngC(ai)) ∗RLV (ai, Ci)]/∑

[RLV (ai, Ci)]

(2.38)

La ecuacion sigue la misma polıtica para sustituir las funciones f y g del mo-delo GBP: una media de los valores de inclusion ponderada por la relevancia de losatributos.

El modelo que presentan estos autores, se completa con la posibilidad de definirreglas asociadas al esquema (para el calculo de valores de atributos, creacion de clasesvirtuales, etc.). Incorporan la Logica Difusa, haciendo mucho mas potente el modeloorientado a objetos, que de esa forma no solo es difuso, sino que tambien adquiere lacapacidad de ser deductivo. En [KYG00] los mismos autores proponen un sistemadifuso-deductivo, construido sobre el modelo FOOD, al que denominan IFOOD. Allıse explica la estrategia que siguen para mezclar las capacidades deductivas con elmodelo orientado a objetos subyacente en una arquitectura montada sobre una base

Page 77: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 55

de datos orientada a objetos y una base de conocimiento. Para iniciar un estudiosobre las arquitecturas de bases de datos orientadas a objetos deductivas, remitimosal lector a la referencia [SP97].

2.4.4 El modelo de G. Bordogna et al.

Este modelo [BLP94, BPL99] esta basado en una representacion grafica para hacerfrente a la presencia de informacion vaga en una base de datos orientada a objetos.Resulta muy expresivo, porque acompana cada elemento capaz de representar infor-macion imprecisa o incierta, de una notacion grafica que permite construir el modeloconceptual de una forma muy explıcita y clara.

En su trabajo, G. Bordogna et al. tambien proponen una implementacion que,basicamente, consiste en el almacenamiento y gestion de este grafo en un gestor debases de datos orientado a objetos tradicional.

Este modelo es diferente de los anteriores, porque solo persigue la representacionde las distintas formas de informacion imperfecta que pueden aparecer en una basede datos, sin aportar formas de calcular relaciones inciertas o imprecisas entre loselementos del esquema, mientras que los tres modelos anteriores sı lo hacıan. Veamosun pequeno repaso a las diferentes caracterısticas de esta propuesta.

2.4.4.1 Grafo de esquema y grafo de instancias

Los modelos de datos orientados a objetos basados en una representacion en forma degrafo tanto del esquema como de las instancias, aportan una forma natural de manejarlos datos que resulta muy sencilla de utilizar por parte de los usuarios. En [BLP94]se describe el modelo de objetos basado en un grafo que sirve de punto de partida pa-ra la elaboracion de esta propuesta. Basicamente, el esquema de la base de datos sedefine mediante un grafo dirigido con etiquetas en los arcos, en el que las clases de-finidas por el usuario se representan mediante nodos de forma rectangular, las clasesprimitivas se representan por nodos de forma oval, las relaciones superclase-subclasese representan mediante arcos dirigidos en negrita etiquetados ”is-a”y las propieda-des se representan mediante arcos dirigidos desde la clase que caracterizan a la claseque les da tipo, etiquetados con el nombre de la propiedad.

A partir de este grafo de esquema, se pueden obtener instancias del mismo, conlos objetos reales, sustituyendo el contenido de los nodos de las propiedades, porvalores reales correspondientes a los objetos que se pretenden representar.

Page 78: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

56 Conceptos previos

2.4.4.2 Valores vagos para los atributos

Cuando no se conoce el valor preciso de un atributo para un objeto, el modelo permiteincorporar un valor vago para el atributo, normalmente mediante el uso de un valorlinguıstico representado mediante una distribucion de posibilidad sobre el dominioasociado al atributo. En su modelo, el conjunto basico de tipos se completa mediantela definicion de tipos vagos. Cada tipo vago se forma a partir de un dominio D y unavariable linguıstica X . El tipo vago Te, se obtiene considerando la union de las partesdel dominio preciso P (D) y el conjunto de terminos de la variable linguıstica T (X).

En el grafo del esquema, los atributos que toman valores vagos se presentan me-diante un nodo en forma de nube.

2.4.4.3 Propiedades inciertas de objetos

La falta de informacion completa sobre el valor real de un atributo puede llevarnosa considerar un cierto grado de incertidumbre asociado con el mismo. Para ello elmodelo permite utilizar un valor ε ∈ [0, 1], que indique ese grado de incertidumbre.Cuanto mayor es ese valor, mayor es la inseguridad que tenemos sobre el valor delatributo.

En el grafo de instancias se utilizan flechas discontinuas para representar este tipode situaciones, etiquetandolas con el valor de incertidumbre correspondiente.

2.4.4.4 Propiedades con valor de fuerza en los objetos

El modelo permite asociar a cada propiedad un valor de fuerza. La fuerza tieneuna interpretacion semantica dependiente del contexto, y no expresa ningun tipo deincertidumbre. Por ejemplo, podemos utilizar esta caracterıstica para ponderar larelacion que tiene un proyecto con sus miembros. Para definir el valor de fuerza, elsistema ofrece un conjunto de terminos asociados a una variable linguıstica definidapor defecto y que se denomina tambien Fuerza.

En el grafo, esta caracterıstica se expresa mediante el uso de una flecha disconti-nua en negrita con el valor de fuerza asociado.

Page 79: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 57

2.4.4.5 Relaciones objeto-clase: Clases difusas

Introducen este concepto para representar aquellos casos en los que la pertenencia delos objetos a una determinada clase es parcial. La representacion de esta pertenenciagradual de los objetos a la clase se hace asociando un valor de fuerza a cada relacionde instancia que hay en el modelo.

En el grafo de esquema se utilizan una caja rectangular sombreada para denotaruna clase difusa, mientras que en el grafo de instancias se anade una etiqueta al arcoque representa la relacion de instanciacion para indicar el grado de pertenencia.

2.4.4.6 Relacion clase-superclase: jerarquıas difusas de clases

Estos autores consideran la definicion de jerarquıas difusas de clases como una herra-mienta util de cara a la clasificacion. Cuando tanto la superclase como la subclaseson clases difusas, el modelo permite anadir un modificador linguıstico que indiqueel tipo de relacion existente entre ambas. Por ejemplo, se puede usar “muy” pararepresentar una especializacion, y “mas o menos” para expresar una generalizacion.El sistema aporta un conjunto de etiquetas para estos fines: no por completo, mas omenos, muy, definitivamente.

En el grafo de esquema, esta caracterıstica se representa etiquetando el arco diri-gido que une la superclase con la subclase, y poniendolo en negrita.

2.4.4.7 Otros aspectos del modelo

El trabajo de estos autores esta muy orientado al razonamiento y la clasificacionsobre la informacion representada siguiendo su modelo. La respuesta a consultasplanteadas en terminos difusos, teniendo en cuenta la informacion vaga e inciertaque tiene cabida en la representacion grafica de la base de datos, no esta resueltaaun de una forma clara. Los autores, de momento, se limitan a indicar como puedeninfluir los grados asociados a los arcos a la hora de determinar el conjunto de objetosrespuesta a una consulta de usuario.

En otro trabajo [BP99], se expone una propuesta para calcular objetos tıpicosdentro de este modelo. Teniendo en cuenta los objetos presentes en la base de datospara una determinada clase, y utilizando operadores de agregacion suave [Yag], ob-tienen un objeto prototıpico, que puede servir para obtener valores por defecto de laspropiedades desconocidas de las nuevas instancias en la base de datos.

Page 80: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

58 Conceptos previos

Tabla 2.7: Metodos de FUZZYSETMetodo Descripcion

CreateIterator Para definir un iterador sobre el conjunto difusoUnion Para obtener la union difusa de dos conjuntos

Mu Para obtener el grado de pertenencia de un determinado objetoCut Para obtener un α-corte del conjunto

Threshold Para obtener un corte difuso a nivel α

ChangeMu Para cambiar los niveles de pertenencia de los objetos

2.4.5 El modelo de N. Van Gyseghem et al.

Quizas sea el modelo de estos autores (denominado UFO4) [VD94, VD98] el mascompleto de los propuestos hasta ahora y tambien el mas complejo. No proponemetodos para hacer calculos de niveles de pertenencia, pero considera la represen-tacion de informacion imperfecta en todas sus versiones y en todos los niveles delesquema.

Los autores dividen su modelo en dos partes claramente diferenciadas: una par-te para tratar borrosidad y otra parte para tratar incertidumbre e imprecision. Parala primera parte, la propuesta es el resultado de cambiar por un conjunto difuso to-do aquello que sea representado por un conjunto clasico en el modelo orientado aobjetos, siempre y cuando ese cambio proporcione alguna ventaja extra. Para la se-gunda se utiliza la vision semantica de los conjuntos difusos como distribuciones deposibilidad [Zad78].

2.4.5.1 Parte borrosa del modelo UFO

Valores difusos para atributos multivaluados (sentido conjuntivo)

Para poder soportar valores difusos para los atributos en general, se introduce unaclase generica en la jerarquıa, la clase FUZZYSET. Esta clase permite crear instanciasque son conjuntos difusos definidos sobre la clase que se le pasa como argumento:FUZZYSET(CL). Junto con esta clase, se aportan una serie de metodos para facilitaral usuario la manipulacion de los conjuntos difusos creados como instancias de lamisma (tabla 2.7).

En este modelo no se permite definir el valor de un atributo univaluado comoun conjunto difuso porque no tendrıa entonces un sentido conjuntivo, y pasarıa a ser

4del ingles Uncertainty and Fuzziness in an Object oriented database model

Page 81: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 59

considerado como una forma de imprecision o de incertidumbre sobre el valor quetiene el objeto, y esto se modela de otra forma, como veremos mas adelante.

Quizas lo mas relevante de esta propuesta sea la forma en que propagan estaborrosidad hacia los metodos. Cuando se aplica un metodo sobre un objeto que es unconjunto difuso, el resultado de aplicar ese metodo sera tambien un conjunto difusodefinido sobre la clase resultado, formado por todos aquellos objetos de esta ultimaclase que se obtienen al aplicar el metodo sobre alguno de los objetos del conjuntodifuso receptor, y con grados de pertenencia calculados siguiendo el principio deextension de Zadeh (Seccion 2.2.5).

Esta idea tan sencilla, se complica algo mas cuando el metodo en lugar de produ-cir resultados, se espera que produzca efectos laterales sobre el objeto receptor. Eneste caso, se hace una aplicacion gradual del metodo sobre cada uno de los objetosdel conjunto difuso receptor, teniendo en cuenta el grado de pertenencia con que cadaobjeto pertenece a dicho conjunto.

Modelado suave y propiedades difusas

El modelo UFO permite hacer modelado suave permitiendo que las clases tengantanto propiedades requeridas como propiedades opcionales. Estas ultimas se corres-ponden con propiedades especıficas de posibles subclases, que no estan definidasdentro del esquema de la base de datos para una aplicacion concreta. Cada objetoindica, en el momento de su creacion, que propiedades de entre las opcionales incor-porara. Una propiedad opcional no es heredada necesariamente por las subclases, yen caso de serlo, puede hacerlo manteniendo o no la opcionalidad.

Estos conceptos se extienden ahora al caso difuso. Una propiedad difusa es unapropiedad que no tiene por que ser completamente aplicable para todos los miembrosde una clase, ni tiene por que serlo siempre en el mismo grado. Cada objeto tieneun grado de aplicabilidad asociado con cada propiedad difusa, indicando el gradoen que esa propiedad es aplicable para el. Este grado de aplicabilidad no es deltodo libre: cada clase define para cada propiedad un conjunto de posibles valores deaplicabilidad o bien indica una cota mınima para la misma.

Instancias difusas y clases difusas

Al igual que ocurre en otros modelos, UFO permite tener clases difusas, es decir,clases que pueden tener objetos que sean instancias de ella en un cierto grado.

Page 82: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

60 Conceptos previos

El usuario indica el conjunto de propiedades que un objeto tendra, pero segun elgrado con el que el objeto este relacionado con una determinada clase, los autoresdefinen una serie de restricciones que se deben mantener en funcion de los valoresposibles de aplicabilidad de cada propiedad para la clase en cuestion.

Herencia difusa

En este modelo se define una relacion de herencia difusa entre las clases, con la ideade evitar la rigidez de las jerarquıas de herencia en los modelos clasicos orientadosa objetos. Sin embargo, el principio de que una subclase hereda y especializa laestructura y el comportamiento definidos para la superclase sigue siendo esencial enUFO: aunque ahora referido solo a aquellas propiedades que pertenecen al nucleo delas clases.

La relacion de herencia entre clases se difumina, permitiendo dos formas deafrontar la herencia de propiedades :

Definicion 2.50 (Herencia Parcial). Tipo especial de herencia en el que solo elnucleo de las propiedades requeridas para la superclase se hereda como propiedadesrequeridas para la subclase. El resto de propiedades se heredan considerando elgrado en que la nueva clase es subclase de la superclase.

La idea es obtener una subclase que sea extension borrosa de la superclase (porejemplo, adultos - mas o menos adultos). Los objetos que pertenecen a la subclaseseran miembros difusos de la superclase. La herencia parcial se puede establecer solocon respecto a una superclase que no sea difusa.

Definicion 2.51 (Herencia condicionada). Tipo especial de herencia en el que todaslas propiedades requeridas definidas para la superclase, son heredadas de una formacondicional, es decir que no seran necesariamente aplicables para todos los objetosde la nueva subclase.

La herencia condicionada es mucho mas general: ahora la superclase puede serdifusa.

Page 83: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.4 Bases de datos orientadas a objetos difusas 61

Tabla 2.8: Metodos de POSSMetodo Descripcion

CreateIterator Para definir un iterador sobre la distribucionPi Para obtener el grado de posibilidad de un objeto

ChangePi Para cambiar las posibilidades de los objetosDefuz Para borrar un objeto, sustituyendolo por otro cierto

2.4.5.2 Parte incierta e imprecisa del modelo UFO

Valores inciertos e imprecisos para los atributos (sentido disyuntivo)

Para modelar valores inciertos e imprecisos el sistema incorpora una nueva clasegenerica POSS. Esta clase nos permite construir distribuciones de posibilidad sobreuna clase dada, pasando dicha clase al constructor de la clase POSS: POSS(C). Juntocon esta clase, se aportan una serie de metodos para facilitar al usuario la manipula-cion de las distribuciones creadas como instancias de la misma (tabla 2.8).

Tambien se hace uso del principio de extension para construir un iterador quepermita aplicar metodos a distribuciones de posibilidad. El estudio que los autoresrealizan considera incluso la presencia de argumentos que sean a su vez distribucionesde posibilidad.

Generalizacion de la incertidumbre en los objetos

El asunto se complica bastante cuando se consideran objetos no-literales (es decir,que no sean de los tipos simples presentes en la base de datos). Para manejar laincertidumbre en los objetos no literales, se utiliza el concepto de objeto rol.

Un objeto de la clase ROLE (generica en el sistema) sirve para modelar el posibleaspecto de un objeto dado de la base de datos, en un contexto determinado. Cuantamayor sea la incertidumbre que rodea a un objeto, mas roles tendra asociados. Un rolpuede estar asociado a un conjunto determinado de propiedades.

Modelado hipotetico

Finalmente se considera la posibilidad de modelar incertidumbre en el esquema delas propias clases. Tambien se utilizan los roles para hacer frente a este problema. Si

Page 84: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

62 Conceptos previos

una clase puede tener distintos aspectos y no se conoce cual de ellos es con certeza,lo que se hace es acompanar cada una de las instancias que se creen de la clase contantos roles como posibles aspectos puedan darse atendiendo a las posibilidades quepermite la definicion incierta de la propia clase.

2.5 Conclusiones: crıtica y motivacion

Hemos dedicado este capıtulo a presentar las bases para el desarrollo de nuestro tra-bajo. Nuestro repaso de los conceptos elementales del modelado orientado a objetosde bases de datos nos ha llevado a la conclusion de que este modelo posee una capa-cidad especial para el modelado de aplicaciones del mundo real cuyos datos tenganla necesidad de ser representados mediante esquemas complejos y que requieran deherramientas para la abstraccion capaces de expresar la funcionalidad de esos esque-mas.

La Teorıa de Subconjuntos Difusos ha sido presentada como una herramienta utilpara gestionar la vaguedad que puede afectar a la informacion en el mundo real. LaLogica Difusa, extension de la logica fundamentada sobre la Teorıa de SubconjuntosDifusos, permite el razonamiento aproximado con este tipo de informacion, y lasvariables linguısticas permiten expresar esa informacion de una forma mas cercanaal lenguaje que utilizamos las personas para expresar nuestro conocimiento.

Los modelos difusos de bases de datos orientados a objetos son un intento deflexibilizar los modelos orientados a objetos clasicos, con la intencion de hacer frentea la informacion imperfecta. Son muchas las aportaciones de los modelos presentadosen el apartado anterior, aunque la mayorıa de ellos ofrecen soluciones que afrontansolo parcialmente el problema de la informacion vaga en este modelo de bases dedatos, y cuando sus soluciones ganan en exhaustividad, lo hacen de forma paralelaen complejidad y falta de amigabilidad con el disenador de la base de datos.

El primer modelo de los estudiados, el de J-P. Rossaza et al., esta orientado prin-cipalmente a la representacion del conocimiento y la inferencia, y esta lejos de ser unbuen modelo de referencia para el caso en el que la orientacion a objetos se apliqueal almacenamiento y recuperacion de datos en un sistema de informacion:

• Entre los meritos de estos autores esta el de ser los primeros que hablan deconjuntos difusos como valores para los atributos. Sin embargo, consideranla interpretacion de esos conjuntos solo en un sentido disyuntivo, y no paraexpresar valores multiples, que quedan fuera de esta propuesta.

Page 85: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.5 Conclusiones: crıtica y motivacion 63

• En el nivel de atributo enriquecen la interpretacion de las definiciones me-diante los conceptos de rango permitido y tıpico para las clases, y de rangoposible y creıble para los objetos. Ademas, esta extension les permite estable-cer relaciones objeto-clase y clase-superclase graduadas, mediante el estudiode relaciones de inclusion entre dominios y valores.

• La imprecision no tiene un tratamiento adecuado en el modelo. Se habla dedistintas formas de incertidumbre en los datos, y esa incertidumbre tiene reflejoen las relaciones anteriores, pero no hay mecanismos explıcitos para manejarvalores imprecisos.

• Son los primeros autores que hablan de distintos tipos de herencia, determi-nando diferentes formas de heredar los rangos en las subclases en funcion desu tipicidad. Sin embargo, desde el punto de vista estructural, la herencia siguecorrespondiendose con el mecanismo clasico.

Los dos siguientes modelos (GBP y el modelo FOOD de Yazici et al.) estantambien enfocados en el nivel de valores de atributo y en el de las relaciones objeto-clase y clase-superclase:

• Su principal aportacion radica en introducir la utilizacion de relaciones de si-militud definidas sobre los dominios y los rangos de los atributos, para podermanejar ası la imprecision que pueda aparecer en los valores de los atribu-tos. Sin embargo, estos valores siguen siendo conjuntos clasicos univaluados omultivaluados con diferentes semanticas (conjuntiva, disyuntiva multiple, dis-yuntiva exclusiva). El uso de las relaciones de similitud supone un gran pasopor su idoneidad para afrontar formas de imprecision, pero, debe tenerse encuenta lo siguiente:

– Todos los dominios son conjuntos de valores y la correspondiente rela-cion de similitud definida sobre los mismos. Esto es una vision muysimple de las distintas formas de imprecision que pueden aparecer en eldominio de los atributos. Aunque haya casos en los que un conjunto deetiquetas y la propia relacion sea suficiente, en otros muchos habrıa quellevar a cabo una representacion semantica de las etiquetas sobre un do-minio subyacente.

– La principal distincion entre imprecision e incertidumbre que se hace enel modelo es que se aplican en niveles distintos: la imprecision de los

Page 86: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

64 Conceptos previos

datos se traduce en falta de certeza al clasificar y al relacionar clases enla jerarquıa de herencia. Pero ¿que pasa si los datos son imprecisos einciertos al mismo tiempo?.

• En cualquier caso, el modelo tambien aporta metodos muy validos para elcalculo del grado de pertenencia de un objeto a una clase, mediante el usode medidas originales de inclusion y la utilizacion de relevancias asociadas alos distintos atributos que caracterizan los tipos de las clases.

El estudio elaborado por G. Bordogna et al. aporta una extension del modeloorientado a objetos para representar (graficamente) informacion vaga. Se centra sobretodo en considerar donde puede influir la presencia de vaguedad en la informacion ala hora de construir un modelo, mas que en la forma de gestionar esa vaguedad.

• Al contrario que los tres modelos anteriores, no se proponen formas de calcularlos distintos grados de relacion objeto-clase, y clase-superclase, pero tiene pro-puestas originales como es el uso de valores de fuerza para caracterizar algunosatributos de los objetos, dejando la interpretacion semantica de esos valores defuerza en funcion del contexto donde se apliquen.

• Con respecto a la distincion entre imprecision e incertidumbre, el modelo per-mite representar valores imprecisos en los atributos en forma de distribucionesde posibilidad (incluso mediante el uso de etiquetas y variables linguısticas ),y tambien es posible anadir un valor de incertidumbre en el intervalo [0,1] paraexpresar la certeza de un valor.

• Como aspecto llamativo, tambien permiten establecer relaciones clase-superclasecaracterizadas de forma linguıstica (muy, mas o menos).

• Sus resultados son importantes, por cuanto aportan una notacion grafica exten-dida para la representacion de modelos difusos de bases de datos orientados aobjetos.

Finalmente, el modelo UFO de N.V. Gyseghem et al. hace una propuesta bastantecompleta, estudiando tanto la sustitucion del uso de conjuntos clasicos por conjuntosdifusos en algunas partes interesantes del modelo orientado a objetos, como la utiliza-cion de distribuciones de posibilidad para gestionar la imprecision y la incertidumbrede la informacion que se tiene que almacenar.

Page 87: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

2.5 Conclusiones: crıtica y motivacion 65

• Este modelo constituye uno de los pocos intentos que hay en la literatura dehacer frente al efecto de la vaguedad en la informacion a la hora de aplicarmetodos por parte de los objetos.

• En el modelo se hace una distincion muy clara entre borrosidad, imprecisione incertidumbre, y los mecanismos que se ofrecen para gestionarlas estan muybien diferenciados. Sin embargo, algunos de esos mecanismos resultan muycomplejos, como puede ser el hecho de utilizar roles para representar la in-certidumbre, almacenando en la base de datos todos y cada uno de los posiblesestados que puede tener un objeto. Esto hace que el modelo sea al mismo tiem-po difıcil de entender y de manejar por parte de un usuario no especializado.

• Por ultimo, corresponde a este modelo el merito de afrontar por primera vezuna borrosidad estructural en los objetos, y la definicion de varios tipos deherencia que caractericen las distintas formas de incorporar las propiedadesheredadas. Sin embargo, la estructura de un tipo sigue siendo la clasica (con-junto clasico de propiedades), y lo unico que se hace es incorporar, por cadaatributo, valores de aplicabilidad en el objeto, y rangos de aplicabilidad permi-tidos en la clase. Esto es muy potente porque otorga una libertad muy grandepara representar conocimiento, pero en realidad no se introduce un cambio defilosofıa en la forma de entender el tipo de una clase y de un objeto.

El estudio de los modelos anteriores, deja por afrontar el siguiente conjunto deproblemas:

• El estudio de la vaguedad en el nivel de valores de atributo debe estar construi-do sobre una distincion clara entre imprecision e incertidumbre en la lınea deRuspini[Rus86]. Un modelo difuso de base de datos orientado a objetos debepermitir representar tanto valores de datos imprecisos, como grados de certezaasociados a dichos valores, ajustandose a las siguientes indicaciones:

– El uso conjunto de terminos linguısticos y de relaciones de similitud esvalido para representar la imprecision en un dominio dado, pero la formaen que se haga debe estar en relacion estrecha con el tipo de imprecisionque se desee representar.

– La falta de certeza sobre los datos debe poder expresarse utilizando esca-las de diferente naturaleza (por ejemplo, posibilısticas o probabilısticas)tanto numericas como linguısticas.

Page 88: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

66 Conceptos previos

– La utilizacion de relaciones de similitud y de semejanza debe estar bienfundamentada, aportando mecanismos para construirlas a partir de infor-macion obtenida por parte del disenador de los tipos. La construccionde operadores de agregacion adecuados para combinar similitudes entreatributos es tambien una necesidad cuando la informacion en la base dedatos es imperfecta, porque se ha de generalizar la igualdad de estadopor un concepto que se acerque mas al parecido de estado, que funcionetambien cuando se comparan objetos complejos.

• La borrosidad estructural esta pendiente de ser estudiada de una forma direc-ta, cambiando el propio concepto de tipo asociado a una clase y buscando laposibilidad de manejar dicho tipo con diferentes niveles de precision. Los me-canismos de instanciacion y de herencia deben ampliarse para dar mas libertada la hora de crear instancias de una clase y de reutilizar la definicion del tipo deuna superclase para crear otra nueva. Mas aun, la borrosidad estructural debetransmitirse de una forma adecuada hacia el comportamiento definido para lasclases.

• Las estructuras desarrolladas para afrontar las distintas formas de vaguedad enel modelo deben ser sencillas de comprender y faciles de manejar, de formaque se minimice el esfuerzo necesario para implementar un sistema de basesde datos que las contemple, e incluso que un disenador de bases de datos queno disponga de dicho sistema y se enfrente a problemas de este tipo, puedautilizarlas como guıa para construir soluciones efectivas.

La motivacion de nuestro estudio esta centrada en la idoneidad del modelo orien-tado a objetos clasico para representar tanto esquemas vagos como informacion im-precisa y/o afectada de incertidumbre en dichos esquemas. Por tanto se puede hacerfrente a esa vaguedad mediante el diseno de estructuras adecuadas definidas sobre elpropio modelo orientado a objetos.

Nuestra opinion es que, mejorando el modelo, con la incorporacion de estrategiaspara el uso de mecanismos difusos frente a los mecanismos clasicos, obtendremos unmodelo mucho mas expresivo y una herramienta mucho mas util desde el punto devista del programador.

Page 89: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Capıtulo 3

Un modelo de datos orientado aobjetos difuso

Sucede con frecuencia que llega uno a encontrar una idea que buscaba, es decira obtenerla, sacandola de la nebulosa de percepciones oscuras a que representa,

gracias a los esfuerzos que hace para presentarla a los demas.Miguel de Unamuno (1864-1936)

Filosofo y escritor espanol

Este capıtulo constituye el eje fundamental de nuestra propuesta. En el analiza-mos la presencia de vaguedad (imprecision e incertidumbre) en todos los niveles enlos que puede aparecer dentro de un modelo orientado a objetos de base de datos. Enprimer lugar nos centramos en el nivel de atributo, estudiando la distinta naturalezaque puede tener la imprecision cuando afecta a los valores de los atributos, y la formade afrontar la falta de certeza sobre la veracidad de los mismos.

Para generalizar la idea de igualdad de estado entre objetos se aporta una medidade semejanza, construida sobre la base de las relaciones de similitud utilizadas en losdominios basicos y capaz de operar sobre objetos complejos.

Con respecto al nivel de relaciones de instancia, se muestra la forma de represen-tar una extension difusa para las clases, interpretando al mismo tiempo el significadoque puede tener esto desde un punto de vista semantico.

En el nivel de relaciones superclase-subclase enfocamos nuestro estudio hacialos procesos de generalizacion y de especializacion. Tambien se aporta la forma de

Page 90: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

68 Un modelo de datos orientado a objetos difuso

representar la incertidumbre cuando afecta a la propia definicion de la estructura delos objetos y de las clases, analizando el sentido que puede tener la falta de certezacuando aparece en estos niveles.

Entendemos de particular interes la aportacion de una nueva definicion de tipo deuna clase, el concepto de tipo difuso, como generalizacion del concepto clasico detipo y con el objetivo de superar algunas de sus limitaciones. Construimos este nuevoconcepto de tipo analizandolo tanto desde el punto de vista estructural como desdeel punto de vista del comportamiento, y adaptamos los mecanismos de instanciaciony herencia caracterısticos de la orientacion a objetos, para sacar partido a las nuevascapacidades aportadas por este nuevo concepto de tipo.

Insistimos de nuevo en las directrices basicas de nuestra propuesta: un trata-miento adecuado tanto de imprecision como de incertidumbre y el uso del modeloorientado a objetos clasico como base para construir las estructuras necesarias pararepresentarla.

Page 91: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.1 Vaguedad en los valores de atributo 69

3.1 Vaguedad en los valores de atributo

Nuestro estudio de la vaguedad empieza por considerar su presencia en los propiosvalores de los atributos que caracterizan a los objetos. En nuestra opinion, la ca-pacidad de manejar valores imperfectos en los atributos debe construirse teniendopresentes las diferentes interpretaciones que pueden tener los dominios sobre los quese definen esos valores. Cada uno de los modelos que hemos visto en el capıtulo an-terior hace un estudio particular de la imperfeccion, y no hacen una separacion nıtidaentre imprecision e incertidumbre. Los modelos de George et al.(ver seccion 2.4.2) yde Yazici et al.(ver seccion 2.4.3) introducen una distincion clara entre las semanticasconjuntivas y disyuntivas que pueden tener los valores de atributo aunque no se pre-senten en forma de conjuntos difusos. Al mismo tiempo el modelo de Bordogna et al.(ver seccion 2.4.4) permite etiquetar valores presentados en forma de distribucionesde posibilidad mediante el uso de variables linguısticas.

Nosotros, como veremos en este apartado, hemos tomado lo positivo de cadauno de estos modelos y presentamos una forma completa para el tratamiento dela informacion imperfecta en este nivel: utilizamos la expresividad de las etique-tas linguısticas para enunciar valores imprecisos, pero consideramos las distintassemanticas que pueden tener asociadas en funcion de las caracterısticas del domi-nio para el que estan definidas. Al mismo tiempo, hacemos una diferenciacion claraentre la representacion de la imprecision y de la incertidumbre que pueden afectar alvalor de un atributo. Veamos como.

Teniendo en cuenta la descripcion expuesta por Ruspini en [Rus86], en un valorde atributo pueden aparecer tres tipos diferentes de informacion imperfecta:

• El valor puede estar mal definido, siendo impreciso.

• El valor puede estar afectado de incertidumbre sobre su veracidad.

• El valor esta mal definido y afectado de incertidumbre al mismo tiempo.

3.1.1 Imprecision en los dominios de las variables de instancia

Vamos a empezar por estudiar el caso de la imprecision. Las razones por las queel valor de un atributo puede estar mal definido son variadas, yendo desde un malconocimiento del propio dato hasta aquellas circunstancias en las que el atributo to-

Page 92: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

70 Un modelo de datos orientado a objetos difuso

ma valor sobre un dominio al que la imprecision afecta por propia naturaleza. Porejemplo, podemos considerar las siguientes sentencias:

(a) Carmen esta en sus ultimos anos de carrera.(b) La nota de Carmen es buena.(c) Las perspectivas de Carmen son buenas.

En las dos primeras sentencias, existe un dominio subyacente para el atributo queesta perfectamente definido (es decir, los cinco anos de carrera, y el rango de notasde 0 a 10, respectivamente). Sin embargo, la tercera sentencia es diferente porque noes facil encontrar un dominio subyacente sobre el que expresar la etiqueta buenas deforma natural. Por lo tanto, a la hora de hablar de informacion imprecisa, tenemosque distinguir entre estos dos casos, a saber, con y sin representacion semantica.

3.1.1.1 Dominios sin representacion semantica subyacente

Estamos ante aquellos casos similares al expuesto en nuestra sentencia (c) –las pers-pectivas de Carmen son buenas. En estas situaciones, el dominio del atributo es unconjunto de etiquetas linguısticas (ver seccion 2.2.7). La dificultad reside en que lasemantica de esas etiquetas no puede definirse mediante subconjuntos difusos cons-truidos sobre un determinado dominio, puesto que no existe un dominio basico sub-yacente.

La base de nuestra propuesta [MMBPV01, VCMP96a, VCMP98, VCMP97a,VCMP96b] reside en utilizar una relacion de similitud para poder gestionar de unaforma adecuada la imprecision inherente al conjunto de etiquetas. Esta relacion desimilitud nos va a permitir establecer comparaciones entre las etiquetas, generali-zando el criterio basico de igualdad. En aquellos casos en los que el atributo puedatomar mas de un valor, proponemos no considerarlos en un sentido disyuntivo, sinoincluir ese valor multiple como una nueva etiqueta dentro del dominio. Veamos deque forma se puede hacer esto.

Sea D el dominio del atributo (conjunto de etiquetas), S una relacion de simi-litud definida sobre ese dominio, y L un subconjunto difuso de D representando elvalor multiple que queremos incluir en nuestro dominio. Para hacer frente a estaampliacion del dominio, se deben seguir los siguientes pasos:

(i) Anadimos al dominio actual una nueva etiqueta l que represente el nuevo valor.

Page 93: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.1 Vaguedad en los valores de atributo 71

(ii) Modificamos la relacion de similitud S teniendo en cuenta la siguiente formula:

∀x ∈ D, µS(l, x) = maxy∈D

(µS(y, x)⊗ µL(y)). (3.1)

En la ecuacion 3.1, ⊗ es una funcion de la familia de las t-normas (ver seccion 2.2).

Ejemplo 3.1. Sea Estudiante un tipo caracterizado por los atributos nombre, ciudad,nota, ano academico y perspectivas, este ultimo con valores que admiten imprecisionen su definicion.

Sea D=“buenas”, “regulares”, “malas” el dominio del atributo perspectivas,sobre el que hay definida una relacion de similitud detallada en la tabla 3.1.

Tabla 3.1: Relacion de similitud

buenas regulares malas

buenas 1 0.5 0.2regulares 1 0.7malas 1

Supongamos ahora que surge un nuevo estudiante en la base de datos, con elatributo perspectivas caracterizado por el valor “mas bien malas”=0.2/“buenas” +0.6/“regulares” + 0.8/“malas”. Para afrontar esta situacion, se extiende el dominioD = D∪“mas bien malas”, y cambiamos la relacion de similitud como se indicaen la tabla 3.2 (se ha usado el mınimo como t-norma).

Tabla 3.2: Relacion de similitud modificada

buenas regulares mas bien malas malas

buenas 1 0.5 0.3 0.2regulares 1 0.6 0.7mas bien malas 1 0.8malas 1

En nuestro modelo difuso de bases de datos orientado a objetos, podemos repre-sentar este tipo de situaciones implementando el dominio impreciso como una clasenueva cuyo tipo incorpore:

• Un atributo para representar las etiquetas.

Page 94: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

72 Un modelo de datos orientado a objetos difuso

• Un metodo capaz de evaluar la similitud entre dos etiquetas dadas.

La relacion de similitud se implementa de esta forma de manera intrınseca ala clase que representa el dominio impreciso. La figura 3.1 muestra la forma desolucionar nuestro ejemplo 3.1.

Estudiante

nombre : Cadenaedad : Edadnota : NotaañoAcademico : AñoAcademicociudad : Ciudad

Perspectiva

etiqueta : Cadena

CalculaSimilitud(unaPerspectiva : Perspectiva) : Real011

perspectiva

Figura 3.1: Diagrama de clases para el ejemplo 3.1

3.1.1.2 Dominios con representacion semantica subyacente

Hemos visto en el anterior apartado la forma de gestionar los casos similares a los dela sentencia (c) – las perspectivas de Carmen son buenas. Veamos ahora la forma dehacer frente a la representacion de su nota y de su ano academico. En estos casos, elatributo tiene un dominio basico bien definido (normalmente un subconjunto acotadodel intervalo real) y las etiquetas linguısticas que representan valores mal definidosse pueden describir facilmente mediante subconjuntos difusos definidos sobre dichodominio.

Sin embargo, debemos tener cuidado con el significado que se le da a esos con-juntos difusos, puesto que puede ocurrir que el valor real de atributo pueda ser solouno de los valores incluidos en el soporte del conjunto difuso (significado disyuntivo)o que su valor real sea una combinacion de esos valores (sentido conjuntivo). Veamospor separado estas dos posibilidades.

Significado disyuntivo

Supongamos que la distribucion de posibilidad expresada por el conjunto difuso tieneuna interpretacion exclusiva, es decir, el valor real solo puede ser uno de los valorescubiertos por el soporte del conjunto. Estarıamos en una situacion como la que des-cribe la sentencia (b) – la nota de Carmen es buena.

Desde un punto de vista estructural, este caso es muy similar al del ejemplo (c) –las perspectivas de Carmen son buenas, puesto que nos encontramos ante un atributo

Page 95: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.1 Vaguedad en los valores de atributo 73

que tiene un dominio atomico. Por lo tanto, se puede afrontar esta situacion tambienmediante el uso de una relacion de similitud. Sin embargo, dicha relacion de simi-litud debe estar construida como una extension de la igualdad clasica que existe encualquier conjunto, puesto que ahora tenemos un dominio basico subyacente cuyosvalores deben tenerse en cuenta.

Consideremos que nuestro atributo tiene un dominio basico B y que toma valo-res tanto en B como en un conjunto de etiquetas L cuya semantica esta expresadamediante subconjuntos difusos definidos sobre B (∀l ∈ L, ∃µl : B → [0, 1]). Paragestionar el dominio real del atributo, hacemos lo siguiente:

(i) Construimos el dominio real D = B ∪ L.(ii) Definimos una relacion de similitud S sobre ese dominio de forma que su

calculo ∀x, y ∈ D es el siguiente:

µS(x, y) =

1 (x = y) ∧ (x, y ∈ B)

0 (x 6= y) ∧ (x, y ∈ B)

µl(z) ((x = l ∈ L) ∧ (y = z ∈ B))

∨((y = l) ∧ (x = z ∈ B))

maxz∈B(µx(z)⊗ µy(z)) en otro caso(3.2)

Veamos la forma de aplicar esto a nuestro ejemplo de la nota de Carmen.

Ejemplo 3.2. Consideremos de nuevo nuestro tipo Estudiante donde nota es uno desus atributos con valores imprecisos. El dominio basico de nota es B=0, 1, 2, 3, 4,5, 6, 7, 8, 9, 10, y nosotros anadimos los valores imprecisos “insuficiente”, “su-ficiente”, “notable”, “sobresaliente”. Las distribuciones de posibilidad de estasetiquetas se muestran en la tabla 3.3. Teniendo en cuenta estas definiciones y apli-cando la formula anterior, se obtiene la relacion de similitud que muestra la tabla3.4 (se ha utilizado el mınimo como t-norma).

Desde el punto de vista de la representacion en nuestro modelo orientado a ob-jetos, construimos el dominio impreciso como union entre el basico y el conjunto determinos imprecisos de la siguiente manera:

• Definimos una clase abstracta que represente el dominio real.• Definimos una subclase que represente el dominio basico.

Page 96: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

74 Un modelo de datos orientado a objetos difuso

Tabla 3.3: Definicion de las etiquetas

insuficiente suficiente notable sobresaliente

0 1 0 0 01 1 0 0 02 1 0 0 03 1 0 0 04 0.9 0.3 0 05 0.4 0.7 0.2 06 0.2 1 0.7 0.27 0 0.6 1 0.48 0 0.2 0.7 0.99 0 0 0.4 110 0 0 0.2 1

Tabla 3.4: Relacion de similitud generalizando la igualdad

0 1 2 3 4 5 6 7 8 9 10 ti ts tn ts

0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 01 1 0 0 0 0 0 0 0 0 0 1 0 0 02 1 0 0 0 0 0 0 0 0 1 0 0 03 1 0 0 0 0 0 0 0 1 0 0 04 1 0 0 0 0 0 0 0.9 0.3 0 05 1 0 0 0 0 0 0.4 0.7 0.2 06 1 0 0 0 0 0.2 1 0.7 0.27 1 0 0 0 0 0.6 1 0.48 1 0 0 0 0.2 0.7 0.99 1 0 0 0 0.4 110 1 0 0 0.2 1ti 1 0.4 0.2 0.2ts 1 0.7 0.4tn 1 0.7ts 1

Page 97: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.1 Vaguedad en los valores de atributo 75

• Definimos otra subclase que represente el conjunto de terminos imprecisos.

La figura 3.2 muestra la forma de representar el ejemplo 3.2 en nuestro mode-lo. La clase abstracta nos va a permitir manejar el dominio sin preocuparnos de siestamos manejando un valor preciso del dominio basico o un valor impreciso del con-junto de etiquetas. Cada una de las subclases implementara el metodo para el calculode la similitud, de forma que funcione correctamente, discriminando si lo que se lepasa como argumento es un valor preciso o una etiqueta. El polimorfismo y el enlacedinamico juegan aquı un papel protagonista.

Nota

calculaSimilitud(unaNota : Nota) : Real01

NotaImprecisa

etiqueta : Cadena

calculaSimilitud()

NotaImperfecta

grado : Real01

1..*

NotaBasica

valor : Entero

calculaSimilitud() 1

valor

1

semántica

1..*

Figura 3.2: Diagrama de clases para el ejemplo 3.2

Aunque en este ejemplo hemos utilizado la definicion de las notas imprecisascomo conjuntos finitos de pares (nota basica-grado), en otros casos puede no seradecuado el uso de una representacion finita (por ejemplo la altura de una persona).En esos casos, las etiquetas pueden representarse utilizando funciones (triangulares,trapezoidales, etc.) definidas sobre el dominio continuo subyacente. En esas situa-ciones, la representacion en el modelo orientado a objetos es la misma, pero se hade sustituir la parte que representa los valores imprecisos (en el ejemplo la clase No-taImprecisa) por una clase que en su definicion contemple atributos para representar

Page 98: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

76 Un modelo de datos orientado a objetos difuso

la funcion que expresa la semantica de las etiquetas en lugar del conjunto de pares quese ha utilizado en el ejemplo. Incluso puede haber situaciones en las que se deseenmanejar tanto valores imprecisos con soporte finito como valores cuya semantica estedefinida de forma funcional. En esas situaciones de la clase abstracta construida pa-ra manejar el dominio colgaran tres subclases: una para valores basicos, otra paravalores imprecisos con soporte finito y otra para valores imprecisos con semanticafuncional.

Significado conjuntivo

De las tres sentencias expuestas al principio de esta seccion, solo nos queda porestudiar la primera de ellas. El ejemplo (a) –Carmen esta en sus ultimos anos decarrera– representa aquellas situaciones en las que nos enfrentamos a atributos cuyosvalores pueden ser subconjuntos difusos de un dominio basico especıfico y hay unsentido conjuntivo implıcito bajo la etiqueta que se utiliza para expresarlos. En estoscasos, hay que encontrar una representacion adecuada para los conjuntos difusos.Veamos primero una forma de interpretar una funcion de pertenencia.

Sea D el dominio basico para el atributo que se esta considerando:

∀A ∈ P(D)|Soporte(A) es finito, A ⊆ P(B × [0, 1]) (3.3)

Es decir, consideramos que cualquier funcion de pertenencia de soporte finito esun conjunto de pares de valores, en los que el primero pertenece al dominio basico yel segundo al intervalo real [0,1].

Ejemplo 3.3. Vamos a considerar ahora la representacion del atributo ano academicopara nuestro tipo Estudiante. El dominio basico va a estar formado por los valores“1”,“2”,“3”,“4”,“5”. Ademas vamos a considerar el siguiente conjunto de eti-quetas linguisticas: “ultimos”=0.5/“3” + 0.8/“4” + 1/“5”, “intermedios”=0.5/“2”+ 1/“3” + 0.6/“4”, y “primeros”=1/“1” + 0.8/“2” + 0.4/“3”.

Podemos representar estos casos mediante el siguiente dominio complejo:

D = (“1”, (“1”, 1.0)), (“2”, (“2”, 1.0)),(“3”,(“3”, 1.0)), (“4”, (“4”, 1.0)),

(“5”, (“5”, 1.0)),(“ultimos”, (“3”,0.5), (“4”,0.8), (“5”,1),

(“intermedios”, (“2”,0.5), (“3”,1), (“4”,0.6)),(“primeros”, (“1”,1), (“2”,0.8), (“3”,0.4“))

Page 99: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.1 Vaguedad en los valores de atributo 77

En nuestro modelo orientado a objetos, podemos afrontar la representacion deeste tipo de estructuras siguiendo la siguiente estrategia:

• Utilizamos un tipo para definir parejas tipo (valor del dominio basico, grado).

• Construimos el dominio real utilizando una etiqueta y un conjunto de parejasde las anteriores.

La figura 3.3 muestra la representacion que se puede adoptar para nuestro ejemplode los anos academicos. Algo parecido se hizo en la figura 3.2 para representar lasetiquetas.

AñoImperfecto

grado : Real01valor : Entero

AñoDifuso

nombre: Cadena

calculaSimilitud()

1..*

cuerpo

Figura 3.3: Diagrama de clases para el ejemplo 3.3

En el caso de que el soporte del conjunto difuso no sea finito, hay que represen-tar la funcion de pertenencia como tal. Para ello se pueden asumir simplificacionesclasicas, como el uso de funciones triangulares o trapezoidales.

3.1.2 Incertidumbre en los dominios de los atributos

En los dos apartados anteriores hemos tratado la forma de gestionar la representacionde imprecision en los valores de atributo. Hasta este momento, no hemos tenido encuenta que los datos, ademas de ser imprecisos, pueden ser inciertos. Nos referimosuna vez mas a aquellas situaciones en las que los datos pueden estar perfectamente

Page 100: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

78 Un modelo de datos orientado a objetos difuso

definidos, pero no estamos seguros sobre si son ciertos o no. En esas circunstan-cias, un nivel de verdad debe estar asociado a cada valor de atributo. Las siguientessentencias explican esta idea:

(a) Estoy seguro en un 90 por ciento de que Carmen vive en Granada.(b) Es muy posible que la nota de Carmen sea 9.(c) Es probable que Carmen este en sus anos finales de carrera.

Se pueden considerar distintas escalas para medir la incertidumbre sobre el valorde estos atributos: podemos utilizar medidas de probabilidad (posibilidad) definidasen el intervalo [0,1] o usar probabilidades (posibilidades) linguısticas cuyas etiquetas,a su vez, tengan una representacion como conjuntos difusos disyuntivos definidossobre ese intervalo, medidas de certeza, evidencias, etc.

Teniendo en cuenta lo dicho anteriormente, considerar que algunos atributos tie-nen asociado algun tipo de incertidumbre implica asumir que el dominio del atributoes una agregacion entre el dominio real del atributo y la escala que se quiera utilizarpara medir esa falta de certeza. Independientemente de esto, si el dominio real o laescala son difusos, los tipos correspondientes deberan estar previamente definidosusando las estrategias apropiadas mostradas en secciones anteriores.

EtiquetaPosibilistica

etiqueta : Cadenaa : Real01b : Real01c : Real01d : Real01

calculaSimilitud(op1 : EtiquetaPosibilistica) : Real01

Perspectiva

etiqueta: Cadena

calculaSimilitud(op1 : Perspectiva) : Real01

11

certeza

Figura 3.4: Diagrama de clases para el ejemplo de la incertidumbre

Ejemplo 3.4. Volvamos al ejemplo 1 (perspectivas de un estudiante), y consideremosque el atributo perspectiva es, ademas de impreciso, incierto en funcion de una escalaposibilıstica.

Page 101: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.1 Vaguedad en los valores de atributo 79

En nuestro modelo orientado a objetos, la representacion se harıa como muestrala figura 3.4. El metodo para el calculo de la similitud debe ser diferente de los utili-zados para el caso de la imprecision, ya que debe tener en cuenta que la perspectivaesta afectada de incertidumbre. La forma de considerar el calculo de la similitud estaen relacion con la escala utilizada para medir la incertidumbre y el tipo de impreci-sion (si la hay). Este problema es complejo y en algunos casos no esta resuelto aunde forma satisfactoria. Algunos enfoques se pueden encontrar en [BP98, GPV99].

3.1.3 Relaciones entre objetos

Los modelos semanticos de datos ofrecen normalmente dos formas de conectar orelacionar objetos:

• El concepto de atributo, que conlleva un enfoque funcional y que se usa pa-ra relacionar un tipo con los dominios de sus atributos. Hemos visto en lasanteriores secciones como manejar la aparicion de imprecision y de incerti-dumbre cuando aparece asociada a esta forma de relacionar objetos. Debemostener en cuenta que asumir que cualquier tipo de vaguedad afecta a la conexionfuncional entre un objeto y el valor de uno de sus atributos, es equivalente aconsiderar que el atributo es imperfecto en su definicion.

• El uso de la agregacion, que se utiliza para modelar aquellas relaciones que nose incluyen en el caso anterior.

Veamos algunas apreciaciones que deben considerarse con respecto a esta formade relacionar objetos.

El disenador de una aplicacion debe decidir si implementa la agregacion comoun tipo independiente que contiene las clases de objetos relacionados como atributos,o simplemente anadir el conjunto de atributos que forma parte de la agregacion altipo de las clases que usan como atributo la agregacion en sus definiciones. Estadecision se toma de acuerdo a criterios de abstraccion conceptual, encapsulamientoy reutilizacion.

Si el programador decide representar las agregaciones como tipos, sugerimos losiguiente:

• Si tenemos un conocimiento parcial sobre si dos objetos estan relacionados,podemos incluir en el tipo que represente la agregacion un nuevo atributo que

Page 102: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

80 Un modelo de datos orientado a objetos difuso

exprese el nivel de verdad asociado a la relacion, utilizando para ello las dis-tintas escalas que hemos comentado en secciones anteriores.

• Por otro lado, tambien podemos considerar que la relacion admite grados deimportancia [BPL99]. Esta situacion aparece cuando no todas las instanciasde la relacion tienen la misma fuerza. En estas circunstancias podemos usarniveles linguısticos o numericos para expresar esta fuerza. Como ejemplo deescala linguıstica se puede utilizar el conjunto “alta”, “media”, “baja”, en elque cada etiqueta estara definida como un subconjunto difuso disyuntivo sobreel intervalo [0,1].

3.2 Semejanza entre objetos

Como ya vimos en la seccion 2.1.1.2, la igualdad entre objetos puede plantearsesiguiendo dos enfoques: el de la identidad y el del estado.

La igualdad de identidad en el modelo orientado a objetos es fundamental, ypuede considerarse como el criterio basico para distinguir objetos. Sin embargo, endeterminados procesos, la igualdad de identidad no es suficiente y se requiere la uti-lizacion del concepto de igualdad de estado. Un ejemplo de estas situaciones es lagestion de consultas en la base de datos. Cuando se plantea una consulta, normal-mente se establecen ciertas condiciones de estado que deben cumplir los objetos queformen parte de su solucion, aunque tambien aparezcan restricciones que impliquencomparaciones de identidad.

Cuando la informacion es perfecta, el conjunto clasico de operadores relacionalespermite afrontar la solucion de este tipo de problemas, empezando por el operadorbasico de igualdad. Sin embargo, cuando la informacion de la base de datos es im-perfecta, el concepto de igualdad clasico no es valido, y se sustituye, como hemosvisto en la seccion anterior, por el concepto de similitud en algunos casos y por el desemejanza en un sentido mas general.

3.2.1 Generalizacion de la igualdad de estado: relaciones de semejanza

Cuando se trabaja con dominios simples y se utilizan etiquetas para afrontar la im-perfeccion, la generalizacion del concepto de igualdad se puede plantear siguiendodistintos enfoques, en funcion de la naturaleza del dominio.

Page 103: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.2 Semejanza entre objetos 81

3.2.1.1 Semejanza en dominios basicos

Teniendo en cuenta lo expuesto en los apartados de la anterior seccion, nos podemosencontrar con los siguientes tipos de dominio para un determinado atributo:

• Cuando las etiquetas no pueden expresar su semantica sobre un dominio sub-yacente (seccion 3.1.1.1), el propio disenador del tipo debe aportar la basesobre la que se define la relacion de semejanza (o, si se desea algun tipo detransitividad, de similitud) entre el conjunto inicial de etiquetas.

• Si el conjunto de etiquetas tiene su semantica expresada en forma de distribu-ciones de posibilidad definidas sobre un dominio subyacente, la semejanza sepuede obtener generalizando el concepto de igualdad siguiendo la ecuacion 3.2de la seccion 3.1.1.2, siempre y cuando el dominio subyacente sea finito.

Si se modifica la anterior ecuacion de la siguiente forma, se puede generalizarpara que sea valida ante cualquier tipo de etiquetas. De esta forma, teniendo encuenta que B es el dominio basico, L el conjunto de etiquetas y que D = B∪L,entonces ∀x, y ∈ D:

µS(x, y) =

1 (x = y) ∧ (x, y ∈ B)

0 (x 6= y) ∧ (x, y ∈ B)

µl(z) ((x = l ∈ L) ∧ (y = z ∈ B))

∨((y = l) ∧ (x = z ∈ B))

supz∈B(µx(z)⊗ µy(z)) en otro caso(3.4)

Aparte de este enfoque, existen numerosas propuestas en la literatura que per-miten afrontar el calculo de similitudes y semejanzas entre conjuntos difusos.La tabla 3.5 presenta un resumen de algunas medidas de distancia de las masutilizadas para este tipo de comparaciones. Un estudio bastante completo delas mismas puede encontrarse en [ZCB87].

• Si la interpretacion del conjunto difuso es conjuntiva, estaremos comparandoconjuntos y no valores imprecisos. El siguiente apartado analiza este caso enprofundidad.

Page 104: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

82 Un modelo de datos orientado a objetos difuso

Tabla 3.5: Algunas metricas de distancia para el calculo de la similitud

Medida Expresion

dr(A, B), r ≥ 1 (∫ +∞−∞ |µA(xi) − µB(xi)|rdx)1/r

q1(A, B)

∫ 1α=0 q(Aα, Bα)dα

con q(X, Y ) = maxsupv∈Y infu∈Xd2(u, v), supu∈X infv∈Y d2(u, v)

donde X e Y son subconjuntos compactos no vacıos de R

q∞(A, B) supα≥0 q(Aα, Bα)

q∗(A, B) q(A1, B1)

Q(A, B)

q(A∗, B∗)

con A∗ = (x, y)|a ≤ x ≤ b, 0 < y ≤ µA(x)

B∗ = (x, y)|a ≤ x ≤ b, 0 < y ≤ µB(x)

soporte(A) = [aA, bA], soporte(B) = [aB , bB ],

a = minaA, aB, b = maxbA, bB

∆1(A, B)

∫ 1α=1 ∆(Aα, Bα)dα

con ∆(X, Y ) = (|a1 − b1| + |a2 − b2|)/2(β2 − β1),

donde X = [a1, a2], Y = [b1, b2], X, Y ⊆ [β1, β2]

∆∞(A, B) supα∆(Aα, Bα)

∆∗(A, B) ∆(A1, B1)

S1(A, B) 1 − |A ∩ B|/|A ∪ B|

S2(A, B)|AB|, donde ∀x ∈ U,

µAB = max[min(µA(x), 1 − µB(x)), min(1 − µA(x), µB(x))]

S3(A, B) supx∈UµAB(x)

S4(A, B) 1 − supx∈UµA∩B(x)

V1(A, B)

[(|A| − |B|)2 + (Entr(A) − Entr(B))2+

+(FMO(A) − FMO(B))2 + (Asi(A) − Asi(B))2]1/2

donde Entr(X) =∫ +∞−∞ S(µA(x))dx

S(y) = −yln(y) − (1 − y)ln(1 − y),

FMO(X) =∫ +∞−∞ xµX(x)dx)/|X|,

Asi(X) =∫ +∞−∞ (x − FMO(X)))3µX(x)dx

V2(A, B) [(|A| − |B|)2 + (FMO(A) − FMO(B))2]1/2

R(A, B) [1 −∫ +∞−∞ (

µ∗

A(x)

|A|·

µ∗

B(x)

|B|)1/2dx]1/2

ρ(A, B) ( 4

(∫ +∞

−∞(2µA(x)−1)2dx)+(

∫ +∞

−∞(2µB(x)−1)2dx)

)(d2(A, B))2

Page 105: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.2 Semejanza entre objetos 83

3.2.1.2 Grado de inclusion entre dos conjuntos difusos guiado por semejanza

La comparacion entre conjuntos difusos se suele hacer en terminos de inclusion:

A = B si, y solo si, (A ⊆ B) ∧ (B ⊆ A) (3.5)

Existen varias propuestas para el calculo del grado de inclusion de un conjuntodifuso en otro (algunas de ellas aparecen en la tabla 3.5 como base para el calculo dedistancias entre conjuntos difusos). En [RDP98] se plantea la inclusion de A en B dela siguiente manera:

N(B|A) = minu∈UI(µA(u), µB(u)) (3.6)

Sin embargo, sea cual sea la implicacion utilizada (que se debe elegir en funcionde las propiedades deseadas), esta definicion supone la utilizacion de un referencialU formado por elementos precisos, donde la igualdad clasica es la base de las com-paraciones, de forma que en la implicacion siempre se comparan grados de inclusiondel mismo elemento.

Puede ocurrir, y de hecho en el contexto de las bases de datos difusas ocurre confrecuencia, que los elementos del conjunto sean a su vez objetos imprecisos, entrelos que la igualdad no puede ser aplicada como tal y es sustituida por una relacion desemejanza o una de similitud. Veamos la forma de solventar este problema.

La ecuacion 3.6 se puede generalizar de la siguiente manera, cuando el referencialesta formado por elementos imprecisos.

Definicion 3.1 (Grado de Inclusion guiado por semejanza). Sean A y B dos con-juntos difusos definidos sobre un universo de referencia finito U sobre el que haydefinida una relacion de semejanza S. El grado de inclusion de A en B guiado por larelacion de semejanza S, se calcula de la siguiente manera:

ΘS(B|A) = minx∈U

maxy∈U

θA,B,S(x, y) (3.7)

dondeθA,B,S(x, y) = ⊗(I(µA(x), µB(y)), µS(x, y)) (3.8)

En la ecuacion 3.6 el grado de inclusion se calcula viendo que elemento del re-ferencial cumple en menor grado la condicion de implicacion entre niveles de perte-nencia de ese elemento a los dos conjuntos. En nuestro caso, como en la implicacion

Page 106: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

84 Un modelo de datos orientado a objetos difuso

pueden compararse niveles de pertenencia de elementos distintos, se restringe su va-lor por el grado de semejanza entre los mismos. En lıneas generales lo que se intentaes, para cada elemento de A, buscar un elemento de B que se le parezca y que perte-nezca a B con mayor grado que el grado con el que el pertenece a A.

3.2.1.3 Propiedades del grado de inclusion guiado por semejanza

La primera propiedad indispensable que nuestro Grado de Inclusion Guiado por Se-mejanza debe verificar es la de ser valido cuando la relacion de semejanza no es otraque la igualdad clasica.

Propiedad 3.1. Sean A y B dos conjuntos difusos definidos sobre un universo dereferencia finito U sobre el que hay definida una relacion de semejanza S que es laigualdad clasica. Entonces Θ=(B|A) = N(B|A).

Demostracion. Θ=(B|A)=minx∈U maxy∈U θA,B,=(x, y). Sabiendo que θA,B,=(x, y) =

⊗(I(µA(x), µB(y)), µ=(x, y)) y teniendo en cuenta que ∀x 6= y, µ=(x, y) = 0 enton-ces ∀x 6= y, θA,B,=(x, y) = ⊗(I(µA(x), µB(y)), 0) = 0, de donde se tiene que ∀x ∈U, maxy∈U θA,B,=(x, y)=θA,B,=(x, x) = ⊗(I(µA(x), µB(x)), 1)=I(µA(x), µB(x)) y portanto Θ=(B|A) = minx∈UI(µA(x), µB(x)) (como querıamos demostrar).

La otra propiedad deseable para todo grado de inclusion es que sea monotonocon respecto a relaciones de inclusion.

Propiedad 3.2. Sean A, B y C tres conjuntos difusos definidos sobre un universo dereferencia finito U sobre el que hay definida una relacion de semejanza S. EntoncesA ⊆ B ⇒ ΘS(C|A) ≥ ΘS(C|B).

Demostracion. A ⊆ B ⇒ ∀x ∈ U, µA(x) ≤ µB(x), es decir ∀x ∈ U, µA(x) +

ε=µB(x), con ε ≥ 0. Ademas Soporte(A) ⊆ Soporte(B). Teniendo esto en cuenta,y por las propiedades de la implicacion difusa ΘS(C|A) = minx∈U maxy∈U θA,C,S(x, y)

= minx∈U maxy∈U⊗(I(µA(x), µC(y)), µS(x, y)) ≥ minx∈U maxy∈U⊗(I((µA(x) + ε),

µC(y)), µS(x, y)), ∀ε ≥ 0. En particular ΘS(C|A) = minx∈U maxy∈U⊗(I(µA(x), µC(y)),

µS(x, y)) ≥ minx∈U maxy∈U⊗(I(µB(x), µC(y)), µS(x, y)) = ΘS(C|B)

3.2.1.4 Combinando los dos grados de inclusion

Mediante el uso del Grado de Inclusion Guiado por Semejanza, podemos estudiarlas dos direcciones de inclusion de la expresion 3.5 cuando estemos comparando dos

Page 107: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.2 Semejanza entre objetos 85

conjuntos difusos de elementos imprecisos. Sin embargo, para completar este enfo-que nos hace falta encontrar la forma de combinar dichos grados de inclusion, paraobtener un grado de semejanza entre los dos conjuntos. Si aplicamos la expresion 3.5de forma literal, el grado de parecido entre los dos conjuntos es el propuesto por lasiguiente definicion.

Definicion 3.2 (Semejanza generalizada entre dos conjuntos difusos). Sean A y Bdos conjuntos difusos definidos sobre un universo de referencia finito U sobre el quehay definida una relacion de semejanza S, y ⊗ una t-norma. El grado de semejanzageneralizado entre A y B restringido por ⊗ se calcula de la siguiente manera:

iS,⊗(A, B) = ⊗(ΘS(B|A), ΘS(A|B)) (3.9)

La conmutatividad de cualquier t-norma, junto con la trivial idempotencia deloperador de inclusion Θ, convierten la anterior medida en una relacion de semejanza,propiamente dicha.

El uso de relaciones de semejanza en lugar de la igualdad a la hora de calcularnuestros grados de inclusion, puede hacer que la semejanza generalizada entre dosconjuntos difusos con cardinalidades muy distantes sea distinta de 0. Consideresepor ejemplo, el siguiente caso:

Ejemplo 3.5. Sean A=1/a+1/b+1/c y B=1/d dos conjuntos difusos, tales que a,b,c,des un subconjunto de un universo de referencia U en el que hay definida una rela-cion de semejanza S, tal que S(a,d)=S(b,d)=S(c,d)=0.5. En este caso: ΘS(B|A) =

0.5 = Θ(A|B). Si se utiliza el mınimo como t-norma, iS,min(A, B) = 0.5. Seatambien C=1/a otro conjunto difuso definido sobre el mismo universo. Para C,ΘS(B|C) = 0.5 = Θ(C|B) y iS,min(C, B) = 0.5.

En el ejemplo, A y B tienen cardinalidades muy distintas (3 y 1 respectivamente),mientras que C y D tienen la misma cardinalidad. Sin embargo, este hecho no setiene en cuenta a la hora de determinar su parecido. Si se desean distinguir estetipo de situaciones, basta con ponderar el grado de semejanza generalizada con unfactor que tenga en cuenta la distancia entre los cardinales de los dos conjuntos quese comparan.

Definicion 3.3 (Factor de cardinalidad). Sean A y B dos conjuntos difusos. Sedefine el factor de cardinalidad entre ambos como una medida del parecido relativoentre sus cardinalidades, y se calcula de la siguiente forma:

Page 108: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

86 Un modelo de datos orientado a objetos difuso

Φ(A, B) =

1, si A = ∅ ∧B = ∅

0, si (A = ∅ ∧B 6= ∅) ∨ (A 6= ∅ ∧B = ∅)min(|A|, |B|)

max(|A|, |B|), en otro caso

(3.10)

La anterior definicion sera maxima cuando las cardinalidades de los dos conjun-tos coincidan y tendera a cero en funcion de que una sea mucho mayor que la otra,independientemente de su orden.

El Factor de Cardinalidad Φ mantiene la conmutatividad y la idempotencia, y si seutiliza para ponderar Θ no impide que siga tratandose de una relacion de semejanza.

Volviendo a nuestro calculo de semejanza, la utilizacion de una t-norma paracombinar los dos grados de inclusion puede resultar demasiado restrictiva, pero esnecesaria si se pretende utilizar la semejanza como una generalizacion de la igualdad.

Sin embargo, en algunas situaciones puede resultar interesante a la hora de com-parar dos conjuntos difusos de elementos imprecisos, expresar el grado de consisten-cia, en lugar de su parecido.

Definicion 3.4 (Grado de consistencia entre dos conjuntos difusos). Sean A y Bdos conjuntos difusos definidos sobre un universo de referencia finito U sobre elque hay definida una relacion de semejanza S, y ⊕ una t-conorma. El grado deconsistencia entre A y B restringido por ⊕ se calcula de la siguiente manera:

kS,⊕(A, B) = ⊕(ΘS(B|A), ΘS(A|B)) (3.11)

Mediante el grado de consistencia se pretende comprobar hasta que punto existeuna relacion de inclusion (en una u otra direccion) entre los contenidos de los dosconjuntos. Se puede comprobar facilmente que esta medida tambien es una relacionde semejanza.

3.2.2 Calculo de la semejanza entre dos objetos

El problema que pretendemos resolver consiste en establecer el grado de semejanzao parecido entre dos objetos de una misma clase. En el apartado anterior hemos vistola forma de establecer la semejanza entre los distintos tipos basicos de atributos quepueden aparecer en la definicion de los objetos que se pretenden comparar, cuando

Page 109: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.2 Semejanza entre objetos 87

la igualdad no puede ser utilizada como base de las comparaciones. Veamos ahorala forma de combinar las semejanzas obtenidas entre los atributos de los objetos paraobtener una medida de parecido entre los propios objetos.

3.2.2.1 El problema del calculo de la semejanza entre objetos

En primer lugar, definamos formalmente nuestro problema. Sean o1 y o2 dos obje-tos de la clase C, caracterizada por el tipo TC , cuya componente estructural S estacaracterizada por el conjunto de atributos a1, a2, ..., an. Nuestro objetivo es encon-trar el grado de semejanza entre o1 y o2 a partir de la combinacion de los grados desemejanza que se aprecian entre los valores de sus atributos.

La forma de resolver esta situacion puede plantearse como un problema de agre-gacion multicriterio, en el que se tienen que agregar las distintas opiniones de se-mejanza (una por cada par de valores del mismo atributo) para obtener un gradode semejanza consensuado. Tenemos una opinion por atributo, que vamos a llamarSai(o1, o2) y vamos a calcular una opinion agregada que se va a denotar por S(o1, o2).

3.2.2.2 Importancia de los atributos

Parece logico pensar que, a la hora de calcular la semejanza entre dos objetos, notodos los valores de semejanza de sus atributos tengan el mismo peso. Por ejemplo,si estamos comparando personas, habra atributos muy discriminantes (e.g. nombre,padre o hermano), mientras que otros pueden no serlo tanto (e.g. peso o edad).

Para poder reflejar este hecho, vamos a considerar que para cada atributo ai,disponemos de un peso asociado pi que indica la importancia que tiene la semejanzaen los valores de ese atributo en el grado de semejanza de los objetos de esa clase.Sin perdida de generalidad, vamos a exigir que ∀i, pi ∈ [0, 1].

3.2.2.3 Agregacion de semejanzas

Podemos considerar que encontrar el grado de parecido entre dos objetos de unamisma clase puede reducirse a calcular el grado de cumplimiento de la siguientesentencia vaga:

“La mayorıa de los atributos importantestienen valores semejantes en los dos objetos”

Page 110: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

88 Un modelo de datos orientado a objetos difuso

La anterior expresion tiene distintos puntos de interes que requieren nuestra aten-cion:

• El hecho de tener valores semejantes para un mismo atributo en los objetospuede medirse mediante el uso de un grado de semejanza. En nuestro ca-so, la informacion que tenemos al respecto consiste en una serie de valoresSai(o1, o2) ∈ [0, 1].

• La importancia de los atributos a la hora de determinar el parecido entre dosobjetos debe ser aportada por el disenador del tipo. En nuestro caso se traduceen el conjunto de valores de pi, tambien pertenecientes al intervalo [0,1].

• El termino la mayorıa es un cuantificador linguıstico que expresa hasta quepunto queremos que se tengan en cuenta todos y cada uno de los atributos a lahora de contabilizar el grado de parecido entre dos objetos.

De acuerdo con [Yag92, Zad83] existen dos tipos de sentencias vagas que invo-lucren cuantificadores linguısticos, cuya estructura responde a los siguientes esque-mas:

(i) Q de X son A(ii) Q de D son A

donde Q es un cuantificador linguıstico, X es un universo de referencia finito, y A yD son propiedades vagas definidas sobre los elementos de X representadas medianteconjuntos difusos con funciones de pertenencia µA y µD respectivamente.

A las primeras se las suele denominar sentencias de tipo I, mientras que las se-gundas se enmarcan bajo el nombre de sentencias de tipo II.

La expresion que abrıa nuestro apartado puede transformarse en una sentencia detipo II de una forma muy sencilla, sin mas que considerar que Q sea un cuantificadorque exprese la mayorıa, que X = a1, a2, ..., an sea el conjunto de atributos quecaracterizan el tipo de la clase, que D sea el conjunto de los atributos relevantes parael calculo de parecido, y que A sea el conjunto de los atributos que presentan valoressemejantes en los dos objetos. Las funciones de pertenencia de estos dos ultimosconjuntos, son las siguientes:

µD(ai) = pi, ∀ai ∈ X (3.12)

Page 111: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.2 Semejanza entre objetos 89

µA(ai) = Sai(o1, o2), ∀ai ∈ X (3.13)

Ahora falta ver la forma de calcular el grado de cumplimiento de nuestra sen-tencia tipo II, a partir del cuantificador y de las funciones de pertenencia definidasanteriormente. Existen en la literatura distintos enfoques para hacer frente a la so-lucion de este tipo de problemas en el area de las consultas flexibles, entre los quepueden considerarse [Zad83, Yag92, VCMP95a].

• El enfoque de Zadeh [Zad83] calcula el grado de cumplimiento utilizando elcardinal relativo de A con respecto a D (αA/D), y viendo el grado en que dichocardinal se ajusta a la definicion del cuantificador Q:

ZQ(A/D) = µQ(αA/D) = µQ(

x∈X(µA(x) ∩ µD(x))∑

x∈X µD(x)) (3.14)

• El enfoque de Yager [Yag92] esta basado en el uso del operador de agregacionOWA1[Yag88, Yag93]. Por un lado se considera la secuencia de valores ci =

µA(xi)∨ (1−µD(xi)) y se ordenan de mayor a menor en forma de secuenciabi. Por otro lado, se considera la secuencia di = µD(xi), y su permutacionordenada ei. El grado de cumplimiento se calcula de la siguiente manera:

YQ(A/D) =∑n

i=1 wi · bi

con wi = µQ( ei∑n

1 di)− µQ( ei

∑n1 di− 1)

(3.15)

• El enfoque de Vila [VCMP95a] esta basado en el concepto de familia coherentede cuantificadores, cuyos extremos son ∃ y ∀. Veamos este enfoque con algomas de detenimiento.

La idea basica es considerar que el grado de cumplimiento de la sentencia tipoII estara en un punto intermedio entre los grados de cumplimiento de las sentenciasExiste un D que es A y Todos los Ds son A.

El grado de cumplimiento de la sentencia Existe un D que es A viene dado por lasiguiente expresion:

∃x ∈ X, (µD(x) ∧ µA(x)) = maxx

(µD(x) ∧ µA(x)) (3.16)

1del ingles Ordered Weighted Average

Page 112: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

90 Un modelo de datos orientado a objetos difuso

Mientras que el grado de cumplimiento de Todos los Ds son A se calcula de lasiguiente manera:

∀x ∈ X, (µD(x)→ µA(x)) = minx

(µA(x) ∨ (1− µD(x)) (3.17)

En [VCMP95a] Vila et al. proponen la siguiente definicion de familia coherentede cuantificadores:

Definicion 3.5 (Familia coherente de cuantificadores). Sea Q=Q1, ..., Ql unconjunto de cuantificadores linguısticos. Se dice que Q es una familia coherente decuantificadores si verifica las siguientes condiciones:

(i) Las funciones de pertenencia de los elementos de Q son no-decrecientes.(ii) Hay definida en Q una relacion de orden parcial , que tiene como ele-mento maximal a Q1 = ∃ y como elemento minimal a Ql = ∀. Ademas,∀Qi, Qj ∈ Q, Qi ⊆ Qj ⇒ Qj Qi.

(iii) La funcion de pertenencia del cuantificador ∃ viene expresada por µQ1(x) =

1 si x 6= 0 y µQ1(0) = 0, y la funcion de pertenencia del cuantificador ∀ vienedada a su vez por µQl

(x) = 0 si x 6= 1 y µQ1(0) = 1

Teniendo en cuenta la anterior definicion, en el enfoque de Vila el calculo delgrado de cumplimiento de la sentencia tipo II, se lleva a cabo de la siguiente manera:

Definicion 3.6 (Grado de cumplimiento VQ). Sean D y A dos conjuntos difusoscon el mismo dominio X , y sea Q una familia coherente de cuantificadores, de formaque cada Qi tiene asociado un valor γi del intervalo [0,1] verficando:

γ∃ = 1, γ∀ = 0, ∀Q, Q′ ∈ Q, Q Q′ ⇒ γQ ≥ γQ′. (3.18)

En estas condiciones, el grado de cumplimiento de la sentencia “Q Ds son A” secalcula mediante la siguiente expresion:

VQ(A/D) = γQ maxx

(µD(x)∧µA(x))+(1−γQ) minx

(µA(x)∨(1−µD(x))) (3.19)

Como valores γi, se propone usar una aproximacion de la medida de disyunti-vidad2 propuesta por Yager en [Yag88]. Dicha aproximacion se calcula mediante lasiguiente expresion:

oQ =

∫ 1

0µQ(x)dx (3.20)

2del ingles orness

Page 113: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.2 Semejanza entre objetos 91

La expresion definitiva del calculo de grado de cumplimiento quedarıa como si-gue:

VQ(A/D) = oQ maxx

(µD(x)∧µA(x))+(1−oQ) minx

(µA(x)∨(1−µD(x))) (3.21)

Para la agregacion de nuestras opiniones de semejanza nos decantamos por esteultimo enfoque, porque tiene un funcionamiento parecido al de Yager en las cercanıasdel cuantificador ∀ (que por otra parte es la zona de cuantificadores que nos interesa)y resulta mas sencillo de calcular (el calculo de oQ hay que realizarlo solo una vez,para cada cuantificador). Frente al enfoque de Zadeh, este metodo resulta menosestricto y tiene una complejidad de calculo similar. Un estudio comparativo de lostres metodos puede encontrarse en [VCMP97b].

En el problema que nos ocupa, para aplicar el enfoque de Vila nos basta condeterminar la semantica del cuantificador que se quiere utilizar. En lugar de prefijarun cuantificador que sea el mismo para el calculo de semejanza en todas las clases,parece razonable dotar de libertad al disenador del tipo de una clase, de forma quesea el quien decida que cuantificador se puede utilizar para el calculo de la semejanzaentre objetos de la misma. En ese caso bastara con que aporte el valor de γQ quequiere utilizar para combinar los dos casos extremos. De esta forma, ademas deaumentar la capacidad del programador para decidir, simplificamos sobremanera elcalculo del grado de cumplimiento.

3.2.2.4 Objetos complejos: recursividad

Teniendo en cuenta lo anterior, puede parecer resuelto el problema de la semejanzaentre objetos: se observan los atributos dos a dos, se calcula un grado de semejanzay se agrega mediante el uso de VQ. Sin embargo, el modelo orientado a objetos tieneuna caracterıstica que, si bien lo dota de alto poder de interrelacion entre los datos,introduce bastante complejidad a la hora de estudiar la igualdad o, en nuestro caso,el parecido de dos objetos de una clase: nos referimos a los objetos complejos yla aparicion de ciclos en el grafo de relaciones que tiene asociado un determinadoesquema.

Para hacer frente al calculo de la semejanza entre objetos complejos la unicasalida es propagar el problema haciendo uso de la recursividad. Es decir, si estamoscomparando dos objetos o1 y o2, y los valores de un atributo para los anterioresobjetos son a su vez dos objetos o3 y o4, para poder calcular la semejanza entre los

Page 114: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

92 Un modelo de datos orientado a objetos difuso

dos primeros tendremos que calcular primero la semejanza entre estos dos ultimos.Y ası sucesivamente.

El uso de la recursividad que hace la anterior metodologıa no plantearıa ningunproblema si no es por la alta interrelacion que existe normalmente entre los datos deun esquema orientado a objetos, y, mas aun, si en dicho esquema aparecen ciclos.Veamos esto con un ejemplo.

Clase B

Clase C

Clase Aa

bc

Figura 3.5: Diagrama de clases para el ejemplo 3.6

Ejemplo 3.6. Consideremos el grafo de clase que muestra la figura 3.5. Supongamosque tenemos dos objetos de la clase A, a saber, oA1 y oA2, y que queremos calcular sugrado de parecido. Cuando estemos analizando el atributo a, se nos planteara la ne-cesidad de estudiar el grado de semejanza entre dos objetos de la clase B, que vamosa llamar, oB1 y oB2. Al tratar de resolver esta ultima semejanza se nos planteara elestudio de semejanza sobre otros dos objetos oC1 y oC2 al analizar el atributo c delos objetos oB1 y oB2.

El ciclo que hemos completado en el ejemplo anterior produce las siguientescomplicaciones:

• En primer lugar nos lleva a volver a tener un problema de comparacion en lamisma clase que era nuestro punto de partida. Esto, como mınimo, aumentala complejidad del problema, y plantea la necesidad de recorrer un amplioconjunto de datos para establecer la semejanza entre dos objetos.

• En segundo lugar plantea la posibilidad de que la semejanza entre objetos quese pretende determinar vuelva a aparecer como parte del arbol de recursividadde nuevas semejanzas que hay que resolver para calcular la primera. En estecaso entrarıamos en un bucle infinito.

De los dos anteriores, el problema mas grave es el de la posibilidad de caer en unbucle infinito. Este inconveniente se puede afrontar de tres formas:

Page 115: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.2 Semejanza entre objetos 93

• No usando la recursividad, e ignorando dicho valor en el calculo.

• Aproximando de alguna manera su valor, haciendo varias pasadas hasta alcan-zar el valor final.

• Aproximando su valor por otro semanticamente apropiado.

No hacer una llamada recursiva, ignorando el efecto de esa comparacion, noshace prescindir de una informacion importante. La utilizacion de una aproximacioninicial y la iteracion en el proceso de calculo hasta alcanzar un valor mas o menosestable es una solucion razonable, pero conlleva un esfuerzo de calculo considerable yuna mayor complejidad algorıtmica (no olvidemos que en un proceso de recursividadnormal nos podemos encontrar con mas de un ciclo).

Nuestra propuesta se encuadra dentro de la tercera alternativa. Podemos desdo-blar la semejanza entre objetos de una clase en dos semejanzas diferentes: una queexprese una semejanza de superficie y otra que este basada en una exploracion de losobjetos en profundidad. La primera de ellas estara basada en los atributos del obje-to que no nos van a conducir a problemas de ciclos, y la segunda sera la semejanzaobtenida considerando aquellos atributos que necesitan un seguimiento recursivo. Laprimera de ellas puede utilizarse como aproximacion cuando en la segunda se planteeel problema de partida. Veamos esto con mas detalle.

3.2.2.5 Semejanza de superficie y semejanza profunda

Vamos a separar el conjunto de atributos que caracterizan la componente estructuraldel tipo de una clase en dos particiones claras, en funcion de si pueden o no conducira ciclos dentro del esquema de la aplicacion en el que se encuentran definidas.

Definicion 3.7 (Atributos de superficie). Sea C una clase cuyo tipo esta formadopor el conjunto de atributos S = a1, a2, ..., an. Se define el conjunto de atributosde superficie de C y se nota por SS al subconjunto de atributos de S que no puedenconducir a un ciclo que vuelva a C en el esquema en el que esta definida dicha clase.

Teniendo en cuenta la distincion anterior y las aportaciones hechas en los ante-riores apartados, podemos definir el calculo de la semejanza entre dos objetos comose muestra a continuacion:

Definicion 3.8 (Semejanza entre dos objetos). Sea C una clase cuyo tipo esta for-mado por el conjunto de atributos S = a1, a2, ..., an. Sean tambien o1 y o2 dos

Page 116: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

94 Un modelo de datos orientado a objetos difuso

objetos de la clase C. Se define la semejanza de los objetos o1 y o2 de la clase C

como el valor devuelto por la siguiente funcion:

SR : FC ×O(FC)×O(FC)× P(O(FC)×O(FC))× 0, 1 → [0, 1]

donde O(FC) es el conjunto de todos los objetos que existen en la base de datos.El calculo de SR(C, o1, o2, Ω, t) se efectua teniendo en cuenta la siguiente distincionde casos:

(a) Si o1 = o2, entonces:SR(C, o1, o2,Ω, t) = 1

(b) Si existe una relacion de similitud o de semejanza S definida en C, entonces:

SR(C, o1, o2,Ω, t) = µS(o1, o2)

(3.22)(c) Si o1 y o2 son conjuntos difusos entonces:

SR(C, o1, o2,Ω, t) = iSRΩ,⊗ = ⊗(ΘSRΩ(o2|o1),ΘSRΩ(o1|o2))

(d) Si (o1, o2) ∈ Ω ∧ t 6= 1, entonces:

SR(C, o1, o2,Ω, 1)

(e) En otro caso:

oQ maxi:ai∈A(pi ∧ SR(Cai, o1.ai, o2.ai,Ω ∪ (o1, o2), 0))+

+(1− oQ)mini:ai∈A(SR(Cai, o1.ai, o2.ai,Ω ∪ (o1, o2), 0) ∨ (1− pi))

donde

ΘSRΩ(o|o′) = minx∈Soporte(o′)

maxy∈Soporte(o)

I(µo′(x), µo(y)), S(CD, x, y,Ω ∪ (o, o′), 0)

con CD la clase que hace de universo de referencia de los conjuntos,

A =

SS si t = 1

S si t = 0

y Caies la clase dominio del atributo ai.

La anterior funcion, pese a lo complicado de su definicion, no es mas que unaseleccion de casos en la que se decide que tipo de herramienta se puede utilizar paracomparar los dos objetos:

Page 117: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.2 Semejanza entre objetos 95

• Los dos casos base se tienen cuando hay igualdad de identidad entre los obje-tos, o cuando hay una relacion de semejanza definida en la clase para calcularla medida.

• El tercer caso aplica el grado de semejanza generalizada para comparar los dosconjuntos difusos, utilizando la recursividad al comparar los elementos entresı.

• El cuarto caso utiliza el argumento Ω para determinar que se ha producidoun ciclo, y en ese caso hace una llamada recursiva, pero centrandose en losatributos de superficie solamente.

• El quinto caso es un modelo de recursividad general, en el que en funciondel parametro t se aplica el operador de agregacion VQ sobre las llamadasrecursivas que se efectuan examinando parejas de valores de atributo dos ados. Si t es uno, se explora solo la superficie. En otro caso, se compruebantodos los atributos.

Teniendo en cuenta que los operadores que se utilizan en los casos base cum-plen las propiedades de una relacion de semejanza, el operador SR es tambien unarelacion de semejanza entre los objetos de una misma clase.

3.2.2.6 Gestion de valores nulos

La anterior medida de semejanza entre objetos puede ser extendida para poder tra-bajar con comparaciones en las que intervienen valores nulos. Hasta ahora no se haconsiderado esa posibilidad, pero debemos plantear una solucion al problema que sepuede originar si al comparar los valores de atributo entre dos objetos, resulta queuno de ellos es un valor nulo.

Dependiendo de la naturaleza del valor nulo, tendran sentido distintas aproxima-ciones:

• Si el nulo es no-aplicable, la semejanza debe ser 0.

• Si el nulo es desconocido, se puede tomar una postura optimista y considerarque la semejanza es 1. Bajando ese valor, se tomarıan posturas menos optimis-tas.

Page 118: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

96 Un modelo de datos orientado a objetos difuso

• Si se desconoce cual de las anteriores interpretaciones es la correcta, estamosante un caso parecido al anterior. Una medida igual a 1 serıa muy optimista.

El caso en el que se comparan dos valores nulos, devolverıa el valor 1, salvo queesos valores nulos tuvieran naturalezas distintas, en cuyo caso habrıa que derivar enun valor 0 de semejanza.

3.2.2.7 Organizacion en el modelo orientado a objetos

La representacion en el modelo orientado a objetos de la anterior polıtica se puedeestablecer implementando en cada clase que se defina un metodo de calculo de seme-janza que adapte las anteriores definiciones a las necesidades de la clase, teniendo encuenta la estructura de la misma.

El disenador debera considerar el grado de importancia de cada atributo, senalarel conjunto de atributos de superficie, y debera determinar que polıtica se sigue alcomparar valores nulos. Tambien podra decidir que matices aplica al comparar con-juntos difusos de objetos imprecisos (si es que aparecen en la definicion de la clase).

Entre los argumentos de ese metodo habra alguno en forma de pila, que representeel historial seguido por la funcion de comparacion (el parametro Ω de la anteriorfuncion).

Se puede evitar el esfuerzo de implementar esa funcion para cada clase, si ellenguaje en el que se describen las clases permite manejar metadatos (datos sobre losdatos). Por ejemplo, en Java [Spe00], se puede utilizar la API3 que esta dedicada agestionar la Reflexion4 para elaborar codigo reutilizable que implemente este metodosea cual sea la clase en la que se quiera incorporar.

3.2.2.8 Ejemplo

Para terminar este apartado vamos a considerar un ejemplo, que nos aclare la utili-zacion de los anteriores operadores para calcular la semejanza entre objetos de unamisma clase.

Ejemplo 3.7. Vamos a considerar que tenemos definidas las dos clases siguientes:una clase Aula, descrita por el siguiente conjunto de atributos calidad, extension,

3del ingles Application Programming Interface4del ingles Reflection

Page 119: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.2 Semejanza entre objetos 97

planta, alumnos y una segunda clase Alumno, a su vez descrita por los siguien-tes atributos nombre,edad,altura. Para simplificar, consideraremos que todos losatributos tienen igual importancia, y por tanto, pi = 1.

Con respecto a los atributos que caracterizan a un aula, hay que considerar lassiguientes puntualizaciones:

• La calidad de una clase podra expresarse utilizando valores del dominio des-crito por la tabla 3.6.

Tabla 3.6: Dominio del atributo calidadbuena regular mala

buena 1 0.8 0.2regular 1 0.6mala 1

Tabla 3.7: Dominio del atributo extensiongrande mediana pequena

grande 1 0.5 0mediana 1 0.5pequena 1

• La extension de una clase estara descrita por el dominio impreciso disyuntivodescrito por la tabla 3.7, pudiendo admitir valores numericos para expresar-se. Por simplicidad omitimos la definicion semantica de las etiquetas, y cuan-do sea necesario daremos el nivel de pertenencia de un determinado valornumerico a una de ellas.

• La planta sera un atributo impreciso con semantica tambien disyuntiva, des-crito por la tabla 3.8.

• Cada aula tendra un conjunto difuso de alumnos, cuyo grado vendra deter-minado por el porcentaje de tiempo del dıa que el alumno pasa en el aularecibiendo sus lecciones.

De igual forma, para los atributos de la clase Alumnos hay que tener en cuentalo siguiente:

Page 120: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

98 Un modelo de datos orientado a objetos difuso

Tabla 3.8: Dominio del atributo planta

1 2 3 4 baja intermedia alta

1 1 0 0 0 1 0 02 1 0 0 0.8 1 03 1 0 0 1 0.74 1 0 0 1baja 1 0.8 0intermedia 1 0.7alta 1

• La edad del alumno viene expresada utilizando el dominio impreciso disyun-tivo que muestra la tabla 3.9, ademas de aceptar valores numericos. Al igualque indicamos para el atributo extension de Aula, omitimos la semantica delas etiquetas por simplificar, pero cuando sea necesario indicaremos el valorde pertenencia de una edad numerica a una linguıstica.

Tabla 3.9: Dominio del atributo edadviejo maduro joven

viejo 1 0.5 0.3maduro 1 0.6joven 1

• La altura estara expresada de igual forma utilizando el conjunto de valores quemuestra la tabla 3.10, ademas de aceptar valores numericos. Tambien omiti-mos la semantica de las etiquetas, con las mismas consideraciones expuestasanteriormente.

Tabla 3.10: Dominio del atributo alturaalto mediana baja

alto 1 0.5 0mediana 1 0.7baja 1

Supongamos que tenemos ahora dos objetos de la clase Aula, caracterizados dela siguiente manera:

aula1: calidad=alta, extension=30m, planta=4,almns=1/almn1 + 1/almn2 + 0.8/almn3 + 0.5/almn4.

Page 121: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.2 Semejanza entre objetos 99

aula2: calidad=media, extension=grande, planta=alta,almns=1/almn1 + 1/almn5 + 0.8/almn3 + 0.5/almn6.

Tambien tenemos, entre otros, los siguientes alumnos relevantes:

almn1: nombre=JUAN, altura=1.85m, edad=joven.

almn2: nombre=PEPE, altura=1.7m, edad=joven.

almn3: nombre=MARIA, altura=baja, edad=media.

almn4: nombre=ANTONIO, altura=alta, edad=24.

almn5: nombre=PEPE, altura=mediana, edad=25.

almn6: nombre=ANTONIO, altura=1.90m, edad=joven.

Para el calculo de la semejanza entre las dos aulas, tenemos que realizar lossiguientes calculos:

SR(Calidad, aula1.calidad, aula2.calidad, (aula1, aula2), 0) = µS(alta, media) = 0.8.

SR(Extension, aula1.extension, aula2.extension, (aula1, aula2), 0) = µgrande(30) = 0.9.

SR(Planta, aula1.planta, aula2.planta, (aula1, aula2), 0) = µS(4, alta) = 1.

Para determinar la semejanza entre los conjuntos de alumnos de las dos clases,aplicamos el operador de semejanza generalizada entre los dos conjuntos:

SR(Alumnos, aula1.almns, aula2.almns, (aula1, aula2), 0) = i(aula1.almns, aula2.almns).

Si se observan con detalle los dos conjuntos de alumnos, y teniendo en cuentaque en el campo nombre rige la igualdad clasica, se puede ver claramente que:

i(aula1.almns, aula2.almns) = minSR(Alumno, almn1, almn1, (aula1, aula2), 0),

SR(Alumno, almn2, almn5, (aula1, aula2), 0), SR(Alumno, almn3, almn3, (aula1, aula2), 0),

SR(Alumno, almn4, almn6, (aula1, aula2), 0).

La semejanza de un alumno consigo mismo es 1. Para los otros dos casos, hayque hacer uso de la recursividad y hacer de nuevo el calculo de semejanza entre lasparejas de alumnos involucradas:

Para calcular la semejanza entre el almn2 y el almn5:

SR(Nombre, almn2.nombre, almn5.nombre, (aula1, aula2), (almn2, almn5), 0) = 1.

SR(Altura, almn2.altura, almn5.altura, (aula1, aula2), (almn2, almn5), 0) = µmediana(1.7) = 1.

SR(Edad, almn2.edad, almn5.edad, (aula1, aula2), (almn2, almn5), 0) = µjoven(25) = 0.8.

Y aplicando la agregacion utilizando, por ejemplo, un valor oQ = 0.2:

SR(Alumnos, almn2, almn5, (aula1, aula2), 0) = 0.2(1) + (1 − 0.2)(0.8) = 0.84.

Para calcular la semejanza entre el almn4 y el almn6:

SR(Nombre, almn4.nombre, almn6.nombre, (aula1, aula2), (alumn4, alumn6), 0) = 1.

Page 122: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

100 Un modelo de datos orientado a objetos difuso

SR(Altura, almn4, almn6, (aula1, aula2), (almn4, almn6), 0) = µalta(1.9) = 1.

SR(Edad, almn4.edad, almn6.edad, (aula1, aula2), (almn4, almn6), 0) = µjoven(24) = 0.9.

Y aplicando la agregacion:

SR(Alumno, alumno4, alumno6, (aula1, aula2), 0) = 0.2(1) + (1 − 0.2)(0.9) = 0.92.

Teniendo esto en cuenta ya podemos ver la semejanza entre los dos conjuntos dealumnos:

i(aula1.alumnos, aula2.alumnos) = min1, 0.84, 1, 0.92 = 0.84.

Y, haciendo agregacion, la semejanza entre las dos clases:

S(Aula, aula1, aula2, ∅, 0) = 0.2(1) + (1 − 0.2)(0.8) = 0.84.

Como puede verse, en este ejemplo, los parametros Ω y t de SR no han sidode utilidad, porque no se han producido ciclos. Estos parametros hubieran entradoen accion si, por ejemplo, la clase Alumno hubiera tenido a su vez un atributo queapuntara a las clases a las que asiste. En esta situacion, los parametros anterioreshubieran evitado entrar en un posible ciclo, de forma que si se hubiese planteadocalcular la semejanza entre las dos aulas una segunda vez al comparar su conjuntode alumnos, entonces, en esa segunda ocasion, se habrıa hecho la correspondientellamada recursiva ignorando el campo relativo al conjunto de alumnos de cada aula.

3.3 Extensiones difusas para las clases

La presencia de vaguedad en los valores de los atributos que caracterizan a los objetospuede motivar que la pertenencia de los objetos a una clase dada sea gradual. Comoya hemos visto en secciones anteriores (ver seccion 2.4) hay varias propuestas en laliteratura para calcular el nivel de pertenencia de un objeto a una clase, la mayorıade ellas basados en la idea de inclusion o tipicidad de los valores de los atributos enrelacion con los esperados o prototıpicos para la clase [GBP93, RDP98, YAG96].

La representacion de esta caracterıstica en nuestro modelo orientado a objetos esbastante sencilla: solamente tenemos que anadir un atributo adicional a la clase quequeremos extender de forma difusa. Este atributo puede tener como dominio:

• El intervalo cerrado [0,1].

• Un conjunto de etiquetas que expresen pertenencia definidas sobre dicho inter-valo.

Page 123: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.3 Extensiones difusas para las clases 101

La pertenencia gradual de los objetos a una clase no tiene por que estar siempremotivada por la presencia de vaguedad en los valores de atributo. Tambien puedetener una necesidad semantica, como ocurre en el ejemplo que exponemos a conti-nuacion.

Ejemplo 3.8. Consideremos la definicion de una clase Experto. Podemos utilizarun atributo extra gp con el objetivo de expresar la pertenencia de cada personaincluida en dicha clase. Semanticamente esa pertenencia puede interpretarse comoel grado en que cada instancia puede ser considerada “un experto” en nuestra basede datos. La figura 3.6 muestra la forma de representar este ejemplo en nuestromodelo orientado a objetos.

EtiquetaPertenencia

etiqueta : Cadenaa : Real01b : Real01c : Real01d : Real01

CalculaSimi(op1 : EtiquetaPertenencia) : Real01

Experto

nombre : Cadenamateria : Tema

calculaGp() : Float01

11

gp

Figura 3.6: Diagrama de clases para el ejemplo 3.8

La presencia de vaguedad en los atributos de los objetos (afectando a sus valores,e incluso, a su propia definicion como veremos mas tarde) no solo se traduce enpoder considerar pertenencias graduales de los objetos a las clases, sino que generaimportantes problemas en el proceso de clasificacion. Antes de instanciar un objetoen nuestra base de datos, tenemos que responder a dos cuestiones relevantes:

• ¿Que clase representa mejor a este objeto?

• ¿Existe ya este objeto en la base de datos?

Estas cuestiones resultan difıciles de responder y pueden conducirnos a situa-ciones en las que no estemos seguros de si el objeto es o no una instancia de una

Page 124: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

102 Un modelo de datos orientado a objetos difuso

clase dada. En este caso no hablarıamos de una pertenencia gradual, sino de unapertenencia afectada de incertidumbre. En nuestro modelo orientado a objetos, estacaracterıstica se puede manejar de una forma similar a la mostrada anteriormente, esdecir, con un atributo adicional en el tipo de la clase, pero ahora expresando certezausando escalas adecuadas. El uso del operador de semejanza introducido en la ante-rior seccion puede ayudarnos a identificar objetos de la base de datos con un parecidosospechoso con el que se pretende instanciar.

3.4 Jerarquıas de herencia difusas

Como vimos en el capıtulo 2 de esta memoria, las jerarquıas de herencia pueden cons-truirse siguiendo dos enfoques: uno descendente, especializacion, y otro ascendente,generalizacion.

3.4.1 Especializacion de clases

Los procesos de especializacion permiten crear subclases a partir de una clase exis-tente de una de las dos siguientes maneras:

• Restringiendo la descripcion de una propiedad como puede ser el dominio deun atributo de una clase (por ejemplo la clase Coches y su subclase Cochesrojos).

• Anadiendo un conjunto de propiedades adicional (por ejemplo, Personas y Em-pleados).

Ambos tipos de especializacion pueden conducir a estructuras imprecisas si con-sideramos maneras flexibles para caracterizar las correspondientes subclases. Vea-mos algunos ejemplos.

Ejemplo 3.9. Consideremos el tipo Estudiante caracterizado ahora por los atributosnombre, edad, direccion, ano academico, expediente. Asumimos que edad y anoacademico son imprecisos, y que expediente es un atributo formado a partir del agru-pamiento de una agregacion entre asignaturas y notas, en la que las notas tambienpueden estar expresadas de forma imprecisa.

Ahora vamos a crear la subclase BuenEstudiante como el conjunto de aquellosestudiantes que verifican las siguientes propiedades imprecisas:

Page 125: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.4 Jerarquıas de herencia difusas 103

((edad=“joven” y ano academico≥“intermedios”) o (edad=“muy joven” yanoAcademico≥“primeros”)) y (nota≥“notable”)

Para representar estas restricciones en un entorno orientado a objetos, solo tene-mos que anadir un nuevo atributo valuado en el intervalo [0,1] (siguiendo las indica-ciones de la seccion 3.3). Este atributo indicara el grado de pertenencia de cada objetode la clase Estudiante a la clase BuenEstudiante, y puede ser calculado mediante ope-raciones adecuadas que tengan en cuenta la propiedad imprecisa que caracteriza lasubclase.

Este tipo de subclases difusas son realmente clases intensivas en el sentido de[VCMP95b], puesto que estan definidas a partir de predicados difusos. Por lo tanto,no es necesario representarlas como estructuras separadas, y basta una representacionprocedural en la mayorıa de los casos.

La creacion de una clase explıcita puede resultar interesante solo en aquellassituaciones en las que se anadan nuevos atributos o se establezcan nuevas relacionespara los objetos de la clase difusa. La figura 3.7(a) muestra la forma en la que puederepresentarse el ejemplo 3.9 en nuestro modelo orientado a objetos.

Empleado

tipoTrabajo : Trabajosalario : Nominagp : Real01

Persona

nombre : Cadenaedad : Edad

Si tipoTrabajo="ama de casa" entonces salario=null y gp=0.8Si tipoTrabajo="tiempo parcial" entonces salario<="bajo" y gp<=0.6...

NotaAsignatura

asignatura : Asignaturanota : Nota

Estudiante

nombre : Stringedad : EdadañoAcademico : AñonivelBuenEstudiante : Real01

calculaNivelBuenEstudiante()

1..*1..*

expediente

(a) (b)

Figura 3.7: Diagrama de clases para los ejemplos 3.9 y 3.10

Veamos ahora la segunda forma de especificar una subclase.

Ejemplo 3.10. Vamos a considerar ahora el ejemplo clasico de las clases Personay Empleado. Ademas del conjunto adicional de propiedades que va a incorporar

Page 126: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

104 Un modelo de datos orientado a objetos difuso

la subclase Empleado, podemos establecer que un empleado es una persona quetiene un trabajo. Sin embargo hay muchas situaciones en las que la respuesta a lapregunta ¿tiene tal persona un trabajo? no esta clara (por ejemplo, trabajadores atiempo parcial, becarios, voluntarios sin remuneracion, amas de casa, etc.).

Por lo tanto, es posible considerar clases difusas sin que medie una restriccionimprecisa, como en el caso anterior. En esto casos, un valor de pertenencia menor de1 para un objeto indicara que algunos de sus atributos son nulos o no estan definidos(por ejemplo, periodo de vacaciones para el ama de casa). La figura 3.7(b) muestrala forma en que el ejemplo anterior puede representarse en nuestro modelo orientadoa objetos.

La relacion superclase-subclase considerada aquı no admite ningun grado. Lassubclases son difusas porque admiten una extension difusa como se ha expresadoen la seccion 3.3. Sin embargo, como vimos en el primer capıtulo de esta memo-ria, algunos modelos [GBP93, RDP98, YAG96, BPL99, VD98] consideran que larelacion superclase-subclase puede admitir grados normalmente basados en la ideade inclusion o correspondencia entre los valores tıpicos para la subclase y los de lasuperclase. Esta caracterıstica se puede representar en nuestro modelo orientado aobjetos mediante el uso de variables de clase que expresen dichos grados haciendouso de las escalas adecuadas (numericas o linguısticas).

3.4.2 Generalizacion de clases

Los parrafos anteriores los hemos dedicado a la discusion de los procesos de especiali-zacion. Vamos a centrar ahora nuestro interes en los procesos de generalizacion.

En un proceso de generalizacion, normalmente se construye una superclase apartir de la union de diferentes clases que ya existen en el esquema de la base dedatos. Cualquier elemento de esas clases debe pertenecer a la superclase creada.

De forma adicional, algunos modelos semanticos de datos incorporan el conceptode categorıa para expresar el hecho de que una clase se defina como un subconjuntode una superclase. El proceso de definicion de una nueva categorıa puede ser sua-vizado considerando que las categorıas son subconjuntos difusos de la union de lasclases involucradas. Veamos un ejemplo.

Ejemplo 3.11. Consideremos las clases Estudiante y Profesor (que pueden ser di-fusas o no). La categorıa difusa Investigador puede establecerse a partir de ellas.

Page 127: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.5 Incertidumbre en el esquema 105

Desde un punto de vista semantico, cualquier estudiante o cualquier profesor puedeser un investigador en cierto grado.

La representacion de una categorıa difusa en nuestro modelo orientado a objetossupone la creacion de una clase con extension difusa, es decir, se puede utilizar unatributo adicional valuado en [0,1]. Sin embargo, la inclusion de la categorıa difusaen la union de las clases iniciales debe tener reflejo. Se debe incorporar para ello unarestriccion.

En nuestro ejemplo, si asumimos que las clases iniciales son difusas y que µI(o),µE(o), y µP (o) denotan el grado de pertenencia de cualquier objeto o a las clasesInvestigador, Estudiante y Profesor respectivamente, debe cumplirse la siguiente res-triccion:

µI(o) ≤ µE(o) ∨ µP (o) (3.23)

3.5 Incertidumbre en el esquema

En las lıneas anteriores hemos estudiado la presencia de vaguedad en los diferentesniveles en los que puede aparecer en un sistema orientado a objetos clasico. Sin em-bargo, no hemos considerado el problema que aparece cuando esta vaguedad afectadirectamente a la definicion de los objetos o a la definicion de la clase (o a ambas almismo tiempo). En caso de que la incertidumbre aparezca en el nivel de las defini-ciones estaremos hablando de modelado hipotetico.

3.5.1 Incertidumbre en la definicion de los objetos

Se pueden distinguir dos situaciones diferentes en aquellas circunstancias en las quela incertidumbre afecta a la definicion de los objetos:

• Aquellas situaciones en las que no estamos seguros sobre el valor de un de-terminado atributo: este caso corresponde al nivel de valores de atributo y nosupone ningun cambio en la definicion del objeto.

• Aquellas situaciones en las que no estamos seguros sobre si un objeto tiene ono un determinado atributo. Este hecho afecta a la definicion del objeto y debeser manejado de una manera adecuada.

Page 128: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

106 Un modelo de datos orientado a objetos difuso

La forma directa de representar la falta de certeza sobre la aplicabilidad de unatributo (o una propiedad en general) a un objeto dado es considerar una propiedadadicional que nos informe de dicha aplicabilidad. Es decir, necesitamos anadir a ladefinicion de la clase en cuestion, una propiedad extra por cada propiedad real quecaracterice la estructura de la clase. La escala en la que se mida esta aplicabilidadpuede ser, como hemos visto en varias ocasiones en esta memoria, de varios tipos(posibilıstica, probabilıstica, etiquetas, etc.).

Resulta difıcil distinguir la semantica de esta falta de certeza: en algunas situacio-nes puede resultar complicado determinar si no estamos seguros sobre si un atributodebe caracterizar un objeto o no, o si no estamos seguros sobre la fiabilidad de lafuente que nos aporta el valor para ese atributo.

Ejemplo 3.12. Consideremos la creacion de una clase Animales. Esta clase estaracaracterizada por el conjunto de atributos tamano, peso, color del pelo. Esteultimo atributo puede estar afectado por incertidumbre en algunos individuos. Pen-semos, por ejemplo, que tenemos que almacenar en nuestra base de datos un de-terminado animal y no estamos seguros de si tiene pelo o plumas, y por lo tantodudamos sobre la aplicabilidad del atributo color del pelo para ese animal. La fi-gura 3.8 muestra la forma en la que puede representarse este ejemplo en nuestromodelo orientado a objetos.

En la figura, el atributo aplicabilidadColorPelo esta anadido como una propie-dad de Animal y no como un atributo del dominio Color. De esta forma se diferenciasi la incertidumbre afecta a la aplicabilidad del atributo o a su valor.

Un analisis en detalle de este problema nos lleva a sugerir que buena parte de lassituaciones en las que aparece incertidumbre sobre la aplicabilidad de una determina-da propiedad a un determinado objeto de una clase, pueden estar originadas por unadefinicion inapropiada de la clase.

En nuestro ejemplo de los animales, podemos reemplazar la propiedad color delpelo por un par de atributos tipo de piel y color. El primero puede admitir valoresimperfectos y estar definido sobre el dominio pelo, plumas y el segundo (imprecisoo no) se puede usar para expresar el color del animal.

3.5.2 Incertidumbre en la definicion de la clase

Cuando la incertidumbre no afecta a la definicion del objeto, sino a la definicion dela clase en sı, nos encontramos ante una situacion mas complicada. El problema no

Page 129: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.5 Incertidumbre en el esquema 107

EtiquetaCerteza

etiqueta : Cadenaa : Real01b : Real01c : Real01d : Real01

calculaSimi(op1 : EtiquetaCerteza) : Real01

Animal

tamaño : Tamañopeso : PesocolorPelo : Color

11

aplicabilidadColorPelo

Figura 3.8: Diagrama de clases para el ejemplo 3.12

reside en como representar este hecho en el esquema, sino en el mantenimiento deesta informacion.

La representacion de esta informacion en el esquema puede hacerse medianteel uso de variables de clase que indiquen la certeza sobre la pertenencia de cadapropiedad al tipo de la clase.

Sin embargo, resulta bastante difıcil encontrar un ejemplo de este tipo de casosque sea facil de entender desde el punto de vista semantico: la mayorıa de las cir-cunstancias en las que surge esta incertidumbre se encuadran en los pasos inicialesdel proceso de modelado, cuando aun no estamos seguros de la estructura que debetener el tipo de una determinada clase.

La falta de certeza en este nivel nos obliga a tener en cuenta las siguientes pun-tualizaciones:

• Si creamos un objeto de una clase que este definida de forma incierta, estaincertidumbre debe tener reflejo en la definicion del objeto, e incluso en lapertenencia del objeto a dicha clase. La manipulacion de los datos se hacemucho mas complicada.

• Con el tiempo, esta incertidumbre puede cambiar, y estos cambios afectaran,ademas de a la propia definicion del esquema, a los propios objetos en la basede datos.

Page 130: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

108 Un modelo de datos orientado a objetos difuso

3.6 Tipos difusos

La presencia de incertidumbre en la definicion de las estructuras de nuestra basede datos debe evitarse. Precisamente, uno de los objetivos principales de un buendisenador consiste en eliminar esta incertidumbre tratando de encontrar la jerarquıade clases que represente mejor el problema que se pretende resolver.

Por el contrario, un buen conocimiento del problema puede conducirnos a la de-finicion de diferentes niveles de precision en las estructuras de nuestro esquema. Estaseccion esta dedicada a profundizar en esta idea.

3.6.1 Limitaciones del concepto clasico de tipo

Como ya vimos en la seccion 2.1.1, un tipo es el modelo de los rasgos comunesde un conjunto de objetos de similares caracterısticas. El concepto clasico de tipoconstruye ese modelo mediante un conjunto de propiedades (atributos y metodos).Sin embargo, esta estructura plana impone ciertas limitaciones.

3.6.1.1 Estructura de una clase

La forma habitual en la que se concibe la estructura asociada a una clase en el mo-delo orientado a objetos, puede resumirse como un conjunto de atributos con unaserie de rangos asociados, cuyo producto cartesiano contendra mas tarde el conjuntode instancias pertenecientes a la clase. La figura 3.9 representa esta idea de formaintuitiva.

Propiedad

Figura 3.9: Estructura clasica de una clase

Esta estructura, que vamos a denominar crisp o clasica, da cabida a la gran ma-yorıa de las necesidades que se pueden plantear en terminos de tipos a la hora de

Page 131: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 109

establecer la estructura jerarquica asociada a una aplicacion concreta. Sin embargo,existen algunos problemas en los que dicha estructura deja de ser la mas adecuada yconviene suavizarla. Veamos algunos de ellos.

3.6.1.2 Conceptos con diferentes niveles de especificidad

El primer caso esta formado por problemas en los que se trata un concepto con di-ferentes niveles de especificidad o precision, y para los que queremos encontrar unaestructura que nos permita representar cualquier entidad de ese concepto.

El problema es que, dependiendo del nivel de amplitud o especificidad con el queconsideremos el concepto, esa estructura sera diferente.

Ejemplo 3.13. Imaginemos que estamos mirando una imagen a una distancia deter-minada. Conforme nos acercamos a la imagen, lo que en un principio era solo unasuperficie con una serie de figuras que permitıan intuir el tema de la imagen, pasaraa tener un tamano determinado y una paleta de colores. Incluso, si estamos miran-do la imagen con lupa, podremos distinguir una cierta resolucion y un conjunto depıxeles, y podremos hacer en ella ciertos estudios de vision (histograma, fronteras,etc.).

Como puede verse, segun sea la distancia a la que nos encontremos tendremosque caracterizar nuestra imagen por un conjunto de atributos diferente. Este conjuntode atributos es mas grande cuanto mas cerca nos encontremos de la imagen. Tenemosun solo concepto, que es el concepto de imagen, pero la estructura para representarlono es unica, sino que depende de la precision con que vayamos a tratar una instanciade ese concepto o la distancia desde la que estemos mirando esa instancia.

Ejemplo 3.14. Para poner un ejemplo mas real sobre este problema, y siguiendocon el tema grafico, supongamos un ingeniero informatico que se dedica al mundode las imagenes, y que pretende almacenar de forma ordenada aquellas imagenescon las que va trabajando. Necesita almacenar todas las imagenes que va utilizan-do en funcion de la aplicacion en la que trabaja cada vez. Estas aplicaciones sontales que unas veces se dedican a la simple visualizacion de imagenes, otras vecesson programas de edicion de imagenes y, en algunos casos de ingenierıa del cono-cimiento, realiza trabajos de extraccion de informacion de las mismas. En el primertipo de aplicaciones le bastara considerar propiedades como el tema de la imagen,el fichero, formato y version de la misma. Cuando haga aplicaciones relacionadas

Page 132: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

110 Un modelo de datos orientado a objetos difuso

con la edicion de imagenes, a las anteriores propiedades le convendra anadir otrascomo datos sobre resolucion y la paleta que tiene la imagen. Finalmente, en trabajosde ingenierıa del conocimiento, habrıa que echar mano a otras propiedades comoel histograma, las bandas, e informacion sobre fronteras y transformaciones de laimagen.

Cuando nuestro ingeniero afronta el problema, se decanta por una base de datosorientada a objetos, puesto que aparte de permitir el almacenamiento y recuperacionde las imagenes con las que vaya tratando en sus trabajos, tambien le permite dotarlasde un comportamiento dinamico, por otra parte muy deseado. En este contexto, unaimagen puede representarse conceptualmente mediante la siguiente estructura:

Objeto imagen

• Rasgos mınimos: tema, fichero, formato, version.

• Primer nivel de especificidad: resolucion horizontal, resolucion vertical, paleta.

• Segundo nivel de especificidad: histograma, fronteras, bandas, convolucion.

Para representar esto en la base de datos orientada a objetos, el ingeniero debecrear una clase con una estructura tal, que recoja todas las posibles instancias que sele puedan presentar, es decir, con todos los anteriores atributos como variables de ins-tancia, independientemente del nivel de amplitud al que pertenezcan. De esta formatendremos algunas instancias para las que se usen todos los atributos, pero habra otrasen las que esto no ocurra, y en las que se tendran una serie de atributos innecesarios.Este problema se agrava si, ademas de las variables de instancia de la estructura, con-sideramos su conducta o los metodos que definen el comportamiento de los objetosen cuestion. No solo tendremos casos en los que un objeto se caracterice por varia-bles que no utiliza, sino que ademas dicho objeto incorporara un comportamiento noadecuado para manejar esas variables.

Una forma de resolver este problema es considerar un concepto de tipo asociadoa una clase mas permisivo. Podemos considerar un tipo, no como un conjunto clasicode propiedades, sino como un conjunto difuso de las mismas, de tal forma que hayapropiedades que, indudablemente, caracterizan el tipo, y otras propiedades que, sibien sirven tambien para caracterizarlo, no son siempre necesarias (bien porque noson validas en algunos casos, bien porque no se desea tal nivel de especificidad en lacaracterizacion, en otros).

Podemos representar la anterior idea de forma similar a como hacıamos antes enla figura 3.9, utilizando el grafico de la figura 3.10.

Page 133: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 111

Estructura crisp de tipo

Estructura difusa de tipo

Figura 3.10: Estructura de tipo difuso con niveles de especificidad

Ahora cada propiedad esta afectada por un grado de pertenencia que indica larelacion de esa propiedad con el tipo que se esta definiendo.

El tipo resultante tiene una estructura que puede verse como un conjunto difusodefinido sobre el conjunto de todos los atributos posibles. Cada uno de sus α-cortesnos permite percibir el tipo con un nivel diferente de especificidad, considerando maso menos propiedades para caracterizarlo.

A nuestro ingeniero ahora le bastara caracterizar la clase de las imagenes conun tipo difuso estructurado en tres niveles de amplitud. Luego, dependiendo de laaplicacion en la que trabaje, y haciendo un uso adecuado de un nuevo mecanismo deinstanciacion, podra crear cada objeto incorporando el α-corte adecuado de la estruc-tura de la clase, de forma que dicho objeto se caracterice por el conjunto apropiadode atributos, e incorpore el comportamiento idoneo.

3.6.1.3 Clases artificiales en las jerarquıas de herencia

Otro problema en el que la estructura de clase crisp no es eficaz, es el relaciona-do con la aparicion de clases artificiales en una jerarquıa de herencia para agruparcaracterısticas de subclases semejantes en estructura y comportamiento.

El diseno de la estructura jerarquica de herencia adecuada para un problema im-plica conseguir que cada clase de la jerarquıa represente un concepto del modelosemantico previamente establecido, evitando la aparicion de lo que antes hemos con-venido en llamar clases artificiales. Veamos esto con un ejemplo.

Ejemplo 3.15. Consideremos una empresa dedicada al transporte, que utiliza auto-buses, aviones, barcos y trenes. La empresa hace uso de los autobuses y de losaviones para transportes directos, mientras que el resto de medios (trenes y barcos)

Page 134: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

112 Un modelo de datos orientado a objetos difuso

realizan una serie de escalas en su recorrido. Salvo los autobuses, el resto de losmedios de transporte estan dotados de una tripulacion de la que forman parte tantoel personal destinado a la conduccion, como el personal dedicado al servicio de lospasajeros. La tabla 3.11 muestra las propiedades relevantes de los transportes quese deben considerar.

Conceptualmente, este problema puede representarse mediante dos niveles deabstraccion. El primero representa el concepto de medio de transporte en general,mientras que el segundo se centra en cada una de las especializaciones de este con-cepto en autobuses, barcos, aviones y trenes, respectivamente.

Transportes

idcapacidadMaximaorigendestinovelocidadMaximaconductor

Autobuses

numeroEstrellas...

Barcos

antiguedadTripulacionpersonalServiciosasistentesConduccionnumeroEscalaslistaEscalaseslora...

Aviones

antiguedadTripulacionpersonalServiciosasistentesConduccionnumeroMotoresenvergadura...

Trenes

antiguedadTripulacionpersonalServiciosasistentesConduccionnumeroEscalaslistaEscalasnumeroVagonesPasajerosnumeroVagonesMercancias...

Figura 3.11: Solucion jerarquica 1

Una primera forma de afrontar el problema mediante una jerarquıa de clases sepuede observar en la figura 3.11. Consiste en agrupar en una clase de transportesaquellas propiedades comunes a todos ellos, colocando en un nivel inferior comosubclases cada una de las especializaciones con el resto de propiedades. Esto, quedesde el punto de vista conceptual no plantea ningun problema, desde el punto devista de la implementacion genera una cierta redundancia, dado que hay propiedadescompartidas entre algunas de las especializaciones, como son las relacionadas conla tripulacion para barcos, aviones y trenes, y las relacionadas con las escalas parabarcos y trenes.

Page 135: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6T

iposdifusos

113

Tabla 3.11: Propiedades para cada medio de transporte

Autobuses Barcos Aviones Trenes

Identificador Identificador Identificador IdentificadorConductor Conductor Conductor Conductor

Capacidad de pasajeros Capacidad de pasajeros Capacidad de pasajeros Capacidad de pasajerosVelocidad maxima Velocidad maxima Velocidad maxima Velocidad maxima

Origen Origen Origen OrigenDestino Destino Destino Destino

Numero de estrellas Antiguedad de la tripulacion Antiguedad de la tripulacion Antiguedad de la tripulacion... Personal de conduccion Personal de conduccion Personal de conduccion

Personal de servicios Personal de servicios Personal de serviciosNumero de escalas Envergadura Numero de escalas

Lista de escalas Numero de motores Lista de escalasEslora ... Numero de vagones pasajeros

... Numero de vagones mercancıas...

Page 136: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

114 Un modelo de datos orientado a objetos difuso

Una segunda estructura jerarquica que soluciona estos problemas, se muestra enla figura 3.12 . Como se puede observar, aparecen dos nuevos niveles en la jerarquıa,para agrupar y encapsular las propiedades y el comportamiento de aquellos trans-portes con tripulacion, y de aquellos transportes con escalas. Estas nuevas clases,artificiales, sin embargo, no tienen un equivalente conceptual en el modelo de nues-tro problema, aunque permiten una gestion adecuada desde el punto de vista de laimplementacion. Todo lo relativo a la tripulacion esta encapsulado en una clase, y lasvariaciones que se produzcan a ese nivel solo tendran que realizarse una vez, sien-do heredadas por las subclases automaticamente. Igual ocurre con lo relativo a lasescalas.

Transportes

idcapacidadMaximaorigendestinovelocidadMaximaconductor

Autobuses

numeroEstrellas...

Barcos

eslora...

Aviones

numeroMotoresenvergadura...

Trenes

numeroVagonesPasajerosnumeroVagonesMercancias...

TransportesConTripulacion

antiguedadTripulacionpersonalServiciosasistentesConduccion

TransportesConEscala

numeroEscalaslistaEscalas

Figura 3.12: Solucion jerarquica 2

Page 137: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 115

Si analizamos la situacion, nos damos cuenta de que estamos construyendo cla-ses para representar matices del concepto de transporte, que no son validos para todassus especializaciones. Mas aun, estos matices siguen una relacion de inclusion (i.e.,transportes con escala ⊂ transportes con tripulacion ⊂ transportes). Una forma deresolver esto, sin necesidad de introducir nuevas clases en nuestra jerarquıa, es con-siderar un concepto mas permisivo de tipo asociado a una clase.

Podemos ver el tipo asociado a la clase de transportes como un tipo difuso al quepertenecen las propiedades identificador, capacidad de pasajeros, velocidad maxima,origen y destino con grado 1 (rasgos mınimos), las propiedades antiguedad de latripulacion, personal de conduccion y personal de servicios, con grado 0.9 (primernivel de especificidad), y, finalmente, las propiedades de numero de escalas y lista deescalas con grado 0.8 (segundo nivel de especificidad). Si pudieramos usar tambienun mecanismo de herencia tal que se pudiese utilizar un umbral que indique el α-corte de propiedades que se hereda, entonces podrıamos definir una jerarquıa comola que se muestra en la figura 3.13 para representar nuestro problema.

Transportes

(1, id)(1, capacidadMaxima)(1, origen)(1, destino)(1, velocidadMaxima)(1, conductor)(0.9, antiguedadTripulacion)(0.9, personalServicios)(0.9, asistentesConduccion)(0.8, numeroEscalas)(0.8, listaEscalas)

Autobuses

numeroEstrellas...

Barcos

eslora...

Aviones

numeroMotoresenvergadura...

Trenes

numeroVagonesPasajerosnumeroVagonesMercancias...

1 0.8 0.80.9

Figura 3.13: Solucion jerarquica 3

Page 138: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

116 Un modelo de datos orientado a objetos difuso

3.6.1.4 El problema de los datos no estructurados o semiestructurados

Otro problema de bastante importancia, y que constituye una lınea actual de investi-gacion, lo encontramos cuando se trata con datos semiestructurados5. Un ejemplo deeste tipo de datos son los datos disponibles en la Web.

En estos casos resulta importante inferir la estructura subyacente de los datos, conel objetivo de aportar informacion al usuario (por ejemplo para facilitar las consultas)y al sistema (para optimizar el acceso a los datos).

Algunos trabajos relacionados con este tema se pueden encontrar en artıculosde Buneman [BDS95, BDFS97], Nestorov y Abiteboul [NAM97] y Papakonstanti-nou [PGMW95].

Ejemplo 3.16. Considerese la base de datos semiestructurados descrita utilizandoOEM [PGMW95] en la figura 3.14. Se trata de un grafo dirigido, con raız, en elque los objetos aparecen como vertices, y que tiene etiquetas en los arcos. Los atri-butos de un objeto estan representados por las flechas de salida del vertice que lorepresenta, y las flechas de entrada representan los distintos roles que desempenaese objeto.

D

... ...

Salario

Edad

Nombre

Dirección

Dirección

Nombre Sexo

Persona Persona

Empresa

Edad

Nombre

Dirección

Empleado

Figura 3.14: Bases de datos semiestructurados

5aquellos en los que, aunque hay cierta informacion sobre su estructura, esta es demasiado irregularpara ser representada usando un enfoque relacional u orientado a objetos

Page 139: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 117

Como puede observarse, en nuestra base de datos D, hay objetos que teniendolos mismos roles (por ejemplo el caso de las personas), estan descritos por un con-junto diferente de atributos. Algoritmos de inferencia de tipos como el expuesto en[NAM97], tratan de extraer una jerarquıa de tipos que represente de forma adecuadaesta base de datos. Pero tienen una limitacion, y es que para cada rol presente enla base de datos, solo permiten la creacion de un tipo en la jerarquıa, con lo que enalgunos casos hay perdida de informacion y la representacion escogida no es todo locompleta que cabrıa desear.

La utilizacion de un tipo difuso para representar esos roles, permitirıa considerartodos los atributos incluidos en la definicion de los objetos que comparten un rol enla base de datos, indicando a la vez cuales de ellos predominan en las descripciones.

Un problema parecido se tiene cuando se tratan de integrar datos procedentes dedistintas fuentes, referidos al mismo concepto, pero con esquemas algo diferentesunos de otros.

3.6.1.5 El problema de la informacion incompleta

Otro campo en el que puede ser adecuada la utilizacion de tipos difusos, se centra enaquellas situaciones en las que se dispone de gran cantidad de datos con un esquemaconocido pero con una presencia abundante de valores nulos [Cod90] en los atributosde los distintos objetos.

Ejemplo 3.17. Consideremos que tenemos una base de datos con informacion sobre1.000.000 de objetos, cada uno de ellos caracterizado por 15 atributos. La informa-cion es tal, que de las 15× 1.000.000 casillas sobre las que deberıamos tener infor-macion, un 30% de ellas tienen valores desconocidos, nulos. Es decir, por terminomedio, de cada objeto desconocemos el valor de 4.5 de sus atributos. Ademas sabe-mos que esta situacion no va a variar, y que en el futuro no recibiremos informacionsobre esos atributos. Nuestro problema consiste en almacenar esos datos, medianteel uso de una estructura que permita reducir la cantidad de espacio desperdiciadopor los valores nulos, y que a la vez mantenga una informacion razonable sobre elesquema.

La solucion que eliminarıa los nulos por completo serıa aquella en la que seincorporara un tipo por cada combinacion de atributos presente en la base de datos,pero esto nos conducirıa a un esquema inmanejable con un elevadısimo numero detipos carente de estructura.

Page 140: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

118 Un modelo de datos orientado a objetos difuso

Supongamos que disponemos de nuestros tipos difusos, y de un mecanismo deinstanciacion que nos permita crear instancias que incorporen un α-corte de los mis-mos. Podemos disenar un algoritmo que encuentre una ordenacion de los atributosde nuestro problema tal que creando un tipo difuso en el que los atributos tenganun grado de pertenencia determinado por esa ordenacion, y haciendo uso del nue-vo mecanismo de instanciacion, podamos representar toda la informacion de nuestrabase de datos, eliminando una buena parte de los valores nulos, y manteniendo unesquema formado por un solo tipo, pero semanticamente mas explıcito.

3.6.1.6 El problema de los atributos de presencia o ausencia

Nos referimos a aquellos casos en los que en el esquema hay atributos que indican lapresencia o ausencia de informacion sobre otro conjunto de atributos. Por ejemplo,imaginemos que estamos describiendo un avion, y que disponemos de un atributo quenos indica si es un avion de combate o no. Tambien tenemos una serie de atributosque tienen como objeto describir el tipo de armamento que tiene un avion. Esosatributos carecen de sentido en caso de que no se trate de un avion de combate.

Los registros de longitud variable de Pascal[Nyh91] resuelven este problema deforma adecuada para datos no persistentes y desde un punto de vista logico. Lautilizacion de tipos difusos mejora las posibilidades de los tipos clasicos.

Ejemplo 3.18. Consideremos el conjunto de atributos mostrado en la figura 3.15.Los atributos que hay en la capa superior siempre tienen sentido. Sin embargo, losatributos A y B son de presencia o ausencia. El atributo A determina si tienen sentidolos atributos C y D, y el atributo B hace lo propio con los atributos E, F y G. De estostres ultimos, el atributo E determina si tiene sentido considerar los atributos H, I y J.

Si disenamos un tipo difuso que incorpore los atributos con grados de pertenenciadeterminados por las capas (mayor pertenencia para la capa superior y ası sucesiva-mente), podremos crear instancias que incorporen solo la primera capa (aquellas enlas que A y B sean negativos), instancias que incorporen las dos primeras capas (aque-llas en las que A sea positivo o bien lo sea B, o los dos) e instancias que incorporenlas tres capas (aquellas en las que B y E sean positivos).

La solucion es buena, pero hay casos como el de las instancias en las que A esnegativo y B es positivo, en los que se siguen incorporando atributos innecesarios(C y D). De todas formas se produce una ordenacion conceptual muy buena de los

Page 141: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 119

A

B

C

D

E

F

G

H

I

J

Figura 3.15: Atributos de presencia ausencia

atributos, y ademas se evita en algunos casos llegar a niveles de especificidad inne-cesarios.

3.6.2 Formalizacion del concepto de tipo difuso

Hasta ahora hemos justificado la necesidad de la aparicion de un concepto de tipodifuso, para hacer frente a conceptos que se pueden tratar desde distintas distancias,para mejorar el diseno de algunas aplicaciones y resolver otros problemas varios. Lassiguientes secciones de este capıtulo las vamos a dedicar a formalizar esta idea, y aconsiderar los cambios oportunos que hay que introducir en el enfoque orientado aobjetos para incorporarla.

3.6.2.1 La estructura de un tipo difuso

Definicion 3.9 (Estructura difusa). Conjunto difuso que tiene como referencial elconjunto A de todos los atributos posibles en nuestro modelo, y que se aplica en elintervalo [0,1].

Definicion 3.10 (Tipo difuso). Tipo en el que su parte estructural S es una estructuradifusa.

Por lo tanto, para conocer un tipo difuso necesitamos conocer la funcion de per-tenencia asociada a su componente estructural.

Page 142: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

120 Un modelo de datos orientado a objetos difuso

Sea un tipo T ∈ FT asociado a una clase C. La funcion de pertenencia quecaracteriza a su componente estructural S sera de la siguiente forma:

µS : A→ [0, 1] (3.24)

Dicha funcion tendra asociado un soporte finito de atributos (no tiene sentido ha-blar de estructuras con un soporte infinito), y el conjunto podra expresarse mediantela siguiente notacion simplificada:

S = µS(a1)/a1 + µS(a2)/a2 + ... + µS(an)/an (3.25)

Una vez que hemos establecido la forma de representar la parte estructural de untipo difuso, se pueden ver con facilidad las siguientes caracterısticas:

• El conjunto de atributos que en algun momento pueden utilizarse para caracte-rizar el tipo se corresponde con el soporte del conjunto difuso en cuestion.

• El nucleo, o 1-corte del conjunto, contiene los atributos basicos que siemprecaracterizaran al tipo.

• Cada uno de los α-cortes define un grado de especificidad con que se puedeconsiderar el tipo, y que servira para caracterizarlo desde distintas distanciasde aproximacion. Para crear una instancia de ese tipo, habra que indicar que α-corte de la estructura va a incorporar. El conjunto S debera estar normalizadopara garantizar que los α-cortes sean no vacıos.

• Es importante darse cuenta de que conforme disminuye α en los cortes, el con-junto de atributos que se obtiene es mas grande, y por lo tanto mas especıficoy preciso. Una instancia que incorpore una estructura difusa hasta nivel 0.5,tendra un numero de atributos mayor o igual que el que tenga una instanciaque incorpore esa estructura a nivel 0.8.

Ejemplo 3.19. Para ilustrar lo anteriormente expuesto, podemos considerar la si-guiente clase C.

Cuando en el futuro un usuario pretenda crear una instancia de la clase C, podrahacer que esta incorpore los atributos de S1, los de S0.9, los de S0.8, o los de S0.7,segun sea el grado de especificidad que requiera ese objeto para ser representado.

Page 143: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 121

Clase CEstructura:(1, a1): Tipo de a1

(1, a2): Tipo de a2

(0.9, a3): Tipo de a3

(1, a4): Tipo de a4

(0.9, a5): Tipo de a5

(0.8, a6): Tipo de a6

(0.7, a7): Tipo de a7

Conducta: ...Fin clase C

La estructura S, esta definida por el siguiente conjunto difuso:

S = 1/a1 + 1/a2 + 0.9/a3 + 1/a4 + 0.9/a5 + 0.8/a6 + 0.7/a7

Como se puede ver, la estructura esta organizada en cuatro niveles (grados1, 0.9, 0.8 y 0.7 de pertenencia). Por lo tanto, tendra los siguientes α-cortesrelevantes:

S1 = a1, a2, a4, S0.9 = S1 ∪ a3, a5,S0.8 = S0.9 ∪ a6, S0.7 = S0.8 ∪ a7

Conviene resaltar que el valor concreto de los α’s utilizados puede no ser muyimportante, si solo se pretende organizar una estructura en un determinado numerode niveles de especificidad. En este caso lo que importa es el numero de α-cortesrelevantes que se pueden manejar. Por ejemplo, se pueden tener estructuras con tresniveles de especificidad utilizando para α tanto los valores 1, 0.9 y 0.8 como losvalores 1, 0.99 y 0.98. En algunos casos esto puede resultar indiferente. No obstante,puede haber otras situaciones en las que nos interese dar una semantica a esos valoresde α. Por ejemplo, si la estructura se infiere a partir de un conjunto de instancias,podemos utilizar el valor de α para indicar la relevancia de un atributo dentro deltipo. Ya no solo nos interesarıa ver que un determinado tipo esta estructurado en nniveles de especificidad, sino que tambien serıa importante conocer la dispersion deesos niveles. En casos como este, los valores de α adquieren un significado adicional.

Ejemplo 3.20. Volviendo a los avatares de nuestro ingeniero informatico, el tipopara una imagen (ejemplo 3.14) se puede definir como se muestra a continuacion:

3.6.2.2 La conducta de un tipo difuso

Hasta este momento hemos estado refiriendonos al conjunto de atributos que caracte-rizan el tipo de una clase (componente estructural -S- del tipo). Sin embargo, cuandose define una clase, se fijan tanto una serie de atributos como una serie de metodosque determinan el comportamiento o conducta de las futuras instancias de esa cla-se (componente de conducta -B- del tipo). La filosofıa del nuevo concepto de tipopuede aplicarse sin problema a los atributos, y ha de tener reflejo para el caso de losmetodos.

Un metodo de una determinada clase contiene en su codigo una serie de referen-cias a atributos de la instancia sobre la que se aplica. Ademas, puede tener mensajes

Page 144: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

122 Un modelo de datos orientado a objetos difuso

Clase ImagenEstructura:(1, tema): Cadena(1, fichero): Cadena(1, formato): Cadena(1, version): Numero(0.9, res hor): Numero(0.9, res ver): Numero(0.9, paleta): Cto. de numero(0.8, bandas): Cto. de matriz(0.8, histograma): Matriz(0.8, convolucion): Matriz(0.8, fronteras): Cto. de matrizConducta: ...Fin Imagen

La estructura S, esta definida por el siguiente conjunto difuso:

S=1/tema + 1/fichero + 1/formato + 1/version + 0.9/res hor +0.9/res ver + 0.9/paleta + 0.8/bandas + 0.8/histograma +

0.8/convolucion + 0.8/fronteras

Como se puede ver, la estructura esta organizada en tres niveles (gra-dos 1, 0.9 y 0.8 de pertenencia). Por lo tanto, tendra los siguientesα-cortes relevantes:

S1 =tema, fichero, formato, versionS0.9=S1∪res hor, res ver, paleta

S0.8=S0.9∪bandas, histograma, convolucion, fronteras

enviados al propio objeto receptor que hagan referencia a otros metodos de esa mismaclase, y esos metodos, a su vez, haran referencia a otra serie de atributos y metodos.La figura 3.16 ilustra en forma de grafo lo anteriormente expuesto para una serie demetodos de nuestra clase ejemplo C (ejemplo 3.19).

a1

a2

a

3

a1

a

4

a5

a6

a5

a7

a2

m1 m

2

m3

m4

Figura 3.16: Grafo de llamadas entre metodos de una clase

En el grafo, los vertices representan metodos y los arcos dirigidos representan re-ferencias entre metodos. Dentro del vertice de un metodo mi aparece el conjunto deatributos que estan referenciados en su codigo y que vamos a llamar Atributos(mi).Por ejemplo, en el anterior grafo Atributos(m2) = a1, a4, a5. Al conjunto de

Page 145: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 123

metodos cuya ejecucion puede ser invocada directa o indirectamente (a traves deotros metodos) desde un metodo mi (excluyendo referencias recursivas), y que enel grafo seran alcanzables desde ese metodo (existira un camino desde mi haciaellos), lo vamos a denotar por Referencias(mi). Por ejemplo, en el anterior grafoReferencias(m2) = m3, m4.

Hasta ahora, en el modelo orientado a objetos, cualquier instancia de una clasedisponıa de todos los atributos o variables de la clase. Sin embargo, con nuestrosnuevos tipos, una instancia de una clase puede incorporar o no determinados atributosen funcion del α-corte de la estructura de la clase con que haya sido creada.

Cada uno de los metodos que se definen en una clase debe tener asociado unnivel de especificidad (al igual que los atributos o variables de instancia), que seranecesario para determinar la precision mınima de la estructura que una instancia debetener para poder incorporar ese metodo en su conducta.

Definicion 3.11 (Nivel de especificidad del codigo- NCm). Se define el Nivel deespecificidad propio del codigo de un metodo m y se nota por NCm como el mınimode los niveles de pertenencia que tienen los atributos que aparecen directamentereferenciados en su codigo, y se calcula como sigue:

NCm =

1 si Atributos(m)=∅mina∈Atributos(m) µS(a) en otro caso

(3.26)

Definicion 3.12 (Nivel de especificidad - Nm). Grado que se tiene que asociar aun metodo m, y que como hemos visto dependera de los atributos que en el seanreferenciados y del nivel de especificidad de otros metodos de esa misma clase queaparezcan en su codigo como mensajes.

Si consideramos una clase C y un metodo m definido para esa clase, entonces sunivel de especificidad Nm puede obtenerse mediante la siguiente formulacion:

Nm =

NCm si Referencias(m)=∅min(minx∈Ref(m)NCx, NCm) en otro caso

(3.27)

En el calculo del nivel de especificidad de un metodo no tiene sentido tener encuenta las referencias recursivas (directas o indirectas), puesto que no van a poner enjuego nuevos atributos que puedan restringir dicho nivel de especificidad.

Page 146: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

124 Un modelo de datos orientado a objetos difuso

Ejemplo 3.21. Aplicando la formulacion anterior a los metodos del grafico de lafigura 3.16, obtenemos los siguientes resultados:

NCm1= minµS(a1), µS(a2), µS(a3) = min1, 1, 0.9 = 0.9

NCm2= minµS(a1), µS(a4), µS(a5) = min1, 1, 0.9 = 0.9

NCm3= minµS(a5), µS(a6)) = min0.9, 0.8 = 0.8

NCm4= minµS(a2), µS(a7) = min1, 0.7 = 0.7

Nm1= minNCm1

, NCm2, NCm3

, NCm4 = min0.9, 0.9, 0.8, 0.7 = 0.7

Nm2= minNCm2

, NCm3, NCm4

= min0.9, 0.9, 0.8, 0.7 = 0.7

Nm3= NCm3

= 0.8

Nm4= NCm4

= 0.7

Esto quiere decir que para que una instancia pueda aplicar el metodo m3, tieneque haber sido creada incorporando un α-corte de la estructura de la clase con un α

menor o igual a 0.7. Y ası con los otros metodos. En otro caso, la instancia carecerıade algunos atributos necesarios para la aplicacion del correspondiente metodo.

Definicion 3.13 (Conducta de un tipo difuso). Conjunto difuso que tiene comoreferencial el conjunto M de todos los metodos que se pueden definir en nuestromodelo, y la siguiente funcion de pertenencia:

µB : M → [0, 1]

µB(m) =

0 si el metodo m no ha sido definido para la claseNm si el metodo m ha sido definido para la clase

(3.28)

Es importante resaltar que la componente de conducta de un tipo no anade nue-vos niveles de especificidad. Simplemente completa los niveles de especificidad yafijados por la componente estructural con la conducta adecuada. Por supuesto, tam-bien puede permitirse que el programador del tipo coloque un metodo en un nivel deespecificidad inferior al que le corresponde en funcion de su codigo. Esto puede tenersu utilidad, si lo que se pretende es ocultar ese metodo a determinadas instancias deltipo. En ese caso, si consideramos el valor Um como el valor de especificidad que elusuario quiere que tenga el metodo m en cuestion, la funcion de pertenencia anteriorquedarıa de la siguiente manera:

µB : M → [0, 1]

µB(m) =

0 si el metodo m no ha sido definido para la clasemin(Um, Nm) si el metodo m ha sido definido para la clase

(3.29)

Page 147: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 125

Ejemplo 3.22. En el ejemplo de la clase Imagen, podemos considerar dos metodospor cada variable de instancia. Uno para obtener su valor, y otro para modificarla ocalcularla (Valor tema(), Asigna tema(nuevo tema), etc.). Se trata de un caso trivialen el que se puede ver claramente que Nm para cada uno de esos metodos coincidecon el grado de pertenencia de la variable de instancia a la que se refiere el metodo.La componente de conducta del tipo Imagen, quedarıa como sigue:

B=1/valor tema(...) + 1/asigna tema(...) + 1/valor fichero(...) + 1/asigna fichero(...) + 1/valor formato(...) +

1/asigna formato(...) + 1/valor version(...) + 1/asigna version(...) + 0.9/valor res hor(...) + 0.9/asigna res hor(...)

+ 0.9/valor res ver(...) + 0.9/asigna res ver(...) + 0.9/valor paleta(...) + 0.9/asigna paleta(...) + 0.8/valor ban-

das(...) + 0.8/calcula bandas(...) + 0.8/valor histograma(...) +0.8/calcula histograma(...) + 0.8/valor convo-

lucion(...) + 0.8/calcula convolucion(...) + 0.8/valor fronteras(...) + 0.8/calcula fronteras(...).

Tambien se ven los siguientes α-cortes relevantes:

B1=valor tema(...), asigna tema(...), valor fichero(...), asigna fichero(...), valor formato(...), asigna formato(...),

valor version(...), asigna version(...)

B0.9 = B1∪valor res hor(...), asigna res hor (...), valor res ver(...), asigna res ver(...), valor paleta(...), asigna

paleta(...)

B0.8 = Soporte(B)

En resumen, hemos definido un tipo difuso como un par de componentes:

• Una componente estructural S, que es un conjunto difuso definido sobre elconjunto de todos los atributos posibles en nuestro modelo, y cuya funcion depertenencia viene dada por el programador que define el tipo.

• Una componente de conducta B, que es un conjunto difuso definido sobre elconjunto de todos los metodos posibles en nuestro modelo, y cuya funcion depertenencia se obtiene a partir de un calculo sobre las referencias que aparecenen el metodo.

3.6.2.3 Instanciacion de un tipo difuso

El cambio propuesto en el concepto de tipo implica ciertas modificaciones en la ideade instanciacion y de herencia. Tanto el mecanismo de herencia H como el de instan-ciacion I , deben ser modificados para explotar las caracterısticas de los tipos difusos.

Page 148: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

126 Un modelo de datos orientado a objetos difuso

El mecanismo de instanciacion I , debe permitir elegir el α-corte de atributos deltipo que queremos utilizar para representar el nuevo objeto que vamos a crear.

Definicion 3.14 (Constructor difuso). Metodo generico new(α), cuyo receptor pue-de ser cualquier clase C, y cuyo argumento es el nivel α de la estructura que quere-mos utilizar para representar el nuevo objeto. El efecto de enviar el mensaje new(α)

a una clase C con componente estructural S y componente de conducta B, consisteen la creacion de un objeto que incorpore el conjunto Sα de atributos, y que tengauna conducta definida por el conjunto Bα de metodos.

Al igual que ocurre con los α-cortes de un conjunto difuso, α debe tomar valoresmenores o iguales a 1 y estrictamente mayores que 0. No tiene sentido crear un objetosin atributos (α > 1) o con todos los atributos posibles (α = 0).

Ejemplo 3.23. Veamos como ejemplo el efecto de aplicar el mecanismo de instan-ciacion en la clase Imagen definida en el anterior apartado de esta memoria:

• Imagen.new(1): Crearıa un objeto de la clase Imagen, representado por los atributos tema, fichero,

formato, version, e incorporando en su conducta el conjunto de metodos valor tema(...), asigna tema(...),

valor fichero(...), asigna fichero(...), valor formato(...), asigna formato(...), valor version(...), asigna ver-

sion(...).

Notese que se elimina convenientemente el acceso a metodos innecesarios. Un α menor que 1 y estricta-

mente mayor que 0.9 producirıa el mismo efecto.

• Imagen.new(0.9): Crearıa un objeto de la clase Imagen, representado por los atributos tema, fichero, for-

mato, version, res hor, res ver, paleta, e incorporando en su conducta el conjunto de metodos valor te-

ma(...), asigna tema(...), valor fichero(...), asigna fichero(...), valor formato(...), asigna formato(...), va-

lor version(...), asigna version(...), valor res hor(...), asigna res hor(...), valor res ver(...), asigna res ver(...),

valor paleta(...), asigna paleta(...).

Un α menor que 0.9 y estrictamente mayor que 0.8 producirıa el mismo efecto.

• Imagen.new(0.8): Crearıa un objeto de la clase Imagen, representado por los atributos tema, fichero, for-

mato, version, res hor, res ver, paleta, bandas, histograma, convolucion, fronteras, e incorporando en su

conducta los metodos valor tema(...), asigna tema(...), valor fichero(...), asigna fichero(...), valor forma-

to(...), asigna formato(...), valor version (...), asigna version(...), valor res hor(...), asigna res hor(...), va-

lor res ver(...), asigna res ver(...), valor paleta(...), asigna paleta(...), valor bandas(...), calcula bandas(...),

valor histograma(...), calcula histograma(...), valor convolucion(...), calcula convolucion(...), valor fron-

teras(...), calcula fronteras(...).

Un α menor que 0.8 y estrictamente mayor que 0 producirıa el mismo efecto.

Page 149: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 127

3.6.2.4 Herencia de un tipo difuso

El mecanismo de herencia H , debe permitir heredar parte de la estructura y del com-portamiento de una clase por parte de sus subclases. Al igual que hemos hecho con elmecanismo de instanciacion, vamos a anadir un umbral que indique que parte de pro-piedades queremos que se hereden. Podemos plantearnos la herencia de dos formasdistintas:

Definicion 3.15 (Herencia sin propagacion de borrosidad - Hcrisp). Tipo espe-cial de herencia en el que se incorporan los atributos y los metodos heredados alnucleo de la componente estructural y de la componente de conducta de la subclase,eliminado la borrosidad de las propiedades heredadas.

Definicion 3.16 (Herencia con propagacion de borrosidad - Hfuzzy). Tipo espe-cial de herencia en el que se mantiene la borrosidad, heredando tanto propiedadescomo metodos afectados del correspondiente grado de pertenencia.

Supongamos que estamos creando una nueva clase C y queremos que esa claseherede sin propagacion de borrosidad y con umbral α de otra clase C ′. Si llamamosSSub y BSub a las componentes estructural y de comportamiento definidas para lanueva clase, y SSup y BSup a las respectivas componentes de la superclase, el tiporesultante para la clase C, tendra las siguientes componentes:

• Su componente estructural sera el conjunto difuso obtenido por la union di-fusa del α-corte SSupα de la componente estructural de la superclase C ′ y lacomponente estructural SSub definida para la subclase.

SC = SSupα ∪ SSub (3.30)

• Su componente de conducta sera el conjunto difuso obtenido por la union delα-corte BSupα de la componente de conducta de la superclase C’ y la compo-nente de conducta BSub definida para la subclase.

BC = BSupα ∪BSub (3.31)

La componente de conducta se calcula una vez que la componente estructuraldefinitiva para la subclase ha sido calculada.

Page 150: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

128 Un modelo de datos orientado a objetos difuso

Ejemplo 3.24. Para ilustrar este mecanismo de herencia, recordemos la definicionde nuestra clase Imagen y consideremos la definicion de una nueva clase Plano:

Clase Plano hereda de Imagen al nivel 0.9 sin propagacionEstructura:

(1, edificio): Cadena(1, planta): Numero(1, escalera): Cadena

Conducta:Valor_edificio(...);Asigna_edificio(...);...

Fin Plano

En este caso, la componente estructural quedarıa como sigue:

SSub=1/edificio+1/planta+1/escalera

SSup=1/tema + 1/fichero + 1/formato + 1/version + 0.9/res hor + 0.9/res ver + 0.9/paleta+ 0.8/bandas + 0.8/his-

tograma + 0.8/convolucion + 0.8/fronteras

SSup0.9=1/tema + 1/fichero + 1/formato + 1/version + 1/res hor + 1/res ver + 1/paleta

S = SSub∪SSup0.9= 1/edificio + 1/planta + 1/escalera + 1/tema + 1/fichero + 1/formato + 1/version + 1/res hor

+ 1/res ver + 1/paleta

Y la componente de conducta se calcularıa de la siguiente manera:

BSub=1/valor edificio(...) + 1/asigna edificio(...) + 1/valor planta(...) + 1/asigna planta(...) + 1/valor escalera(...)

+ 1/asigna escalera(...).

BSup=1/valor tema(...) + 1/asigna tema(...) + 1/valor fichero(...) + 1/asigna fichero(...) + 1/valor formato(...) +

1/asigna formato(...) + 1/valor version(...) + 1/asigna version(...) + 0.9/valor res hor(...) + 0.9/asigna res hor(...)

+ 0.9/valor res ver(...) + 0.9/asigna res ver(...) + 0.9/valor paleta(...) + 0.9/asigna paleta(...) + 0.8/valor ban-

das(...) + 0.8/calcula bandas(...) + 0.8/valor histograma(...) +0.8/calcula histograma(...) + 0.8/valor convolucion(...)

+ 0.8/calcula convolucion(...) +0.8/valor fronteras(...) + 0.8/calcula fronteras(...).

BSup0.9=1/valor tema(...) + 1/asigna tema(...) + 1/valor fichero(...) + 1/asigna fichero(...) + 1/valor formato(...)

+ 1/asigna formato(...) + 1/valor version(...) + 1/asigna version(...) + 1/valor res hor(...) + 1/asigna res hor(...)

+ 1/valor res ver(...) + 1/asigna res ver(...) + 1/valor paleta(...) + 1/asigna paleta(...).

B = BSub ∪ BSup0.9= 1/valor edificio(...) + 1/asigna edificio(...) + 1/valor planta(...)+ 1/asigna planta(...)

+ 1/valor escalera(...) + 1/asigna escalera(...) + 1/valor tema(...) + 1/asigna tema(...) + 1/valor fichero(...) +

1/asigna fichero(...) + 1/valor formato(...) + 1/asigna formato(...) + 1/valor version(...) + 1/asigna version(...)

+ 1/valor res hor(...) + 1/asigna res hor(...) +1/valor res ver(...) + 1/asigna res ver(...) + 1/valor paleta(...)

+1/asigna paleta(...).

Page 151: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 129

Antes de pasar a ver la herencia con propagacion de borrosidad, vamos a consi-derar la siguiente operacion sobre conjuntos difusos.

Definicion 3.17 (Corte difuso). Sea Y un conjunto difuso, con funcion de pertenen-cia µY . El corte difuso a nivel α de Y, Y ∗

α , es el conjunto difuso definido por lasiguiente funcion de pertenencia:

µY ∗α(m) =

0 si µY (x) < α

µY (x) en otro caso(3.32)

Supongamos ahora que estamos creando la misma clase C, pero esta vez quere-mos que esa clase herede con propagacion de borrosidad y con umbral α de la claseC ′. El tipo resultante para la clase C, tendra las siguientes componentes:

• Su componente estructural sera el conjunto difuso obtenido por la union difusadel corte difuso a nivel α SSup

∗α de la componente estructural de la superclase

C’ y la componente estructural SSub definida para la subclase.

SC = SSup∗α ∪ SSub (3.33)

• Su componente de conducta sera el conjunto difuso obtenido por la union delcorte difuso a nivel α BSup

∗α de la componente de conducta de la superclase

C’ y la componente de conducta BSub definida para la subclase.

BC = BSup∗α ∪BSub (3.34)

Ejemplo 3.25. Recordemos la definicion de nuestra clase Imagen, y consideremosahora la definicion de esta nueva clase Bio-Imagen:

Clase Bio-Imagen hereda de Imagen al nivel 0.8 con propagacionEstructura:

(1, paciente): Cadena(1, medico): Cadena(1, fecha): Fecha

Conducta:Valor_paciente(...);Asigna_paciente(...);...

Fin Bio-Imagen

En este caso, la componente estructural quedarıa como sigue:

Page 152: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

130 Un modelo de datos orientado a objetos difuso

SSub=1/paciente+1/medico+1/fecha

SSup=1/tema + 1/fichero + 1/formato + 1/version + 0.9/res hor + 0.9/res ver + 0.9/paleta+ 0.8/bandas + 0.8/his-

tograma + 0.8/convolucion + 0.8/fronteras

SSup∗0.8

=1/tema + 1/fichero + 1/formato + 1/version + 0.9/res hor + 0.9/res ver + 0.9/paleta+ + 0.8/bandas +

0.8/histograma + 0.8/convolucion + 0.8/fronteras

S = SSub ∪ SSup∗0.8

= 1/paciente+1/medico+1/fecha+1/tema + 1/fichero + 1/formato + 1/version + 0.9/res hor

+ 0.9/res ver + 0.9/paleta+ 0.8/bandas + 0.8/histograma + +0.8/convolucion + 0.8/fronteras

Y la componente de conducta se calcularıa de la siguiente forma:

BSub=1/valor paciente(...) + 1/asigna paciente(...) + 1/valor medico(...) + 1/asigna medico(...) + 1/valor fecha(...)

+ 1/asigna fecha(...).

BSup=1/valor tema(...) + 1/asigna tema(...) + 1/valor fichero(...) + 1/asigna fichero(...) + 1/valor formato(...) +

1/asigna formato(...) + 1/valor version(...) + 1/asigna version(...) + 0.9/valor res hor(...) + 0.9/asigna res hor(...)

+ 0.9/valor res ver(...) + 0.9/asigna res ver(...) + 0.9/valor paleta(...) + 0.9/asigna paleta(...) + 0.8/valor bandas(...)

+ 0.8/calcula bandas(...) + 0.8/valor histograma(...) + 0.8/calcula histograma(...) + 0.8/valor convolucion(...) +

0.8/calcula convolucion(...) + 0.8/valor fronteras(...) + 0.8/calcula fronteras(...).

BSup∗0.8

=1/valor tema(...) + 1/asigna tema(...) + 1/valor fichero(...) + 1/asigna fichero(...) + 1/valor formato(...)

+ 1/asigna formato(...) + 1/valor version(...) + 1/asigna version(...) + 0.9/valor res hor(...) + 0.9/asigna res hor(...)

+ 0.9/valor res ver(...) + 0.9/asigna res ver(...) + 0.9/valor paleta(...) + 0.9/asigna paleta(...)+ 0.8/valor bandas(...)

+ 0.8/calcula bandas(...) + 0.8/valor histograma(...) + 0.8/calcula histograma(...) + 0.8/valor convolucion(...) +

0.8/calcula convolucion(...) + 0.8/valor fronteras(...) + 0.8/calcula fronteras(...).

B = BSub∪BSup∗0.8

= 1/valor paciente(...) + 1/asigna paciente(...) + 1/valor medico(...) + 1/asigna medico(...)

+1/valor fecha(...) + 1/asigna fecha(...) + 1/valor tema(...) + 1/asigna tema(...) + 1/valor fichero(...) + 1/asigna

fichero(...) + 1/valor formato(...) + 1/asigna formato(...) + 1/valor version(...) + 1/asigna version(...) + 0.9/va-

lor res hor(...) + 0.9/asigna res hor(...) + 0.9/valor res ver(...) + 0.9/asigna res ver(...) + 0.9/valor paleta(...)

+ 0.9/asigna paleta(...)+0.8/ valor bandas(...) + 0.8/calcula bandas(...) + 0.8/valor histograma(...) + 0.8/calcu-

la histograma(...) + 0.8/valor convolucion(...) + 0.8/calcula convolucion(...) + 0.8/valor fronteras(...) + 0.8/cal-

cula fronteras(...).

Podemos comparar ambos tipos de herencia sobre un tipo difuso mediante lailustracion que se muestra en la figura 3.17.

La herencia multiple es facilmente modelable como extension de la simple. Sinembargo, la redefinicion de atributos y metodos no resulta tan sencilla. Veamos quehay que hacer en nuestro modelo, para que la herencia funcione de un modo adecuadocon las redefiniciones.

Page 153: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 131

Con propagación

Sin propagación

Figura 3.17: Comparacion entre los dos tipos de herencia

3.6.2.5 Redefinicion de propiedades

Hasta ahora hemos estado denotando los atributos por su nombre y los metodos por suinterfaz. Esto lo hemos hecho con la intencion de simplificar. El lector de estas lıneasno debe olvidar que dos atributos seran distintos aunque tengan el mismo nombre,si tienen distinto tipo. Igual ocurre con los metodos. Dos metodos con identicainterfaz seran distintos si tienen distinto codigo. En nuestros tipos difusos no todaslas definiciones estaran permitidas:

• No se puede permitir que se defina para la subclase un atributo con el mismonombre y con distinto tipo que otro que hay en la superclase. ¿Que atributoresponderıa a las referencias que se hagan al nombre?

• Sı puede tener sentido redefinir en la subclase un atributo con el mismo nombrey tipo que uno de la superclase, pero afectado de otro nivel de pertenencia.En este caso, la operacion de union que estamos utilizando, se encargarıa demantener el nivel de especificidad mas alto. Puede verse que un cambio enel nivel de pertenencia de un atributo al tipo, puede implicar cambios de nivelde especificidad en aquellos metodos heredados que lo utilicen. Por eso, entreotros motivos, antes de calcular la componente de conducta del subtipo, hayque recalcular los Nm para todos los metodos, heredados o no.

La redefinicion de metodos es una herramienta que hay que mantener disponiblepara el usuario en nuestros tipos difusos. Mas aun, podemos permitir que la redefini-

Page 154: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

132 Un modelo de datos orientado a objetos difuso

cion de metodos se haga entre distintos niveles de especificidad dentro de un mismotipo. En cualquier caso, debemos establecer un criterio para que el sistema sepa quemetodo es el que tiene que invocar cuando se le envıe un determinado mensaje a unainstancia.

Vamos a extender el concepto de redefinicion para nuestros tipos difusos, utili-zando el siguiente proceso para decidir que metodo se aplicara cuando una instanciacreada con nivel de precision α reciba un determinado mensaje:

• Comenzamos en la clase difusa a la que pertenece el objeto.

• Buscamos un metodo de esa clase que se corresponda con la signatura delmensaje y con un nivel de precision mayor o igual que α.

• Si solo encontramos uno, lo aplicamos.

• Si hay mas de uno, aplicamos el mas especıfico (aquel que tiene un µB(m)

mas bajo).

• En otro caso, ascendemos un nivel en la jerarquıa de clases difusas, y volvemosal segundo paso de este proceso (si esto es posible).

• Finalmente, si no encontramos ningun metodo, mostramos el correspondientemensaje de error.

Con esto se extiende de forma adecuada el concepto de redefinicion para nuestrostipos difusos. Vamos a terminar con un ejemplo sencillo de lo anterior.

Ejemplo 3.26. Tenemos una clase A, con un metodo m1, y al estudiar su codigo,calculamos Nm1 como 0.7. Creamos una subclase B de A, al nivel 0.6 con propaga-cion de borrosidad, y redefinimos para esta clase el metodo m1. Ahora, al estudiarel codigo de m1, calculamos un Nm1 igual a 0.5. La componente de conducta de B,tendra ambos metodos afectados de un nivel de especificidad diferente.

Al crear una instancia a de la clase B al nivel 0.6, esta incorporara en su con-ducta solo el metodo de la superclase. Al crear una instancia b de la clase B al nivel0.1, incorporara en su conducta ambos metodos. Al enviar el mensaje correspon-diente a la interfaz de m1 a la instancia a, aplicara el metodo de la superclase. Alhacer lo mismo con la instancia b, esta aplicara el metodo de la subclase (por serel mas especıfico de los dos metodos que tiene en su conducta que tienen esa mismainterfaz).

Page 155: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 133

Clase A...Conducta:...m1();...Fin ANm1

=0.7

Clase B hereda de A al nivel 0.6 con propagacion...Conducta:...m1(); /*igual interfaz, distinto codigo*/...Fin BNm1

=0.5

....a=B.new(0.6);b=B.new(0.1);a.m1(); –el sistema aplicara el de la superclaseb.m1(), –el sistema aplicara el de la subclase

3.6.3 Representacion de tipos difusos

3.6.3.1 Tipos difusos en el modelo orientado a objetos clasico

Volviendo a nuestro objetivo de utilizar el modelo de datos orientado a objetos clasicocomo base para todas nuestras estructuras, vamos a hacer el analisis correspondientepara poder afrontar la representacion de los tipos difusos, y de las nuevas capaci-dades que permiten utilizarlos, estudiando las estructuras necesarias que permitanrepresentarlos en el modelo clasico.

Podemos representar un tipo difuso en un modelo orientado a objetos tradicionalmediante una jerarquıa de clases que no se ramifica (es decir, cada clase tiene a losumo una subclase). Las clases que aparecen en la jerarquıa se corresponden con losdistintos niveles de especificidad con que se puede ver el concepto representado porel tipo difuso. La figura 3.18 ilustra esta idea.

Como ya se dijo al formalizar el concepto de tipo difuso, nos movemos en so-portes de caracter finito. Por este motivo, el numero de α-cortes relevantes que sepuede considerar es tambien finito. Como se observa en la figura 3.18, por cada unode esos α-cortes relevantes, se introduce en la jerarquıa una clase crisp (llamaremosası a las clases definidas por un tipo en el sentido clasico) que lo representa. Estaclase tendra la estructura y el comportamiento propios de la distancia o nivel de es-pecificidad con que se considera el concepto representado por la clase a ese nivel. Laraız de la jerarquıa tendra las propiedades (atributos y metodos) del nucleo del tipo,la siguiente clase (subclase de la raız) incorporara, gracias al mecanismo de heren-

Page 156: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

134 Un modelo de datos orientado a objetos difuso

Núcleo

ab

Nivel 1

cd

Nivel 2

ef

Nivel 3

g

a

b c

d

e

g

f

Clase con tipo difuso

Jerarquía de herencia

Figura 3.18: Representacion de un tipo difuso

cia clasico, estas propiedades y anadira las propias de ese nivel de especificidad, yası sucesivamente. Pasamos ahora a realizar una caracterizacion formal de nuestraspeculiares jerarquıas de clases.

Definicion 3.18 (Jerarquıa 1-ramificada de clases). Sucesion de clases C1, ...,Ci−1, Ci, Ci+1, ..., Cn tal que verifica las siguientes propiedades:

• SubCi = Ci+1, i = 1..n-1• SupCi = Ci−1, i = 2..n• Existe una secuencia finita de valores αi, asociada a la jerarquıa, tal quese cumple α1 = 1, αn > 0 y αi > αi+1.

La figura 3.19 muestra la jerarquıa de herencia 1-ramificada que le corresponderıaa nuestro tipo difuso Imagen.

Como se puede ver en la figura, necesitamos tres clases en la jerarquıa. La masalta contendra el nucleo de la componente estructural y el nucleo de la componentede conducta del tipo Imagen. La siguiente, incorporara los atributos y metodos connivel de especificidad 0.9, ademas de tener todos los anteriores gracias al mecanismode herencia tradicional. La ultima clase incorporara los atributos y metodos de nivelde especificidad 0.8, ademas de tener todos los anteriores tambien por herencia.

Page 157: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 135

Núcleo

temaficheroformatoversion$ Alpha = 1

valorTema()asignaTema()valorFichero()asignaFichero()valorFormato()asignaFormato()valorVersion()asignaVersion()

Nivel 1

resolucionVerticalresolucionHorizontalpaleta$ Alpha = 0.9

valorResolucionVertical()asignaResolucionVertical()valorResolucionHorizontal()asignaResolucionHorizontal()valorPaleta()asignaPaleta()

Nivel 2

bandashistogramaconvolucionfronteras$ Alpha = 0.8

valorBandas()asignaBandas()valorHistograma()calculaHistograma()valorConvolucion()calculaConvolucion()valorFronteras()calculaFronteras()

Figura 3.19: Jerarquıa de herencia 1-ramificada para el tipo difuso Imagen

Page 158: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

136 Un modelo de datos orientado a objetos difuso

3.6.3.2 Dos niveles de abstraccion

Ya hemos visto la forma de representar un tipo difuso en un sistema orientado aobjetos clasico. Considerando lo expuesto en los ultimos apartados, debe notarse quecualquier problema que se pretenda representar siguiendo este esquema, genera ungrafo de dos niveles o capas.

El primer nivel, que hemos optado por llamar nivel difuso, muestra las clases conestructura difusa que conforman la jerarquıa conceptual del problema que se quieremodelar. Los arcos de este nivel estan etiquetados de forma que cada uno tengaasociado un tipo de herencia (con o sin propagacion de borrosidad) y un umbral.Por debajo del anterior hay otro nivel, llamado nivel clasico, formado por clases conestructura clasica que contiene las distintas jerarquıas utilizadas para representar lasclases difusas. La figura 3.20 ilustra ambos niveles. Claro esta que, desde el puntode vista del usuario, el nivel clasico debe ser transparente.

Nivel Difuso

Nivel Clásico

a

b c

d

e

f

g h

Figura 3.20: Grafo con dos niveles

Page 159: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 137

3.6.3.3 Implementacion del constructor difuso

En anteriores apartados, cuando hablamos de la instanciacion de un tipo difuso, pre-sentamos un metodo de creacion new(α) que permitıa la instanciacion de una clasecon tipo difuso, y que denominamos constructor difuso. El efecto de enviar el mensa-je new(α) a una clase C con componente estructural S y componente de conducta B,consistıa en la creacion de un objeto que incorporara el conjunto Sα de atributos, yque tuviera una conducta definida por el conjunto Bα de metodos. Veamos ahora co-mo se debe implementar este metodo si utilizamos nuestras jerarquıas 1-ramificadasde clases.

Suponiendo una clase difusa C representada por una jerarquıa 1-ramificada declases C1, ..., Ci−1, Ci, Ci+1, ..., Cn, su codigo podrıa ser el siguiente:

Inicio

i← 1;

Mientras ((i < n) y (αi+1 >= α)) hacer

i← i + 1;

fin mientras;

Ci.new();

Fin;

C1

C2

C3

0.9

0.8

1

new(alfa)

C1.new()

C2.new()

C3.new()

¿alfa?

0.9<alfa<1

0.8<alfa<=0.9

0<alfa<=0.8

Figura 3.21: Instanciacion de una imagen

El procedimiento es bien sencillo: buscamos la clase de la jerarquıa que incorporalos α-cortes adecuados, y creamos una instancia de la misma. La figura 3.21 resumeel proceso anterior, para el caso de nuestro tipo Imagen.

Page 160: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

138 Un modelo de datos orientado a objetos difuso

3.6.3.4 Implementacion de la herencia de un tipo difuso

La implementacion de los dos tipos de herencia que hemos considerado en esta me-moria resulta algo mas complicada, sobre todo en el caso de la herencia con propa-gacion de borrosidad. Ademas no podemos olvidar que tenemos que asegurarnos deque seguimos una polıtica adecuada para la redefinicion de propiedades.

Herencia sin propagacion de borrosidad

Recordemos que este tipo de herencia consistıa en incorporar los atributos y losmetodos heredados al nucleo de la componente estructural y de la componente deconducta de la subclase, eliminado la borrosidad de las propiedades heredadas. Lasformulas 3.30 y 3.31 resumen este mecanismo de herencia.

Supongamos que C1, ..., Ci−1, Ci, Ci+1, ..., Cn es una jerarquıa que representael tipo difuso de la superclase, D1, ..., Dj−1, Dj , Dj+1, ..., Dm es una jerarquıaque representa la componente estructural del tipo difuso definido para la subclase (noaparecera ningun metodo definido para la subclase, puesto que aun no sabemos elnivel que les correspondera -recordemos que los metodos pueden tener referencias apropiedades heredadas) y que α el es nivel al que se realiza la herencia.

Supongamos tambien que Ci es tal que αi ≥ α > αi+1. En ese caso, Ci re-presenta el α-corte de propiedades de la superclase que se quiere heredar (SSupα yBSupα). Para conseguir una representacion del nuevo tipo obtenido, solo tendremosque conseguir que la jerarquıa D1, ..., Dj−1, Dj , Dj+1, ..., Dm incorpore ese α-corteen todas sus clases. La forma de hacerlo es muy sencilla: basta hacer que D1 heredede Ci.

Ahora falta completar la jerarquıa obtenida, anadiendo en el nivel adecuado losmetodos definidos para la subclase, ya que ahora sı se puede calcular el nivel de lajerarquıa en el que tendran que ser colocados. La figura 3.22 muestra este procedi-miento.

Ejemplo 3.27. Cuando se definio la herencia sin propagacion de borrosidad, vimoscomo ejemplo la creacion de la clase Plano como subclase de Imagen al nivel 0.9 sinpropagacion de borrosidad. Veamos graficamente como se harıa en el nivel clasicoo crisp.

La clase Plano solo tiene un nivel de especificidad (pues solo se anaden las pro-piedades edificio, planta y escalera con grado 1), e incorporara todas las propie-

Page 161: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 139

Jerarquía de la Superclase

Jerarquía de la Subclase

C1

C i

Ci+1

Cn

α i

αi+1

αn

1

D1

Dj

Dj+1

Dm

1

αj

αj+1

αm

Superclase

Subclase

Hcrisp

al nivel α

Nivel difuso

Nivel clásico

Figura 3.22: Herencia sin propagacion de borrosidad

Jerarquía de Imagen

Jerarquía de Plano

Núcleo

Nivel 1

Nivel 2

0.9

0.8

1

Núcleo

1

Imagen

Plano

Hcrisp

al nivel 0.9

Nivel difuso

Nivel crisp

Figura 3.23: Ejemplo de herencia sin propagacion de borrosidad

Page 162: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

140 Un modelo de datos orientado a objetos difuso

dades de Imagen, hasta el nivel de especificidad 0.9, pero ahora ya con grado 1. Siel lector vuelve atras al ejemplo que se vio en el apartado anterior, comprobara quese consigue el efecto deseado.

La implementacion propuesta en este apartado cumple la polıtica de redefinicionque indicamos al definir la herencia en anteriores apartados. Puesto que todas lasvariables se heredan con nivel de especificidad 1, no servirıa de nada redefinir unavariable con un nivel de especificidad mas bajo. Por otro lado, si se redefine unmetodo de los heredados, este tendra un nivel Nm de especificidad menor o igualque 1. Para objetos con niveles de especificidad por encima de Nm estara vigenteel heredado porque el nuevo no sera visible a ese nivel. Por debajo de Nm estaravigente el metodo redefinido.

Herencia con propagacion de borrosidad

Recordemos que este tipo de herencia consistıa en incorporar los atributos y losmetodos heredados a la componente estructural y a la componente de conducta dela subclase, manteniendo la borrosidad de las propiedades heredadas. Las formulas3.33 y 3.34 resumen este mecanismo de herencia.

Debido a que para el usuario es posible redefinir el nivel de especificidad de unavariable, y a que puede redefinir los metodos que considere oportunos, la conductadifusa heredada puede variar de la que tenıa la superclase (por ejemplo, algunosmetodos pueden variar Nm al redefinir el nivel de especificidad de algunas variables).

Lo que tenemos que hacer es obtener mediante la operacion de union, tanto lacomponente estructural como la componente de conducta del nuevo tipo, en formade conjuntos difusos de propiedades (como ya se indico en apartados anteriores). Unavez hecho esto, hay que utilizar una jerarquıa 1-ramificada adecuada para representarnuestro tipo por niveles de especificidad. Veamos como se tiene que hacer esto paramantener una correcta polıtica de redefinicion:

• El primer paso consiste en crear una jerarquıa de clases que represente los α-cortes relevantes de la componente estructural obtenida.

• El segundo paso consiste en anadir en cada nivel los distintos metodos, segunsea el Nm calculado para ellos. Sin embargo, no podemos hacer esto tal cual.Recordemos que puede ocurrir que tengamos redefinicion de metodos, y que

Page 163: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 141

para cada nivel de especificidad el sistema tiene que escoger que metodo setiene que aplicar segun la regla que indicabamos en anteriores apartados. Aho-ra, en lugar de incorporar todos los metodos en su nivel correspondiente, solomantendremos aquellos que tienen alguna posibilidad de ser aplicados. Esto lohacemos de la siguiente manera:

– Supongamos que C1, ..., Ci−1, Ci, Ci+1, ..., Cn es una jerarquıa querepresenta la componente estructural obtenida en el primer paso.

– Para cada nivel αi de dicha jerarquıa, desde i=1 hasta n

∗ Para cada interfaz distinta de un metodo

· Elegir el metodo que habrıa que aplicar para una instancia creadacon nivel de especificidad αi.

· Si el Nm del metodo es αi, insertarlo en ese nivel de la jerarquıa.

· En otro caso, Nm > αi y ya estara insertado en un nivel superiorde la jerarquıa, y por herencia sera visible a este nivel. Por lotanto, no es necesario insertarlo.

Lo normal, es que en la jerarquıa obtenida aparezca un numero de niveles espe-cificidad igual o superior a los heredados de la subclase (si no hay redefinicion delnivel de especificidad de atributos).

La figura 3.24, ilustra graficamente este proceso sobre un caso de ejemplo. Enla jerarquıa de la subclase aparecen nuevos niveles de especificidad (como el deαi=0.95), fruto de la adicion de nuevos atributos a ese nivel por la subclase. El nucleode la jerarquıa de la subclase hereda del nucleo de la jerarquıa de la superclase. Elresto de propiedades heredadas deben ser redefinidas para la jerarquıa de la subclase.

Ejemplo 3.28. Cuando se definio la herencia con propagacion de borrosidad, vimoscomo ejemplo la creacion de la clase Bio-Imagen, como subclase de Imagen al nivel0.8 con propagacion de borrosidad. Veamos graficamente como se harıa esto en elnivel crisp.

La clase Bio-Imagen solo anade propiedades al nucleo, porque solo incorporalos atributos paciente, medico y fecha. Pero al heredar de Imagen de forma difusa,necesita dos niveles mas en su jerarquıa. El lector podra comprobar, si vuelve alapartado donde se resolvio este ejercicio, que de esta forma se consigue el resultadoesperado.

Page 164: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

142 Un modelo de datos orientado a objetos difuso

Dm

0.7

Jerarquía de la Superclase

Jerarquía de la Subclase C1

C2

C3

Cn

0.9

0.8

αn

1

D1

Dj

Dj+1

1

0.95

0.8

Superclase

Subclase

Hfuzzy

al nivel 0.8

Nivel difuso

Nivel crisp

D2

0.9

Figura 3.24: Herencia con propagacion de borrosidad

Jerarquía de Imagen

Jerarquía de Bio-Imagen Núcleo

Nivel 1

Nivel 2

0.9

0.8

1

Núcleo

1

Imagen

Bio-Imagen

Hfuzzy

al nivel 0.8

Nivel difuso

Nivel clásico

0.9

0.8

Nivel 1

Nivel 2

Figura 3.25: Creacion de la clase Bio-Imagen

Page 165: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 143

La implementacion de la herencia multiple se puede obtener repitiendo este pro-ceso para cada una de las clases de las que se quiere heredar, y considerando unapolıtica para hacer frente a los distintos conflictos que se pueden presentar.

3.6.4 Un ejemplo completo

Vamos a dedicar esta seccion a desarrollar un ejemplo completo que utilice tiposdifusos.

Ejemplo 3.29. Volviendo una vez mas a nuestro ingeniero informatico que trabajacon imagenes, vamos a desarrollar el arbol de clases para un caso concreto de sutrabajo. Nuestro ingeniero ultimamente trabaja en el desarrollo de tres aplicacionesdiferentes: tiene un contrato con una agencia inmobiliaria para desarrollar una basede datos con los distintos inmuebles que se gestionan en la empresa, trabaja tambienpara una editorial para la que esta desarrollando un atlas interactivo del que saldrana la calle dos versiones, una para usuarios normales y otra para usuarios cientıficosque incorpora GIS, y finalmente mantiene un contrato con un hospital para el queesta desarrollando una base de datos para la unidad de radiologıa y para la unidadde TAC (Tomografıa Axial Computerizada). Habiendo definido el tipo difuso ima-gen como anticipabamos en anteriores secciones, se encuentra con la necesidad dedefinir los siguientes subtipos:

• Un subtipo para representar los planos de los inmuebles: este lo va a caracte-rizar por los atributos correspondientes al nucleo y el primer nivel de amplituddel tipo Imagen, anadiendo algunos campos para almacenar informacion so-bre el inmueble al que corresponde el plano.

• Un subtipo para representar las imagenes biologicas: este subtipo tendra he-rencia con propagacion de borrosidad de todo el tipo Imagen6, y anadira anivel del nucleo algunos atributos identificadores del paciente y la fecha de laimagen, ası como del medico responsable, y en el segundo nivel de amplitud,anadira un metodo especıfico para realizar el calculo de fronteras de imagenesbiologicas. Como subtipos suyos:

– Un subtipo para representar radiografıas: Heredara sin propagacion deltipo anterior hasta el primer nivel de amplitud, anadiendo algunos atri-

6en la practica usaremos un umbral 0

Page 166: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

144 Un modelo de datos orientado a objetos difuso

butos para identificar la consulta de radiologıa responsable de la radio-grafıa.

– Un subtipo para representar imagenes TAC: Heredara todos los nivelesde la imagen biologica sin propagacion, anadiendo atributos para iden-tificar el laboratorio en el que se realiza la prueba, y los datos tecnicosde la tomografıa.

• Un subtipo para representar imagenes procedentes de fotos de satelite: Aligual que la imagen biologica, heredara con propagacion de borrosidad todoslos niveles de Imagen, anadiendo en el nucleo algunos atributos de localiza-cion geografica correspondiente a la foto, y en el segundo nivel de amplitudincorporando un metodo especial para el calculo de fronteras geograficas. Pordebajo, dos subtipos mas:

– Un subtipo para imagenes del atlas: heredara sin propagacion de borro-sidad el tipo correspondiente al nucleo y el primer nivel del tipo Imagende satelite.

– Un subtipo para imagenes del GIS: heredara sin propagacion de borro-sidad el tipo correspondiente a los tres niveles de imagen de satelite,incorporando atributos y metodos para la extraccion y almacenamientode algunos parametros de informacion geografica.

Vamos a centrarnos primero en el nivel difuso. La figura 3.26 siguiente muestrael arbol de clases de nivel difuso que se corresponden con la anterior descripcion.

Imagen

Plano

Foto_Satélite

Atlas_Img

GIS_Img

Bio-Imagen

Radiografía

TAC

Hf, 0 Hc,0.9

Hf, 0

Hc, 0.9 Hc, 0 Hc, 0.9

Hc, 0

Figura 3.26: Nivel difuso del problema

Page 167: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 145

Teniendo en cuenta lo anterior, las clases con tipo difuso que habrıa que crearserıan las siguientes:

Clase ImagenEstructura:

(1, tema): Cadena(1, fichero): Cadena(1, formato): Cadena(1, version): Numero(0.9, res_hor): Numero(0.9, res_ver): Numero(0.9, paleta): Conjunto de numero(0.8, bandas): Conjunto de matriz(0.8, histograma): Matriz(0.8, convolucion): Matriz(0.8, fronteras): Conjunto de matriz

Conducta:Valor_tema(...)Asigna_tema(...)...

Fin imagen

Clase PlanoHereda de Imagen al nivel 0.9 sin propagacionEstructura:

(1, edificio): Cadena(1, planta): Numero(1, escalera): Cadena...

Conducta:Valor_edificio(...)Asigna_edificio(...)...

Fin Plano

Clase Bio-ImagenHereda de Imagen al nivel 0 con propagacionEstructura:

(1, paciente): Cadena(1, medico): Cadena(1, fecha): Fecha...

Conducta:Valor_paciente(...)Asigna_paciente(...)...

Fin Bio-Imagen

Clase Foto_SateliteHereda de Imagen al nivel 0 con propagacionEstructura:

(1, coordenadas): Conjunto de numero

Page 168: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

146 Un modelo de datos orientado a objetos difuso

(1, lugar): Cadena...

Conducta: ...Fin Foto_Satelite

Clase RadiografıaHereda de Bio-Imagen al nivel 0.9 sin propagacionEstructura:

(1, consulta): Cadena...

Conducta:...

Fin Radiografıa

Clase TACHereda de Bio-Imagen al nivel 0 sin propagacionEstructura:

(1, laboratorio): Cadena(1, frecuencia): Numero...

Conducta:...

Fin TAC

Clase Atlas_ImgHereda de Foto_Satelite al nivel 0.9 sin propagacionEstructura:

...Conducta:

...Fin Atlas_Img

Clase GIS_ImgHereda de Foto_Satelite al nivel 0 sin propagacionEstructura:

(1, puntos_relevantes): Matriz...

Conducta:...

Fin GIS_Img

Veamos ahora la capa crisp, el nivel subyacente de clases que el sistema tendrıaque crear para simular los tipos difusos. La figura 3.27 ilustra el arbol de clasescorrespondiente, y dejamos como ejercicio para el lector la definicion de las clasesque en el se muestran.

Page 169: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

3.6 Tipos difusos 147

Núcleo

Nivel 1

Nivel 2

Núcleo

Nivel 1

Nivel 2

Núcleo

Nivel 1

Nivel 2

Núcleo

Núcleo

Núcleo

Núcleo

Núcleo

Imagen

Bio-Imagen

Foto_Satélite

Plano

Atlas_Img

GIS_Img

TAC

Radiografía

1

1

1

1

1

1

1

1

0.9

0.8

0.9

0.8

0.9

0.8

Figura 3.27: Nivel clasico del problema

Page 170: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

148 Un modelo de datos orientado a objetos difuso

3.7 Conclusiones

Hemos visto en este capıtulo una propuesta completa para afrontar la imprecision yla incertidumbre sea cual sea el nivel en el que se manifieste en el contexto de unmodelo de base de datos orientado a objetos:

• Con respecto al nivel de atributos, se han propuesto estructuras necesarias paraafrontar la imprecision atendiendo a sus distintas naturalezas: con o sin domi-nio subyacente, con significado disyuntivo o conjuntivo. La incertidumbre seha tratado por separado, mediante el uso de escalas apropiadas.

• Se ha generalizado la nocion de igualdad de estado en este nivel, y se hanaportado las medidas necesarias para calcular un grado de semejanza entreobjetos complejos. Una medida para el calculo del parecido entre conjuntosdifusos de elementos imprecisos ha sido presentada para poder completar laanterior labor.

• Se ha considerado la representacion de extensiones difusas para las clases, deforma que se puedan almacenar los valores de inclusion que proponen otrosmodelos como los presentados en el capıtulo anterior.

• Se ha estudiado la forma de llevar a cabo el proceso de especializacion, y comoel uso de propiedades imprecisas en este nivel puede conducir a la aparicion declases difusas, tanto en un sentido intensivo como extensivo. El concepto decategorıa ha sido analizado como un proceso peculiar de generalizacion.

• En el nivel de definiciones inciertas, se ha discutido el sentido que puede tenery la forma de representar la incertidumbre cuando atane a la propia definicionde los objetos y de las clases.

• En el nivel estructural se ha presentado un nuevo concepto de tipo, para superarbuena parte de las limitaciones que tiene el concepto clasico. Para este nuevoconcepto de tipo, se han adaptado los mecanismos de instanciacion y herenciaclasicos, y se ha generalizado la polıtica de redefinicion de propiedades.

Todas las estructuras presentadas para completar el modelo expuesto en estecapıtulo, mantiene nuestro objetivo de estar construidas sobre estructuras de un mo-delo orientado a objetos clasico.

Page 171: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Capıtulo 4

Extraccion de la estructura difusade un conjunto de datos

Cuanto mayor es la isla del conocimiento,mas largo el litoral del asombro y la curiosidad.

Ralph W. Sockman (1889-1970)Religioso estadounidense

El concepto de Tipo Difuso generaliza al concepto clasico de tipo dotandolo demas flexibilidad y aumentando su capacidad expresiva. En este capıtulo exponemosun algoritmo de busqueda para encontrar la definicion de tipo difuso que mejor seadapta al tipo subyacente de un conjunto de datos, y que permite minimizar el con-junto de valores nulos que hay en el mismo gracias al uso del constructor difuso.Para cada atributo de los que caracterizan el conjunto de datos, el algoritmo calculasu grado de pertenencia a la estructura difusa del tipo que se pretende encontrar pararepresentar el conjunto de datos. Por lo tanto, se establece una semantica para losvalores de α, que hasta ahora aportaba el programador del tipo.

Para extraer la definicion del tipo de un conjunto de datos, hace falta conocercon detalle la estructura que tienen los objetos que pertenecen a dicho conjunto. Co-mo herramienta complementaria para explorar dicha estructura, presentamos un tipoespecial de grafo, el grafo de inclusion, capaz de resumir la informacion estructuralque tiene un conjunto de datos, y que resulta de gran ayuda para el anterior algoritmo,ademas de aportar un resultado complementario para el mismo.

Page 172: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

150 Extraccion de la estructura difusa de un conjunto de datos

Abriremos los contenidos de este capıtulo presentando un estudio formal del con-cepto de grafo de inclusion, analizando sus propiedades mas importantes y aportandoestrategias para su construccion adecuada. A continuacion analizaremos el algoritmode extraccion detallando la forma de calcular el grado de pertenencia de cada atribu-to. Un estudio experimental de las tecnicas propuestas cierra los contenidos de estecapıtulo.

Page 173: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.1 Descripcion del problema 151

4.1 Descripcion del problema

Hemos visto en el capıtulo anterior la posibilidad de definir la estructura y el compor-tamiento de una clase (es decir, su tipo) de una forma suave o difusa, con la idea deresolver buena parte de las limitaciones que adolece el concepto clasico de tipo. Aho-ra, vamos a aplicar nuestro nuevo concepto de tipo con la intencion de representar yclasificar mejor un conjunto de objetos dado.

Definicion 4.1 (Conjunto de datos). Entendemos por conjunto de datos 1 un con-junto de objetos que vienen descritos en forma de tabla, y por lo tanto, estan carac-terizados por la estructura plana que aporta un conjunto clasico de atributos.

Los objetos del conjunto de datos tambien se denominan tuplas, y se correspon-den con filas formadas por los valores de los atributos en relacion con el objeto encuestion.

Con frecuencia, el conjunto de datos puede contener una cantidad elevada devalores nulos. La interpretacion de los valores nulos en el contexto de las bases dedatos puede hacerse segun las siguientes alternativas [Cod90]:

• valores nulos desconocidos, que son aquellos que representan situaciones enlas que se desconoce el valor del atributo para un determinado objeto.

• valores nulos no aplicables, que son aquellos que indican que un objeto deter-minado no posee la caracterıstica expresada por el atributo al que se refiere elvalor nulo.

Ademas, puede ocurrir que las anteriores situaciones no se distingan y no sepueda diferenciar si el valor nulo se refiere al desconocimiento o a la no aplicabilidad.

El valor nulo desconocido puede considerarse como un valor adicional dentro deldominio de los atributos, y manejarse utilizando tecnicas para representar imprecisione incertidumbre en el nivel de atributos, como las expresadas en la seccion 3.1 de estamemoria.

Sin embargo, la aparicion de valores nulos no aplicables esta ocasionada por laslimitaciones que impone el uso de una representacion plana en la estructura del con-junto de datos: un objeto tiene que incorporar todas las propiedades, independiente-mente de si lo necesita o no.

1del ingles dataset

Page 174: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

152 Extraccion de la estructura difusa de un conjunto de datos

Como ejemplo, podemos considerar los conjuntos de datos que se obtienen almezclar bases de datos. En este caso, cada base de datos trata los objetos de cadaclase con un nivel de precision particular en sus descripciones de acuerdo con susnecesidades, de forma que habra distintos conjuntos de atributos para describir losobjetos de esa clase antes de la mezcla. Si no se quiere perder informacion, una vezjuntos todos los datos procedentes de las distintas bases de datos, se tiene que repre-sentar cada clase por un conjunto de atributos del que forma parte cualquier atributoutilizado por alguna de las bases de datos para caracterizar el tipo de esa clase. Comoconsecuencia, aparecen una buena cantidad de valores nulos, de distintos tipos. Engeneral, el manejo de conjuntos de objetos que proceden de distintas fuentes conducea una situacion de este tipo.

El uso de un tipo difuso para representar el tipo del conjunto de datos mejora larepresentacion de los objetos del conjunto, aportando al mismo tiempo una defini-cion mejor de la estructura subyacente y una importante reduccion de la cantidad devalores nulos presentes en el mismo.

Para poder extraer la definicion de un tipo difuso a partir del conjunto de datos, elprimer objetivo es conocer en profundidad la estructura que presenta dicho conjunto.La siguiente seccion aporta herramientas para llevar a cabo esta labor.

4.2 Obtencion de informacion sobre un conjunto de datos:Grafos de inclusion

Como avanzabamos al final del apartado anterior, la primera tarea que se debe realizarantes de extraer la definicion del tipo difuso que mejor se ajusta a las necesidadesestructurales de un conjunto de datos es tratar de conocer en profundidad la estructurasubyacente de dicho conjunto de datos.

Para completar este objetivo, proponemos el uso de un tipo especial de grafo, quehemos denominado grafo de inclusion. Esta categorıa de grafos permite resumir deforma perfecta la informacion estructural del conjunto de datos, comunicandola deuna forma grafica muy sugerente. Algunas aproximaciones de estos grafos han sidoutilizadas previamente en la literatura [NAM97], aunque de manera poco formal.

En esta seccion definimos formalmente este tipo de estructuras, estudiando suspropiedades mas relevantes y analizando la forma de construirlos de manera eficiente.

Page 175: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.2 Grafos de inclusion 153

4.2.1 Formalizacion del concepto de grafo de inclusion

4.2.1.1 Grafo de inclusion y propiedad de consistencia

Definicion 4.2 (Grafo de inclusion). Sea U un conjunto finito. Un grafo de inclusionG definido sobre U es un grafo dirigido cuyo conjunto de nodos N ⊂ P(U) y cuyoconjunto de arcos A es tal que ∀u, v ∈ N : (u, v) ∈ A→ u ⊂ v.

Es decir, podemos ver un grafo de inclusion como un grafo dirigido cuyos no-dos representan conjuntos y cuyos arcos expresan relaciones de inclusion entre losconjuntos representados por los nodos que unen.

Definicion 4.3 (Grafo de inclusion consistente). Sea G un grafo de inclusion. Dire-mos que es consistente si se cumplen las dos propiedades siguientes:

• (u, v) ∈ A→ (@u = u1, u2, ..., un = v, n ≥ 3 : ∀i ∈ 1..n− 1, (ui, ui+1) ∈ A)

• ∀u, v ∈ N, u ⊂ v → (∃u = u1, ..., un = v, n ≥ 2 : ∀i ∈ 1..n− 1, (ui, ui+1) ∈ A)

Para que un grafo sea consistente solo debe incluir el mınimo numero de arcosnecesarios para representar todas las relaciones de inclusion que hay entre los con-juntos representados en el grafo, teniendo en cuenta la propiedad transitiva aplicadasobre la relacion de inclusion entre conjuntos.

a b

a,b a,b,c

a

b

a,b

a,b,c

a b

a,b a,b,c

a

b

a,b

a,b,c

Figura 4.1: Consistencia de un grafo de inclusion

La figura 4.1 muestra dos grafos. El grafo de la izquierda no es consistente porculpa del arco que une a con a,b,c. El otro grafo sı es consistente puesto quecumple la propiedad expresada en la definicion 4.3. La informacion sobre la inclu-sion de a en a,b,c se puede obtener en el segundo grafo siguiendo un camino

Page 176: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

154 Extraccion de la estructura difusa de un conjunto de datos

alternativo entre los dos nodos (en este caso, a-a,b-a,b,c). A partir de aho-ra, en esta memoria, hablaremos de grafos de inclusion refieriendonos a grafos deinclusion consistentes.

Propiedad 4.1 (aciclicidad y minimalidad). Sea G un grafo de inclusion. Entonces,G es acıclico y minimal.

Demostracion. De la definicion de grafo de inclusion, se deduce de forma trivialsu aciclicidad, porque se representan relaciones estrictas de inclusion. El grafo estambien minimal en el sentido de que si eliminamos un arco, perdemos informacionsobre las relaciones de inclusion que hay entre los conjuntos representados en elgrafo (consecuencia directa de la consistencia).

4.2.1.2 Cotas para el numero de nodos y de arcos

Es conveniente conocer las necesidades de memoria que requiere cualquier estructurade datos para su representacion. Para poder acotar el tamano de nuestros grafos deinclusion vamos a estudiar los lımites que restringen las cardinalidades del conjuntode nodos y del conjunto de arcos en funcion del universo de referencia sobre el queeste construido el grafo.

Propiedad 4.2 (Numero de nodos). Sea U el universo de referencia sobre el que estadefinido un grafo de inclusion G dado. Si denotamos por |U| y |N| las cardinalidadesde los conjuntos U y N, entonces |N| ≤ 2|U|. Es decir, el numero de nodos de G esmenor o igual que 2|U| (cardinalidad de P(U)).

Propiedad 4.3 (Numero de arcos). Sea U el universo de referencia sobre el que estadefinido un grafo de inclusion G dado. Si denotamos por |U| y |A| las cardinalidadesde los conjuntos U y A, entonces |A| ≤ |U| · 2|U|−1. Es decir, el numero de arcos deG es menor o igual que |U| · 2|U|−1.

Demostracion. El numero maximo de arcos se tiene cuando el grafo tiene el numeromaximo de nodos. En estas circunstancias, los arcos del grafo serıan: arcos desde elnodo que represente al conjunto vacıo hasta los nodos con conjuntos de cardinalidad1, mas los arcos que vayan desde estos ultimos hasta los nodos que representenconjuntos de cardinalidad 2, y ası sucesivamente. El numero de arcos que van desdeun nodo que represente un conjunto de cardinalidad n-1 a un nodo que representeun conjunto de cardinalidad n es

(

nn−1

)

= n. Teniendo esto en cuenta, el numero dearcos se puede calcular de la siguiente manera:

Page 177: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.2 Grafos de inclusion 155

Caso 1: |U| par

1(|U|

1

)

+ 2(|U|

2

)

+ ... + (|U| − 1)( |U|

|U| − 1

)

+ |U|(|U|

|U|

)

=

= 1(|U|

1

)

+ (|U| − 1)( |U|

|U| − 1

)

+ 2(|U|

2

)

+ (|U| − 2)( |U|

|U| − 2

)

+ ... +|U|

2

( |U|

|U|

2

)

+ |U|(|U|

|U|

)

=

= (1 + |U| − 1)(|U|

1

)

+ (2 + |U| − 2)(|U|

2

)

+ ... +

(|U|

2+

|U|

2)( |U|

|U|

2

)

2+ |U|

(|U|

|U|

)

=

= |U|[(|U|

1

)

+(|U|

2

)

+ ... +

( |U|

|U|

2

)

2+

(|U|

|U|

)

] = |U|[(|U|

0

)

+(|U|

1

)

+(|U|

2

)

+ ... +

( |U|

|U|

2

)

2] =

= |U|2|U|

2= |U| · 2|U|−1

Caso 2: |U| impar

1(|U|

1

)

+ 2(|U|

2

)

+ ... + (|U| − 1)( |U|

|U| − 1

)

+ |U|(|U|

|U|

)

=

= 1(|U|

1

)

+ (|U| − 1)( |U|

|U| − 1

)

+ 2(|U|

2

)

+ (|U| − 2)( |U|

|U| − 2

)

+ ... +|U|

2↓

( |U|

|U|

2↓

)

+

+(|U| −|U|

2↓)

( |U|

|U| −|U|

2↓

)

+ |U|(|U|

|U|

)

=

= (1 + |U| − 1)(|U|

1

)

+ (2 + |U| − 2)(|U|

2

)

+ ... + (|U|

2↓ +|U| −

|U|

2↓)

( |U|

|U|

2↓

)

+ |U|(|U|

|U|

)

=

= |U|[(|U|

1

)

+(|U|

2

)

+ ... +( |U|

|U|

2↓

)

+(|U|

|U|

)

] = |U|[(|U|

0

)

+(|U|

1

)

+(|U|

2

)

+ ... +( |U|

|U|

2↓

)

] =

= |U|2|U|

2= |U| · 2|U|−1

4.2.1.3 Grafo de inclusion completo y grafo de inclusion complementario

Dentro de los grafos de inclusion existen dos de especial interes. Los que representanel retıculo de subconjuntos que se pueden definir sobre un universo de referencia, y elque se construye como complementario de un grafo de inclusion existente. Veamossus definiciones.

Page 178: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

156 Extraccion de la estructura difusa de un conjunto de datos

Definicion 4.4 (Grafo de inclusion completo). Sea G un grafo de inclusion. Diremosque es completo si verifica |A| = |U|2|U|−1.

Un grafo de inclusion cumple la propiedad de completitud cuando representa porcompleto las partes del universo del discurso sobre el que esta definido. La figura4.2 presenta algunos ejemplos de grafo de inclusion con cardinalidades desde uno acuatro elementos.

a b c

a,b b,c a,c

a,b,c

a

a b

a,b

a b c

a,b a,c a,d

d

b,c b,d c,d

a,b,c a,b,d a,c,d b,c,d

a,b,c,d

12

3

4

Cardinalidad

Cardinalidad

Cardinalidad

Cardinalidad

Figura 4.2: Grafo de inclusion completo

Definicion 4.5 (Grafo de inclusion complementario). Sea G un grafo de inclusiondefinido sobre el universo U. El grafo de inclusion GC , definido sobre el mismouniverso, es el complementario del grafo G si cumple la siguiente propiedad: u ∈

N↔ U− u ∈ NC .

El grafo complementario de un grafo de inclusion es el grafo obtenido utilizan-do el conjunto complementario de cada uno de los conjuntos representados en cada

Page 179: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.2 Grafos de inclusion 157

∅| a,b,c,d

a| b,c,d b| a,c,d c|a,b,d

a,b| c,d a,c| b,d a,d| b,c

d| a,b,c

b,c| a,d b,d| a,c c,d| a,b

a,b,c|d a,b,d|c a,c,d|b b,c,d|a

a,b,c,d|∅

Figura 4.3: Grafo complementario

nodo. Los dos grafos tienen una forma similar, y se pueden obtener cambiando la di-reccion de los arcos y sustituyendo cada conjunto por su complementario. La figura4.3 muestra esta idea para un grafo completo de cardinalidad cuatro.

4.2.2 Grafos de inclusion representando conjuntos de datos

La utilizacion que nosotros vamos a hacer de los grafos de inclusion tendra comoobjetivo la representacion de conjuntos de datos. En este contexto, el universo dereferencia del grafo sera el conjunto de atributos que caracterizan el conjunto dedatos. Un conjunto de atributos sera incluido en el grafo si, y solo si, existe al menosun objeto en el conjunto de datos que tiene informacion no nula para exactamente eseconjunto de atributos. Adicionalmente, siempre se incluira el conjunto vacıo comoraız del grafo.

4.2.2.1 Peso propio y peso total de un nodo

Los nodos de un grafo de inclusion construido para representar un conjunto de datosvan a estar caracterizados, ademas de por su conjunto de atributos, por dos parametrosadicionales: el peso propio y el peso total.

Definicion 4.6 (Peso propio de un nodo). Sea G un grafo de inclusion definido sobreun conjunto de datos caracterizado por el conjunto U de atributos. El peso propio de

Page 180: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

158 Extraccion de la estructura difusa de un conjunto de datos

u ∈ N, u.pp, es el numero de objetos del conjunto de datos que tienen informacionno nula para exactamente el conjunto de atributos representados por el nodo u.

Definicion 4.7 (Peso total de un nodo). Sea G un grafo de inclusion definido sobreun conjunto de datos caracterizado por el conjunto U de atributos. El peso total deu ∈ N, u.pt, es el numero de objetos del conjunto de datos que tienen informacionno nula para al menos el conjunto de atributos representado por el nodo u.

Por ejemplo, para un nodo u que represente al conjunto vacıo, u.pp sera 0 (deotro modo, habrıa tuplas vacıas en el conjunto de datos) y u.pt sera el numero detuplas del conjunto de datos.

Veamos algunas propiedades que cumplen estos valores en un grafo de inclusionbien construido.

Propiedad 4.4. Sea G un grafo de inclusion definido sobre un conjunto de datoscaracterizado por el conjunto U de atributos. Entonces, ∀u ∈ N, u.pt ≥ u.pp

Demostracion. Directa, a partir de la definicion de peso propio y peso total.

Propiedad 4.5. Sea G un grafo de inclusion definido sobre un conjunto de datoscaracterizado por el conjunto U de atributos, y p = u1, u2, ..., um un camino de G.Entonces, ∀i, j, i < j, ui.pt > uj .pt.

Demostracion. Dentro del camino p, ∀i, j, ui ⊂ uj . Por lo tanto, cualquier objetoque contiene en su caracterizacion el conjunto de atributos representados por uj ,contiene el conjunto de atributos representado por ui.

Propiedad 4.6. Sea G un grafo de inclusion definido sobre un conjunto de datoscaracterizado por el conjunto U de atributos, y p = u1, u2, ..., um un camino de G.Entonces, u1.pt ≥

∑mi=1 ui.pp.

Demostracion. Dentro del camino p, ∀i, j, ui ⊂ uj . Por lo tanto, cualquier objetoque contiene en su caracterizacion el conjunto de atributos representado por uj (conj > 1), contiene el conjunto de atributos representado por u1. La igualdad no tienepor que cumplirse, porque puede haber otras ramificaciones del camino.

Propiedad 4.7. Sea G un grafo de inclusion definido sobre un conjunto de datos ca-racterizado por el conjunto U de atributos, y GC su grafo complementario. Entonces∀u, v, u ∈ N, v ∈ NC : (v = U− u)→ (u.pp = v.pp ∧ u.pt = v.pt).

Page 181: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.2 Grafos de inclusion 159

Demostracion. Directa, teniendo en cuenta que el grafo complementario se cons-truye considerando aquellos atributos que tienen valores nulos (es decir, se insertaun nodo en el grafo por cada combinacion de valores nulos existente en el conjuntode datos). El mismo objeto que contribuye al peso de u ∈ N en G con sus valores nonulos, contribuye al peso de U− u ∈ NC en GC con sus valores nulos.

4.2.2.2 Busquedas en grafos de inclusion

Vamos a terminar este apartado estudiando algunas propiedades de este tipo de grafosque caracterizan el proceso de busqueda de un determinado nodo, estableciendo casosextremos.

Propiedad 4.8. Sea G un grafo de inclusion definido sobre un conjunto de datoscaracterizado por el conjunto U de atributos, y p = u1, u2, ..., um un camino de G.Entonces, m ≤ |um|.

Demostracion. De ∅ ⊆ u1 ⊂ u2 ⊂ ... ⊂ ui ⊂ ... ⊂ um−1 ⊂ um se deduce que0 ≤ |u1| < |u2| < ... < |ui| < ... < |um−1| < |um|. Es decir, en cada paso delcamino avanzamos al menos una unidad en terminos de cardinalidad. Por lo tanto,∀i = 1..m, |ui| ≥ i. En particular, |um| ≥ m.

Es decir, la longitud de cualquier camino definido sobre el grafo esta acotada porla cardinalidad de su nodo destino. Teniendo en cuenta esta propiedad, las busquedasen un grafo de inclusion implicaran caminos cuya longitud, en el peor de los casos,estara acotada por la cardinalidad de los nodos mas grandes o con mayor numero deelementos.

Propiedad 4.9. Sea G un grafo de inclusion definido sobre un conjunto de datoscaracterizado por el conjunto U de atributos, y p = u1, u2, ..., um un camino de G.Entonces, m ≤ |U|.

Demostracion. Directa a partir de la propiedad anterior, teniendo en cuenta que|U| ≥ |um| ≥ m.

Si no conocemos la cardinalidad de los nodos mas grandes del grafo, podemosconsiderar como cota la cardinalidad del universo de referencia.

Las busquedas dentro de un grafo de inclusion son sencillas, si se establecendesde el nodo que representa el conjunto vacıo (raız del grafo) y se va siguiendo un

Page 182: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

160 Extraccion de la estructura difusa de un conjunto de datos

camino guiado por un criterio de inclusion en el conjunto que estamos buscando.Teniendo en cuenta las propiedades anteriores, estos caminos estan acotados por lacardinalidad del conjunto que se busca, y en el peor de los casos coincidira con lacardinalidad del grafo (es decir, la cardinalidad de su conjunto de referencia).

4.2.3 Construccion de un grafo de inclusion

4.2.3.1 Insercion de nodos

La construccion de un grafo de inclusion a partir de un conjunto de datos no resul-ta sencilla. La insercion de cada nuevo nodo implica la realizacion de una serie deoperaciones para garantizar la consistencia del grafo y mantener actualizados correc-tamente los pesos de los nodos.

a,b,c

pt pp

H

P

Peso total

Peso propio

Hijos

Padres

A

S

Anterior

Siguiente

Conjunto

P P P

H H H

Figura 4.4: Estructura de un nodo

La figura 4.4 muestra la estructura de cada nodo del grafo. Ademas de los trescampos que se necesitan para representar la informacion formal de cada nodo, se hananadido cuatro campos mas:

• El conjunto de todos los hijos.

• El conjunto de todos sus padres.

• Dos punteros, al nodo siguiente y anterior.

El conjunto de todos los hijos es necesario para representar los arcos del grafo.Sin embargo, el conjunto de todos los padres es opcional, y sirve para poder navegaren el grafo tanto de forma ascendente como descendente. Los otros dos punteros se

Page 183: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.2 Grafos de inclusion 161

utilizan para reunir todos los nodos del grafo en una lista, que permite recorrer elgrafo de forma sencilla.

Definicion 4.8 (Grafo vacıo). Se define el grafo vacıo como un grafo de inclusionque tiene un solo nodo que representa al conjunto vacıo, y cuyos pesos (propio ytotal) son iguales a 0.

∅0 0

Figura 4.5: Grafo vacıo

La figura 4.5 muestra esta idea. A partir de un grafo vacıo, la construccion delgrafo de inclusion que representa a un conjunto de datos se lleva a cabo procesandocada objeto que pertenece al mismo, mediante la aplicacion del siguiente esquema decasos:

• Si existe un nodo en el grafo que representa el conjunto de atributos que carac-teriza al objeto, se incrementan sus pesos, y se propaga dicho incremento haciael peso total de todos sus ancestros en el grafo.

• En otro caso hay que insertar en el grafo un nuevo nodo w que represente elnuevo conjunto de atributos. Esta operacion es algo mas complicada puestoque debe garantizar el mantenimiento de la consistencia en el grafo. Puedenocurrir tres cosas:

(i) Que exista un cierto numero de arcos (u, v) ∈ A que cumplan la pro-piedad siguiente: u ⊂ w ⊂ v. Cada arco de estas caracterısticas eseliminado de grafo y reemplazado por dos nuevos arcos, a saber, (u, w)

y (w, v).(ii) Que exista un cierto numero de nodos y ∈ N tales que y ⊂ w y no

esten involucrados en la situacion anterior. Cada uno de estos nodos debeanadirse a la lista de padres del nuevo nodo.

(iii) Que exista un cierto numero de nodos z ∈ N tales que w ⊂ z y que noesten involucrados en la situacion (i). El nuevo nodo sera padre de estosnodos.

Page 184: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

162 Extraccion de la estructura difusa de un conjunto de datos

Una vez completada la insercion del nuevo nodo, actualizamos los pesos comoen el primer caso.

La figura 4.6 muestra una serie de ejemplos de estos casos de insercion. En lafigura se pueden encontrar una serie de combinaciones de las situaciones (i), (ii) y(iii) que se pueden producir al insertar un nuevo nodo en el grafo.

a,b

a+

a

a,b

a

a,b+

a

a,b

a,b

+

a

a,b

a,b

+

a

a,b

a

+

a

a,b

a

+

a

a,b

a b

a,b

a

a,b

b+

a b

a,b

a

a,b

b+

a

a,b b,c

a b

a,b b,c

b+

a

a,b b,c

a b

a,b b,c

b+

a

a,b,c b,c

a b

a,b,c b,c

a,b+b

a,b

a

a,b,c b,c

a b

a,b,c b,c

a,b+b

a,b

(a) caso i (b) caso ii

(c) casos ii-iii

(d) casos i-iii

(e) casos i-ii

Figura 4.6: Insercion de nodos en el grafo

En el ejemplo (a), la insercion de un nodo que represente al conjunto a nosobliga a cambiar el arco que hay entre ∅ y a,b (situacion (i)). En (b), la insercion dea,b debe completarse anadiendo un nuevo arco entre a y el nuevo nodo (situacion(ii)). En (c) se mezclan los casos (ii) y (iii) al insertar el nuevo nodo b: se anadeb a los hijos de ∅ (caso (ii)) y a,b se coloca a su vez en el conjunto de hijos

Page 185: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.2 Grafos de inclusion 163

del nuevo nodo b (situacion (iii)). El ejemplo (d) muestra una combinacion de lassituaciones (i) y (iii): la insercion de b obliga a cambiar el arco entre ∅ y b,c(situacion (i)) y entonces, anadir un arco entre el nuevo nodo y a,b (situacion (iii)).Para finalizar, el ejemplo (e) combina las situaciones (i) y (ii): la insercion de a,bfuerza la eliminacion del arco entre a y a,b,c (situacion (i)) y la adicion de unarco que una b con el nuevo nodo (caso (ii)).

La situacion (iii) no puede darse de forma aislada porque cualquier nodo nuevoen el grafo debe tener al menos un padre (el unico nodo que no tiene padres es la raızque representa al conjunto vacıo).

La figura 4.7 contiene un ejemplo de como cambian los valores de los pesos enel grafo ante la insercion de un nuevo objeto. En este caso se ha utilizado un grafocompleto de cardinalidad 3, y hemos anadido un nuevo objeto caracterizado por losatributos b,c. En la parte izquierda de la figura se muestra el estado previo delgrafo y en la derecha el estado final despues de la actualizacion (en gris aparecen losvalores que permanecen intactos).

a b c

a,b b,c a,c

a,b,c

12 0

8 3

3 1

6 1 7 2

4 2 3 1

2 2

a b c

a,b b,c a,c

a,b,c

13 0

8 3

3 1

7 1 8 2

5 3 3 1

2 2

Figura 4.7: Actualizacion de los pesos en el grafo

4.2.3.2 Borrado de nodos

El borrado de la informacion correspondiente a un objeto en un grafo de inclusionobliga a seguir un proceso similar al de la insercion para garantizar la consistencia delgrafo. Se deben decrementar los pesos del nodo que representa al conjunto apropiado

Page 186: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

164 Extraccion de la estructura difusa de un conjunto de datos

de atributos, y propagarse ese decremento hacia los ancestros del mismo. Despuesde esta operacion, si el peso propio del nodo queda con valor 0, se debe proceder aeliminarlo del grafo. Esta operacion no es tan compleja como la de insercion, perono es trivial. Se debe completar una operacion similar a la (i) anterior, pero ahoraal reves. Con el nodo eliminado se deben eliminar tambien los arcos en los que estainvolucrado. Para mantener la consistencia del grafo hay que anadir algunos arcosuniendo padres del nodo con algunos de sus hijos. Para hacer esto basta seguir lasiguiente regla: si no se puede alcanzar un hijo desde un padre (despues de eliminarel nodo intermedio) entonces anadimos un nuevo arco que los una.

La figura 4.8 muestra un ejemplo de este procedimiento. En este caso solo hayque anadir un arco (el que aparece en negrita) uniendo los nodos a y a,b,c. Elotro padre, b, no necesita ningun arco adicional, porque puede alcanzar el nodoa,b,c por un camino alternativo a traves de b,c.

a b

a,b,c b,c

a,b-a,b

a b

a,b,c b,c

Figura 4.8: Eliminacion de un nodo en el grafo

En cualquier caso, si el objetivo es construir un grafo de inclusion que representeun conjunto de datos, la operacion de borrado carece de interes, puesto que solo setendran que llevar a cabo operaciones de insercion.

4.2.3.3 Heurıstica de construccion

En los anteriores parrafos hemos visto algunas notas importantes con respecto a laconstruccion del grafo. Ahora, para terminar este apartado, vamos a considerar unaregla heurıstica que permite mejorar el tiempo empleado en la construccion del grafode inclusion de un conjunto de datos.

Page 187: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.2 Grafos de inclusion 165

El coste de construir un grafo de inclusion es directamente proporcional a lacantidad de arcos que haya que cambiar, anadir y/o borrar al insertar nuevos nodos.Es facil comprobar que esta cantidad depende del orden seguido al insertar los nodos:es decir, dados dos conjuntos de datos conteniendo el mismo conjunto de objetos peroen diferente orden, el grafo de inclusion construido a partir de ellos sera el mismo,pero el tiempo empleado en su construccion probablemente diferira de uno a otro.

La heurıstica que proponemos esta basada en la idea de no eliminar ni cambiarningun arco durante el proceso de construccion. Esto se puede conseguir si se insertanlos objetos en el grafo en funcion de la cardinalidad del conjunto de atributos quelos representa. Primero los objetos caracterizados por un solo atributo, luego losobjetos caracterizados por dos atributos, y ası sucesivamente. De esta manera seevita la situacion (i): un arco (u, v) que debe ser eliminado como consecuencia deuna situacion (i) une dos nodos que tienen al menos dos unidades de distancia enterminos de cardinalidad. De otra manera no podrıamos insertar un nodo entre ellos.Ademas, el nuevo nodo debe tener una cardinalidad mayor que u y menor que v. Siasumimos que no hay nodos en el grafo con cardinalidad mayor que la del conjunto deatributos que caracteriza al objeto que esta siendo procesado, la situacion (i) resultaimposible.

4.2.4 Relacion entre el grafo de inclusion y la estructura del conjuntode datos

4.2.4.1 Algunos ejemplos

Hemos dedicado los dos apartados anteriores al estudio de las principales carac-terısticas de un grafo de inclusion y a repasar los detalles que hay que tener en cuentaa la hora de construirlos para representar conjuntos de datos. Este apartado lo vamosa dedicar a senalar la forma de interpretar un grafo de inclusion de este tipo.

Un grafo de inclusion aporta una buena cantidad de informacion sobre el tiposubyacente que tienen los datos representados en el grafo. La figura 4.9 muestraalgunos grafos de inclusion construidos sobre tipos de datos tıpicos.

El ejemplo (a) representa la situacion ideal en la que el conjunto de datos secorresponde perfectamente con un tipo clasico. En este caso aparecen solo dos nodosen el grafo, el que representa al conjunto vacıo y el que representa la estructura deltipo del conjunto de datos. Los pesos coinciden con el numero de objetos del conjuntode datos. El ejemplo (b) muestra el grafo que tendrıa un tipo difuso perfecto, es decir,

Page 188: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

166

Ext

racc

ion

dela

estr

uctu

radi

fusa

deun

conj

unto

deda

tos

A

B A+Φ1

C=B+Φ1

105 0

105 50

55 25

30 30

S

0

200 200

200

B

A

B

C

A

B A+Φ1

C=B+Φ1

105 0

105 50

55 25

30 30

A

B A+Φ1

C=B+Φ1

105 0

105 50

55 25

30 30

S

0

200 200

200 ∅

S

0

200 200

200

B

A

B

C

A

B

C

A B C

D=A+Φ1 E=C+

Φ2

125 0

45 20

25 25

10 10 70 20

50 10

F=E +Φ3 G=E +Φ4

H=G +Φ5

10 10 30 20

10 10

A B C

D E

F G

H

A B C

D=A+Φ1 E=C+

Φ2

125 0

45 20

25 25

10 10 70 20

50 10

F=E +Φ3 G=E +Φ4

H=G +Φ5

10 10 30 20

10 10

A B C

D=A+Φ1 E=C+

Φ2

125 0

45 20

25 25

10 10 70 20

50 10

F=E +Φ3 G=E +Φ4

H=G +Φ5

10 10 30 20

10 10

A B C

D E

F G

H

A B C

D E

F G

H

a)b)

c)

S

Figura 4.9: Tipos y grafos de inclusion

Page 189: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.2 Grafos de inclusion 167

un tipo estructurado en niveles siguiendo una jerarquıa 1-ramificada de clases (comovimos en el capıtulo anterior). Por ultimo, el ejemplo (c) se corresponde con unasituacion general en la que el conjunto de datos tiene su estructura organizada comouna jerarquıa de tipos clasica.

4.2.4.2 Consideraciones sobre la utilizacion del grafo de inclusion para obtenerestructuras

En aquellos casos en los que se trabaja con informacion completa (los valores nuloscorresponden a atributos no aplicables y no a informacion desconocida), los grafosde inclusion se pueden utilizar para inferir la estructura subyacente del conjunto dedatos sin problema. Sin embargo, puede ocurrir que en el conjunto de datos hayaobjetos cuya informacion no sea completa, y tengan valores nulos en su estructuraque correspondan a informacion desconocida y no a la falta de aplicabilidad de losmismos. En esta situacion el grafo construido se complica por culpa de los nodos querepresentan a estos objetos.

Si tenemos la posibilidad de distinguir las distintas interpretaciones de los valoresnulos en el conjunto de datos, se puede considerar un valor especial desconocidocomo parte adicional del dominio de los atributos y usar el grafo de inclusion sinproblemas para extraer la estructura del conjunto de datos. Si esto no es posible, elgrafo de inclusion puede usarse como herramienta de referencia, siendo conscientesde que algunos nodos en el grafo pueden ser debidos a informacion desconocida,como ya hemos indicado.

Sin embargo, en algunos casos, se pueden reconocer estos nodos estudiando losvalores de sus pesos: normalmente, un nodo que no corresponde a un conjunto re-levante de atributos tiene un peso propio bajo en relacion con otros nodos mas re-presentativos. Si se estudia este nodo en su contexto, observando sus adyacentes, sepuede intuir su importancia. Sin embargo, esta regla no se puede seguir de formaciega, puesto que puede ocurrir que un nodo representativo tenga solo un pequenoconjunto de objetos que lo apoye, debido a una rareza intrınseca del concepto al quecaracteriza.

La figura 4.10 muestra un ejemplo de este caso. Como puede verse en la figura,el tipo representado por el grafo puede ser el que se corresponde con el conjunto deatributos A. Los otros nodos del grafo pueden haber sido originados perfectamentecomo consecuencia de la presencia de informacion desconocida.

Page 190: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

168 Extraccion de la estructura difusa de un conjunto de datos

B= A-Φ6

B=A-Φ1

F=A -Φ5

200 0

192 1

191 4

195 2

C=A-Φ2 E=A-Φ4

D=A-Φ3

190 3 190 1

189 2

A187 187

Figura 4.10: Efecto de la informacion desconocida

En la literatura un trabajo interesante sobre esta materia puede encontrarse en[NAM97, PGMW95]. En estos artıculos, los autores proponen un algoritmo capaz deextraer una jerarquıa de tipos clasicos a partir de un conjunto de datos. Para decidirsi un nodo es relevante o no, usan el cociente entre el peso propio y el peso totalde cada nodo como criterio (modificando el grafo en varias iteraciones en busca denodos relevantes), y anaden como informacion adicional el rol que tienen asignadolos objetos representados por el nodo, para reconocer cuando dos nodos se refieren ala misma clase.

En cualquier caso, los grafos de inclusion son una herramienta util para enten-der la estructura subyacente de un conjunto de datos. Si el conjunto de datos secorresponde con un solo tipo desde el punto de vista conceptual, la extraccion dela estructura del mismo se convierte en el siguiente objetivo deseable. La seccionsiguiente de este capıtulo esta dedicada a explicar un algoritmo capaz de encontrarla definicion de un tipo difuso a partir del conjunto de datos, con el objetivo de mi-nimizar el numero de valores nulos que permanezcan en los datos tras sustituir laestructura plana por la jerarquıa de niveles de precision, y obtener al mismo tiempouna buena representacion de los metadatos que caracterizan al conjunto.

Page 191: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.3 Algoritmo de extraccion de tipos difusos 169

4.3 Algoritmo de extraccion de tipos difusos

En esta seccion se propone un algoritmo para extraer la definicion de un tipo di-fuso a partir de un conjunto de datos dado. Asumimos que los datos del conjuntopertenecen a un unico tipo desde el punto de vista conceptual, y utilizamos comoinformacion basica los valores nulos que aparecen en la caracterizacion del conjuntode datos. Estos valores consideramos que se corresponden con la no-necesidad dealgunos atributos para algunos objetos.

El objetivo principal es obtener la definicion del tipo pero, al mismo tiempo, sepretende mejorar la representacion del conjunto de datos y se reduce la cantidad deespacio desperdiciado por la informacion inutil.

En la seccion anterior se han presentado los grafos de inclusion como una herra-mienta util a la hora de comprender la estructura subyacente de un conjunto de datosdado, y para resumir la informacion que existe en el conjunto de datos. En nuestroalgoritmo utilizamos los grafos de inclusion con dos roles diferentes:

• En primer lugar, como un resultado complementario del algoritmo: obtendre-mos un tipo difuso con nuestro algoritmo, pero el grafo de inclusion construidoa partir del conjunto de datos nos ayudara a conocer la situacion real del con-junto de datos. Esta informacion puede ser evaluada a priori para valorar laadecuacion de iniciar un proceso de busqueda de un tipo difuso, y a posterioripara completar la informacion semantica aportada por el mismo.

• En segundo lugar, como una forma sencilla de representar el conjunto de datosen memoria, mejorando la eficiencia de nuestro algoritmo.

4.3.1 Estrategia del algoritmo

En primer lugar, vamos a formular el problema que se pretende resolver. Sea D unconjunto de datos estructurado en m tuplas descritas por n atributos. Se pretende en-contrar la definicion de tipo difuso que mejor representa la estructura del conjunto dedatos y que minimiza la cantidad de nulos que caracterizan los objetos, teniendo encuenta que podremos usar el nuevo mecanismo de instanciacion (el constructor difu-so) capaz de crear nuevos objetos representados por cualquier α-corte de la estructuradefinida. Para alcanzar este objetivo, tenemos que encontrar el grado de pertenenciade cada atributo al tipo difuso que se pretende definir.

Page 192: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

170 Extraccion de la estructura difusa de un conjunto de datos

Vamos a considerar que el conjunto de datos D esta descrito por el conjunto deatributos a1, a2, ..., an−1, an y que tenemos que encontrar un tipo difuso TDD, cuyaestructura esta caracterizada por la funcion de pertenencia µSD

, para representar laestructura del conjunto de datos.

La funcion µSDpermite ordenar la lista de atributos en funcion de los grados de

pertenencia. Sea b1, b2, ..., bn−1, bn esta lista ordenada de mayor a menor grado depertenencia.

Para crear cualquier objeto o, hay que aplicar el nuevo mecanismo de instancia-cion con un α = µSD

(bi), siendo bi el ultimo atributo en la lista ordenada anteriorque tiene un valor distinto de nulo para el objeto.

Definicion 4.9 (Beneficio por objeto - Beneficioo). Sea D un conjunto de datosdescrito por la lista ordenada de atributos b1, b2, ..., bn. Sea bi el ultimo atributo deesta lista que tiene un valor distinto de nulo para el objeto o. Se define como beneficioobtenido por el objeto o al ser creado por el nuevo mecanismo de instanciacion a lacantidad de valores nulos que son eliminados de su estructura. Este beneficio se notapor beneficioo y es igual a n− i (es decir, los valores nulos correspondientes a losatributos bi+1, bi+2, ..., bn).

Definicion 4.10 (Beneficio aportado por el tipo difuso - BeneficioTDD). Sea D

un conjunto de datos descrito por la lista ordenada de atributos b1, b2, ..., bn. Seam el numero de objetos contenidos en el conjunto de datos. Se define como bene-ficio aportado por la definicion de un tipo difuso sobre el conjunto de datos D a lacantidad de valores nulos que son eliminados en el conjunto de datos gracias al usodel constructor difuso sobre el tipo. Este beneficio se nota por BeneficioTDD

y secalcula mediante la siguiente formula:

BeneficioTDD=

m∑

i=1

Beneficiooi (4.1)

La figura 4.11 muestra un ejemplo de como se calculan estos beneficios. En laparte izquierda de la figura hay una tabla que representa al conjunto de datos: cadafila representa un objeto. La otra tabla representa el mismo conjunto de datos, perolos atributos han sido ordenados teniendo en cuenta la definicion de un tipo difuso. Laultima columna muestra el beneficio obtenido por cada objeto en terminos de valoresnulos eliminados. En este ejemplo, con el uso de un tipo difuso, eliminamos un88.1% de los valores nulos del conjunto de datos (los valores nulos que no consiguenser eliminados estan en negrita).

Page 193: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.3 Algoritmo de extraccion de tipos difusos 171

0101111111

0000101010

1000101011

1010101111

1111111111

1111111111

1011111111

0000001010

0010111111

1010101111

1010101011

1000101010

a10a9a8a7a6a5a4a3a2a1

0101111111

0000101010

1000101011

1010101111

1111111111

1111111111

1011111111

0000001010

0010111111

1010101111

1010101011

1000101010

a10a9a8a7a6a5a4a3a2a1

1111100111

0000000111

0000110111

0001111111

1111111111

1111111111

0111111111

0000000011

0011101111

0001111111

0000111111

0000010111

b10b9b8b7b6b5b4b3b2b1

1111100111

0000000111

0000110111

0001111111

1111111111

1111111111

0111111111

0000000011

0011101111

0001111111

0000111111

0000010111

b10b9b8b7b6b5b4b3b2b1

0

7

4

3

0

0

1

8

2

3

4

5

o

0

7

4

3

0

0

1

8

2

3

4

5

Bnf o

37 de 42(88.1%)

Bnf TD D

Conjunto de datos Tipo difuso

0 valor nulo1 otro valor

Figura 4.11: Efecto de un tipo difuso

Page 194: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

172 Extraccion de la estructura difusa de un conjunto de datos

Nuestro problema consiste en encontrar el tipo difuso TDD que maximiza laanterior expresion de beneficio (ecuacion 4.1). Por lo tanto nos encontramos ante unproblema de ordenacion guiado por un criterio de optimizacion.

El principal inconveniente de este proceso es su complejidad: n!m. Es decir,para cada permutacion de atributos se debe repasar el conjunto de datos evaluandoel beneficio obtenido por esa permutacion. Este orden de complejidad es muy altoy obliga la busqueda de mecanismos de poda que nos eviten estudiar buena partede las ordenaciones que podrıan llevar a la definicion del tipo difuso. Cualquiertecnica de ordenacion guiada por un criterio de optimizacion de las propuestas por laTeorıa de Algoritmos puede usarse para alcanzar nuestro objetivo. Nosotros usamosuna tecnica de busqueda con retroceso2[FW74] dirigida por un metodo heurıstico depoda. Veamos sus caracterısticas mas importantes.

bn bn-1 ...

c1, c2, ..., cn-1, cn

Lista ordenada de atributosen función de la cantidad total

de nulos en el fichero

K

bn-k

bn-kes el atributo con la cantidadmás baja de valores nulos, que no ha sido

considerado antes en esta solución

+ grado de pertenencia- grado de pertenencia

Figura 4.12: Una etapa del algoritmo

La figura 4.12 expresa el procedimiento que se ejecuta en cada etapa del algorit-mo. La letra k indica el ındice de la etapa. Cuando k = 0 estamos al comienzo deuna nueva permutacion. Si k = n− 1, hemos encontrado una nueva solucion.

Por motivos de simplicidad, vamos a construir cada permutacion empezando porlos atributos que estaran menos relacionados con el tipo (es decir, los que luego ten-dran un grado de pertenencia mas bajo).

Por lo tanto, en cada etapa del algoritmo se decide que atributo va a ocupar laposicion n − k en la permutacion que se esta estudiando (bn−k). Este atributo no

2del termino ingles backtracking

Page 195: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.3 Algoritmo de extraccion de tipos difusos 173

podra haber sido considerado por etapas anteriores del algoritmo como parte de lasolucion en curso.

La primera regla heurıstica que se utiliza determina el orden en que los atributosvan a ser considerados en cada etapa del algoritmo. Este orden va a estar determinadopor la cantidad total de valores nulos que aparecen para ese atributo en el conjunto dedatos. Parece razonable considerar que los atributos con mayor cantidad de valoresnulos seran mejores candidatos a ocupar posiciones en la solucion que impliquen unarelacion menor con el tipo que se pretende definir. Es decir, probablemente estosatributos apareceran en las ultimas posiciones de la lista ordenada y seran por tantoseleccionados por las primeras etapas del proceso de busqueda. De esta forma seevita que el algoritmo explore permutaciones en las que aparecen los atributos conmenos presencia de valores nulos al principio.

Imaginemos que estamos en la etapa k de nuestro algoritmo. Se definen las tresmedidas siguientes sobre la solucion parcial que esta siendo considerada en esa etapa:

Definicion 4.11 (Beneficio parcial). Sea D un conjunto de datos con m objetosdescrito por la lista de atributos a1, a2, ..., an. El numero de valores nulos quese eliminan como mınimo gracias a una ordenacion que termine con los atributosbn−k, bn−k+1, ..., bn se denomina Beneficio Parcial de bn−k, bn−k+1, ..., bn y se cal-cula mediante la siguiente formulacion:

BeneficioParcial(bn−k, bn−k+1, ..., bn) =n

j=n−k

m∑

i=1

Bj..n(oi), (4.2)

donde

Bj..n(oi) =

1 si ∀l ∈ j..n, oi.bl es un valor nulo0 en otro caso

(4.3)

Definicion 4.12 (Promesa). Sea D un conjunto de datos con m objetos descrito porla lista de atributos a1, a2, ..., an. El numero de valores nulos que no estan en losatributos bn−k, bn−k+1, ..., bn y que, en el mejor de los casos, pueden ser eliminadospor una ordenacion que termine por los atributos bn−k, bn−k+1, ..., bn se denominaPromesa de bn−k, bn−k+1, ..., bn y se calcula mediante la siguiente formulacion:

Page 196: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

174 Extraccion de la estructura difusa de un conjunto de datos

Promesa(bn−k, bn−k+1, ..., bn) =m

i=1

(Bn−k..n(oi) · (Nulos(oi)− k − 1)) (4.4)

dondeNulos(o) es el numero de valores nulos del objeto o.

Definicion 4.13 (Perdida). Sea D un conjunto de datos con m objetos descrito porla lista de atributos a1, a2, ..., an. El numero de valores nulos que como mınimo nose van a poder eliminar por una ordenacion que termine por bn−k, bn−k+1, ..., bn sedenomina Perdida de bn−k, bn−k+1, ..., bn y se puede calcular teniendo en cuenta lasiguiente formulacion:

Perdida(bn−k, bn−k+1, ..., bn) =n−1∑

i=n−k

m∑

j=1

(Bi..i(oj) · (1−Bi+1..n(oj))) (4.5)

Estas tres medidas determinan cuando hay que podar en el proceso de busqueda.Sea MBI3 el beneficio aportado por la mejor solucion encontrada hasta un deter-minado punto de la ejecucion del algoritmo. En cualquier etapa de nuestro procesode busqueda descartaremos el atributo a como candidato para bn−k si se cumple lasiguiente condicion:

BeneficioParcial(a, bn−k+1, ..., bn) + Promesa(a, bn−k+1, ..., bn) < MBI

∨∑m

i=1 Nulos(oj)− Perdida(a, bn−k+1, ..., bn) < MBI(4.6)

4.3.2 Detalle del algoritmo

Vamos a presentar ahora una breve descripcion del algoritmo en pseudocodigo. Peroantes veamos el significado de algunos de los nombres utilizados en dicha descrip-cion. Recordemos que MBI es el numero de valores nulos eliminados por la mejorsolucion encontrada hasta el momento en cualquier etapa del algoritmo, que estarepresentada en el algoritmo por MSI4. El valor n es el numero de atributos que

3Mejor Beneficio Intermedio4Mejor Solucion Intermedia

Page 197: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.3 Algoritmo de extraccion de tipos difusos 175

caracterizan el problema e indica a la vez el numero de etapas que se pueden alcanzaren la busqueda. SolucionParcialActual es una lista ordenada de atributos que con-tiene los k atributos elegidos por la solucion que esta siendo estudiada en cada paso.SiguienteCandidato es una funcion que devuelve el siguiente atributo que no hayasido considerado hasta ese momento en la solucion que esta siendo estudiada, tenien-do en cuenta el orden en terminos de cantidad de nulos. Por ultimo, NNulos es elnumero total de valores nulos que hay en el conjunto de datos. Veamos la forma quetiene el codigo de este procedimiento:

Procedimiento MejorOrdenBEGINMBI=0;k=0;mientras (k>=0)

BEGINsi (k=n) entonces

BEGINMBI=BeneficioActual;MSI=SolucionParcialActual;k=k-1;END

si (no hay mas candidatos para este nivel)BEGINk=k-1END

si noBEGINSolucionParcialActual[n-k]=SiguienteCandidato;Calculamos BeneficioParcial de SolucionParcialActual;Calculamos Promesa de SolucionParcialActual;Calculamos Perdida de SolucionParcialActual;si (Promesa+BeneficioParcial)>MBI y (NNulos-Perdida>MBI)

BEGINk=k+1;END

ENDEND

devuelve (MSI);END

4.3.3 Calculo de los niveles de pertenencia

El algoritmo presentado en el apartado anterior permite ordenar los atributos del con-junto de datos de forma que se elimine la mayor cantidad de valores nulos en elconjunto. Sin embargo, para completar la definicion del tipo difuso, necesitamosasociar a cada uno de esos atributos un nivel de pertenencia.

Page 198: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

176 Extraccion de la estructura difusa de un conjunto de datos

Definicion 4.14 (Estructura Difusa de D - SD). Sea a1, ..., an la lista de atributosque caracteriza al conjunto de datos D, b1, ..., bn la lista ordenada encontrada porel algoritmo de extraccion y NE(ai) la cantidad de valores nulos que aparecen enel atributo ai y que pueden ser eliminados gracias a la lista ordenada. Se define laestructura difusa asociada al conjunto de datos como un conjunto difuso caracteri-zado por Soporte(SD) = a1, ..., an y cuya funcion de pertenencia se calcula dela siguiente manera:

µSD(ai) = 1−

NE(ai)

m(4.7)

Por ejemplo, si consideramos los datos que aparecen en la figura 4.11, el tipoasociado serıa el siguiente:

SD = 0.75/a1 + 1/a2 + 0.58/a3 + 1/a4 + 0.42/a5 + 0.92/a6+

+0.33/a7 + 0.83/a8 + 0.25/a9 + 0.83/a10(4.8)

La anterior definicion de funcion de pertenencia relaciona cada atributo con eltipo mediante un grado que viene determinado por el numero de objetos que soportanla colocacion de ese atributo en un determinado nivel.

Si dos atributos tienen el mismo grado de pertenencia se dice que se encuentranen el mismo nivel de precision del tipo. Esto significa que cualquier objeto creadousando el constructor difuso debe elegir entre incorporar los dos atributos o no in-corporar ninguno de ellos. En relacion con la lista ordenada, este hecho supone elcumplimiento de la siguiente propiedad.

Propiedad 4.10. Si dos atributos tienen el mismo grado de pertenencia el orden enque aparecen los dos atributos en la lista es irrelevante.

Demostracion. Sea bi y bi+1 dos atributos de la lista ordenada, tal que µSD(bi) =

µSD(bi+1). De esta igualdad podemos deducir que NE(bi) = NE(bi+1). Un valor

nulo en el atributo bi puede ser eliminado si el objeto tiene valores nulos en losatributos bi+1...bn. Eso implica que NE(bi) ≤ NE(bj), ∀j > i. En particular,esta relacion se cumple por bi y bi+1. Si NE(bi) = NE(bi+1), entonces no existeningun objeto en el conjunto de datos que tenga un valor no nulo para bi y un valornulo para todos los atributos bi+1...bn (de otra forma, NE(bi) < NE(bi+1)). Por lotanto, se puede intercambiar la posicion de bi y bi+1 sin perder beneficio en terminosde valores nulos eliminados.

Page 199: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.3 Algoritmo de extraccion de tipos difusos 177

El uso de NE(ai) en el calculo de los niveles de pertenencia de los atributosal tipo, garantiza que la ordenacion de los atributos que se tiene con los niveles depertenencia sea la misma que la lista devuelta por el algoritmo b1, ..., bn.

Propiedad 4.11. Si ordenamos los atributos del tipo difuso obtenido siguiendo ladefinicion anterior, se obtiene la lista ordenada encontrada por el algoritmo.

Demostracion. Sean bi y bj dos atributos de la lista ordenada tal que i < j. De laanterior demostracion se tiene que NE(bi) ≤ NE(bj). Esto implica que µSD

(bi) ≥

µSD(bj). El caso para el que µSD

(bi) = µSD(bj) ya ha sido considerado y hemos

llegado a la conclusion de que la posicion de los atributos puede intercambiarse enla lista sin problema.

En el ejemplo de la figura 4.11, se obtiene la siguiente lista ordenada de atributos,que se corresponde con la lista ordenada de la tabla:

SD = 1/a2 + 1/a4 + 0.92/a6 + 0.83/a8 + 0.83/a10 + 0.75/a1+

+0.58/a3 + 0.42/a5 + 0.33/a7 + 0.25/a9

por tanto b1...bn = a2, a4, a6, a8, a10, a1, a3, a5, a7, a9

(4.9)

La normalidad es un propiedad deseada en cualquier conjunto difuso para poderoperar con facilidad sobre el. Nuestros tipos difusos tambien son conjuntos difusos ycomo tales, tienen en la normalidad una cualidad deseada (recuerdese que la norma-lidad garantiza que el constructor difuso no cree objetos vacıos – sin estructura).

Propiedad 4.12. Si no hay tuplas vacıas en el conjunto de datos (es decir, objetoscon todos sus atributos con valor nulo), entonces el conjunto difuso obtenido por elalgoritmo para caracterizar la estructura del tipo es un conjunto normal.

Demostracion. Si el conjunto no estuviera normalizado, no existirıan atributos congrado de pertenencia igual a 1. Es decir, que todos los atributos tendrıan un valorde NE estrictamente mayor que 0. Sea b1, el primer elemento de la lista ordenada.Si NE(b1) > 0 significa que podemos eliminar al menos un valor nulo de los queaparecen en ese atributo 5. Como se ha visto en anteriores demostraciones, un valornulo de un atributo bi para un objeto o se puede eliminar si el objeto tiene valoresnulos tambien en los atributos bi+1...bn. En particular, para i=1, el objeto debetener valores nulos en b2, ..., bn, ademas de en b1. Eso significa que existe al menos

5se puede comprobar que NE(b1) coincide con el numero de tuplas vacıas.

Page 200: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

178 Extraccion de la estructura difusa de un conjunto de datos

un objeto en el conjunto de datos con todos sus atributos con valor nulo, es decir,una tupla vacıa. Esto contradice nuestra premisa inicial.

En caso de que aparezcan tuplas vacıas en el conjunto de datos, se puede obtenerun tipo difuso normalizado aplicando la siguiente formulacion modificada:

Definicion 4.15 (Estructura Difusa Normalizada de D - SND). Sea a1, ..., an lalista de atributos que caracteriza al conjunto de datos D, b1, ..., bn la lista ordenadaencontrada por el algoritmo de extraccion y NE(ai) la cantidad de valores nulos queaparecen en el atributo ai y que pueden ser eliminados gracias a la lista ordenada.Se define la estructura difusa normalizada asociada al conjunto de datos como unconjunto difuso caracterizado por Soporte(SND) = a1, ..., an y cuya funcion depertenencia se calcula de la siguiente manera:

µSND(ai) = 1−

NE(ai)−NE(b1)

m−NE(b1)(4.10)

4.3.4 Algunas notas sobre la complejidad del algoritmo

Con el algoritmo sugerido en la anterior seccion se encuentra la solucion optima paranuestro proceso de busqueda. No se trata por lo tanto de un metodo aproximado.La primera solucion que estudia el algoritmo es el tipo difuso formado por todos losatributos ordenados por cantidad total de nulos. Despues, el uso del retroceso en labusqueda permite refinar esta solucion inicial hasta conseguir la mejor de todas lasposibles.

Si se examina el pseudocodigo expuesto en la seccion 4.3.2 la complejidad delalgoritmo viene determinada por los siguientes parametros:

• El numero de atributos que caracterizan el problema, que determina el numerode etapas.

• Seleccion de candidatos.

• Calculo del Beneficio Parcial, de la Promesa y de la Perdida de la solucionparcial que esta siendo enviada.

Con respecto al numero de atributos, ya vimos que impone una complejidad den!. Sin embargo, durante el proceso se podan buena parte de las alternativas (depen-diendo del problema), y se atenua el efecto de dicha complejidad.

Page 201: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.3 Algoritmo de extraccion de tipos difusos 179

Si se tienen ordenados los atributos por numero total de valores nulos, la selec-cion del candidato siguiente se puede hacer en O(1) puesto que basta con avanzar unpuesto en la lista ordenada de candidatos no seleccionados.

El calculo de los valores de Beneficio Parcial, de la Promesa y de la Perdida noes muy costoso en terminos de tiempo:

• El calculo trivial se harıa leyendo el fichero que contiene el conjunto de da-tos por completo, usando variables para efectuar el conteo de cada una de lasformulas. Esto introducirıa en la complejidad un factor de valor m, llevandolaal n!m que nombramos en la introduccion del problema.

• Sin embargo, la lectura de todo el fichero se puede evitar. Se puede resumirla informacion contenida en dicho fichero por medio de una estructura comonuestros grafos de inclusion. De esta manera almacenamos los datos en me-moria, y resumimos la informacion de los m objetos, agrupando en un mismonodo aquellos que tienen las mismas caracterısticas.

Puesto que, como parte de nuestro problema, hemos construido un grafo de in-clusion sobre los datos del conjunto, podemos construir su grafo complementario deforma que represente conjuntos de atributos con valores nulos en los objetos del con-junto de datos, para despues recorrer el grafo y obtener el valor de las tres medidasdeseadas. Cada nodo u ∈ N contribuira a las mismas de la siguiente manera:

Si bn, ..., bn−k ⊆ u, incrementamos el valor de Beneficio Parcial con u.pp.

Si bn, ..., bn−k ⊆ u, incrementamos el valor de Promesa con u.pp · (|u| − k − 1).

Si bn, ..., bn−k * u ∧ bn−k ∈ u, incrementamos el valor de Perdida con u.pp.

Antes de hacer el recorrido, en cada etapa k, Beneficio Parcial y Perdida arrastranel valor obtenido en la etapa anterior, mientras que Promesa es inicializada a 0.

El uso de los grafos de inclusion minimiza el efecto de m en la complejidad delproceso de busqueda, sustituyendo m por su tamano en numero de nodos, que en elpeor de los casos sera min(m, 2n), pero que normalmente sera mucho menor.

Como veremos mas adelante se pueden resolver problemas de un tamano consi-derable en un tiempo razonable. Sin embargo, conforme crece el numero de atributosque caracterizan el problema, el tiempo se incrementa y el problema puede hacerseinmanejable.

Page 202: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

180 Extraccion de la estructura difusa de un conjunto de datos

Se pueden tomar dos actitudes diferentes para reducir el tiempo empleado enobtener una solucion, pero en ambas hay que renunciar a encontrar la solucion optimaaceptando la posibilidad de alcanzar una solucion aproximada:

• Se puede considerar un umbral que impida estudiar soluciones que, en el mejorde los casos, no van a rebajar la mejor solucion encontrada hasta un determina-do paso del algoritmo por encima de un determinado numero de valores nuloseliminados.

• Se pueden usar tecnicas de busqueda aproximadas, como los algoritmos gene-ticos [Gol89] o el enfriamiento simulado6 [LA87].

4.3.5 Experimentacion

Para finalizar este capıtulo vamos a presentar algunos experimentos que hemos rea-lizado con el algoritmo propuesto. Primero vamos a estudiar algunos problemasgenericos analizando los resultados obtenidos. Despues, nos centraremos en un expe-rimento realizado sobre un conjunto de datos que contiene en realidad un tipo difuso,considerando el efecto de anadir informacion desconocida en forma de valores nulosy viendo la evolucion de la respuesta del algoritmo.

La tabla 4.1 muestra los datos obtenidos mediante la ejecucion del algoritmosobre un conjunto de cinco problemas:

• En primer lugar se ha generado un conjunto de datos que tiene un objeto porcada posible combinacion de valores nulos que se puede establecer con ochoatributos. Lo hemos denominado Binario.

• El ejemplo Presencia−ausencia utiliza un conjunto de datos en los que hayatributos que determinan la presencia de informacion sobre otros atributos.

• El ejemplo TipoDifuso utiliza un conjunto de datos que contiene un tipodifuso perfecto.

• Por ultimo, se han utilizado dos conjuntos de datos genericos para los que no seha estudiado la informacion sobre el tipo, con la intencion de ver que aportabael algoritmo.

6del ingles simulated annealing

Page 203: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.3 Algoritmo de extraccion de tipos difusos 181

Tabla 4.1: Estadısticas de los experimentos

N m ST NIG NV KN % KN

Binario 8 255 6.56 256 1024 255 25%Presencia-ausencia 14 120 0.03 6 480 400 83%Tipo difuso 10 154 0.02 7 814 814 100%HC 28 294 15.52 186 1605 933 58.13%Adult 15 2399 0.46 5 4263 3706 86.93%

En la tabla 4.1, N es el numero de atributos, m el numero de tuplas, ST es eltiempo de busqueda (en segundos)7 empleado por el algoritmo, NIG es el numerode nodos que tiene el grafo de inclusion construido, NV es la cantidad de valoresnulos que hay en el conjunto de datos, KN es el numero de valores nulos que soneliminados gracias al tipo difuso propuesto por el algoritmo, y %KN es el porcentajeque esos valores nulos representan con respecto a la cantidad total.

El conjunto de datos Binario es un ejemplo de las peores situaciones sobre lasque se tiene que aplicar el algoritmo. Cada objeto se caracteriza por un conjunto deatributos diferente, y todas las combinaciones aparecen en los datos. Todas las per-mutaciones de atributos candidatas para establecer el tipo difuso producen el mismoefecto: siempre se puede eliminar el 25% de los valores nulos, pero no mas. En estecaso el uso de un tipo difuso no es una buena alternativa (observese que el numerode nodos en el grafo coincide con el numero de objetos que tiene el conjunto, mas elconjunto vacıo). Si hubiesemos utilizado un conjunto de datos similar pero caracte-rizado por n atributos, hubiesemos podido eliminar 2n − 1 valores nulos.

a1 a

2

a3

a4

a5

a6

a7

a8

a9

a10

Figura 4.13: Atributos de presencia-ausencia

El ejemplo de presencia−ausencia utiliza un conjunto de datos caracterizadospor catorce atributos a1, ..., a14. El valor del atributo a1 determina la presencia de

7para la experimentacion se ha utilizado un Pentium III-400 con 256MB de memoria

Page 204: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

182 Extraccion de la estructura difusa de un conjunto de datos

100

0

1 - 2, 11

- 14

100

20

1 - 4, 11

- 14

80

20

1 - 2, 5

- 7, 11

- 14

80

20

1

-

7, 11

-

14

1

-

2, 5

-

14

40

20

40

20

1 - 14

20

20

a 1 - a 2 -

a 1 + a 2 - a 1 - a 2 + a 5 -

a 1 - a 2 + a 5 + a 1 + a 2 + a 5 -

a 1 + a 2 + a 5 +

Figura 4.14: Grafo de inclusion para el problema de presencia-ausencia

informacion sobre los atributos a3 y a4. Lo mismo ocurre con el atributo a2 y losatributos a5, a6 y a7. Ademas, a5 determina la presencia de informacion sobre a8, a9

y a10. La figura 4.13 muestra las dependencias que existen entre los atributos.

Si construimos un grafo de inclusion para representar los objetos que hay enel conjunto de datos se obtiene el que muestra la figura 4.14 (los signos + y - seutilizan para representar que el correspondiente atributo indica que hay presencia deinformacion para los atributos que dependen de el). Al lado de cada nodo se senalala situacion de presencia-ausencia que representa. El tipo difuso devuelto por elalgoritmo tiene la siguiente estructura:

SD = 1/a1 + 1/a2 + 1/a11 + 1/a12 + 1/a13 + 1/a14 + 0.83/a3 + 0.83/a4+

+0.66/a5 + 0.66/a6 + 0.66/a7 + 0.33/a8 + 0.33/a9 + 0.33/a10

(4.11)

Como puede verse, el nucleo del conjunto esta formado por aquellos atributosque no estan afectados por ningun otro atributo. Hay tres niveles adicionales en elconjunto: un nivel para los atributos que dependen de a1, otro nivel para los atributosque dependen de a2 y un ultimo nivel para aquellos atributos que dependen de a2 yde a5. El algoritmo ha ordenado los atributos de acuerdo con la regla de presencia-ausencia.

La unica desventaja es que ha establecido distincion entre a3, a4 y a5, a6, a7,cuando estos atributos pertenecen semanticamente al mismo nivel. Esto se debe al

Page 205: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.3 Algoritmo de extraccion de tipos difusos 183

objetivo de eliminar el maximo numero de nulos. Si los cinco atributos apareciesenjuntos en el tipo (es decir, con el mismo grado de pertenencia), los objetos con a1 +

a2− y los objetos con a1 − a2+ no podrıan eliminar ningun valor nulo de aquellosatributos que dependen de a2 y a1 respectivamente. Sin embargo, como los dosobjetivos no pueden alcanzarse, el algoritmo pone antes en la ordenacion aquellosatributos que producen un beneficio mas alto. En este caso, a3 y a4. De esta manera,se pueden eliminar tres nulos mas en cada objeto con a1 + a2−. Los objetos cona2 + a1− se quedan igual, con dos valores nulos que no pueden ser eliminados.

El ejemplo del tipo difuso con diez atributos resulta muy sencillo para el algorit-mo. La perfeccion de los datos hace que la ordenacion de los atributos que realizael algoritmo sea la primera que explora, es decir la ordenacion por cantidad total devalores nulos.

Por ultimo, los otros dos ejemplos demuestran que el uso de un tipo difuso puedeeliminar un importante porcentaje de los valores nulos que hay en un conjunto dedatos, aunque en ellos no se oculte ningun tipo difuso real. En el primero, HC, seelimina casi un 60% de los nulos, aunque el numero de nodos del grafo de inclusion(muy alto) indica que la estructura subyacente esta muy dispersa. En el segundo, haypocas configuraciones estructurales en el conjunto de datos, y se elimina un valorelevado (casi un 90%) de los valores nulos. En estas situaciones, el tipo difuso es unabuena herramienta para comprimir la informacion.

Para terminar esta seccion, vamos a considerar un ejemplo mas. En este caso seva a considerar un conjunto de datos formado por 10000 objetos, caracterizados porun conjunto de 20 atributos. Inicialmente los objetos se ajustan a la descripcion de untipo difuso con diez niveles de precision (es decir, diez α-cortes relevantes). Hemoscompletado el experimento teniendo en cuenta diez consideraciones adicionales: sehan anadido aleatoriamente a los datos distintas cantidades de valores nulos extra queno encajan con la descripcion del tipo difuso. Nuestro objetivo es estudiar el efecto delos valores desconocidos en el algoritmo. Hemos considerado conjuntos de datos conhasta un 20% de valores nulos extra, haciendo incrementos de un 2%. Los resultadosobtenidos pueden observarse en las figuras 4.15, 4.16 y 4.17 y en las tablas 4.2, 4.3,4.4 y 4.5.

La figura 4.15 muestra el numero de valores nulos que existen en cada conjuntode datos y la cantidad de esos valores que puede eliminarse usando el tipo propuestopor el algoritmo. Observese que mientras la cantidad total de valores nulos crecedesde algo mas de 72000 hasta 98000, la cantidad de valores nulos eliminados ape-

Page 206: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

184 Extraccion de la estructura difusa de un conjunto de datos

0

25000

50000

75000

100000

NV KN

NV 72700 75273 77748 80336 82922 85453 88050 90607 93155 95663 98131

KN 72700 72930 73129 73367 73606 73864 74082 74352 74597 74894 75183

0 2 4 6 8 10 12 14 16 18 20

Figura 4.15: Valores nulos

0

1000

2000

3000

4000

5000

NIG

NIG 10 343 716 1121 1576 2071 2625 3136 3627 4131 4587

0 2 4 6 8 10 12 14 16 18 20

Figura 4.16: Nodos en el grafo de inclusion

Page 207: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.3 Algoritmo de extraccion de tipos difusos 185

0

500

1000

1500

ST (seg.)

ST (seg.) 2.63 6.66 14.12 26.99 61.38 141.26 293.14 484.3 743.05 912.8 1213.2

0 2 4 6 8 10 12 14 16 18 20

Figura 4.17: Tiempo del proceso de busqueda

nas sobrepasa los 75000: los valores nulos anadidos de forma aleatoria no puedeneliminarse de una forma efectiva. Los valores nulos fruto de la estructura de nivelesdel tipo se eliminan sin problema.

La figura 4.16 muestra un grafico que representa el numero de nodos que tiene elgrafo de inclusion construido en cada uno de los experimentos. Desde un grafico pe-queno de diez nodos, el problema se va complicando llegando a producir un grafo de5000 nodos. Como se sugirio en secciones previas, si no tenemos en cuenta aquellosnodos con pesos poco significativos, podemos reducir el grafo hasta el original. Porultimo, el grafico de la figura 4.17 muestra el tiempo consumido por el proceso debusqueda, donde se puede observar como crece conforme se estropea el tipo difuso.

Las tablas contienen los datos obtenidos en la experimentacion. La tabla 4.2muestra el valor de NE (valores nulos eliminados) para cada atributo que caracterizael tipo. La tabla 4.3 muestra la cantidad total de valores nulos que tiene cada atributo.Por ultimo, las tablas 4.4 y 4.5 contienen los grados de pertenencia calculados paracada atributo en cada una de las experimentaciones.

Resulta llamativo, en las tablas 4.4 y 4.5, que de los diez niveles iniciales deprecision en el tipo, se pasa a veinte (uno por atributo) conforme se insertan valoresnulos desconocidos en el conjunto de datos. Sin embargo, si se quiere extraer la de-finicion de tipo que se esconde bajo los datos, estos niveles no son apropiados. Paraevitar la aparicion de estos niveles se puede usar un umbral de pertenencia por debajodel cual dos atributos perteneceran al mismo nivel. En estas situaciones, atribuiremosa los dos atributos el nivel de pertenencia mas bajo. Por ejemplo, en nuestra experi-

Page 208: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

186 Extraccion de la estructura difusa de un conjunto de datos

mentacion, podemos considerar que no es ventajoso separar dos atributos salvo quetengan mas de un par de centesimas de diferencia en sus grados de pertenencia. Deesta manera, en todas las experimentaciones se obtendrıan diez niveles.

La eleccion de ese umbral depende del problema. Por ejemplo, una centesima enel anterior caso representa a 100 valores nulos, mientras que en otros experimentospuede representar una cantidad mayor o menor.

4.4 Conclusiones

Hemos propuesto en este capıtulo dos herramientas utiles para estudiar la estructurade un conjunto de datos y extraer una definicion de tipo difuso a partir del mismo.

Los grafos de inclusion son de gran utilidad para representar la informacion es-tructural de un conjunto de datos y para resumir dicha informacion de una formagrafica muy sugerente.

El algoritmo que se ha presentado permite extraer la definicion de un tipo difusoa partir de la estructura plana del conjunto de datos. La implementacion presentadaplantea el problema de busqueda de la solucion optima desde un punto de vista ge-neral, aunque conlleva un alto coste computacional. Las heurısticas propuestas y eluso de grafos de inclusion permiten superar dichas limitaciones, teniendo en cuentaque los problemas objetivo sobre los que se puede aplicar el algoritmo no planteanrestricciones muy grandes en terminos de parametros (no es logico estudiar un tipodefinido sobre un elevado numero de atributos, ni tiene sentido que un conjunto dedatos sea excesivamente complejo desde el punto de vista de las combinaciones deatributos que puedan aparecer en el).

Las experimentaciones presentadas demuestran que se pueden explorar proble-mas de tamano considerable en un tiempo razonable, y que el algoritmo ofrece, ala vez que una buena representacion semantica de la informacion estructural (el tipodifuso y el propio grafo de inclusion), una importante reduccion de la cantidad devalores nulos presentes en el conjunto de datos.

El calculo de los grados de pertenencia para los atributos del tipo difuso presenta-do en este capıtulo completa la semantica del concepto de tipo difuso que se introdujoen el capıtulo anterior, permitiendo sacar partido de los valores de α que aparecen enla definicion del tipo, de forma que expresen un conocimiento que vaya mas alla dela simple generacion de niveles de precision en la definicion del tipo.

Page 209: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.4C

onclusiones187

Tabla 4.2: NE de los atributos

% a19 a12 a2 a1 a6 a3 a4 a5 a7 a8 a10 a15 a9 a18 a11 a13 a17 a0 a16 a14

0 10000 8400 7100 5800 5800 4300 4300 4300 3500 3500 2800 2800 2800 2000 2000 1100 1100 1100 0 02 10000 8436 7133 5826 5800 4330 4303 4300 3513 3500 2819 2801 2800 2013 2000 1125 1101 1100 30 04 10000 8467 7156 5851 5801 4358 4306 4300 3533 3500 2827 2801 2800 2030 2001 1140 1100 1102 55 16 10000 8505 7182 5872 5803 4300 4309 4402 3544 3503 2849 2804 2800 2043 2003 1105 1100 1165 76 28 10000 8539 7209 5898 5805 4301 4316 4435 3560 3507 2863 2806 2800 2005 2062 1107 1100 1188 100 5

10 10000 8581 7244 5931 5809 4302 4324 4457 3575 3509 2876 2807 2800 2010 2080 1111 1101 1213 123 1112 10000 8604 7270 5960 5815 4303 4332 4492 3583 3510 2891 2810 2800 2092 2015 1101 1116 1226 149 1314 10000 8636 7303 5994 5823 4306 4341 4524 3513 3597 2909 2801 2815 2111 2019 1102 1119 1243 174 2216 10000 8663 7338 6020 5828 4308 4343 4551 3516 3615 2931 2820 2802 2125 2022 1103 1125 1257 198 3218 10000 8698 7384 6063 5838 4311 4355 4583 3519 3634 2944 2827 2803 2143 2027 1105 1132 1273 218 3720 10000 8729 7425 6104 5847 4313 4365 4614 3526 3656 2962 2830 2804 2156 2030 1108 1138 1284 240 52

Page 210: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

188

Ext

racc

ion

dela

estr

uctu

radi

fusa

deun

conj

unto

deda

tos

Tabla 4.3: Cantidad total de nulos por atributo

% a19 a12 a2 a1 a6 a3 a4 a5 a7 a8 a10 a15 a9 a18 a11 a13 a17 a0 a16 a14

0 10000 8400 7100 5800 5800 4300 4300 4300 3500 3500 2800 2800 2800 2000 2000 1100 1100 1100 0 02 10000 8436 7166 5883 5876 4407 4428 4411 3636 3631 2953 2950 2940 2149 2164 1273 1263 1277 212 2184 10000 8467 7214 5963 5947 4515 4531 4525 3762 3755 3092 3096 3075 2319 2328 1430 1434 1456 414 4256 10000 8505 7265 6050 6041 4639 4648 4665 3884 3895 3253 3277 3217 2452 2478 1616 1606 1622 614 6098 10000 8539 7325 6132 6116 4752 4742 4786 4028 4024 3410 3423 3369 2603 2633 1816 1814 1814 814 79110 10000 8581 7385 6211 6206 4853 4869 4892 4150 4146 3542 3567 3508 2759 2797 2002 1998 1975 1020 99212 10000 8604 7443 6295 6281 4964 5006 5019 4284 4275 3692 3705 3658 2932 2956 2163 2145 2182 1266 118014 10000 8636 7498 6378 6353 5068 5129 5119 4401 4419 3838 3861 3804 3108 3120 2358 2321 2344 1456 139616 10000 8663 7557 6450 6437 5190 5240 5233 4523 4568 3991 3984 3937 3258 3291 2556 2510 2517 1636 161418 10000 8698 7613 6533 6515 5312 5374 5333 4655 4685 4129 4125 4094 3414 3455 2732 2679 2673 1848 179620 10000 8729 7681 6624 6573 5443 5487 5447 4767 4825 4283 4248 4238 3550 3616 2900 2872 2836 2034 1978

Page 211: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

4.4C

onclusiones189

Tabla 4.4: Grados de pertenencia

% a19 a12 a2 a1 a6 a3 a4 a5 a7 a8

0 0 0.16 0.29 0.42 0.42 0.57 0.57 0.57 0.65 0.652 0 0.1564 0.2867 0.4174 0.42 0.567 0.5697 0.57 0.6487 0.654 0 0.15331533 0.28442844 0.41494149 0.41494149 0.56425643 0.56945695 0.57005701 0.64676468 0.650065016 0 0.14952991 0.28185637 0.41288258 0.41978396 0.57011402 0.56921384 0.55991198 0.64572915 0.649829978 0 0.14617309 0.27923962 0.4104052 0.41970985 0.57018509 0.56868434 0.55677839 0.64432216 0.64962481

10 0 0.14205626 0.27590349 0.40734808 0.41956152 0.57042747 0.56822505 0.5549104 0.64320753 0.649814812 0 0.13978172 0.27335536 0.40452588 0.41904476 0.57044157 0.5675378 0.55151697 0.6425353 0.649844814 0 0.13670074 0.27029465 0.40148326 0.41862097 0.57065544 0.56714772 0.54880738 0.65013029 0.6417117716 0 0.13412921 0.26705457 0.39927769 0.41853933 0.57102729 0.56751605 0.54664928 0.65048154 0.6405497618 0 0.13068353 0.26257151 0.3951621 0.41774566 0.57101275 0.56659641 0.54371173 0.65050688 0.6389641720 0 0.12776437 0.258846 0.39163651 0.41747085 0.5716727 0.56644552 0.54141536 0.65078408 0.63771612

Page 212: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

190

Ext

racc

ion

dela

estr

uctu

radi

fusa

deun

conj

unto

deda

tos

Tabla 4.5: Grados de pertenencia - continuacion

% a10 a15 a9 a18 a11 a13 a17 a0 a16 a14

0 0.72 0.72 0.72 0.8 0.8 0.89 0.89 0.89 1 12 0.7181 0.7199 0.72 0.7987 0.8 0.8875 0.9987 0.89 0.997 14 0.71737174 0.719972 0.72007201 0.79707971 0.79998 0.88608861 0.89008901 0.88988899 0.99459946 16 0.71524305 0.71974395 0.72014403 0.79585917 0.79985997 0.88967794 0.89017804 0.88367674 0.99259852 18 0.71405703 0.71975988 0.72036018 0.79989995 0.7941971 0.88974487 0.89044522 0.88164082 0.99049525 110 0.7131845 0.7200921 0.72079287 0.79987987 0.79287216 0.88987887 0.89087997 0.87966763 0.98878767 112 0.71182537 0.71993592 0.72093722 0.79182938 0.7995394 0.89105838 0.88955642 0.8785421 0.9863823 114 0.71066346 0.72148727 0.72008419 0.79063941 0.79985969 0.89176188 0.89005813 0.87763079 0.98476649 116 0.70916934 0.72030498 0.72211075 0.79002809 0.80036116 0.89255618 0.89034912 0.87710674 0.98334671 118 0.70822042 0.71996387 0.72237278 0.78861789 0.80026097 0.89280337 0.89009335 0.87594098 0.98183278 120 0.70747889 0.72074789 0.72336148 0.7885002 0.80116606 0.89384801 0.89083233 0.87615601 0.98110173 1

Page 213: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Capıtulo 5

Una arquitectura para laconstruccion de un Sistema Gestorde Bases de Datos Orientadas aObjetos Difusas

Si sale, sale.Si no sale, hay que volver a empezar.

Todo lo demas son fantasıas.Eduard Manet (1832-1883)

Pintor frances

Hemos visto en los capıtulos anteriores un estudio de como puede afrontarse larepresentacion de la vaguedad en un modelo de bases de datos orientado a objetos.Debemos recordar que uno de los requisitos fundamentales que senalabamos al plan-tear los objetivos que nuestro modelo orientado a objetos difuso debıa satisfacer, erael de utilizar como base el propio modelo clasico de bases de datos orientado a ob-jetos. Como fiel respuesta a este principio, nuestra propuesta esta construida a partirde estructuras que se traducen directamente a un modelo orientado a objetos clasico.La busqueda de la implementacion adecuada de un sistema que incorpore vaguedaden los distintos niveles en los que esta puede aparecer, se convierte ahora en un obje-tivo deseable. Parece que lo mas oportuno para explotar las nuevas capacidades, sin

Page 214: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

192 Una arquitectura para la construccion de SGBDOOD

perder eficiencia en el funcionamiento, es desarrollar un sistema gestor de bases dedatos orientado a objetos que incorpore dichas capacidades implementadas desde labase. Sin embargo, las caracterısticas de nuestro modelo permiten evitar el conside-rable esfuerzo de desarrollo que esto supondrıa y nos dan la posibilidad de afrontarla construccion de un sistema gestor de bases de datos orientadas a objetos difusasutilizando como base uno clasico de los que ya existen. Es en este enfoque en el quese encuadra el estudio que se expone a continuacion. Este capıtulo esta dedicado adetallar la arquitectura que debe tener un sistema de tales caracterısticas, estudiandolas necesidades que debe gestionar la capa construida sobre el gestor clasico parapoder cumplir los objetivos deseados. Ası mismo, se detallan los aspectos mas rele-vantes de una implementacion concreta que nos ha conducido a la obtencion de unprototipo.

Page 215: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.1 Arquitectura 193

5.1 Una arquitectura construida sobre un sistema clasicoorientado a objetos

A finales del ano 1972, el Comite de Computadoras y Proceso de Informacion (X3)del Instituto Nacional de Estandares Americano (ANSI1) creo un grupo de estudiosobre Sistemas Gestores de Bases de Datos, dentro su Comite de Planificacion deEstandares y Requerimientos (SPARC2).

Entre las aportaciones de este grupo, esta la de haber proporcionado un estandarpara la arquitectura de un Sistema Gestor de Bases de Datos [ANS75, TK78]. Lafigura 5.1 muestra dicha arquitectura de forma simplificada.

Vista externaVista externa Vista externaVista externa Vista externaVista externa

Vista conceptualVista conceptual

Vista internaVista interna

Usuarios

Esquemaexterno

EsquemaInterno

EsquemaConceptual

Figura 5.1: La Arquitectura ANSI/SPARC

En el nivel mas bajo de la arquitectura se encuentra la vista interna, que gestionala organizacion y definicion fısica de los datos. Justo en el extremo opuesto de laarquitectura, se encuentra la vista externa, es decir, la forma en la que el usuario(programador o no) ve la base de datos. El conjunto de vistas de usuario componenel esquema externo de la base de datos. Entre estos dos niveles, queda el esquemaconceptual que no es otra cosa que la vision abstracta de la base de datos en suconjunto, de acuerdo con el modelo de datos que caracteriza al sistema.

1del ingles American National Standards Institute2del ingles Standards Planning And Requirements Committee

Page 216: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

194 Una arquitectura para la construccion de SGBDOOD

Las transformaciones entre estos tres niveles (llamadas correspondencias) sonllevadas a cabo por modulos traductores que especifican la forma de obtener unadefinicion de un nivel a partir de la definicion correspondiente del nivel adyacente.

En nuestro caso, esta arquitectura se corresponde con un Sistema Gestor de Basesde Datos Orientado a Objetos Clasico, y queremos modificarla para que se conviertaen un Gestor de Bases de Datos Orientadas a Objetos Difusas. Estas modificacionesimplican los siguientes cambios:

• Las vistas externas estaran organizadas de forma que el usuario maneje la re-presentacion de la vaguedad de forma transparente a las distintas estructurasque se utilizan para manejarla en los niveles inferiores. Esta sera la cara difusadel sistema.

• El esquema conceptual estara organizado en dos niveles: uno reflejara la jerar-quıa de tipos difusos, con dominios aptos para la representacion de vaguedaden aquellos atributos en los que se desee, y el otro, por debajo, tendra la repre-sentacion clasica orientada a objetos de esa jerarquıa, junto con las estructurasadecuadas para manejar los dominios especiales que se utilicen en el esquemaconceptual.

• El esquema interno sera el propio del sistema orientado a objetos que se esteutilizando como base.

Vista externaVista externa Vista externaVista externa Vista externaVista externa

Vista conceptual difusaVista conceptual difusa

Vista internaVista interna

Usuarios

EsquemaExterno Difuso

EsquemaInterno Clásico

EsquemaConceptual Difuso

EsquemaConceptual Clásico

Vista conceptual clásica

Figura 5.2: La Arquitectura ANSI/SPARC modificada

Page 217: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.1 Arquitectura 195

Interfaz Orientada a Objetos Difusa

Gestor Conceptual de Borrosidad

Sistema Gestor de BD Orientadas a Objetos

Datos afectados de imprecisión e incertidumbreTipos Difusos

Catálogode Metadatos

Base de Datos

Modelo de datosOrientado a Objetos

Modelo de datos DifusoOrientado a Objetos

Objetos complejosDominios ImprecisosDominios Inciertos

Clases DifusasSubclases Difusas

Niveles de precisión-Tipos DifusosHclásica y Hdifusa

ClasesObjetos

AtributosMétodosHerencia

Sistema Gestor de Bases de Datos Difusas Orientadas a Objetos

Figura 5.3: Arquitectura del sistema completo

La figura 5.2 muestra esta idea de forma grafica. Si se quiere construir el sistemadifuso aprovechando uno clasico anterior, las modificaciones presentadas en dichafigura nos conducen a construirlo siguiendo una arquitectura organizada en tres ni-veles. La figura 5.3 muestra estos tres niveles de una forma mas detallada. Como sepuede observar en el grafico, el Sistema Gestor de Bases de Datos Difusas Orientadasa Objetos se sostiene sobre tres pilares fundamentales:

• El Sistema Gestor de Bases de Datos Orientadas a Objetos Clasico que, comoya hemos indicado en la introduccion, sera el que aporte el grueso de las fun-ciones que se esperan de un sistema gestor de bases de datos, y que servira dealmacen para los objetos que se quieran guardar en los esquemas generadospor el usuario.

• Un Gestor Conceptual de Borrosidad, construido como una capa por encimadel anterior, y que se encargara de aumentar las capacidades del sistema clasico

Page 218: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

196 Una arquitectura para la construccion de SGBDOOD

subyacente implementando las estructuras necesarias para poder ofrecer losmecanismos para el manejo de la vaguedad.

• Un interfaz que permita interactuar con la anterior capa, ocultando la arquitec-tura subyacente y permitiendo a los usuarios desarrollar y gestionar sus basesde datos orientadas a objetos difusas, introduciendo datos imperfectos cuandoles sea necesario y disenando sus esquemas haciendo uso de las potencialida-des anadidas por el nuevo concepto de tipo difuso.

La persistencia3 de los datos y de los metadatos4 en el modelo esta organizada endos areas de almacenamiento:

• Un catalogo de metadatos, que almacenara los esquemas difusos definidos porlos usuarios, ası como toda la informacion necesaria para mantenerlos desde elpunto de vista del sistema gestor.

• La propia base de datos donde tiene lugar la creacion de las estructuras necesa-rias para el almacenamiento y manipulacion de los objetos de las aplicacionesde usuario.

Veamos cada uno de estos elementos de la arquitectura con mas detalle, empe-zando por el que juega el papel mas crıtico: el Gestor Conceptual de Borrosidad.

5.2 El gestor conceptual de borrosidad

Dentro de la arquitectura presentada en el grafico de la figura 5.3, el lugar centralesta ocupado por la capa del Gestor Conceptual de Borrosidad. De las tres capas enlas que se organiza el sistema, esta es la mas compleja, entre otras cosas, porque esla encargada de establecer la correspondencia que tienen los datos difusos y los es-quemas construidos a partir de tipos difusos, con los conjuntos de clases y de objetosclasicos que se necesitan para darles soporte.

El objetivo general perseguido por este componente del sistema es el de imple-mentar las capacidades para el manejo de la vaguedad y para la definicion de tiposdifusos sobre las herramientas que le proporciona el sistema clasico subyacente.

3caracterıstica por la que un dato queda insertado en la base de datos hasta que es borrado4datos sobre los datos

Page 219: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.2 El gestor conceptual de borrosidad 197

Catálogode Metadatos

Modelo de datosOrientado a Objetos Difuso

Gestor de Metadatos

TraductorClásico-Difuso

Gestorde Objetos

Gestorde Esquemas

Base de Datos

Modelo de datosOrientado a Objetos

Gestor Conceptual de Borrosidad

Interfaz del SBDOOD

Sentencias dedefinición de datos

Sentencias demanipulación de datos

Figura 5.4: Gestor conceptual de borrosidad

La figura 5.4 contiene la estructura de este componente de la arquitectura. Comopuede observarse, el gestor conceptual divide sus tareas entre dos gestores subordi-nados, el Gestor de Esquemas y el Gestor de Objetos:

• El Gestor de Esquemas se encargara de resolver las tareas que vengan ordena-das desde el interfaz y que esten en relacion con la definicion de estructuras enla base de datos.

• El Gestor de Objetos permitira crear, almacenar, manipular y destruir objetossobre las estructuras creadas por el otro gestor.

Podrıamos decir que el Gestor de Esquemas se encarga de dar soporte estatico ala base de datos, mientras que al Gestor de Objetos le corresponde hacerse cargo dela vida de los objetos, es decir, de lo que podrıamos llamar soporte dinamico. Pordebajo de ellos, existen dos componentes que realizan labores de base y que resuelvendos tareas fundamentales:

• El Gestor de Metadatos, encargado de mantener el catalogo de metadatos y deresolver las distintas operaciones que pueden realizarse sobre el. Estas opera-

Page 220: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

198 Una arquitectura para la construccion de SGBDOOD

ciones le seran requeridas tanto por los dos gestores anteriores, como por elsiguiente componente.

• El Traductor Clasico-Difuso, cuya mision es desdoblar las peticiones que seproducen en el contexto del modelo de bases de datos orientado a objetos di-fuso en las correspondientes peticiones que se han de realizar sobre el sistemagestor clasico que se encuentra por debajo del Gestor Conceptual de Borrosi-dad.

En los siguientes apartados vamos a analizar la labor desempenada por cada unode estos cuatro componentes.

5.2.1 Gestor de esquemas

Las sentencias que permiten al usuario interaccionar con la base de datos se dividennormalmente en dos grandes grupos[Dat82]:

• Sentencias de definicion de datos: Aquellas destinadas a crear, manipular ydestruir las estructuras que conforman el esquema de la base de datos que se vaa desarrollar como respuesta a las necesidades de una aplicacion. La parte dellenguaje de un sistema gestor de bases de datos destinada a estas tareas recibetradicionalmente el nombre de Sublenguaje de Definicion de Datos (DDL5).

• Sentencias para la manipulacion de los datos: Aquellas destinadas a crear, ma-nipular y destruir datos destinados a ser almacenados utilizando las estructurascreadas por el DDL. La correspondiente parte del lenguaje del sistema ges-tor que se encarga de aportar esta funcionalidad se denomina Sublenguaje deManipulacion de Datos (DML6).

Pues bien, el Gestor de Esquemas se encarga de realizar las tareas que el usuarioordena mediante el uso del DDL, y que nosotros hemos englobado bajo el tıtulogeneral de gestion de esquemas.

La gestion de los esquemas es la tarea que va a permitir al usuario la construccionde un modelo orientado a objetos difuso, sobre el que luego dar vida a sus objetos.Dentro de las responsabilidades que se agrupan en esta tarea, estan las siguientes:

5del ingles Data Definition Language6del ingles Data Management Language

Page 221: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.2 El gestor conceptual de borrosidad 199

• Dar soporte a la creacion de dominios imprecisos e inciertos para la represen-tacion de informacion imperfecta.

• Permitir la creacion de clases con extension difusa, cuando el usuario ası lohaya demandado a traves de la interfaz.

• Aceptar la definicion de jerarquıas de clases, construidas mediante el uso detipos difusos, aportando la capacidad de manejar los correspondientes meca-nismos de herencia para la creacion de jerarquıas de clases.

Para realizar esta labor, el Gestor se encargara de traducir cada una de las peti-ciones que le lleguen desde la interfaz, demandando:

• Al Gestor de Metadatos, que almacene la informacion necesaria para tenerconstancia en la base de datos de las definiciones generadas por el usuario.

• Al Traductor Clasico-Difuso, que desdoble dichas definiciones en las corres-pondientes estructuras del gestor clasico subyacente.

En relacion con la estructura global del Sistema Gestor de Bases de Datos DifusasOrientadas a Objetos, el Gestor de Esquemas es el elemento que tiene conciencia delmodelo de datos difuso que el usuario define para su base de datos.

5.2.2 Gestor de objetos

La otra parte de las tareas que quedan pendientes de resolver en nuestro gestor con-ceptual de borrosidad, guardan relacion con el ciclo de vida que siguen los objetosen la base de datos. Esta es la labor del Gestor de Objetos.

Entre las responsabilidades de este segundo agente del Gestor Conceptual deBorrosidad, estan las siguientes:

• La creacion de objetos utilizando el nuevo constructor difuso, permitiendo lareutilizacion de los tipos difusos creados en el esquema (jerarquıa de clases)para la creacion de objetos con diferentes niveles de especificidad, en funcionde las necesidades que el usuario transmite a traves del interfaz.

• Aportar la capacidad de recuperar objetos de la base de datos, permitiendo sumanipulacion (actualizacion, borrado).

Page 222: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

200 Una arquitectura para la construccion de SGBDOOD

• Aplicar la polıtica de redefinicion para establecer que metodos responden a losmensajes que el usuario escribe en el codigo de sus programas.

Para poder realizar esta funcion, el Gestor de Objetos interacciona con el Traduc-tor Clasico-Difuso y con el Gestor de Metadatos de la siguiente manera:

• Enviando las consultas necesarias al Gestor de Metadatos para controlar laidoneidad de las peticiones que le hace el usuario a traves del interfaz.

• Haciendo las peticiones correspondientes al Traductor Clasico-Difuso para quese comunique con el gestor clasico subyacente y transmita la secuencia de ope-raciones clasicas que permiten realizar, sobre los objetos reales que hay alma-cenados, las operaciones pertinentes que se correspondan con las operacionesDML solicitadas.

5.2.3 Traductor clasico-difuso

Dentro del Gestor Conceptual de Borrosidad, el verdadero experto en el modelo quese propone en este trabajo de investigacion, es el Traductor. Este modulo conocelas capacidades del sistema clasico subyacente, y establece la correspondencia quehay entre las operaciones que se producen en el contexto del modelo de datos difusoorientado a objetos y las correspondientes operaciones que se pueden realizar en elsistema clasico.

Las obligaciones del Traductor Clasico-Difuso se enmarcan dentro de dos perso-nalidades, teniendo en cuenta que las ordenes le van a venir de dos jefes diferentes, asaber, el Gestor de Esquemas y el Gestor de Objetos.

Para satisfacer las demandas que plantea el Gestor de Esquemas, el Traductor seencarga de:

• Establecer las estructuras que hay que crear en el modelo subyacente y que dansoporte a las estructuras creadas por el usuario incluyendo la vaguedad de losdatos que pretende manejar.

• Traducir las jerarquıas de herencia difusas definidas sobre tipos difusos, a je-rarquıas de herencia clasicas, con tipos clasicos.

Page 223: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.2 El gestor conceptual de borrosidad 201

• Conocer el esquema que hay generado en el sistema clasico subyacente y, usan-do la informacion necesaria del catalogo de metadatos, establecer la correspon-dencia entre esas estructuras y las que el usuario maneja desde el interfaz.

Por otro lado, para satisfacer al Gestor de Objetos, este modulo tiene la respon-sabilidad de:

• Establecer que llamadas al constructor clasico hay que realizar, como respuestaa una invocacion del constructor difuso de una clase con tipo difuso.

• Traducir las operaciones que el usuario realiza sobre los objetos en el modelodifuso, a operaciones validas sobre los objetos que hay creados en el sistemade bases de datos subyacente.

5.2.3.1 Independencia del Sistema Clasico Subyacente

El Traductor es la unica parte del Gestor de Borrosidad que depende del sistemaque tiene por debajo. Por lo tanto, como responsabilidad adicional, tiene la laborde aislar las peculiaridades de dicho sistema. De esta manera, se puede cambiar elgestor clasico sobre el que esta construido el sistema difuso, sin mas que sustituirel traductor existente por uno nuevo apropiado. Esto es importante, porque permiteconstruir el Sistema Gestor de Bases de Datos Difusas Orientadas a Objetos comouna plataforma en la que se pueden integrar distintos gestores clasicos.

Para poder conseguir este objetivo, el Traductor Clasico-Difuso, debera estar or-ganizado a su vez en dos modulos:

• Un modulo Traductor Clasico Estandar-Difuso independiente del gestor sub-yacente, y que establecera las correspondencias utilizando un modelo clasicoestandar, como puede ser el propuesto por ODMG[BEJ+00].

• Un modulo traductor Clasico Estandar-Especıfico, capaz de traducir las expre-siones devueltas por el anterior y que estan expresadas de forma estandar, enlas especıficas del lenguaje particular del gestor subyacente.

De esta forma aislamos las traducciones propias de las caracterısticas de nuestromodelo, de aquellas que se corresponden con las particularidades del lenguaje delsistema subyacente. Un cambio en el sistema subyacente no obligarıa a cambiar el

Page 224: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

202 Una arquitectura para la construccion de SGBDOOD

traductor completo, sino a introducir un nuevo modulo especıfico capaz de expresarsey de entender el lenguaje particular de dicho sistema subyacente.

Como ademas la traduccion desde un estandar a un lenguaje especıfico es relativa-mente sencilla, se minimiza el esfuerzo necesario para cambiar el gestor subyacentey la dependencia del sistema completo se lleva a su mınima expresion.

5.2.4 Gestor de Metadatos

Como hemos ido comprobando en los apartados anteriores, la comunicacion con elcatalogo o diccionario de datos construido para almacenar los metadatos generadospor las aplicaciones de usuario, se lleva a cabo gracias al concurso del modulo Gestorde Metadatos. Este modulo da soporte a los otros tres modulos del Gestor Concep-tual, de la siguiente manera:

• Aporta la informacion necesaria al Gestor de Esquemas para que compruebe laviabilidad de la creacion de las estructuras que el usuario demanda a traves delinterfaz, y acepta las ordenes que le da este gestor para almacenar la informa-cion correspondiente de los esquemas de usuario.

• Aporta al Gestor de Objetos la informacion necesaria para contrastar las pe-ticiones que a este le llegan a traves del interfaz, y le permite de esta formaconstruir las peticiones oportunas al Traductor.

• Le proporciona al traductor los metadatos necesarios para efectuar las traduc-ciones que forman parte de su tarea.

Puede decirse, como se observa en la figura 5.3, que el catalogo es el que ver-daderamente tiene almacenada la definicion del modelo de datos difuso orientado aobjetos.

5.3 Persistencia

Ya hemos repasado los cuatro componentes del Gestor Conceptual de Borrosidad.Para terminar con su analisis falta estudiar los dos elementos destinados a almacenarinformacion persistente que completan su arquitectura: el propio catalogo y la basede datos clasica subyacente.

Page 225: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.3 Persistencia 203

5.3.1 El catalogo de metadatos

El catalogo del Sistema Gestor de Bases de Datos Difusas Orientadas a Objetos de-be almacenar informacion sobre todas y cada una de las clases que el usuario vayacreando en sus aplicaciones. El analisis del catalogo o diccionario de datos lo va-mos a hacer centrandonos primero en determinar cual es la informacion relevanteque se debe almacenar, para luego proponer el esquema que debe tener el catalogopara poder almacenar dicha informacion.

5.3.1.1 Conjuntos significativos de entidades

La informacion que se almacena en el catalogo debe estar organizada alrededor delos siguientes conjuntos de entidades o centros de interes:

• Las clases que define el usuario.

• Los atributos que caracterizan la componente estructural del tipo difuso de cadaclase.

• Los metodos que definen la componente de conducta del tipo difuso.

Veamos con detalle cada uno de estos elementos, analizando la informacion que,sobre cada uno de ellos, debe mantener el catalogo de datos.

Informacion relevante sobre las clases

Cualquier clase que el usuario cree en el sistema, sea cual sea su naturaleza, estaracaracterizada por un identificador, ademas de por una cadena de texto que el usuariopuede utilizar para asociar a la clase una serie de comentarios.

Dentro de las clases que el usuario puede definir o utilizar en el esquema, pode-mos distinguir las siguientes categorıas:

• Tipos basicos de los que ofrezca el sistema.

• Dominios especiales para la gestion de la vaguedad.

• Tipos difusos.

Page 226: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

204 Una arquitectura para la construccion de SGBDOOD

Dominio

bloqueo

DominioImpCR DominioImpSR

DICRDisyuntivo

DICRDInfinito

rango

DomFuerzaDomIncertidumbre

DICRConjuntivo

etiquetado

DICRDFinito

Clase

identificadorcomentarios

1

0..*

1

0..*

tipoBase

1

0..*

1

0..*

tipoBase

Figura 5.5: Jerarquıa de dominios

En funcion de la categorıa que tenga una clase, variara la informacion que elcatalogo necesite almacenar para mantenerla registrada. Por ejemplo, para los tiposbasicos no es necesario almacenar ninguna informacion extra. No ocurre lo mismocon las otras dos categorıas de clases.

Si recordamos el estudio sobre los dominios de los atributos que se hizo al ex-poner nuestro modelo en el capıtulo 3, los dominios especiales que cree el usuariopueden estar dedicados a una de las siguientes labores:

• Expresar imprecision. Dentro de estos se distinguen a su vez los siguientessubtipos:

– Con representacion semantica subyacente:

∗ Conjuntivos: para generar un dominio de este tipo, necesitaremossaber el tipo base sobre el que esta definido (que sera una de lasclases del sistema) y si el usuario desea referirse a los conjuntos deobjetos que cree dentro del dominio, utilizando etiquetas.

∗ Disyuntivos, que pueden ser:

Page 227: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.3 Persistencia 205

· Con representacion finita: basta conocer el tipo base, para gene-rar las estructuras correspondientes.

· Con representacion infinita: no necesitamos conocer el tipo basi-co, pues sera la recta real, pero, a cambio, necesitaremos conocerel rango de la recta en el que toma valores el dominio.

– Sin representacion semantica.

• Expresar incertidumbre.

• Expresar grados de fuerza en una relacion.

La figura 5.5 muestra la organizacion anterior, con los distintos tipos de dominiosque pueden quedar registrados en el catalogo.

Para representar una clase normal de usuario (es decir, una clase con tipo difuso),ademas de representar su conjunto de atributos y metodos (que analizaremos masadelante), tenemos que hacer frente al almacenamiento en el catalogo de su tipo di-fuso, del tipo de extension que el usuario desea para la clase (clasica o difusa) y de laforma de herencia que utiliza, en su caso:

• Dentro de la clase que represente en el catalogo a las clases normales (que re-cordamos sera subclase de la clase que representa a todas las clases en general),habra que incluir un atributo que indique el tipo de extension de la clase.

• Para representar la herencia, se incluye en el catalogo una clase especıfica,que asocia un tipo de herencia (Hcrisp o Hfuzzy), y un umbral a una parejasuperclase-subclase.

Las figuras 5.6 y 5.7 muestran las anteriores estructuras y el aspecto general dela parte del catalogo destinada a representar la informacion sobre las clases, respec-tivamente.

Representacion de un atributo

Para caracterizar la definicion de una clase normal de usuario, falta almacenar suconjunto de atributos y su conjunto de metodos. Para representar los atributos en elcatalogo, se anade al diagrama de clases una nueva clase Atributo, con la siguienteinformacion:

Page 228: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

206 Una arquitectura para la construccion de SGBDOOD

Herencia

tipoumbral

ClaseNormal

tipoExtension

superclase

subclase

Clase

identificadorcomentarios

Figura 5.6: Representacion de una clase normal

TipoBasico Dominio

bloqueo

DominioImpCR DominioImpSR

DICRDisyuntivo

DICRDInfinito

rango

Herencia

tipoumbral

DomFuerzaDomIncertidumbre

ClaseNormal

tipoExtension

superclase

subclase

DICRConjuntivo

etiquetado

DICRDFinito

Clase

identificadorcomentarios

1

0..*

1

0..*

tipoBase

1

0..*

1

0..*

tipoBase

Figura 5.7: Jerarquıa de clases

Page 229: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.3 Persistencia 207

DomFuerza

DomIncertidumbre

ClaseNormal

tipoExtension

Clase

identificadorcomentarios

Atributo

identificadorcomentariosgradovisibilidadcaractercoleccion

1

0..*

conjuntoDeAtributos1

atributoDe

0..*

0..1

0..*0..*fuerza

0..1

0..*

0..1

0..*

incertidumbre

1

0..*

1

0..*

tipo

Figura 5.8: Representacion de atributos

• El identificador del atributo.

• Los comentarios que el usuario pudiera asociar a su definicion.

• El grado de pertenencia a la componente estructural del tipo al que caracteriza.

• La visibilidad (publica, protegida o privada) que el usuario ha definido para el atributo.

• El caracter del atributo, es decir, si es variable de instancia o de clase.

• Si se trata de un atributo que admite valores atomicos o se trata de una coleccion (enel sentido clasico7).

• La clase que sirve de tipo al atributo, que sera un objeto del conjunto de entidadesClase utilizado para representar clases en general en nuestro diagrama de clases parael catalogo.

• La clase normal de usuario a cuya componente estructural pertenece.

• En su caso:

7en el sentido difuso, para representar imprecision, usarıa un dominio especial para expresar con-juntos difusos de valores

Page 230: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

208 Una arquitectura para la construccion de SGBDOOD

ClaseNormal

tipoExtension

Parametro

identificadorposicion

Metodo

identificadorcomentarioscodigovisibilidadcaractergrado

0..*

1

0..*

conjuntoParFor

1

10..*

conjuntoDeMetodos1

metodoDe

Clase

identificadorcomentarios

0..*

0..*tipo

0..*

0..1

0..*

devuelve

Figura 5.9: Representacion de metodos

– Si los valores del atributo admiten incertidumbre, el dominio utilizado para me-dirla.

– Si los valores del atributo utilizan una relacion de fuerza, el dominio de fuerzacorrespondiente.

La figura 5.8 muestra la parte del diagrama de clases que caracteriza al catalogoque sirve para representar la informacion relativa a los atributos.

Representacion de un metodo

Por ultimo, para afrontar la representacion de un metodo, anadimos una clase Metodoal esquema del catalogo, de forma que se registre la siguiente informacion:

• El identificador del metodo.

• Los comentarios que el usuario pudiera asociar a su definicion.

• El grado de pertenencia a la componente de conducta del tipo al que caracteriza.

• La visibilidad (publica, protegida o privada) que el usuario ha definido para el metodo.

• El caracter del metodo, es decir, si es de instancia o de clase.

• La clase normal de usuario a cuya componente de conducta pertenece.

Page 231: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.3 Persistencia 209

• El conjunto de parametros que caracterizan su interfaz.

• En su caso, la clase que sirve de tipo de retorno al metodo, que sera un objeto de laclase utilizada para representar clases en general en nuestro diagrama de clases para elcatalogo.

La figura 5.9 muestra la parte del diagrama de clases que caracteriza la parte delcatalogo que sirve para representar la informacion relativa a los metodos.

5.3.1.2 Esquema del catalogo de metadatos

El analisis que hemos hecho en los apartados anteriores de los distintos elementosde informacion que se tienen que representar en el catalogo del Sistema Gestor quese pretende construir, nos conduce a configurar el catalogo mediante el diagrama declases [BRJ99] que se muestra en la figura 5.10.

Para los lectores habituados a la notacion clasica Entidad/Relacion [Che76], lafigura 5.11 muestra el modelo E/R que se corresponde con el anterior diagrama declases.

5.3.1.3 Eleccion del sistema gestor para el almacenamiento del catalogo

Las necesidades de almacenamiento requeridas para la implementacion del catalogono son muy exigentes, como hemos podido observar en el anterior apartado. Aunquela complejidad del catalogo no lo requiere, lo logico es que se utilice el mismo gestorclasico subyacente para almacenar el catalogo. En cualquier caso, el almacenamientodel catalogo debe ser por completo independiente de las bases de datos que se creenen el gestor para las aplicaciones de usuario. Ası pues:

• Si se elige un gestor relacional para representar el catalogo, los anteriores dia-gramas se traduciran al conjunto de relaciones equivalente del modelo relacio-nal.

• Si se utiliza el gestor orientado a objetos, basta traducir el diagrama de clasesde la figura 5.10 al correspondiente conjunto de clases que lo implementan.

Page 232: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

210

Una

arqu

itec

tura

para

laco

nstr

ucci

onde

SGB

DO

OD

TipoBasico Dominio

bloqueo

DominioImpCR DominioImpSR

DICRDisyuntivo

DICRDInfinito

rango

DICRConjuntivo

etiquetado

DICRDFinito

Parametro

identificadorposicion

Herencia

tipoumbral

ClaseNormal

tipoExtension

superclase

subclase

DomFuerza

Atributo

identificadorcomentariosgradovisibilidadcaractercoleccion

1

0..*

conjuntoDeAtributos1

+atributoDe

0..*0..1

0..*

0..1

0..*fuerza

DomIncertidumbre

0..1

0..*incertidumbre

0..1

0..*

Metodo

identificadorcomentarioscodigovisibilidadcaractergrado

1

0..*

conjuntoParFor

1

conjuntoDeMetodos

1metodoDe

0..*

Clase

identificadorcomentarios

1

0..*

1

0..*

tipoBase

11

0..*

tipoBase

0..*

0..*

tipo0..1

0..*

0..1

0..*

devuelve

1

0..*

1

0..*

tipo

Figura 5.10: Clases para el catalogo en un esquema orientado a objetos

Page 233: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.3P

ersistencia211

ClaseClase

IdentificadorIdentificador

Tipo ExtensiónTipo Extensión

AtributoAtributo

MétodoMétodo

IdentificadorIdentificador

GradoGradoAtributoDeAtributoDe

TipoDeTipoDe

DevuelveDevuelve

MetodoDeMetodoDe

IdentificadorIdentificador CódigoCódigo

ParámetrosParámetros

IdentificadorIdentificador

PosiciónPosición

GradoGrado

ComentariosComentarios

ComentariosComentarios

ComentariosComentarios

VisibilidadVisibilidad

VisibilidadVisibilidad

CarácterCarácter

CarácterCarácter

SuperclaseSuperclase

TipoTipo UmbralUmbral

BloqueoBloqueo

CNormalCNormal

RangoRango

IncertidumbreIncertidumbre

TipoBaseTipoBase

DomImpSDomImpSDomImpCDomImpC

DominioImpDominioImp

DFuerzaDFuerza FuerzaFuerzaDIncertidumbreDIncertidumbre

ColecciónColección

(0,1)

(0,1)

(0,1)

(0,1)

(0,1)

(0,1)

(1,n)

(1,n)

(1,n)

(1,n)(0,1)

(0,n)

(0,n)

(0,n)

(0,n)

(0,n)(0,n)

(0,n)

EtiquetadoEtiquetado

Tipo BásicoTipo Básico

TipoBaseTipoBase

DICDDICDDICCDICC

DICDFinitoDICDFinito DICDInfinitoDICDInfinito

(0,1)

(1,n)

NombreNombre

Figura 5.11: Diagrama Entidad-Relacion para el catalogo

Page 234: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

212 Una arquitectura para la construccion de SGBDOOD

5.3.2 El Sistema Gestor de Bases de Datos Orientado a Objetos Clasico

Como hemos indicado varias veces a lo largo de este capıtulo, la base de nuestrapropuesta de arquitectura se fundamenta en la utilizacion de un gestor de bases dedatos orientado a objetos ya existente como cimiento para la construccion del sistemadifuso. Veamos algunas reflexiones sobre las responsabilidades que se van a delegaren el, y algunas notas para su eleccion.

5.3.2.1 Caracterısticas

Del sistema gestor subyacente, se espera que se haga cargo de las responsabilidadespropias de cualquier gestor de bases de datos, que ya indicabamos en el capıtulo deconceptos previos y que recordamos ahora: persistencia, gestion de transacciones,control de la concurrencia, recuperacion de fallos, control de integridad, control deseguridad, rendimiento, etc.

5.3.2.2 Eleccion del sistema clasico orientado a objetos

La eleccion del sistema gestor no esta sujeta a muchas restricciones, puesto que elmodelo de datos difuso orientado a objetos que se propone en este trabajo de investi-gacion esta construido con el uso de las caracterısticas universales de la orientaciona objetos, y que hoy por hoy todo gestor comercial incorpora.

Sı se puede elegir entre utilizar un gestor de bases de datos orientado a objetoscomercial, o bien utilizar lo que se ha dado en llamar ultimamente la tecnologıarelacional-orientada a objetos [SM96, CMN97].

Esta tecnologıa consiste basicamente en la adicion de caracterısticas de la orien-tacion a objetos a un sistema relacional de bases de datos, de forma que el conjuntoobtenido se acerque bastante a una mezcla optima de las ventajas de los dos paradig-mas. Sin embargo, hasta la fecha, y pese a los avances efectuados por casas comer-ciales como ORACLE [Rus99], la tecnologıa relacional-orientada a objetos aun estalejos de ofrecer las capacidades mas potentes de la orientacion a objetos: la herenciay el polimorfismo8.

Sin embargo, la dotacion de persistencia a clases definidas en lenguajes de pro-gramacion orientados a objetos (como JAVA [Eck98, Spe00] o C++ [Str86]) esta muy

8se espera que la version 9 de Oracle ofrezca la posibilidad de heredar definiciones

Page 235: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.4 El interfaz orientado a objetos difusos 213

avanzada, entre otros motivos, porque buena parte de los sistemas relacionales quehan apostado por la tecnologıa relacional-orientada a objetos han resuelto con buenanota este problema y existen algunos.

Por lo tanto, el uso de un lenguaje de programacion orientado a objetos junto conun sistema de bases de datos relacional orientado a objetos, tambien es una alternativarazonable: mientras que la definicion del esquema (haciendo uso de la herencia)y el dinamismo (explotando el polimorfismo) vienen aportados por el lenguaje deprogramacion, la persistencia se consigue a traves del gestor relacional orientado aobjetos.

5.4 El interfaz orientado a objetos difusos

El ultimo componente de la arquitectura que presentabamos en el grafico de la figura5.3, es el interfaz del sistema gestor de bases de datos difusas orientadas a objetos.

La labor de este componente es la de ofrecer al usuario las capacidades (difusaso no) del sistema de bases de datos orientado a objetos. Este modulo del sistemainteractua con el Gestor Conceptual de Borrosidad, y le transmite las ordenes que harecibido fruto de su comunicacion con el usuario.

A la hora de afrontar la construccion del interfaz se pueden considerar dos ten-dencias distintas:

• Una tendencia grafica, presentando al usuario un conjunto de ventanas en lasque introducir las definiciones que caracterizan la base de datos que este quiereconstruir, y en las que realizar las operaciones de consulta y manipulacion dedatos que se desean.

• Una tendencia de operacion por medio de un lenguaje de sentencias, pare-ciendose a un cliente interprete de comandos en lınea, que acepte y procese eltexto de ordenes correspondientes al DDL o al DML.

La alternativa grafica resulta mas adecuada que la alternativa en lınea, porque ala vez que facilita la labor del usuario haciendo mas amigable el uso del sistema, evitala implementacion de analizadores lexicos, sintacticos y semanticos apropiados parala gestion del lenguaje. Eso sı, la interfaz grafica debe estar construida siguiendo unaorganizacion que permita al usuario trabajar orientado a objetos.

Page 236: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

214 Una arquitectura para la construccion de SGBDOOD

5.5 FoodBi: un interfaz prototipo

Para demostrar la viabilidad de las propuestas que caracterizan el modelo de datosexpuesto en esta memoria y, al mismo tiempo, comprobar la idoneidad de la arqui-tectura expuesta en este capıtulo, se ha construido un prototipo que implementa laparte mas compleja: la gestion de esquemas del Gestor Conceptual de Borrosidad.

FoodBi9 es un interfaz grafico que permite a los usuarios la creacion y gestionde un esquema de base de datos difusa orientada a objetos de una forma amigable.Mediante el uso de FoodBi, el usuario puede construir una jerarquıa de clases contipo difuso, que utilice, para la descripcion de sus atributos, dominios adecuados parael manejo de la vaguedad.

Con respecto a la arquitectura expuesta en la figura 5.4, FoodBi implementa laparte necesaria para el mantenimiento de esquemas en un modelo de bases de datosorientadas a objetos difusas:

• Un interfaz grafico para la definicion de esquemas que sigue un modelo deusuario orientado a objetos.

• Los componentes del Gestor Conceptual de Borrosidad necesarios para com-pletar las labores de gestion de esquemas, a saber: el propio Gestor de Esque-mas, el Gestor de Metadatos y un Traductor Clasico-Difuso capaz de realizartransformaciones en el nivel de los esquemas.

El funcionamiento de FoodBi es relativamente sencillo: el usuario introduce elmodelo de datos difuso que desea generar y la aplicacion se encarga de crear las es-tructuras clasicas necesarias para dar soporte a ese modelo. En concreto, el prototipogenera un conjunto de clases utilizando el lenguaje de programacion Java [Eck98].

La implementacion actual de FoodBi ha sido realizada utilizando la siguientetecnologıa:

• Se ha utilizado el lenguaje de programacion Java (JDK 1.3) para su desarrollo,teniendo en cuenta principalmente razones de portabilidad multiplataforma yfacilidad para dar persitencia a los objetos [Spe00].

9del ingles Fuzzy Object Oriented DataBase Interface

Page 237: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.5 FoodBi: un interfaz prototipo 215

• Se ha utilizado el gestor de bases de datos Oracle10(version 8.1.6) para la im-plementacion del catalogo de la base de datos.

5.5.1 Principales funcionalidades del interfaz

Como hemos dicho, el objetivo principal del prototipo es permitir que el usuario ge-nere un esquema de bases de datos orientado a objetos construido sobre la base deluso de tipos difusos y en el que incorpore las capacidades para manejar la vague-dad que se han presentado en esta memoria, de una forma sencilla, de manera quese creen automaticamente las distintas estructuras necesarias para dar soporte a susdefiniciones.

La parte mas importante del interfaz de FoodBi esta dedicada a facilitar al usuariola definicion de una clase que forme parte del esquema que quiere construir. Las fi-guras 5.12, 5.13, 5.14 y 5.15 muestran las ventanas que el sistema presenta al usuariopara desarrollar esta tarea.

La informacion que el usuario necesita introducir para completar la definicion dela clase es la siguiente:

• Los datos generales que describen la clase, como son: su identificador, el tipode extension que va a tener, y los comentarios descriptivos que el usuario lequiera asociar como documentacion.

• El conjunto de atributos que van a caracterizar la componente estructural (di-fusa) del tipo de la clase en cuestion.

• El conjunto de metodos que determinaran la correspondiente componente deconducta para la clase.

• Finalmente, la especificacion de las caracterısticas del modelo de herencia quese va a aplicar a la clase que esta definiendo: el usuario selecciona la supercla-se, el tipo de herencia y el umbral con el que quiere que la nueva clase herede.Se permite solo la utilizacion de herencia simple, puesto que Java (nuestro len-guaje objetivo) solo permite esta posibilidad.

La definicion de un metodo es bastante sencilla, puesto que la aplicacion solonecesita que el usuario introduzca el interfaz del metodo y el codigo correspondiente.

10www.oracle.com

Page 238: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

216 Una arquitectura para la construccion de SGBDOOD

Figura 5.12: Creacion de una clase Figura 5.13: Componente estructural

Figura 5.14: Componente de conducta Figura 5.15: Herencia

Page 239: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.5 FoodBi: un interfaz prototipo 217

Incluso FoodBi puede definir para el usuario un conjunto de metodos observadoresy modificadores para el conjunto de los atributos que caracterizan la componenteestructural del tipo que se esta definiendo, evitando esta ardua tarea al programadordel tipo. Sin embargo, la definicion de un atributo es algo mas compleja.

Cuando el usuario decide anadir un atributo a la componente estructural de laclase que esta definiendo (figura 5.13), ha de completar una serie de pantallas con lainformacion relativa al mismo, y que es la siguiente:

• Informacion general sobre el atributo: su identificador, el grado de pertenen-cia, la visibilidad, su caracter (si es variable de clase o de instancia) y el tipode vaguedad que va a soportar. La ventana de la figura 5.16, recoge dichainformacion.

• En caso de ser un atributo con dominio impreciso, el usuario debe construir undominio adecuado para soportar esa imprecision, o bien reutilizar uno de losque ya tenga disponibles el sistema. La ventana de la figura 5.17 permite alusuario seleccionar la semantica del dominio impreciso que quiere asociar alatributo, de forma que pueda elegir un dominio ya existente de los que imple-mentan esa semantica o bien utilizar un asistente para construir uno nuevo.

• En caso de que el valor del atributo pueda estar afectado de incertidumbre, elusuario debe indicar de que forma la va a expresar. La pantalla de la figura5.18 solicita al usuario que elija entre un valor real en el intervalo [0,1] o undominio de etiquetas para expresar dicha imprecision.

• Si el usuario quiere graduar la relacion expresada por el atributo mediante eluso de valores de fuerza asociados, puede hacerlo utilizando la ventana de lafigura 5.19. Al igual que ocurre con la incertidumbre, se le da la posibilidad deelegir entre valores reales o etiquetas linguısticas.

Una vez recogida la descripcion de la clase que ha introducido el usuario, Food-Bi utiliza dicha descripcion para generar el correspondiente conjunto de clases Javaclasicas que la implementan, siguiendo las directrices expresadas en el capıtulo 3 deesta memoria.

Page 240: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

218 Una arquitectura para la construccion de SGBDOOD

Figura 5.16: Datos generales del atributo Figura 5.17: Detalle de la imprecision

Figura 5.18: Datos sobre incertidumbre Figura 5.19: Uso de valores de fuerza

Page 241: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.5 FoodBi: un interfaz prototipo 219

5.5.2 Funcionamiento de FoodBi: Un ejemplo

Para dar una idea clara del funcionamiento de FoodBi, vamos a usarlo para crear elesquema difuso presentado en el ejemplo de las imagenes que se utilizo en el capıtulo3. Siguiendo las directrices expuestas al introducir el ejemplo en ese capıtulo, vamosa considerar que la estructura de una imagen esta descrita mediante tres niveles deprecision:

Objeto imagen

• Rasgos mınimos: tema, fichero, formato, version.

• Primer nivel de especificidad: resolucion horizontal, resolucion vertical, paleta.

• Segundo nivel de especificidad: histograma, fronteras, bandas, convolucion.

Este ejemplo estaba construido para explicar el uso de tipos difusos y, por tanto,no considera atributos que admitan valores imperfectos definidos sobre dominios ade-cuados. Por ese motivo, vamos a completar la descripcion de una imagen, anadiendoen su primer nivel de definicion dos atributos: la antiguedad de la imagen y su ca-lidad. Para estos atributos necesitaremos definir dominios especiales para aceptar eluso de valores imperfectos.

5.5.2.1 Definicion del tipo difuso Imagen utilizando FoodBi

La figura 5.20 muestra los datos generales que caracterizan la descripcion de la claseImagen y que hay que introducir en el programa para su creacion. La figura 5.21indica los detalles del tipo de herencia utilizado: en este caso, Imagen hereda de laclase basica Object, con umbral 0 y sin propagar borrosidad11. La figura 5.22 describede forma resumida el conjunto de atributos que caracterizan el tipo de la nueva clase.La mayorıa son atributos sencillos, pero llaman la atencion los dos atributos definidossobre dominios que admiten imprecision en sus valores (calidad y antiguedad) yvarios atributos cuyo valor es un conjunto de elementos en el sentido clasico (si lohubiesen sido en el sentido difuso, tendrıan marcada la pestana de imprecision).

La figura 5.23 muestra la jerarquıa de clases que se han generado (en el niveldifuso). Las clases Histograma, Bandas, Convolucion y Fronteras han sido creadascon antelacion para servir de tipo a los correspondientes atributos de la clase Imagen.

11en este caso da igual el tipo de herencia y el umbral, porque Object es la clase raız del sistema declases de FoodBi y carece de niveles

Page 242: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

220 Una arquitectura para la construccion de SGBDOOD

Figura 5.20: Datos generales de Imagen Figura 5.21: Detalle del tipo de herencia

Figura 5.22: Componente de conducta Figura 5.23: Esquema difuso generado

Page 243: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.5 FoodBi: un interfaz prototipo 221

Para facilitar la creacion de la clase, se ha activado en las opciones de FoodBi lageneracion automatica de metodos observadores y modificadores.

Para obtener el conjunto de atributos que se muestra en la figura 5.22 y que ca-racterizan la componente estructural del tipo difuso de Imagen, se han tenido quedefinir uno a uno cada uno de ellos, utilizando las ventanas que FoodBi ofrece paraesos menesteres.

No vamos a describir aquı, por evitar el engorroso conjunto de figuras, la in-formacion introducida para cada uno de estos atributos. Sin embargo, sı mereceespecial atencion la descripcion de los atributos que admiten imprecision: calidad yantiguedad.

Las figuras 5.24 y 5.25 describen la creacion del atributo calidad, mientras quelas figuras 5.26 y 5.27 hacen lo propio con el atributo antiguedad:

• Para la definicion del atributo calidad ha habido que indicar que es imprecisoen la ventana de la figura 5.24, y se ha indicado en la pestana para la descripcionde dominios imprecisos (figura 5.25) que se va a utilizar un dominio imprecisosin representacion semantica subyacente para el tipo de ese atributo.

Para crear el dominio (puesto que es la primera vez que se usa) se ha utilizadoun asistente12, basicamente una ventana que pregunta el nombre que se quiereutilizar para identificar el nuevo dominio.

• Para la definicion del atributo antiguedad tambien ha habido que senalar quees impreciso en la ventana de la figura 5.26, y se ha indicado en la pestana parala descripcion de dominios imprecisos (figura 5.27) que se va a utilizar un do-minio impreciso con representacion semantica subyacente y sentido disyuntivopara el tipo del atributo.

Se ha elegido la modalidad de soporte infinito para poder introducir etiquetasde antiguedad trapezoidales definidas sobre un intervalo de la recta real querepresente el tiempo de antiguedad. Para crear el dominio Antiguedad se hautilizado un asistente, que solicita el identificador del dominio, y los lımitesdel rango de la recta real que se quieren utilizar como referencial.

Como consecuencia de las anteriores definiciones, FoodBi genera el conjunto deficheros que muestra la tabla 5.1.

Veamos con detalle el contenido y la funcion de cada uno de esos ficheros.12del ingles wizard

Page 244: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

222 Una arquitectura para la construccion de SGBDOOD

Figura 5.24: Atributo calidad Figura 5.25: Imprecision de calidad

Figura 5.26: Atributo antiguedad Figura 5.27: Imprecision de antiguedad

Page 245: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.5 FoodBi: un interfaz prototipo 223

Tabla 5.1: Ficheros generados para la implementacion de la clase Imagen

Fichero Descripcion

Calidad.java Fichero con la definicion del dominio impreciso CalidadAntiguedad.java Fichero con la definicion del dominio impreciso AntiguedadImagen.java Fichero con la definicion del nucleo de la clase ImagenImagen 90.java Fichero con la definicion del primer nivel de precision del tipo difuso ImagenImagen 80.java Fichero con la definicion del segundo nivel de precision del tipo difuso Imagen

5.5.2.2 Jerarquıa difusa para el tipo de la clase Imagen

Para implementar el tipo difuso Imagen, FoodBi genera tres ficheros .java, corres-pondientes a cada uno de los niveles de precision con los que puede observarse eltipo13.

El contenido de los ficheros es el siguiente:

• El fichero Imagen.java tiene la definicion del nucleo del tipo difuso de la claseImagen. Toma el mismo valor de la clase para generalizar el conjunto de lajerarquıa, que colgara por debajo de el. En su codigo (que se lista a continua-cion) se puede observar que hereda de la clase FuzzyObject una clase especialque se ha implementado para servir de raız a toda la jerarquıa de clases gene-rada utilizando el prototipo. Esta clase generaliza la clase Object14 de Java,para el caso de clases con tipo difuso, e implementa metodos que permiten acualquier objeto de sus subclases devolver el nivel de precision con el que hasido creado. Se puede comprobar tambien en dicho codigo, que FoodBi ha ge-nerado para el usuario un conjunto de metodos para el acceso y la modificacionde cada uno de los atributos.

package user;import java.util.*;import fuzzy.*;

public class Imagen extends FuzzyObject

public String tema;public String fichero;public String formato;public Integer version;

13Notese que en esta version de FoodBi se limita el valor de precision de un nivel hasta las centesimas14Clase raız basica de Java

Page 246: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

224 Una arquitectura para la construccion de SGBDOOD

public Calidad calidad;public Antiguedad antiguedad;

public Imagen() ;

public String getTema()return tema;

public void setTema(String newtema)tema=newtema;

public String getFichero()return fichero;

public void setFichero(String newfichero)fichero=newfichero;

public String getFormato()return formato;

public void setformato(String newformato)formato=newformato;

public Integer getVersion()return version;

public void setVersion(Integer newversion)version=newversion;

public Calidad getCalidad()return calidad;

public void setCalidad(Calidad newcalidad)calidad=newcalidad;

public Antiguedad getAntiguedad()return antiguedad;

public void setAntiguedad(Antiguedad newantiguedad)antiguedad=newantiguedad;

Page 247: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.5 FoodBi: un interfaz prototipo 225

• El siguiente fichero, Imagen 90.java, implementa el primer nivel de precisiondel tipo Imagen, y por tanto hereda de clase definida en el anterior fichero(Imagen).

package user;import java.util.*;import fuzzy.*;

public class Imagen_90 extends Imagen

public Integer rhorizontal;public Integer rvertical;public Vector paleta;

public Imagen_90() ;

public Integer getRhorizontal()return rhorizontal;

public void setRhorizontal(Integer newrhorizontal)rhorizontal=newrhorizontal;

public Integer getRvertical()return rvertical;

public void setRvertical(Integer newrvertical)rvertical=newrvertical;

public Vector getPaleta()return paleta;

public void setPaleta(Vector newpaleta)paleta=newpaleta;

• Finalmente, el fichero Imagen 80.java implementa el ultimo nivel de precisiondel tipo Imagen, que representa la maxima precision con la que pueden repre-sentarse objetos del tipo Imagen.

package user;import java.util.*;

Page 248: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

226 Una arquitectura para la construccion de SGBDOOD

import fuzzy.*;

public class Imagen_80 extends Imagen_90

public Vector bandas;public Histograma histograma;public Convolucion convolucion;public Vector fronteras;

public Imagen_80() ;

public Vector getBandas()return bandas;

public void setBandas(Vector newbandas)bandas=newbandas;

public Histograma getHistograma()return histograma;

public void setHistograma(Histograma newhistograma)histograma=newhistograma;

public Convolucion getConvolucion()return convolucion;

public void setConvolucion(Convolucion newconvolucion)convolucion=newconvolucion;

public Vector getFronteras()return fronteras;

public void setFronteras(Vector newfronteras)fronteras=newfronteras;

Para poder manejar las jerarquıas difusas de clases, FoodBi contiene una claseespecial FuzzyClass que contiene en su codigo un metodo de clase que implementael constructor difuso. Para crear un objeto de la clase Imagen, con nivel α, basta coninvocar ese metodo de la siguiente manera:

Imagen imgObject=FuzzyClass.NewInstance(alfa,"Imagen");

Page 249: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.5 FoodBi: un interfaz prototipo 227

El metodo NewInstance de la clase anterior elige la clase de la jerarquıa de Ima-gen que se tiene que instanciar en funcion del α utilizado, siguiendo las directricesexpuestas en el capıtulo 3 de esta memoria.

5.5.2.3 Representacion de los dominios

En el apartado anterior hemos visto la forma en la que el prototipo genera una je-rarquıa de clases para representar el tipo difuso de una nueva clase definida por elusuario. Ahora vamos a analizar lo que ha ocurrido con los dominios imprecisos quese crearon para manejar la calidad y la antiguedad de una imagen.

Para representar un dominio impreciso que carece de una representacion semanticasubyacente, FoodBi genera una subclase de una clase especial denominada Abstract-DomainWithoutRep, que implementa las caracterısticas basicas que debe tener cual-quier dominio de este tipo.

AbstractDomainWithoutRep

label : String

computeSimi()computeSimi()getSimRelation()

MyDomain

getSimRelation()

DomainWithoutRep

labels : Array of StringsimRelation : Array of Float

computeSimi(a : String, b : String) : FloatgrowSimRelationMEM(newLabel : String, membership : Array of Float)growSimRelationSIM(newLabel : String, simvalues : Array of Float)

SimRelation

Figura 5.28: Representacion de dominios sin semantica subyacente

La figura 5.28 muestra la estructura que se genera para cada dominio imprecisode estas caracterısticas que se quiera representar. Sin animo de entrar en demasiadosdetalles de implementacion, vamos a describir la filosofıa seguida por cada clase(que no es otra que seguir las directrices del capıtulo 3 para representar este tipo dedominios):

• La clase DomainWithRep, representa objetos cuya estructura contempla unalista de etiquetas y la relacion de similitud existente entre ellas. La clase tienemetodos para la adicion de nuevas etiquetas a la lista (dando la similitud conlas ya existentes o bien expresando la nueva etiqueta como un conjunto difuso

Page 250: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

228 Una arquitectura para la construccion de SGBDOOD

de las que ya hay y delegando el calculo de la similitud - como se indico en elcapıtulo 3), y para el calculo de la similitud entre dos etiquetas de la lista.

• La clase AbstractDomainWithRep generaliza los dominios de este tipo, quevan a estar construidos mediante el uso de una variable de clase cuyo tipo serael de la clase anterior.

• La clase MyDomain representa un caso concreto de dominio: para crearlo solose tiene que hacer heredar la nueva clase de AbstractDomainWithRep, y definiruna variable de clase SimRelation (de tipo DomainWithRep) que se encapsularedefiniendo el metodo getSimRelation.

Mediante el uso de la anterior idea, la definicion de cualquier dominio de estascaracterısticas es muy sencilla. Por ejemplo, para representar el dominio Calidad,FoodBi solo tiene que generar el siguiente contenido para el fichero Calidad.java:

package user;

import java.util.*;import domains.*;

public class Calidad extends AbstractDomainWithoutRep

static DomainWithoutRep SimRelation = new DomainWithoutRep();

public Calidad(String aLabel, int sense, Vector semantic) super(aLabel,sense,semantic);

public DomainWithoutRep getSimRelation()return this.SimRelation;

La representacion de la clase Antiguedad es algo mas compleja, puesto que hay quegenerar una pequena jerarquıa que tiene en su raız una clase abstracta para manejareste tipo de dominios (recuerdese la seccion 3.1 del capıtulo 3).

Podrıa seguirse una filosofıa similar a la anterior para manejar este tipo de do-minios (es decir, definir de una forma generica la jerarquıa necesaria y reutilizarla)pero harıa falta que el lenguaje objetivo tuviese herencia multiple, y Java no dispo-ne de esta posibilidad. Sin embargo, como vamos a comprobar, el uso conjunto dela jerarquıa de herencia y de un mecanismo de composicion, permite solventar esteproblema.

Page 251: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.5 FoodBi: un interfaz prototipo 229

La figura 5.29 muestra la jerarquıa generica que aporta FoodBi para la gestionde este tipo de dominios. La clase abstracta oculta los tres tipos de valores que sepueden manejar, a saber, basicos (valores del dominio sin imprecision), conjuntosdifusos con soporte finito y etiquetas trapezoidales con soporte infinito.

DisyuntiveDomainWithRep

basicType : Class

imprecisionType()membership(value : Object) : FloatcomputeSimi(op1 : DisyuntiveDomainWithRep) : Float

ImpreciseTrapObject

label : Stringa : Floatb : Floatc : Floatd : Float

BasicObject

value : ObjectImpreciseGenObject

label : String

GenericPair

element : Objectdegree : Float

semantic1..*

Figura 5.29: Jerarquıa generica DisyuntiveDomainWithRep

AbstractDisyuntiveDomainWithRep

value : DisyuntiveDomainWithRep

imprecisionType() : intmembership(value : Object) : FloatcomputeSimi(op1 : AbstractDisyuntiveDomainWithRep) : Float

Figura 5.30: Clase AbstractDisyuntiveDomainWithRep

La figura 5.30 muestra una clase nueva que oculta un objeto de la anterior clasecomo variable de instancia, y redefine cada uno de los metodos de la clase Disyunti-veDomainWithRep delegando en el objeto que oculta.

Mediante el uso de la anterior clase, la definicion de cualquier dominio de estascaracterısticas es muy sencilla y no necesita herencia multiple. Por ejemplo, pararepresentar el dominio Antiguedad, FoodBi solo tiene que generar el siguiente con-tenido para el fichero Antiguedad.java:

Page 252: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

230 Una arquitectura para la construccion de SGBDOOD

package user;

import domains.AbstractDisyuntiveDomain;import java.util.*;

public class Antiguedad extends AbstractDisyuntiveDomain

public Antiguedad(Float basicValue) super(basicValue);

public Antiguedad(String label, Vector semantic)super(label,semantic,Float.TYPE);

public Antiguedad(String label, float a, float b, float c, float d)super(label,a,b,c,d);

La gestion de los dominios conjuntivos se hace de una forma muy parecida aesta ultima, cambiando, eso sı, la implementacion de los metodos que calculan lasimilitud de forma adecuada.

5.5.2.4 Completando la jerarquıa difusa del ejemplo de las Imagenes

Para terminar con este ejemplo, vamos a considerar la adicion de las distintas sub-clases que se derivaban de la clase Imagen en el capıtulo 3. Para ello, basta seguirel mismo proceso anterior con cada una de las clases, pero ahora jugando con losdistintos tipos de herencia e indicando los diferentes umbrales, segun sea necesa-rio. FoodBi ira generando las distintas jerarquıas, pero ahora, las distintas clases querepresenten el nucleo de cada jerarquıa, en vez de heredar de la clase generica Fuzzy-Object, lo haran de la correspondiente clase clasica perteneciente a la jerarquıa declases que representa a la superclase. La figura 5.31 muestra el esquema conseguidoal final del proceso.

5.6 Conclusiones

En este capıtulo hemos presentado una arquitectura para la construccion de un sis-tema gestor de bases de datos difusas orientadas a objetos utilizando como base ungestor clasico de bases de datos orientado a objetos ya existente.

Page 253: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

5.6 Conclusiones 231

Figura 5.31: Esquema de clases completo

Dentro de la arquitectura, el papel central lo ocupa un Gestor Conceptual deBorrosidad, que hace de capa intermedia entre el interfaz de usuario y el sistemaclasico subyacente.

La estructura del sistema que se ha propuesto esta cimentada sobre la idea deminimizar el esfuerzo de desarrollo para obtener las capacidades de gestion de va-guedad que hemos introducido en esta memoria, basandonos en la traduccion directade nuestra propuesta a estructuras clasicas de la orientacion a objetos.

Como muestra de la viabilidad de dicha arquitectura, se ha construido un proto-tipo que implementa parte de las capacidades de un sistema gestor de bases de datosorientado a objetos difuso, centrandonos, sobre todo, en las transformaciones entrelas definiciones de usuario y las estructuras necesarias para manejar la vaguedad delos datos y los tipos difusos que el usuario defina.

Page 254: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta
Page 255: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Capıtulo 6

Conclusiones y trabajos futuros

Tan poco hecho...Tanto por hacer,Cecil Rhodes (1853-1902)

Estadista ingles

Vamos a concluir esta memoria presentando las conclusiones que hemos alcan-zado con la realizacion de este trabajo, tratando al mismo tiempo de resumir susaportaciones y de senalar las futuras direcciones de estudio que de el se derivan.

Cuando planteamos los objetivos de este trabajo de investigacion, centramosnuestro principal interes en la busqueda de un modelo de bases de datos orienta-das a objetos difusas que nos permitiese afrontar la imperfeccion que normalmenteafecta a los datos del mundo real, y que nos permitiese tambien hacer frente a la com-plejidad de sus estructuras. Ahora es el momento de analizar las aportaciones que sehan presentado en esta memoria para, desde nuestro punto de vista, haber cumplidocon satisfaccion dicho objetivo.

Esta memoria describe un modelo de bases de datos orientadas a objetos difusascapaz de hacer frente a la vaguedad de los datos desde diversas perspectivas:

• En el nivel de atributos se han estudiado las distintas formas de afrontar larepresentacion de un dominio. Para ello hemos propuesto tres vıas fundamen-tales en las que se puede presentar la imprecision en este nivel:

– Datos imprecisos como la seriedad de un diagnostico, o como la calidadde un determinado producto, que por su naturaleza no tienen un dominio

Page 256: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

234 Conclusiones y trabajos futuros

basico sobre el que ser representados, se han abordado mediante la defi-nicion de dominios imprecisos sin representacion semantica subyacente.

– En aquellas situaciones en las que sı se dispone de un dominio de refe-rencia, y en las que las etiquetas imprecisas utilizadas representan valo-res atomicos (como la edad o la altura de una persona), hemos utilizadola definicion de dominios imprecisos con referencial subyacente y consemantica disyuntiva.

– Finalmente, hemos generalizado la idea de multiplicidad que puede afec-tar a un determinado atributo en la definicion de una clase. De esta forma,hemos considerado la posibilidad de definir atributos cuyo valor sea unconjunto difuso de objetos. Ası, se han introducido en el modelo los do-minios imprecisos con referencial subyacente y con semantica conjuntivapara hacer posible la representacion, por ejemplo, del curso academicoque corresponde a un alumno o del conjunto de idiomas que habla untraductor.

• Para poder hacer frente a la presencia de objetos imprecisos en la base de datos,hemos generalizado la nocion de igualdad de estado, presentando un conjuntode operadores muy utiles para establecer una comparacion de igualdad entredos objetos de una clase dada. Las relaciones de similitud y de semejanza dela Teorıa de Subconjuntos Difusos han jugado un papel esencial:

– Las relaciones de similitud son la base que permite manejar los distintosdominios que hemos nombrado en el punto anterior. Son la diferenciaque distingue una mera enumeracion, de un conjunto de etiquetas que seutilizan para expresar falta de precision en la informacion.

– La nocion de Grado de Inclusion guiado por Semejanza presentada en es-te trabajo, permite construir diferentes operadores para calcular relacio-nes de parecido entre conjuntos difusos de objetos imprecisos: El ope-rador de Semejanza Generalizada, el Factor de Cardinalidad, o el propiooperador de Consistencia entre conjuntos difusos se construyen graciasal mismo.

– El calculo de la semejanza entre dos objetos de una clase dada esta fun-damentado en la utilizacion tanto de relaciones de similitud, como de losoperadores anteriores, cuando uno se enfrenta a clases en las que, por sucaracter de servir de almacenamiento de datos imprecisos, no se puedeutilizar la igualdad clasica para establecer comparaciones.

Page 257: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

235

Estas herramientas son los cimientos sobre la que se debe construir la recupera-cion de los objetos que se almacenen en una base de datos construida siguiendonuestro modelo.

• Para terminar con la representacion de informacion imperfecta en este nivel deatributos, hemos considerado la representacion de la incertidumbre que puedentener los valores de un atributo de forma independiente, permitiendo la utiliza-cion de diferentes escalas para hacerlo, tanto numericas como linguısticas.

Las relaciones entre objetos en un modelo de datos orientado a objetos, si siguenun enfoque funcional, estan implementadas en el nivel de los atributos. Por tanto, laspropuestas que se han hecho para representar la vaguedad en ese nivel, son tambienvalidas para expresar relaciones imperfectas entre objetos cuando siguen dicho en-foque funcional. En el caso de que no sigan dicho enfoque, no estaran incluidas enel nivel de atributo, y nuestro modelo las representa mediante una clase que expreseexplıcitamente la agregacion entre los objetos. Esto nos lleva hacia el nivel de lasrelaciones objeto-clase.

Situaciones como la representacion de las relaciones expuestas en el anteriorparrafo, o, en general, las producidas por la presencia de vaguedad en los valoresque caracterizan a los objetos, pueden determinar la necesidad de utilizar grados paraexpresar la pertenencia de los objetos a una clase. En el nivel de relaciones objeto-clase hemos visto la forma dotar a una clase con la capacidad de tener una extensiondifusa. De esta forma, el modelo que hemos presentado puede utilizarse para des-cribir relaciones de inclusion como las que se muestran en trabajos de propuestasanteriores.

Tambien dentro del nivel de relaciones objeto-clase, se pueden utilizar atributosadicionales en la definicion del tipo de una clase para representar la certeza que setiene de que un objeto pertenezca a esa clase, o incluso para describir niveles defuerza en la relacion de agregacion que representan los atributos que forman parte dedicho tipo para un determinado objeto de la clase.

En el nivel de relaciones superclase-subclase, hemos estudiado la forma en la quepuede afrontarse la creacion de subclases, mediante el uso de dos tecnicas diferentes:

• La adicion de reglas que expresen una restriccion sobre las propiedades quedeben cumplir los objetos de la superclase para pertenecer a la subclase, quenormalmente daran lugar a clases intensivas carentes de una representacion in-

Page 258: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

236 Conclusiones y trabajos futuros

dependiente de la superclase, y que se representan en nuestro modelo medianteuna tecnica parecida a la que da soporte para la creacion de extensiones difusas.

• La tecnica clasica, mediante la que se amplıa el tipo de la subclase medianteun conjunto adicional de atributos, que por sus caracterısticas puede exigir lautilizacion de una extension difusa en la subclase.

El analisis que hemos hecho de la presencia de incertidumbre en las definicio-nes tanto de los objetos como de las clases nos ha llevado a la conclusion de que,aunque es facilmente representable en nuestro modelo mediante el uso de atributosespecıficos para expresar esa falta de certeza, las situaciones en las que se desconocela aplicabilidad de propiedades a objetos, o a la propia definicion de una clase, no sondeseadas, y suelen corresponderse con etapas iniciales del proceso de modelado.

Por el contrario, un buen conocimiento de la aplicacion que se desea modelarpuede llevarnos a definir los tipos de las clases de nuestro esquema utilizando distin-tos niveles de precision para ello. El concepto de Tipo Difuso que se ha presentadoen esta memoria generaliza el concepto clasico de tipo permitiendo hacer la caracte-rizacion de los tipos por niveles de especificidad. El uso de Tipos Difusos, tambienimplica que la relacion de los objetos con la clase puede estar afectada por un grado,ahora desde un punto de vista estructural, indicando la precision con la que el objetoincorpora el tipo de la clase.

Junto con el nuevo concepto de tipo, hemos aportado un conjunto de herramien-tas basico para sacar partido del mismo: Un constructor difuso que permite crearobjetos con distinta precision a partir de la definicion del tipo difuso, y dos mecanis-mos de herencia (la clasica y la difusa) que permiten al disenador del tipo controlarla propagacion de la borrosidad entre las definiciones de las clases que aparecen en lajerarquıa. Tambien se ha hecho frente a la capacidad de redefinicion de metodos esta-bleciendo la polıtica de eleccion del metodo que responde a un determinado mensaje(fundamento del enlace estatico y dinamico).

El uso de Tipos Difusos y de las distintas otras formas de afrontar la vaguedaden nuestro modelo, lo convierten en una propuesta bastante completa, frente a laparcialidad de la mayorıa de las soluciones que se encuentran en la literatura. Lacapacidad de modelado del paradigma orientado a objetos se enriquece sobremaneray permite afrontar problemas mas complejos cuando las aplicaciones ası lo requieren.

El modelo que hemos presentado tiene, por encima de todo, dos caracterısticasimportantes, que desde para nosotros son sus dos mejores virtudes:

Page 259: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

237

• En todos los apartados indicados en los parrafos anteriores se ha seguido unprincipio basico: utilizar los mecanismos propios del modelo orientado a obje-tos clasico para representar las nuevas estructuras. De esta manera, el modeloque aquı se presenta es un referencia util para cualquier persona, que care-ciendo de herramientas especıficas para la gestion de vaguedad en el modeloorientado a objetos, necesite hacer frente a la representacion de la misma.

• El estudio que se ha expuesto, en todo momento, afronta la representacion dela vaguedad claramente diferenciada en sus dos matices: la imprecision y laincertidumbre. En cada nivel se han aportado soluciones independientes paragestionar dichas formas de vaguedad, de forma que el disenador, conociendo lanaturaleza de la imperfeccion que encuentra en sus aplicaciones, puede elegirla forma adecuada de representarla.

En esta memoria tambien hemos presentado un conjunto de herramientas utilespara sacar partido al anterior modelo:

• Por un lado se han presentado dos tecnicas complementarias para la explora-cion del tipo de un conjunto de datos, que se engloban dentro del campo de laextraccion de conocimiento:

– Los grafo de inclusion, que representan de una forma grafica muy ex-presiva la estructura subyacente a un conjunto de datos, y que, al mismotiempo, son un estupendo resumen de esa informacion estructural.

– El algoritmo de extraccion de tipos, que aporta la definicion de tipo difusoque mejor se ajusta a un conjunto de datos dado, y que al mismo tiempoque da una definicion del tipo mas rica desde el punto de vista semantico,disminuye el espacio desperdiciado por los valores nulos presentes en elconjunto.

• Finalmente el uso de caracterısticas puramente orientadas a objetos a la horade desarrollar nuestro modelo, nos ha permitido presentar una arquitectura pa-ra la construccion de un Sistema Gestor de Bases de Datos Difusas Orientadasa Objetos, sobre la base de un sistema clasico ya existente. De esta forma seconsiguen las nuevas caracterısticas con un esfuerzo razonable, mucho menorque si se ha de afrontar el desarrollo de un sistema nuevo desde el principio.La arquitectura introducida esta cimentada sobre el principio de independen-cia con respecto al sistema subyacente y los modulos que la componen tratan

Page 260: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

238 Conclusiones y trabajos futuros

de aislar convenientemente las caracterısticas dependientes de dicha platafor-ma de las que no lo son. El desarrollo de un prototipo permite comprobar laidoneidad de esta arquitectura y del modelo en general.

Las propuestas que se han presentado en esta memoria son un buen comienzoen nuestro estudio de los modelos orientados a objetos difusos. Sin embargo, sonbastantes los problemas que quedan abiertos para su estudio en el futuro a raız deeste trabajo de investigacion. Entre ellos:

• Desde el punto de vista de las consultas y de la manipulacion de la informacioncontenida en la base de datos:

– La generalizacion de la igualdad mediante el uso de relaciones de se-mejanza difusas permite establecer comparaciones de parecido. Sin em-bargo, la recuperacion de la informacion contenida en una base de datostambien necesita de otros operadores relacionales cuando se puedan apli-car. Nos referimos a la utilizacion de relaciones de orden (parcial o total)entre los elementos de los dominios imprecisos.

– Aunque en la literatura hay ya algunas propuestas teoricas que permitenmezclar la incertidumbre y la imprecision cuando se pretende razonar conel modelo [BP98, GPV99], aun hay casos en los que estas propuestas re-sultan insuficientes. El conjunto de operadores de semejanza que hemospropuesto, se han centrado en la imprecision. Falta extenderlos para queconsideren la incertidumbre de los datos de una forma adecuada.

– El efecto de la imperfeccion de datos en la aplicacion de los metodos noha sido abordado en esta memoria, y, aunque hay ya una propuesta en laliteratura [VD98], pensamos que es insuficiente y que esta area necesitade un estudio mas profundo.

• Con respecto a los tipos difusos, el constructor difuso y los mecanismos de he-rencia presentados deben ser solo el comienzo de una lista de herramientas quepermitan al disenador de un tipo sacar partido de sus definiciones. Esperamosen el futuro poder aportar nuevas visiones de la herencia, e incorporar nuevasformas de redefinicion de propiedades.

• La extraccion de tipos tiene abiertos dos retos muy importantes:

Page 261: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

239

– Por un lado, el estudio de algoritmos para la extraccion de jerarquıasde tipos y no solo del tipo de un conjunto de datos. Ya existen en laliteratura algunas propuestas para la extraccion de jerarquıas de herenciaclasicas [NAM97] (los propios grafos de inclusion son una herramientapara ello), y ahora procede a su generalizacion para poder tomar ventajadel nuevo concepto de tipo.

– La extraccion del tipo difuso de un conjunto de datos puede completarsemediante la definicion de objetos prototıpicos para ese conjunto de datos,que denoten el perfil de los valores que presentan el grueso de los objetosen relacion con cada atributo del tipo, y que permitan disponer de valorespor defecto para aquellos objetos nuevos en los que, aun conociendo laaplicabilidad de una propiedad, se desconoce su valor.

• Por ultimo, el desarrollo del prototipo, debe seguir dos direcciones importan-tes:

– Una hasta convertirse en un verdadero Sistema de Bases de Datos Orien-tado a Objetos Difuso.

– Otra hacia la integracion de diferentes sistemas clasicos subyacentes.

Esta lista de problemas abiertos nos hacen pensar que, pese a que la labor ya rea-lizada supone una buena base para la solucion de problemas en este area de la Cien-cia de la Computacion [MPV99, BMPV00, MVP00b, MVBP00, MVP00a, MVP01,MMBPV01, MBPV01b, MBPV01a, BMPA00], este trabajo puede ser la base de va-rios mas, que esperamos acometer en un futuro inmediato.

Granada, Mayo de 2001

Nicolas Marın Ruiz

Page 262: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta
Page 263: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

A todos nos gusta el trabajo,pero cuando ya esta hecho.Noel Claraso (1905-1985)

Escritor espanol

Page 264: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta
Page 265: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

Bibliografıa

[Abr74] Abrial J. R. (1974) Data semantics. En Klimbie J. W. y Koffman K. L. (Eds.)Data Base Management, paginas 1–59. North-Holland.

[ANS75] ANSI/X3/SPARC Study Group (1975) The ANSI/X3/SPARC DBMS Frame-work of the Study Group on Database Management Systems-interim report.ACM FDT Bull 2(7).

[Bal79] Baldwin J. F. (1979) A new approach to approximate reasoning using a fuzzylogic. Fuzzy Sets and Systems 2: 309–325.

[BCMR00a] Baldwin J. F., Cao T. H., Martin T. P. y Rossiter J. M. (2000) ImplementingFril++ for uncertain object-oriented logic programming. En Proceedings ofthe 8th IEEE International Conference on Information Processing and Mana-gement of Uncertainty in Knowledge-Based Systems, paginas 496–503.

[BCMR00b] Baldwin J. F., Cao T. H., Martin T. P. y Rossiter J. M. (2000) Toward soft com-puting object-oriented logic programming. En Proceedings of the 9th IEEEInternational Conference on Fuzzy Systems, paginas 768–773.

[BDFS97] Buneman P., Davidson S. B., Fernandez M. F. y Suciu D. (1997) Addingstructure to unstructured data. En Afrati F.N. y Kolaitis P. (Eds.) DatabaseTheory—ICDT’97, 6th International Conference, paginas 336–350. Springer,Delphi, Greece.

[BDS95] Buneman P., Davidson S. B. y Suciu D. (1995) Programming constructsfor unstructured data. En Workshop on Database Programming Languages,pagina 12.

[BEJ+00] Berler M., Eastman J., Jordan D., Russell C., Schadow O., Stanienda T. yVelez F. (2000) The object data standard: ODMG 3.0. Morgan KaufmannPublishers.

[BGH88] Bosc P., Galibourg M. y Hamon G. (1988) Fuzzy querying with SQL: Exten-sion and implementations aspects. Fuzzy Sets and Systems 28: 333–349.

[BLP94] Bordogna G., Lucarella D. y Pasi G. (1994) A fuzzy object oriented data mo-del. En Proceedings of FUZZ-IEEE, paginas 313–317.

[BM93] Bertino E. y Martino L. (1993) Object-Oriented Database Systems. Conceptsand Architectures. International Computer Science Series. Addison-Wesley.

Page 266: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

244 BIBLIOGRAFIA

[BMPA00] Blanco I. J., Marin N., Pons O. y A.Vila M. (December 2000) Extractingfuzzy types from datasets analyzing null values in attributes. Informe TecnicoDECSAI-00-01-21, Department of Computer Science and Artificial Intelli-gence, Universitiy of Granada.

[BMPV00] Blanco I. J., Marın N., Pons O. y Vila M. A. (2000) An extension of data des-cription language (DDL) for fuzzy data handling. En IV International Confe-rence on Flexible Query Answering Systems FQAS’2000.

[Boo86] Booch G. (1986) Object-oriented development. IEEE Transactions on Soft-ware Engineering SE-12(2): 211–221.

[BP98] Bordogna G. y Pasi G. (1998) Management of linguistic qualification of un-certainty in fuzzy databases. En Proceedings of Information Processing andManagement of Uncertainty in Knowledge Based Systems.

[BP99] Bordogna G. y Pasi G. (1999) Typicality based on soft aggregations in fuzzyobject oriented databases. En Proceedings of EUSFLAT, paginas 489–492.Mallorca, Espana.

[BPL99] Bordogna G., Pasi G. y Lucarella D. (1999) A fuzzy object oriented data mo-del for managing vague and uncertain information. International Journal ofIntelligent Systems .

[BRJ99] Booch G., Rumbaugh J. y Jacobson I. (1999) El Lenguaje Unificado de Mo-delado. Addison-Wesley Iberoamericana.

[Bud94] Budd T. (1994) Introduccion a la programacion orientada a objetos. Addison-Wesley Iberoamericana.

[Cao01] Cao T. H. (2001) Uncertain inheritance and recognition as probabilistic defaultreasoning. International Journal of Intelligent Systems 16: 781–803.

[CDT71] CDTG - CODASYL Database Task Group (1971) Codasyl database task groupreport.

[Che76] Chen P. (1976) The entity-relationship model – toward a unified view of data.ACM Transactions on Database Systems 1(1): 9–36.

[CMN97] Carey M., Mattos N. y Nori A. (1997) Object-relational database systems:Principles, products, and challenges (tutorial). En Proceedings of ACMSIGMOD-Conference, pagina 502.

[Cod70] Codd E. F. (1970) A relational model for large shared databanks. Communi-cations ACM 13: 377–387.

[Cod71] Codd E. F. (1971) A database sublanguage founded on the relational calculus.En SIGFIDET Workshop, paginas 35–68.

[Cod72] Codd E. F. (1972) Further normalization of the relational model. En Rustin R.(Ed.) Data Base Systems, paginas 33–64. Prentice-Hall.

[Cod79] Codd E. F. (1979) Extending the database relational model to capture moremeaning. ACM Transactions on Database Systems 4(4): 397–434.

[Cod82] Codd E. F. (1982) Relational databases: A practical foundation for producti-vity. Communications ACM 25.

Page 267: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

BIBLIOGRAFIA 245

[Cod85] Codd E. F. (1985) How relational is your database management system. Com-puterworld 21.

[Cod86] Codd E. F. (1986) The twelve rules for relational DBMS. Informe TecnicoEFC-6, The Relational Institute.

[Cod90] Codd E. F. (1990) The Relational Model for Database Management. AddisonWesley.

[CV94] Cubero J. C. y Vila M. A. (1994) Wad and strong resemblances in fuzzy func-tional dependencies. En Proceedings of FUZZ-IEEE, paginas 44–47. Orlando.

[CV95] Cubero J. C. y Vila M. A. (1995) A new definition of fuzzy functional de-pendency in fuzzy relational databases. International Journal of IntelligentSystems 9(5): 441–448.

[CVK91] Chen G., Vandenbulcke J. y Kerre E. E. (1991) A step towards the theory offuzzy relational database design. En Proceedings of IFSA, paginas 44–47.

[Dat82] Date C. J. (1982) An Introduction to Data Base Systems. Addison-Wesley(Reading MA).

[DN66] Dahl O.-J. y Nygaard K. (1966) Simula: an ALGOL-based simulation langua-ge. Communications of the ACM, CACM 9(9): 671–678.

[DP80] Dubois D. y Prade H. (1980) Fuzzy Sets and Systems: Theory and Applica-tions. Academic Press.

[DP94] Dubois D. y Prade H. (1994) Quotient operators in fuzzy relational databases.En Proceedings of EUFIT, paginas 357–360. Aachen.

[Eck98] Eckel B. (1998) Thinking in Java. Prentice Hall.

[Fel71] Feller W. (1971) An Introduction to Probability Theory and Its Applications.John Wiley and Sons.

[FW74] Fillmore J. P. y Williamson S. G. (1974) On backtracking: A combinatorialdescription of the algorithm. SIAM J. Comput. 3(1): 42–55.

[GBP93] George R., Buckles B. P. y Petry F. E. (1993) Modelling class hierarchies inthe fuzzy object-oriented data model. Fuzzy Sets and Systems 60: 259–272.

[GKP92] Grey P. M. D., Kulkarni K. G. y Paton N. W. (1992) Object-Oriented Data-bases. A Semantic Data Model Approach. International Series in ComputerScience. Prentice Hall.

[Gol89] Goldberg D. E. (1989) Genetic algorithms in search, optimization, and machi-ne learning. Addison-Wesley.

[GPV99] Gonzalez A., Pons O. y Vila M. A. (1999) Dealing with uncertainty and im-precision by means of fuzzy numbers. International Journal of IntelligentSystems 21: 233–256.

[GR83] Goldberg A. y Robson D. (1983) Smalltalk - 80: The Language and its Imple-mentation. Addison-Wesley.

[Gut77] Guttag J. (1977) Abstract data types and the development of data structures.Communications of ACM 20: 396–404.

Page 268: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

246 BIBLIOGRAFIA

[KY95] Klir G. J. y Yuan B. (1995) Fuzzy Sets and Fuzzy Logic: Theory and Applica-tions. Prentice Hall.

[KYG00] Koyuncu M., Yazici A. y George R. (2000) Flexible querying in an intelligentobject-oriented database environment. En Proceeding of FQAS.

[KZZ89] Kacprzyk J., Zadrozny W. y Ziolkowski A. (1989) Fquery II: a human consis-tent database querying system based on fuzzy logic with linguistic quantifiers.Information Systems 14(6): 443–455.

[LA87] Laarhoven P. J. M. V. y Aarts E. H. L. (1987) Simulated annealing: theory andapplications. Kluwer Academic, Dordrecht/Norwell, MA, USA.

[Lan63] Langefors B. (1963) Some approaches to the theory of information systems.BIT 3: 229–254.

[LG86] Liskov B. y Guttag J. (1986) Abstraction and Specification in Program Deve-lopment. CAMBRIDGE MA, The MIT Press. McGraw-Hill.

[Lie86] Lieberman H. (1986) Using prototypical objects to implement shared behaviorin object-oriented systems. En Proceedings of OOPSLA, paginas 214–223.

[Loc79] Lockman P. (1979) Data abstraction for database systems. ACM Transactionson Database Systems 4.

[LT72] Luca A. D. y Termini S. (1972) A definition of a nonprobabilistic entropy inthe setting of fuzzy sets theory. Information and Control 20: 301–312.

[LTP86] LaLonde W. R., Thomas D. A. y Pugh J. R. (1986) An exemplar based Small-talk. En Proceedings of OOPSLA, paginas 322–330.

[MBPV01a] Marın N., Blanco I. J., Pons O. y Vila M. A. (2001) A methodology to improveobject oriented database systems with fuzzy types. En Bouchon-Meunier B.,Gutierrez-Rios J., Magdalena L. y R.Yager R. (Eds.) Techniques for Construc-ting Intelligent Systems. Springer-Verlag.

[MBPV01b] Marın N., Blanco I. J., Pons O. y Vila M. A. (2001) Softening the object-oriented database-model: Imprecision, uncertainty, and fuzzy types. En Pro-ceedings of IFSA/NAFIPS World Congress (2001).

[Mey87] Meyer B. (1987) Reusability: The case for object-oriented design. IEEE Soft-ware .

[Mey88] Meyer B. (1988) Harnessing multiple inheritance. Journal of Object-OrientedProgramming Languages 1: 48–51.

[MMBPV01] Marın N., Martın-Bautista M. J., Pons O. y Vila M. A. (2001) Managingimprecision, uncertainty and fuzzy types in the fuzzy object-oriented data-base model. Submitted to International Journal of Uncertainty, Fuzziness andKnowledge-Based Systems .

[Mou99] Mouaddib N. (1999) The nuanced relational division. En Proceeding of FUZZ-IEEE, volumen 2, paginas 1419–1424. San Francisco, USA.

[MPV94] Medina J. M., Pons O. y Vila M. A. (1994) Gefred: A generalized model offuzzy relational database. Information Science 72: 87–109.

Page 269: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

BIBLIOGRAFIA 247

[MPV99] Marın N., Pons O. y Vila M. A. (1999) Vaguedad en el modelo de bases dedatos orientado a objetos: tipos difusos. En Actas de CAEPI/TTIA 99, paginas26–34.

[MRL99] McFarland G., Rudmik A. y Lange D. (1999) Object-oriented database ma-nagement systems revisited. Informe Tecnico DACS-SOAR-99-4, Data andAnalysis Center for Software (DACS).

[MVBP00] Marın N., Vila M. A., Blanco I. J. y Pons O. (2000) Fuzzy types as a new layeron an object oriented database system. En Proceedings of IPMU, paginas1099–1106. Madrid, Espana.

[MVP00a] Marın N., Vila M. A. y Pons O. (2000) Fuzzy types: A new concept of typefor managing vague structures. International Journal of Intelligent Systems15: 1061–1085.

[MVP00b] Marın N., Vila M. A. y Pons O. (2000) Fuzzy types: Softening structures. EnProceedings of FUZZ-IEEE, paginas 774–780. San Antonio, Usa.

[MVP01] Marın N., Vila M. A. y Pons O. (2001) A strategy for adding fuzzy typesto an object-oriented database system. Submitted to International Journal ofIntelligent Systems .

[MZMC01] Ma Z. M., Zhang W. J., Ma W. Y. y Chen G. Q. (2001) Conceptual designof fuzzy object-oriented databases using extended entity-relationship model.International Journal of Intelligent Systems 16: 697–711.

[NAM97] Nestorov S., Abiteboul S. y Motwani R. (1997) Inferring structure in semis-tructured data. En Proceedings of Workshop on Management of Semistructu-red Data held in conjunction with SIGMOD. Tucson, Arizona, USA.

[NP96a] Na S. L. y Park S. (1996) A fuzzy association algebra based on fuzzy objectoriented data model. En Proceedings of the 20th International Conference onCompsac, paginas 624–630.

[NP96b] Na S. L. y Park S. (1996) Management of fuzzy objects with fuzzy attributevalues in new fuzy object oriented data model. En Proceedings of the 2nd.International Workshop on FQAS, paginas 19–40.

[Nyh91] Nyhoff L. R. (1991) Data Structures and Program Design in Pascal. Hardco-ver.

[OMG00] OMG - Object Management Group (march 2000) OMG Unified ModelingLanguage Specification. OMG, www.omg.org.

[PGMW95] Papakonstantinou Y., Garcia-Molina H. y Widom J. (1995) Object exchangeacross heterogeneous information sources. En Yu P. S. y Chen A. L. P. (Eds.)11th Conference on Data Engineering, paginas 251–260. IEEE Computer So-ciety, Taipei, Taiwan.

[PM88] Peckham J. y Maryanski F. (1988) Semantic data models. ACM Computingsurveys 20: 153–189.

Page 270: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

248 BIBLIOGRAFIA

[RDP98] Rossazza J.-P., Dubois D. y Prade H. (1998) A hierarchical model of fuzzyclasses. En Fuzzy and Uncertain Object-Oriented Databases. Concepts andModels., volumen 13, paginas 21–61. Advances in Fuzzy Systems- Applica-tions and Theory.

[RM88] Raju K. y Majumdar A. (1988) Fuzzy functional dependencies and loss lessjoin decomposition on fuzzy relational database systems. ACM Trans. Data-base Systems 13(2): 129–166.

[Rus86] Ruspini E. H. (1986) Imprecision and uncertainty in the entity-relationshipmodel. En Prade H. y Negiota C. V. (Eds.) Fuzzy Logic and Knowledge Engi-neering, paginas 18–28. Verlag TUV Reheiland.

[Rus99] Russell J. (1999) Oracle8i application Developers’s guide - object-relationalfeatures. Informe tecnico, Oracle Corporation.

[SB75] Shortliffe E. y Buchanan B. (1975) A model of inexact reasoning in medicine.Mathematical Biosciences 23: 351–379.

[Sch76] Schafer G. (1976) A Mathematical Theory of Evidence. Princeton UniversityPress.

[SM96] Stonebraker M. y Moore D. (1996) Object-Relational DBMSs: The Next GreatWave. Morgan Kaufmann, San Francisco.

[SP97] Sampaio P. R. F. y Paton N. W. (1997) Deductive object-oriented databasesystems: a survey. En Logic Programming and Nonmonotonic Reasoning -4th International Conference, paginas 399–409.

[Spe00] Spell B. (2000) Professional Java Programming. Wrox Press.

[SSU95] Silberschatz A., Stonebraker M. y Ullman J. (May 1995) Database research:Achievements and oportunities into de 21st century. Informe tecnico, NationalScience Foundation - Report of an NSF Workshop on the Future of DatabaseSystems Research.

[Str86] Stroustrup B. (1986) The C++ Programming Language. Addison-Wesley.

[Str88] Stroustrup B. (1988) What is object-oriented programming? IEEE Software .

[TAT95] Trillas E., Alsina C. y Terricabras J. M. (1995) Introduccion a la logica borro-sa. Ariel Matematica.

[TK78] Tsichritzis D. C. y Klug A. (1978) The ANSI/X3/SPARC DBMS FrameworkReport of the Study Group on Database Management Systems. InformationSystems (1): 173–191.

[TL76] Tsichritzis D. C. y Lochovsky F. H. (1976) Hierarchical data-base manage-ment: a survey. ACM Computing Surveys 8: 105–123.

[Uma82] Umano M. (1982) Freedom-o: A fuzzy database system. En Gupta M. M.y E.Sanchez (Eds.) Fuzzy Information and Decision Processes, paginas 339–347. North-Holland, Amsterdam.

[VC91] Vanderberghe R. M. y Caluwe R. D. (1991) An entity-relationship approachto the modeling of vagueness in databases. En Proceedings of ECSQAU -Symbolic and Quantitative Approaches to Uncertainty, paginas 338–343.

Page 271: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

BIBLIOGRAFIA 249

[VCMP94a] Vila M. A., Cubero J. C., Medina J. M. y Pons O. (1994) The generalizedselection: An alternative way for the quotient operations in fuzzy relationaldatabases. En Proceedings of IPMU, paginas 23–30.

[VCMP94b] Vila M. A., Cubero J. C., Medina J. M. y Pons O. (1994) A logic approach tofuzzy relational databases. International Journal of Intelligent Systems 9(5):449–461.

[VCMP95a] Vila M. A., Cubero J. C., Medina J. M. y Pons O. (1995) The generalizedselection: an alternative way for the quotient operations in fuzzy relationaldatabases. En Bouchon-Meunier B., Yager R. y Zadeh L. (Eds.) Fuzzy Logicand Soft Computing. World Scientific Press.

[VCMP95b] Vila M. A., Cubero J. C., Medina J. M. y Pons O. (1995) Logic and fuzzyrelational databases: A new language and a new definition, paginas 114–138.

[VCMP96a] Vila M. A., Cubero J. C., Medina J. M. y Pons O. (1996) A conceptual approa-ch for dealing with imprecision and uncertainty in object-based data models.International Journal of Intelligent Systems 11: 791–806.

[VCMP96b] Vila M. A., Cubero J. C., Medina J. M. y Pons O. (1996) Structural vaguennesin semantic data models. En Proceedings of IPMU 96, paginas 1189–1197.

[VCMP97a] Vila M. A., Cubero J. C., Medina J. M. y Pons O. (1997) Inheritance problemsin fuzzy semantic data models. En Proceedings of EUFIT 97, paginas 1152–1157.

[VCMP97b] Vila M. A., Cubero J. C., Medina J. M. y Pons O. (1997) Using owa operatorsin flexible querying processing. En R.Yager R. y Kacprzyk J. (Eds.) The orde-red weighted averaging operators: theory and applications, paginas 258–274.Kluwer.

[VCMP98] Vila M. A., Cubero J. C., Medina J. M. y Pons O. (1998) Querying in objectoriented fuzzy databases. En Proceedings of EUFIT 98, paginas 749–753.

[VD94] Van Gyseghem N. y De Caluwe R. (1994) Fuzzy object-oriented databases:Some behavioral issues. En Proceedings of EUFIT, paginas 361–364.

[VD98] Van Gyseghem N. y De Caluwe R. (1998) Imprecision and uncertainty in theufo database model. Journal of the American Society for Information Science49: 236–252.

[Weg87] Wegner P. (1987) Concepts and Paradigms of Object-Oriented Programming.ACM OOPS MES.

[Yag] Yager R. R.En Fuzzy Information Engineering: A Guided Tour of Applica-tions, paginas 114–138.

[Yag88] Yager R. R. (1988) On ordered weighted averaging aggregation operator inmulti-criteria decision making. IEEE Transactions on Systems, Man, and Cy-bernetics (18): 183–190.

[Yag91] Yager R. R. (1991) Fuzzy quotient operators for fuzzy relational data bases. EnProceedings of the International Fuzzy Engineering Symp, volumen 3, paginas13–15. Yokohama, Japan.

Page 272: TESIS DOCTORAL Estudio de la Vaguedad en los …Estudio de la Vaguedad en los Sistemas de Bases de Datos Orientados a Objetos: Tipos Difusos y sus Aplicaciones memoria que presenta

250 BIBLIOGRAFIA

[Yag92] Yager R. R. (1992) Fuzzy quotient operators. En Proceedings of IPMU,paginas 317–322.

[Yag93] Yager R. R. (1993) Families of owa operators. Fuzzy Sets and Systems (59):125–148.

[YAG96] Yazici A., Aksoy D. y George R. (1996) The similarity-based fuzzy object-oriented data model. En Proceedings of IPMU, volumen 3, paginas 1177–1182.

[YGA98] Yazici A., George R. y Aksoy D. (1998) Design and implementation issues inthe fuzzy object-oriented data model. Journal of Information Sciences 108:241–260.

[YK97] Yazici A. y Koyuncu M. (1997) Fuzzy object-oriented database modeling cou-pled with fuzzy logic. Fuzzy Sets and Systems 89: 1–26.

[Zad65] Zadeh L. A. (1965) Fuzzy sets. Information and Control 8: 338–353.

[Zad71] Zadeh L. A. (1971) Similarity relations and fuzzy orderings. InformationSciences 3: 177–200.

[Zad73] Zadeh L. A. (1973) A fuzzy-set-theoretic interpretation of linguistic hedges.Journal of Cybernetics 2: 4–74.

[Zad75a] Zadeh L. A. (1975) The concept of linguistic variable and its application toaproximate reasoning I. Information Sciences 8: 199–251.

[Zad75b] Zadeh L. A. (1975) The concept of linguistic variable and its application toaproximate reasoning II. Information Sciences 8: 301–357.

[Zad75c] Zadeh L. A. (1975) The concept of linguistic variable and its application toaproximate reasoning III. Information Sciences 9: 43–80.

[Zad76] Zadeh L. A. (1976) Similarity relations and fuzzy orderings. InformationSciences 3: 177–200.

[Zad78] Zadeh L. A. (1978) Fuzzy sets as a basis for a theory of possibility. Fuzzy Setsand Systems 1: 3–28.

[Zad83] Zadeh L. A. (1983) A computational approach to fuzzy quantifiers in naturallanguages. Computers and Mathematics 9: 149–184.

[ZC86] Zivieli A. y Chen P. P. (1986) Entity-relationship modeling and fuzzy databa-ses. En Proceedings of the Second International Conference on Data Engi-neering - IEEE, paginas 18–28.

[ZCB87] Zwick R., Carlstein E. y Budescu D. V. (1987) Measures of similarity amongfuzzy concepts: A comparative analysis. International Journal of AproximateReasoning 1: 221–242.