Se encuentra usted aquí

Bases de datos difusas

Enviado por vacho en Vie, 05/11/2012 - 11:58

BASE DE DATOS DIFUSAS

 

 

INTRODUCCION.-

 

Significado de Lógica Difusa (Fuzzy)

 

Antes de comenzar describamos brevemente el origen de la lógica difusa y preguntémonos ¿qué significa fuzzy?; término sobre el cual se sustenta una forma de expresar las leyes, modos y formas del conocimiento científico.

 

Originalmente el término fuzzy procede de fuzz, que sirve para denominar la pelusa que recubre el cuerpo de los polluelos al poco de salir del huevo. Este término en inglés significa “confuso, borroso, no definido o desenfocado”. Este término se traduce por “flou” en francés y se pronuncia “aimai” en japonés. La traducción de esta palabra al castellano es difuso o borroso, aunque fuzzy, en los ámbitos académicos y tecnológicos, está aceptado tal cual, de forma similar a como los es “bit”. Fuzzy significa ambiguo o vago, en el sentido del razonamiento humano, más que en la acepción de probabilidad de algo.

 

Origen Lógica Difusa (Fuzzy)

 

La lógica difusa nació cuando el Profesor Lotfi A.Zadeh publicó un artículo titulado “Fuzzy Sets” (Conjuntos Difusos). Donde presentó unos conjuntos sin límites precisos los cuales, según él, juegan un importante papel en el reconocimiento de formas, interpretación de significados, y especialmente abstracción, la esencia del proceso de razonamiento del ser humano.

 

En la lógica clásica sólo es posible tratar información que sea totalmente cierta o totalmente falsa; no le es posible manipular aquella información imprecisa o incompleta inherente a un problema y como información que es contiene datos que permitirían una mejor resolución del mismo. Con ello se podría decir que la lógica difusa es una extensión de los sistemas clásicos. La lógica difusa es la lógica que soporta modos de razonamiento aproximados en lugar de exactos. Su importancia radica en que muchos modos de razonamiento humano, en especial el razonamiento según el sentido común, son aproximados por naturaleza.

 

 

¿QUE ES LA LOGICA DIFUSA ?

 

La lógica difusa se ha convertido en un tema muy común en control de máquinas como el resultado de hacerlas más “capaces” y “responsables”. Se podría decir que la lógica difusa permite a los ordenadores trabajar no sólo con métodos cuantitativos sino también cualitativos, se trata pues de un intento de aplicar una forma más humana de pensar en la programación de computadoras.

 

Por tanto diremos que “La lógica difusa” es una metodología que proporciona una manera simple y elegante de obtener una conclusión a partir de información de entrada vaga, ambigua, imprecisa, con ruido o incompleta, en general la lógica difusa imita como un persona toma decisiones basada en información con las características mencionadas. Una de las ventajas de la lógica difusa es la posibilidad de implementar sistemas basados en ella tanto en hardware como en software o en combinación de ambos.

 

Esta lógica es una lógica multievaluada, sus características principales, presentadas por Zadeh en la referencia antes mencionada son:

 

  • En la lógica difusa, el razonamiento exacto es considerado como un caso particular del razonamiento aproximado.
  • Cualquier sistema lógico puede ser trasladado a términos de lógica difusa.
  • En lógica difusa, el conocimiento es interpretado como un conjunto de restricciones flexibles, es decir, difusas, sobre un conjunto de variables.
  • La inferencia es considerada como un proceso de propagación de dichas restricciones.

En lógica difusa, todo problema es un problema de grados.

 

BASE DE DATOS DIFUSAS

 

Las bases de datos difusas nacen de unir la teoría de bases de datos, principalmente del modelo relacional con la teoría de conjuntos difusos, para permitir, básicamente dos objetivos:

 

-          El almacenamiento de información difusa (además de información no difusa)

-          El tratamiento y consulta de esta información de forma difusa o flexible.

 

El diseño de las base de datos difusas se realiza en 3 niveles:

 

  • Modelo Conceputal: Fuzzy ER / EER
  • Modelo Lógico: Extensión del modelo relacional
  • Modelo Físico: Fuzzy SQL, SQL Fuzzy

 

 

MODELO CONCEPTUAL

 

El modelo conceptual se emplea para captar requisitos. Tradicionalmente se emplea el modelo     ER /EER. Aquí se propone una extensión de dicho modelo conocido como Fuzzy EER.

 

DÓNDE SE LOCALIZA LA IMPRECISIÓN

 

Tipos de atributos difusos.

Entidades difusas.

Interrelaciones difusas.

Participación difusa.

Completitud difusa.

Agregación difusa.

Especialización definida por un atributo difuso.

 

 

ATRIBUTOS DIFUSOS.

 

Tipo 1 (CRISP)

Son atributos clásicos (crisp) pero sobre los que podremos efectuar consultas difusas.

Permiten la utilización en las consultas de:

• Comparadores difusos

• Constantes Difusas:

 

        UNKNOWN.

        UNDEFINED.

        NULL.

 

        $[a,b,c,d]: Distrib. de posibilidad Trapezoidal.

 

$label: Etiqueta lingüística definida como un trapecio en la FMB.

        [n,m]: Intervalo “Entre a y b” (a=b=n y c=d=m).

 

 

 

 

 

 

 

        #n: Aproximadamente n (b=c=n y n–a=d–n=margen definido en la FMB).

 

 

 

FMB: Almacena las etiquetas (con su definición asociada a cada una), el margen y la distancia Mínima M para considerar dos valores como “muy separados” (usada en los comparadores del tipo “mucho mayor” y “mucho menor”).

 

 

TIPO 2 (POSIBILÍSTICOS):

Atributos similares a los de Tipo 1, pero que además permiten el almacenamiento de datos difusos como distribuciones de posibilidad (sobre referencial o dominio subyacente ordenado).

 

– Permiten almacenar en la BD valores de todos los tipos de constantes definidas anteriormente para las consultas con Tipo 1.

 

– FMB: Almacena los mismos valores que los Atributos Difusos Tipo 1.

– Internamente, un atributo difuso Tipo 2 son 5 atributos, que toman los siguientes valores para cada tipo de constante difusa:

 

Suponemos que el atributo difuso se llama F, el margen para valores aproximados es mg y F_ID es un identificador que referencia una etiqueta concreta de entre todas las definidas para ese atributo:

 

 

 

 

TIPO 3 (ESCALARES).

Son atributos sobre referencial no ordenado.

Su dominio es un conjunto de escalares sobre los que no está definida una relación de orden.

 

Ej.: Color del pelo = {rubio, moreno, pelirrojo, castaño, canoso}.

Sobre los escalares definidos debe definirse una relación de “proximidad” m que indique para cada par de valores en qué medida se parecen. Ej.: m(rubio,pelirrojo)=0.8, m(rubio,moreno)=0...

 

Valores especiales:

SIMPLE: Una etiqueta con su grado de posibilidad que debe ser 1 para estar normalizado (label es el identificador de la etiqueta en la FMB): {1/label}

DISTRIBUCIÓN de POSIBILIDAD: Sobre las etiquetas definidas, con un máximo de n parejas posibilidad / etiqueta.

 

FMB: Almacena las etiquetas, relación de proximidad m y el valor n.

 

 

 

 

Tablas de la FMB

La FMB almacena información sobre los datos difusos en forma relacional.

OBJ#, COL#: Son dos atributos que almacenan sendos números que identifican una columna concreta dentro de una tabla concreta.

• Todas las tablas de la FMB tienen esos dos atributos como llave primaria (o como parte de ella).

• Oracle© identifica cada tabla del sistema con un número OBJ#, que se puede obtener consultando la tabla USER_OBJECTS.

• Dentro de una tabla se identifica cada columna con un número COL# que puede consultarse en USER_TAB_COLUMNS.

 

Tablas de la FMB: Veamos las 6 más importantes.

 

FUZZY_COL_LIST: Descripción de los atributos difusos:

• OBJ#,COL#: Atributo difuso.

• F_TYPE: Tipo de atributo difuso (1, 2 ó 3).

• LEN: Longitud máxima de una distribución de posibilidad en atributos Tipo 3 (máximo 10).

• COM: Comentario (usualmente se pone el nombre del atributo).

 

FUZZY_OBJECT_LIST: Descripción de los objetos difusos definidos para cada atributo (OBJ#,COL#):

• FUZZY_ID: Identificador del objeto difuso (llave externa aFLD y FND).

• FUZZY_NAME: Nombre del objeto (sin espacios).

• FUZZY_TYPE: Tipo del objeto: etiquetas trapezoidales (0), etiquetas de tipo 3 (1), cualificadores (2), cuantificadores relativos y absolutos (3,4).

 

FUZZY_LABEL_DEF: Definición de etiquetas trapezoidales.

• FUZZY_ID: Identificador del objeto difuso.

• ALFA, BETA, GAMMA, DELTA: Los cuatro valores del trapecio.

 

FUZZY_APPROX_MUCH: Valores para el margen (MARGEN) y el valor mínimo o distancia mínima M para considerar dos valores muy separados (MUCH) para atributos difusos Tipo 1 ó 2.

 

FUZZY_NEARNESS_DEF: Medidas de proximidad, semejanza o similitud (DEGREE) entre cada dos etiquetas de un atributo difuso Tipo 3 (FUZZY_ID1, FUZZY_ID2).

 

FUZZY_COMPATIBLE_COL: Indica las parejas de atributos difusos

            Tipo 3 que son compatibles entre sí: Con el mismo dominio.

• Esto no sólo evita tener que redefinir las etiquetas y la relación de similitud sino que además permite comparar dos atributos difusos compatibles, ya que el sistema sabe que tienen el mismo dominio.

 

ESQUEMA DE LAS TABLAS DE LA FMB:

 

Llaves o Claves:

Primarias:Subrayadas.

Externas: Con flechas.

OBJ#: Identifica un objeto concreto de la BD (como una tabla).

COL#: Identifica un atributo concreto dentro del objeto OBJ#.

FUZZY_ID: Identifica distintos objetos definidos para un atributo particular (como una etiqueta).

 
 
 

 

 

 

 

A estos tres tipos distintos de atributos difusos, el valor de cada atributo puede tener asociado un

grado, que puede ser:

 

Grado de pertenencia (G0).

El grado de Pertenencia mide la pertenencia a un conjunto difuso.

 

Grado de cumplimiento (G1)

De una condición o de una propiedad. Puede verse también como grado de pertenencia al conjunto difuso de los elementos que cumplen tal condición o propiedad. Puede almacenarse o simplemente calcularse a partir de una consulta difusa.

 

Grado de incertidumbre (G2).

El grado de Incertidumbre mide en qué medida es cierto el dato.

 

Grado de posibilidad (G3).

El grado de Posibilidad mide lo posible que es el dato.

 

Grado de importancia (G4).

En una relación, distintos objetos pueden tener diferente nivel de importancia y esa diferencia puede ser útil considerar para algunos propósitos

 

 

Ejemplo. Entidad Empleado con 5 atributos:

Precisos: DNI y Altura

 
   



Imprecisos: Edad, Color_pelo y Color_ojos

 

 

Entidad Difusa

Se define tipo de entidad difusa como una entidad a la que se le añade un atributo que expresa un grado.

 

Cada instancia de una entidad tiene un grado para medir la relación de esa instancia con su tipo de entidad.

 

 
   



Ejemplo. El grado de pertenencia de cada instancia (cada trabajador) a la entidad Empleado viene determinado por el nº de horas que trabaja:

 

 
   

 

                     Atributo preciso     Atributo que indica el grado de pertenencia

 

Interrelación Difusa

Una interrelación se considera difusa si tiene un atributo difuso que relacione las entidades asociadas a

 
   

 

 

 

 

Restricciones para Interrelación Difusa

Participación: Especifica si la existencia de una entidad depende de que esté relacionada con la otra entidad. Puede ser total o parcial.

 

 

 
   



Casi todos los empleados trabajan                                                           todos los proyectos son realizados

en algun proyecto                                                                                    por los empleados con participación

 

 

Tipo de Correspondencia: Restringe el número de elementos de la interrelación en los que puede participar una entidad.

Los más comunes son:

 

uno a uno” (1:1)

uno a muchos” (1:N)

muchos a muchos” (N:M).

 

 

Ejemplo. Se desea representar que cada empleado trabajará en aproximadamente tres proyectos y cada proyecto tendrá unos ocho empleados.

 

 
   

 

 

 

 

Restricciones para una especialización o generalización

 

De completitud total: Toda entidad de la superclase debe pertenecer a alguna subclase de la especialización.

 

De completitud parcial: Existen instancias de la superclase que no pertenecen a ninguna subclase.

 

 

Ejemplo. Empleado es una superclase con varias subclases definidas por el atributo Tipo_trabajo.

 

 

 
   

 

 


El cuantificador “casi_todo” indica

que: “Casi todos los empleados deben tener uno o varios trabajos”

 

Agregación Difusa

“Una agregación permite representar tipos de entidades compuestas que se obtienen por la unión de otras más simples”

 

Existen dos tipos de agregaciones

           

            De tipos de entidades

            De atributos

 

 

Agregación de tipos de entidades

Ejemplo: Un coche se compone de chasis, motor e interior. Consideremos que el atributo motor tiene una importancia de 0.8 y el interior de 0.5:

 

 
   

 

 

 

Agregación de atributos

Ejemplo: Por otro lado, el atributo Identificador tiene una importancia de 1, seguido por el año (0.8), el dueño (0.7) y el color(0.6)

 

 

 

 
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MODELO LÓGICO

 

Para poder construir un Modelo de BDRD, se deben:

  • Satisfacer las mismas condiciones que en un Modelo Relacional.
  • Tener mecanismos para proporcionar almacenamiento y tratamiento de la información de tipo difusa.
  • ¿Por qué incorporar imprecisión en los atributos de las BD?

• Las bases de datos tradicionales son muy limitadas: No permiten ni almacenar ni tratar con datos imprecisos.

• Las personas manejamos datos imprecisos muy a menudo y muy eficientemente.

• Ejemplo:

 

Jugador

 

Equipo

Altura

 

Calidad

J1

J2

J3

J4

Bolivar

Blooming

Wilsterman

Oriente

Bajo

Alto

#2.00mts

Normal

Muy Bueno

Bueno

Regular

Malo

 

  • Sería ideal tener mecanismos en los SGBD ya existentes, para:

Almacenar imprecisión en bases de datos.

Poder consultar la base de datos a través de consultas flexibles.

 

Se pueden manejar tipos de información que no son proporcionados al sistema de forma precisa, por medio de Conjuntos Difusos.

 

CARACTERÍSTICAS DE UN MODELO DE BDRD

 

Los aspectos más importantes de la información que tratamos, son: incertidumbre e imprecisión.

 

Un SBDRD, debe satisfacer las siguientes condiciones:

  • Proporcionar mecanismos adecuados para poder representar la información difusa.
  • Representar un marco adecuado para almacenar el significado de la información difusa que albergue.
  • Facilitar un número mínimo de operadores.
  • Satisfacer los requisitos de un modelo relacional.

 

PRINCIPALES MODELOS DE BASES DE DATOS DIFUSAS

 

Ninguno de estos satisface completamente las características anteriores.

Los diferentes niveles “difusos” que se pueden cubrir mediante un SBDRD son:

  • Obtención de información difusa a partir de datos almacenados de forma precisa.
  • Representación y recuperación de información difusa.
  • Representación y recuperación de información difusa, y el tratamiento de la misma.

Existen tres enfoques diferentes:

  1. Modelo Relacional Difuso Básico.
  2. Modelo de Unificación Mediante Relaciones de Similitud.
  3. Modelos Relacionales sobre Distribuciones de Posibilidad.

 

 

1. MODELO RELACIONAL DIFUSO BÁSICO

 

Este Modelo consiste en añadir un “grado” en el intervalo [0,1].

El significado de este grado puede variar, pero es fundamental y determinante en los procesos de consulta sobre este tipo de tablas.

Formas de añadir ese grado difuso:

Grado en cada tupla de la relación: El grado difuso pertenece a toda la tupla de la relación, por lo que lo que se “difumina” es la relación propiamente dicha.

– No permite información imprecisa sobre un atributo en particular.

Grado en cada valor de cierto atributo: Mide el grado de “difuminado” de ese valor concreto del atributo en la tupla a la que pertenezca.

– Tampoco permiten información imprecisa distinta de un único grado difuso. Por ejemplo, almacenar que cierta persona es “Joven”.

Grado en un conjunto de valores: El grado afecta a varios atributos midiendo, por ejemplo, la incertidumbre que hay en ellos.

 

Inconvenientes:

  • No tiene suficiente capacidad para representar adecuadamente gran parte de los tipos difusos.
  • El manejo de este tipo de información se realiza de forma compleja: la tupla asume su carácter difuso de forma global, sin poder determinar cuál es la aportación difusa de cada atributo.
  • Resulta incapaz de satisfacer los requisitos del modelo relacional relativos a la unicidad, a la accesibilidad de cada tupla y a la implementación de algún operador relacional.

 

2. Modelo de Unificación Mediante Relaciones de Similitud

 

Modelo Realizado por Buckles y Petry. Los tipos de dominios soportados por el modelo son:

 

Conjunto finito de escalares. Ej.:

DE = {azul, marrón, negro, verde}

Conjunto finito de números. Ej.:

DN = {20, 21, 22}

Conjunto de números difusos. Ej.::

DD = {muy claro, claro, oscuro, muy oscuro}

 

2.1 Relación de Similitud

 

  • Existe una relación, sobre cada uno de los dominios para poder representar y manejar la imprecisión.
  • Establece en qué medida se parecen entre sí los diferentes valores del dominio sobre el que está definida.
  • Los valores de similitud están comprendidos entre 0 y 1.

0: Totalmente diferentes,

1: Extremadamente parecidos o iguales.

 

Es una función S: D x D -> [0,1].

 

         Cumple las propiedades Reflexiva, Simétrica y Transitiva.

         La propiedad transitiva hace que se puedan construir “Clases de Equivalencia” para un determinado umbral g, de forma que los elementos de una misma clase sean indistinguibles para el grado g.

         Otros autores (Shenoi, Melton, 1990) usan “Relaciones de Proximidad”, las cuales no tienen que cumplir la propiedad transitiva.

         También puede resultar útil evitar la propiedad Simétrica.

         El usuario pregunta por las tuplas que satisfacen una determinada condición para algunas entradas de similitud dadas.

         Las tuplas de la relación se agrupan en clases de equivalencia, según las relaciones y umbrales de similitud definidos.

         Sobre las clases de equivalencia, operarían los operadores clásicos del álgebra relacional.

 

Ejemplo de Relación de Similitud

  • Se tiene un atributo definido sobre el dominio color de pelo:

D color_de_pelo = {rubio, castaño, pelirrojo, moreno}

 

  • Se define sobre estos valores la siguiente Relación de Similitud:

 

RUBIO                      PELIRROJO            CASTAÑO    MORENO

RUBIO                      1                      0,6                    0,4                 0         

PELIRROJO            0,6                   1                       0,5                 0,1      

CASTAÑO                0,4                   0,5                   1                    0,8

MORENO                 0                      0,1                   0,8                 1

 

  • Además la tabla dada, es la siguiente:

 

                        NOMBRE     EDAD                        ALTURA                  COLOR DE PELO

Javi                 16                    {Muy alto, alto}         Castaño

María              17                    Bajo                            Moreno

Pedro              15                    Muy Bajo                   Rubio

Ana                 {15,16}           Media                         Pelirrojo

 

  • Y se tiene la consulta: “Dame las personas y su altura con un color de pelo similar a castaño en grado 0,6”.

 

Respuesta:

Las entradas de similitud son:

  • Entrada (Dcolor_pelo) = 0,6 .

 

Esta tabla contiene las clases de equivalencia creadas:

 

Nombre          Edad              Altura                        Color de pelo

{Javi , María} {16, 17}          {Muy alto, alto, bajo}            {Castaño, Moreno}

Pedro              15                    Muy Bajo                   Rubio

Ana                 {15,16}           Media                         Pelirrojo

 

Cuando se aplican los operadores relacionales, queda como resultado la siguiente tabla:

Nombre                     Altura

{Javi , María}             {Muy alto, alto, bajo}

Inconvenientes:

No modela bien todos los aspectos difusos de la información.

La definición de tupla viola la atomicidad en la representación de la información.

Se pueden extraer varias interpretaciones del resultado de una consulta.

No se puede garantizar la integridad de la base de datos.

Aplicar operadores relacionales a las clases de equivalencia, puede dar lugar a relaciones confusas.

 

Ventajas:

El empleo de Relaciones de Similitud proporciona una herramienta adecuada e intuitiva para representar la imprecisión de conceptos.

El uso de diferentes umbrales para cada uno de los atributos implicados en una consulta.

 

 

Modelos Relacionales sobre Distribuciones de Posibilidad

 

Estos representan la “ambigüedad” de los datos mediante el uso de distribuciones de posibilidad.

Existen diferentes modelos basados en este enfoque:

    • Modelo de       Umano y Fukami
    • Modelo de       Prade Testemale
    • Modelo de       Zemankova-Kaendel

 

Las diferencias entre estos modelos son:

  • La representación de las distribuciones de posibilidad y manejo de información desconocida, indefinida y nula.
  • El planteamiento de las consultas.
  • La elección de los operadores de selección con los que evaluar las condiciones impuestas en una consulta.

 

Modelo de Umano y Futaki

 

Es un modelo de los llamados “posibilísticos” porque usan “distribuciones de posibilidad” para modelar la información conocida sobre el valor de un atributo.

Sobre el dominio X de un atributo, la distribución de posibilidad A indica que la posibilidad de que el atributo tome el valor xÎX es A(x).

  • Ejemplos:
  • Cuatro etiquetaslingüísticas asociadas a otras cuatro distribuciones de posibilidad para el atributo “Altura”.
  • Un valor x posible no indica que sea cierto (aunque su posibilidad sea 1).
  • Pueden compararse distribuciones (medidas de necesidad/posibilidad...).

 

 

 

 

 

 

Valores especiales de distribuciones de posibilidad:

            • Unknown: Desconocido, pero aplicable: A(x) = 1, Para tod x que pertenece aX.

Un dato de este tipo refleja el desconocimiento con respecto al valor que toma un atributo sabemos, sin embargo, que el atributo puede tomar algun valor del dominio de discurso. Esto implica que es posible que tome cualquiera de ellos, por tanto representaremos el tipo UNKNOWN mediante la distribución de posibilidad {1/u, u U} donde U es el dominio subyacente. La Figura 2.6 muestra gráficamente esta distribución de posibilidad, la cual toma el valor 1 para todo el dominio subyacente.

 

           

           

            • Undefined: Valor no aplicable o sin sentido: A(x) = 0, Para todo x que pertenece a X.

            Cuando un atributo toma el valor UNDEFINED refleja el hecho de que ninguno de los valores

  1. de dominio sobre el que está definido es aplicable. Esto se puede entender como que ninguno de
  2. los valores de dominio es posible, por lo que lo representaremos mediante la distribución de
  3. posibilidad, {0/u, u U} donde U es el dominio subyacente. La distribución de posibilidad se
  4. muestra en la Figura 2.7, la cual toma el valor 0 para todo el dominio subyacente.

           

 

            • Null: Ignorancia total, no se sabe si es o no aplicable.

            Distribución de posibilidad: Null = {1/Unknown, 1/Undefined}.

 

 

  1. oEl modelo Umano y Futaki Fueron los primeros en proponer el modelo de bases de datos relacional de distribuciones de posibilidad.
  2. oEl modelo de Umano-Fukami permite además asociar a cadauna Distribución de Posibilidad en el intervalo [0,1].

 

• Esta distribución mide el Grado de Pertenencia difusa de cada tupla a la relación: La tabla es como un conjunto difuso de tuplas.

 

• La distribución de posibilidad en el intervalo [0,1], consigue mayor expresividad. Por ejemplo, se puede expresar que cierta tupla pertenece a la        relación con grado “aproximadamente 0.6”.

           

• Por supuesto, permite también almacenar un Grado Simple en el intervalo [0,1]. Por ejemplo, el valor 0.8 corresponde a la distribución de posibilidad {1/0.8}.

 

           

  1. oUmano y Fukami definen también las operaciones básicas del Álgebra Relacional (Unión, Diferencia, Producto Cartesiano, Proyección ySelección), así como otras operaciones (Intersección, Reunión y División).
  2. oLa diferencia con otros modelos es en cómo concibe la información “no aplicable”. Para ello emplea Undefined (indefinido).  
  3. oPara representar la información que no se sabe si es o no “aplicable, se emplea el valor NULL.

 

 

Se divide en tres subconjuntos el resultado de la   consulta:

  1. 1.Tuplas que claramente satisfacen la
  2. 2.Tuplas que posiblemente satisfacen la
  3. 3.Tuplas que claramente no satisfacen la consulta

Ventajas:

  1. oLos valores que almacenan las relaciones pueden ser distribuciones de posibilidad.
  2. oAsignar atupla un grado de pertenencia a la relación.

Ejemplo:

   Se tiene la relacion.

 

 

  • Se tiene la consulta: “Dame las personas que tienen más de 25 años”.

 

            Como resultado se tendrían los tres subconjuntos siguientes:

 

      • Claramente satisfacen = {1/María, 1/Juan, 1/Ana}
      • Posiblemente satisfacen = {1/David, 1/Alberto}
      • Claramente no satisfacen = {1/José}

 

 

Modelo de Prade-Testemale: Modelo posibilístico que añade un elemento “e” al dominio de todos los atributos, que representa el caso en el que el atributo no sea aplicable.

 

  • Permite incorporar lo que denominan datos “incompletos” o “inciertos” en el ámbito de la Teoría de la posibilidad.
  • La estructura de datos empleada es similar a la utilizada en el modelo de Umano et a1.
  • Emplea medidas de posibilidad y necesidad para la satisfacción de las condiciones establecidas en la consulta.

 

Comparación de representación entre el modelo Prade-Testemale y el modelo Umano-

 

 

 

Fukami:        

Ejemplo:

 

  • Se tiene la relacion Estudiantes (Nombre , Edad, Matematicas, Fisica):

 

 

 

Ejemplo:

  • [14,16] representa intervalos de valores, pero “bueno”, “joven”,   etc, representan distribuciones de         posibilidad.
    • Bueno={0,3/13, 1/14, 1/15, 1/16, 0,5/16}

 

  • Se tiene la consulta: “encontrar los nombres de las personas cuya nota en Matemáticas es mucho mayor que buena”.
    • Se debería partir de la definición de la distribución de posibilidad “buena”, y la definición del comparador difuso , “mucho mayor que”.

 

MODELO DE ZEMANDOVA-KAENDEL

 

Modelo de Zemankova-Kandel: Es otro modelo posibilístico.

 

Se compone de tres partes:

  • Una base de datos de valores, donde se organizan los datos de forma similar al resto de modelos.
  • Una base de datos explicativa, donde se almacenan las definiciones para los sobconjuntos difusos y relaciones difusas.
  • Un conjunto de reglas de traduccion que se emplean para el manejo de adjetivos,etc

 

– No usa las medidas de Posibilidad y Necesidad para hacer las comparaciones entre dos distribuciones de posibilidad, sino que usa las siguientes dos medidas para comparar el atributo A con el conjunto difusos F:

 

  • Medida de Posibilidad

                                  

 

  • Medida de certeza

                                  

            – Las medidas de Posibilidad/Necesidad son más coherentes:

                        • La medida de certeza no tiene una interpretación clara.

• No están relacionadas entre sí, como sí lo están las medidas de Posibilidad/Necesidad: N(X) = 1 – P(¬X).

            – En una consulta aparecerán esos dos valores, para cada tupla (2 columnas extra).

            – Definen unos comparadores difusos poco intuitivos:

                        “aproximadamente igual”, “mayor que” y “menor que”.

 

La manipulacion de datos esta basada en el algebra relacional.

El resultado de una consulta se presenta en forma de relaciones difusas. Esta contienen dos campos: recogen los valores de posibilidad y certeza que presenta cada tupla para la consulta dada.

 

MODELO GEFRED

 

  • GEFRED (GEneralized model for Fuzzy RElational Database).
  • Propuesto por Medina et al, en 1994.
  • Constituye una sintesis de los modelos anteriores para tratar el problema de representacion y tratamiento de la informacion difusa mediante base de datos relacionales.
  • Estructuras de Datos.
    • Dominio Difuso Generalizado (D): Si U es el universo de Discurso, P(U) es el conjunto de todas las distribuciones de posibilidad definidas sobre U, incluidas las que definen los tipos UNKNOWN, UNDEFINED Y NULL. Entonces       D P(U) U NULL.
    • Relación difusa Generaliza (R), viene dada por un par de conjuntos:”cabecera”(H) y “cuerpo” (B), R=(H,B), definidos como sigue:
      • “Cabecera” conjunto fijo de ternas atributo-dominio-compatibilidad(“atributo”:”dominio difuso generalizado”,[“atributo de compatibilidad”]).

 

Modelo de GEFRED de Medina-Pons-Vila: Es una síntesis ecléctica de los otros modelos.

 

        Dominio Difuso Generalizado: Es un modelo posibilístico, por lo que en los dominios admite distribuciones de posibilidad, pero también incluye el caso en el que el dominio subyacente no sea numérico sino escalares de cualquier tipo.

                        • Ejemplos:

– Distribución de posibilidad sobre un atributo difuso con dominio subyacente no ordenado como “Color del Pelo”: {1/Castaño, 0.7/Pelirrojo, 0.4/Rubio}.

                                   – Números difusos de cualquier tipo: Trapecios, triángulos, gaussianos...

• Incluye los valores Unknown, Undefined y Null con el mismo sentido que en el modelo de Umano-Fukami.

 

Relación Difusa Generalizada: Es una relación cuyos atributos tienen un Dominio     Difuso Generalizado.

            • Además, a cada atributo Aj es posible asociarle un “atributo de compatibilidad” Cj donde almacenar un grado:

– Se obtiene como consecuencia de los procesos de manipulación de los datos de esa relación.

 

                        – Expresa el grado con el que ese valor ha satisfecho la operación realizada sobre él.

 

            • Se compone de:

                        – Cabeza H: Nombre de cada uno de los n atributos, sus dominios y

                                   sus atributos de compatibilidad (opcional)

                        – Cuerpo B: Incluye los valores de m tuplas: i = 1, 2,..., m.

 

 

 

 

COMPARADORES

 

Comparador Difuso Generalizado: GEFRED define un tipo de comparador general basado en cualquier comparador clásico existente (=, >, <...), pero no concreta la definición de cada uno.

– El único requisito que establece es que el Comparador Difuso debe respetar los resultados de los comparadores clásicos cuando se    comparan distribuciones de posibilidad que expresan valores crisp (como 1/x con x pertenece X).

        Igualdad Difusa o Aproximadamente Igual: La igualdad es el comparador difuso más importante y más empleado.

                        • Suelen usarse las siguientes medidas:

 

                        – de Posibilidad:

 

                                  

                                   » Posibilidad de que Ay B sean iguales

 

                        – de Posibilidad:

 

 

                                  

 

                                   » Necesidad de que B sea igual a A (no a la inversa).

 

• GEFRED

No propone otros comparadores difusos.

Pueden encontrarse la definición de otros comparadores (Mayor difuso, Mayor   o Igual difuso, Mucho mayor difuso) en su versión de posibilidad y necesidad,    así como la comparación de distribuciones de posibilidad sobre dominios subyacentes no ordenado en (Galindo et al, 1998b; Galindo et al. 2000b).

 

 

Clave Primaria GEFRED es conservador, exigiendo atributos crisp o difusos con algún criterio de redundancia (como ser exactamente iguales).

 

ÁLGEBRA RELAC. DIFUSA

 

GEFRED

Se centra en cómo calcular los grados de compatibilidad de la relación difusa resultante y no en cómo calcular los valores de las tuplas de dicha relación.

  • Redefine los operadores del algebra relacional en el llamdo Algebra Relacional Difuso Generalizado:
  1. oUnion, Interseccion, Producto Cartesiano, Diferencia, Proyeccion, Selección, Reunion y División.

           

 

Unión Difusa: R U S

        Requiere que las dos relaciones difusas, R y S, sean compatibles respecto de la unión (con el mismo número y tipo de atributos)

        .Resultado de la unión de ellas: Es otra relación difusa con la misma cabecera y con las tuplas de ambas relaciones quitando redundancias.

        Cuando halla redundancia se toma como atributo de compatibilidad el valor máximo de ambos atributos de compatibilidad (si existen ambos y si no se toma el que exista o ninguno, si no existe ninguno).

 

Intersección Difusa: R S

        Resultado: Es otra relación difusa con la misma cabecera y conteniendo las tuplas que existen a la vez en ambas relaciones.

        Similar a la unión pero en este caso si existen los dos atributos de compatibilidad de las dos relaciones, el atributo de compatibilidad de la relación resultante será el valor mínimo de ambos atributos de compatibilidad.

        Propiedades de la Unión/Intersección: Conmutativa y Asociativa.

 

Diferencia Difusa: R - S   

        Resultado: Es otra relación difusa con la misma cabecera y con las tuplas que     existen en la primera relación y no existen en la segunda.

        El Grado de Compatibilidad para cada tupla del resultado se calcula como: mín{Cr, 1 - Cs}, donde Cr y Cs son los grados de compatibilidad de R y S respectivamente.

            Si no existe CR se supone que su valor es 1 y si no existe CS se supone 0.

        Esta operación resulta especialmente interesante para muchos tipos de consultas: GEFRED no define cómo calcular el resultado, sino sólo cómo calcular los grados del resultado.

 

Producto Cartesiano Difuso: R x S

        Resultado: Es otra relación difusa teniendo como cabecera la unión de las cabeceras de R y S, y con cuerpo el producto cartesiano de los cuerpos de R y S.

 

Proyección Difusa: Πx (R)

        Resultado: Es otra relación difusa con cabecera los atributos de X, y con cuerpo los valores de esos atributos en las tuplas de R, eliminando posibles tuplas redundantes según el criterio que se adopte.

 

Selección Difusa: σc (R)

        Resultado: Es otra relación difusa con la misma cabecera y con las tuplas que     cumplen la condición C, con un umbral mínimo γ establecido en la misma condición.

        El grado de compatibilidad para cada atributo del resultado es el grado con el que cada atributo satisface la condición C.

        Aunque el modelo no lo indica, puede añadirse un grado adicional para toda la   tupla que indique el grado con el que la condición ha sido satisfecha por toda la tupla y no por cada atributo individualmente.

        Tampoco se aclara qué hacer cuando los atributos de la condición C tienen atributos de compatibilidad de operaciones anteriores.

           

Reunión Difusa: R S = σc (R x S)

        Resultado: Es una selección con la condición C sobre el producto cartesiano R x S.

 

División Difusa: R ÷ S

        Es una operación especialmente interesante, útil y compleja, que GEFRED no incluye en su definición original. Por eso, la estudiaremos aparte comparando diversos modelos de división relacional difusa.

 

 

LOS LENGUAJES LÓGICOS FSQL y SQLF

En esta sección trataremos los lenguajes lógicos FSQL (FUZZY SQL) y SQLF

 

LENGUAJE DE CONSULTA DIFUSA SQLF

 

Publicado por Patrick Bosc y Oliver Pivert (1995):

Representa una síntesis de otros trabajos anteriores sobre consultas difusas a bases de datos clásicas.

En SQLf sólo se considera el comando SELECT de SQL y su formato es por ejemplo:

 

SELECT [ N | T | N,T ] <lista_se_selección>

FROM <lista_de_tablas>

WHERE <condición_difusa>

 

• La relación resultante se obtiene de aplicar la <condición_difusa> al producto cartesiano de todas las tablas de la <lista_de_tablas>.

 

• Puede indicarse que se desean recuperar:

        Sólo las N tuplas que cumplan la condición con mayor grado (las N mejores tuplas).

        Aquellas en las que su grado de cumplimiento es mayor que el umbral T(threshold).

        Pueden especificarse N y T a la vez.

 

• La <condición difusa> sólo permite la comparación de:

        Columnas crisp con etiquetas lingüísticas

        Valores crisp usando el comparador “aproximadamente igual”.

        Permite el uso de cuantificadores difusos de manera similar a como lo hace FSQL.

 

FSQL (Fuzzy SQL)

 

También llamado SQL Difuso o Fuzzy SQL. Surge de modificar el lenguaje SQL para adaptarlo a las necesidades de una BDRD, de forma que permita expresar información difusa.

 

El lenguaje FSQL es una autentica extensión de SQL. Esto significa que todas las sentencias validas en SQL lo son también en FSQL. Además, FSQL incorpora algunas novedades para permitir el tratamiento de información imprecisa.

 

De FSQL se extienden:

 

  • DML (Lenguaje de Manipulación de Datos): Las sentencias de este lenguaje permiten la consulta y la modificación de los datos almacenados en la base de datos. Un ejemplo de comandos del DML SQL son: SELECT, INSERT, DELETE y UPDATE.

 

  • DDL (Lenguaje de Definición de Datos): Las sentencias de este lenguaje permiten la creación y modificación de las estructuras en las que se almacenarán los datos. Los comandos del DDL SQL son por ejemplo: CREATE, DROP, ALTER y sentencias para controles de seguridad, índices y control del almacenamiento físico de los datos.

 

Para expresar formalmente la sintaxis de una sentencia se ha elegido como gramática utilizar el formato de Yacc.

 

Cada sentencia FSQL que se desea ejecutar debe ser previamente analizada por el sistema para asegurar, por un lado que la sentencia está correctamente escrita y por otro, que tiene sentido efectuarla; para ello se usa 3 analizadores.

 

  1. 1.Analizador Léxico: Asegura que todos los elementos e la sentencia están permitidos agrupando los caracteres en palabras (tokens).
  1. 2.Analizador Sintáctico: Asegura que los tokens están en un orden adecuado y que la construcción de la sentencia es correcta sintácticamente.
  1. 3.Analizador Semántico: Asegura que el significado de la sentencia es correcto y que por tanto, tiene sentido efectuarla.

SELECT, INSERT, DELETE y UPDATE en el DML de FSQL:

 

Novedades en el SELECT Difuso

La sentencia SELECT es una sentencia tan potente como compleja y flexible muy fácil de usar en consultas simples y no tan fácil de usar en consultas complejas debido a su potencia y versatilidad. Esta sentencia es tan potente que rara vez se llega a utilizar todo su poder expresivo para realizar una consulta, pues lo normal es efectuar consultas mucho más simples de lo que SELECT permite.

 

Básicamente las extensiones efectuadas a esta sentencia son las siguientes.

 

  • Etiquetas Lingüísticas: Si un atributo es susceptible de tratamiento difuso entonces pueden definirse etiquetas sobre él. Estas etiquetas son precedidas, por convenio con el símbolo $ para distinguirlas fácilmente de otros identificadores.

 

  • Comparadores Difusos: Además de los comparadores clásicos típicos (=,>,<,..), FSQL incluye los comparadores difusos de la tabla 1. Como en SQL, los comparadores difusos pueden comparar una columna de una tabla con una constante o dos columnas del mismo tipo o de tipos compatibles.

 

 

                                               Tabla 1: Comparadores Difusos de FSQL

 

  • Conectivos Lógicos: Pueden usarse NOT, AND y OR, para enlazar condiciones difusas simples.

 

  • Umbral de cumplimiento (threshold, ד ): Para cada condición simple se puede establecer un umbral de cumplimiento (por defecto será 1) con el siguiente formato:

 

                         <condición_simple> THOLD ד

La palabra reservada THOLD es opcional y puede sustituirse por un comparador crisp (=, <, <=...) modificando el sentido de la consulta. Por defecto es equivalente al comparador >=.

 

  • Constantes Difusas: Pueden usarse en el SELECT todas las constantes difusas ya definidas: UNKNOWN, UNDEFINED y NULL, $[a,b,c,d] (Distrib. de posibilidad Trapezoidal), $label (Etiquetas), [n,m] (Intervalo) y#n (valores aproximados).

 

Ejemplos:

“Dame todas las personas cuya edad es aproximadamente 20 años” (con grado mínimo 0.6):

 

SELECT * FROM Personas

WHERE Edad FEQ #20 THOLD 0.6;

 

“Dame todas las personas más o menos Rubias (con grado mínimo 0.5)

cuya edad es posiblemente superior a Joven (con grado mínimo 0.8):

 

SELECT * FROM Personas

WHERE Pelo FEQ $Rubio THOLD0.5

AND Edad FGT $Joven THOLD 0.8;

 

 

 

  • Función CDEG(<atributo>): Usada en la lista de selección, la función CDEG calcula, para cada tupla, el grado de cumplimiento del atributo del argumento en la condición de la cláusula WHERE.

 

  • Función CDEG(*): Calcula el grado de cumplimiento de cada tupla en la condición de forma global, para todos sus atributos y no sólo para uno de ellos en particular

 

La función CDEG usa, por defecto, los operadores típicos para la negación (1–x), conjunción (t-norma del mínimo) y disyunción (s-norma del máximo), pero pueden usarse otros (si se definen).

 

  • Carácter Comodín %: Similar al carácter comodín * de SQL, pero este incluye además la funciónCDEG aplicada a todos los atributos de la condición. No incluye CDEG(*).

 

  • Condición con IS: También admite condiciones del tipo:

 

<atributo_difuso> IS [NOT] {UNKNOWN | UNDEFINED | NULL}

 

  • Comentarios: FSQL permite incluir 3 tipos de comentarios en sus sentencias:

 

Hasta fin de línea: Con un doble guión --

Hasta fin de sentencia: Con un /* (sin cerrar).

Bloque comentario: Empieza con un /* y termina con */

 

 

  • Cuantificadores Difusos: Tiene dos modalidades que se aplican como condición en la cláusula HAVING que sigue a una cláusula GROUP BY:

 

1. “Q elementos de X cumplen A”:

$Cuantificador FUZZY[r] (condición_difusa) THOLD ד

2. “Q elementos de X que cumplenB también cumplen A”:

$Cuantificador FUZZY[r]

(condición_difusa1) ARE (condición_difusa2) THOLD ד

 

$Cuantificador: Es un cuantificador difuso absoluto o relativo que puede ser con o sin argumento, definido sobre alguno de los atributos que aparecen en la cláusula GROUP BY.

 

THOLD ד : Umbral de cumplimiento mínimo (THOLD es opcional).

FUZZY: Es opcional y si aparece indica que la evaluación del cuantificador se efectuará sumando no los elementos que cumplen la condición, sino el grado de cumplimiento de los mismos.

        Si aparece el argumento r se indica que se tendrán en cuenta el resultado de ambas sumatorias, con y sin la palabra FUZZY, con los valores r–1 y r, respectivamente.

 

Ejemplo: “Equipos que tienen muchos más de 3 (con grado mínimo 0.5) jugadores Altos” (con grado mínimo 0.75):

SELECT Equipo, CDEG(*) FROM Personas

GROUP BY Equipo

HAVING $Muchos_Mas_Que[3] (Altura FEQ $Alto 0.75) 0.5;

 

 

Otros Comandos del DML de FSQL

Aparte del comando SELECT, otros comandos fundamentales del DML son INSERT, DELETE y

 

UPDATE.

Su sintaxis es muy similar a la del SQL, modificando:

Expresiones: En FSQL admiten constantes y atributos difusos.

Subconsultas: En FSQL pueden ser subsonsultas difusas.

Condiciones: En FSQL las condiciones siempre pueden ser condiciones difusas.

 

INSERT:

Pueden insertarse expresiones difusas o subconsultas difusas.

 

DELETE:

Puede establecerse una condición difusa en la cláusula WHERE para borrar aquellas tuplas que la cumplan. Puede ser peligroso: Usar Rollback.

 

UPDATE:

Los nuevos valores pueden ser expresiones difusas o subconsultas difusas.

Puede establecerse una condición difusa en la cláusula WHERE para actualizar sólo aquellas tuplas que la cumplan.

 

DDL DEL LENGUAJE FSQL

 

• Básicamente, los Comandos del DDL sirven para:

 

Crear (CREATE),

Modificar (ALTER) y

Borrar (DROP)

 

Las estructuras u objetos donde se guardan los datos (a parte de sentencias para control de seguridad, índices y control del almacenamiento físico de los datos).

 

• En FSQL estas sentencias se han modificado para incluir las características de los datos difusos. Así, afectan a 4 objetos:

TABLE: Se amplía el comando de SQL para expresar las necesidades de una BDRD.

VIEW: Básicamente, con FSQL una vista puede ser también una subconsulta difusa

LABEL: Objeto exclusivo de FSQL que referencia etiquetas para atributos difusos Tipo 1 y 2 que están asociadas a trapecios.

NEARNESS: Objeto exclusivo de FSQL que obliga tanto a la definición de las etiquetas de un atributo difuso Tipo 3 como de la relación de similitud o proximidad existente entre ellas.

 

A continuación veremos sólo el comando CREATE, por ser el que más ovedades incluye y el más importante.

 

CREATE TABLE:

 

  • Tipos de datos Difusos:

 

   FTYPE1 oCRISP (m,M) <tipo_base>: Para atributos difusos Tipo 1.

Entre paréntesis se indican los valores para los atributos MARGEN (m) y MUCH (M) de la tabla FUZZY_APPROX_MUCH.

<tipo_base> es el dominio crisp de este atributo. Por defecto es NUMBER.

 

     FTYPE2 oPOSSIBILISTIC (m,M) <tipo_base>: Para atributos difusos Tipo 2, similar a los

   de Tipo 1.

  

   FTYPE3 oSCALAR (L) : Para atributos difusos Tipo 1.

 

Entre paréntesis se indica el máximo número de elementos de sus distribuciones de posibilidad (atributo LEN de FUZZY_COL_LIST).

 

Puede añadirse la palabra DOMAIN seguida de un atributo ya existente: Esto hace que el atributo que se esté definiendo sea compatible con el que ya existe, tomando ambos el mismo dominio (etiquetas y relación ).

 

  • Subconsultas, constantes, condiciones y expresiones: Donde el comando CREATE TABLE de SQL permite utilizarlos,FSQL permite utilizarlos en su versión difusa. Por ejemplo, la cláusula DEFAULT permite poner una constante difusa como valor por defecto.
  • Restricciones de Columna: Además de las clásicas, se pueden añadir otras como NOT UNDEFINED, NOT UNKNOWN, NOT LABEL, NOT TRAPEZOID, NOT INTERVAL, NOT APPROX, CHECK (condición_difusa)...

 

Ejemplo de comando CREATE TABLE:

 

Supongamos que queremos crear una BDRD para una agencia inmobiliaria con atributos difusos para los PISOS (Galindo et al., 1999a):

 

CREATE TABLE PISOS (

PISO# NUMBER(9) NOT NULL PRIMARY KEY,

DUENNO# NUMBER(9) NOT NULL,

DIRECCION VARCHAR2(60),

SUPERFICIE FTYPE1 (15,25) NUMBER(4)

CONSTRAINT NULL_INVALIDO_SUPERFICIENOT NULL,

PRECIO FTYPE2 (500,3000) NUMBER(6)

DEFAULT UNKNOWN

CONSTRAINT NULL_INVALIDO_PRECIO NOT NULL

CONSTRAINT UNDEFINED_INVALIDO_PRECIONOT UNDEFINED,

ZONA FTYPE3 (3) DEFAULT UNKNOWN

CONSTRAINT NULL_INVALIDO_ZONA NOT NULL

CONSTRAINT UNDEFINED_INVALIDO_ZONA NOT UNDEFINED);

 

Ej. Tupla:

(2, 34, “C/ Gandhi”, 90, #10, {1/Centro, 0.8/Norte, 0.2/Este})

CREATE LABEL: Creación y definición de etiquetas asociadas a un atributo difuso determinado. Dos formatos:

 

1. Crear nuevas etiquetas para atributos difusos Tipo 1 ó 2:

 

CREATE LABEL <nombre_label> ON [esquema.]tabla.atributo

VALUES alfa, beta, gamma, delta;

 

2. Copiar las etiquetas definidas en un atributo dentro del dominio de otro atributo, para atributos difusos de todo tipo:

 

CREATE LABEL * ON [esquema.]tabla.atributo1

FROM [esquema.]tabla.atributo2

 

Si los atributos difusos son de Tipo 3, las etiquetas no se copian, sino que simplemente se establecen ambos atributos como compatibles pudiendo usar las mismas etiquetas con su relación de similitud y pudiendo así compararse entre esos dos atributos.

 

Ejemplo: Crear una etiqueta para el atributo Superficie definido anteriormente:

 

CREATE LABEL PEQUENNO ONPISOS.SUPERFICIE

VALUES 30, 45, 65, 80;

29

DDL del LENGUAJE FSQL: CREATE

 

CREATE NEARNESS: Creación de etiquetas asociadas a atributos difusos Tipo 3 y definición de su relación de proximidad (m):

 

CREATE NEARNESS ON [esquema.]tabla.atributo

LABEL <lista_de_n_etiquetas>

VALUES m(E1,E2), m(E1,E3), . . . , m(E1,En),

m(E2,E3), . . . , m(E2,En),

. . .

m(En-1,En);

 

Para n etiquetas es necesario dar (n2/2 –n/2) valores de m, donde / es la división entera (truncando).

 

 

 

Ejemplo: Crear las etiquetas para el atributo Zona (Barrio) anterior:

 

CREATE NEARNESS ON PISOS.ZONA

LABEL Centro, Norte, Sur, Este, Oeste

VALUES 0.8, 0.8, 0.8, 0.8,

0, 0.5, 0.5,

0.5, 0.5,

0;

 

 

APLICACIÓN DE LA BASE DE DATOS DIFUSA

 

SOFTWARE PARA DIAGNOSTTICO MEDICO (APLICACIÓN N 1)

 

La lógica difusa ha demostrado ser una herramienta que permite hacer uso de la experiencia de especialistas en el desarrollo de sistemas de cómputo que emulen la habilidad de estos en la toma de decisiones, como se puede apreciar en el desarrollo de software de diagnóstico médico, el cual también puede convertirse en una herramienta para el aprendizaje y evaluación a los estudiantes de medicina.

 

La figura 1 muestra la interfase con el usuario del software EDIMED, el cual se encuentra aún en etapa de desarrollo. Se puede apreciar una de sus aplicaciones, el diagnóstico de enfermedades pulmonares, en la que se consideraron catorce síntomas que son comunes en cinco enfermedades diferentes, dependiendo el diagnóstico del grado de incidencia con que cada síntoma se presente.

 

Para cada síntoma (variable lingüística) se establecieron tres valores lingüísticos bajo, medio y alto) y de acuerdo a la información de un experto (médico especialista) se generaron las tablas que conforman la base de datos que serán consultadas para obtener, mediante el empleo del álgebra difusa, varios diagnósticos con grados de pertenencia entre 0 y 1, siendo el diagnóstico con grado de pertenencia más cercano a 1 el más acertado. En la arquitectura de base de datos relacionales empleada, los síntomas constituyen los atributos o elementos asociados a cada registro, o diagnóstico, que agrupados conforman el archivo de determinado tipo de enfermedades.

 

 

Figura 1. Software Para Diagnóstico de Enfermedades, EDIMED

 

El usuario (estudiante) selecciona el tipo de enfermedad en que desea presentar una evaluación. Inmediatamente se abre una ventana en la cual se le ofrece dos alternativas. En la primera de ellas el software presenta una serie de síntomas con la incidencia con que se presentan cada uno de ellos; en la otra alternativa el estudiante puede introducir los síntomas y sus incidencias mediante una consulta a un paciente, el cual puede ser el mismo docente.

 

La figura 3 muestra la variable lingüística “Disnea de Pequeños Esfuerzos, DPE”. El universo determinado para este síntoma va de 0 a 100 (medida en porcentaje). A cada síntoma se le ha asignado, previamente, un valor porcentual que indica su grado de incidencia en un diagnóstico determinado, de acuerdo a información suministradas por expertos consultados.

 

 

 

La tabla 1 muestra un ejemplo del modelo relacional de base de datos empleada, en la cual se presenta, para cada diagnóstico, cuál debe ser el porcentaje de incidencia de los síntomas involucrados. En esta tabla solo aparecen cinco posibles diagnósticos con los síntomas presentes en cada uno de ellos.

Por ejemplo, se puede apreciar que si una persona padece de Cáncer de Pulmón, uno de los síntomas visibles con alta incidencia es la Disnea de Pequeños esfuerzos (DPE), mientras que otro síntoma, como Estertores Crepitantes (EC), tienen una baja incidencia.

 

Suponga que el estudiante, en la consulta que está realizando, introduce en el software EDIMED el valor lingüístico medio para el síntoma, o atributo, DPE. Al evaluar el grado de pertenencia que la incidencia de este síntoma tiene en el diagnóstico denominado Edema de Pulmón (69), se observa (ver figura 2) que alcanza un grado de pertenencia de 0.525, mientras que la incidencia de ese mismo síntoma en el diagnóstico denominado EPOC (80) tiene un grado de pertenencia relativamente bajo, ya que apenas alcanza el valor de 0.25.

 

Lo anterior quiere decir que si el síntoma DPE se presenta en determinado paciente con una intensidad catalogada como media, existe una mayor posibilidad de que padezca de Edema Pulmonar que cualquiera de los otros diagnósticos que aparecen en la tabla. Sin embargo, el resultado definitivo dependerá de la incidencia de los otros síntomas y de las operaciones del álgebra difusa que se realicen en la consulta de la base de datos.

TABLA1. MODELO RELACIONAL DE BASE DE DATOS DIAGNOSTICO-SINTOMAS

 

Síntomas

Síntomas

 

 

 

Diagnóstico

Esc

Fiebre

TEH

DT

DPE

TP

TC

LAS

ANX

PP

EC

SN

PF

SIB

Cancer de Pulmón

1%

45%

60%

70%

95%

50%

20%

15%

35%

25%

5%

3%

6%

55%

Edema de Pulmón

1%

3%

60%

10%

69%

50%

30%

2%

4%

1%

20%

2%

55%

6%

EPOC

5%

10%

80%

70%

80%

60%

30%

50%

15%

10%

30%

5%

3%

90%

Neumonía

80%

50%

45%

70%

10%

60%

55%

20%

5%

2%

75%

0%

7%

15%

Tuberculosis

10%

90%

95%

15%

75%

25%

30%

70%

65%

80%

10%

55%

60%

85%

Si fuese posible representar diferentes síntomas con los mismos conjuntos difusos el resultado se reflejaría en una disminución de la complejidad computacional del software, tanto en líneas de programación como en requerimientos de memoria.

 

Por la semejanza con el proceso cognitivo del ser humano, los sistemas

 

expertos basados en reglas (del tipo SI...ENTONCES...) son unos de los tipos más populares actualmente. Es posible realizar el software EDIMED mediante una base de reglas en vez de una base de datos, dedicando especial esfuerzo en el desarrollo de un mecanismo de inferencia ágil y acertado. Como es sabido, la forma en que se intente representar el conocimiento repercute tanto en el tiempo necesario para el desarrollo del programa como en la eficiencia del mismo.

 

Conclusiones

 

  1. 1.La lógica difusa representa una importante alternativa en el desarrollo de sistemas expertos que constituyan una verdadera herramienta como apoyo a los especialistas, en cualquier rama de la ciencia, y a los estudiantes en el proceso de enseñanza aprendizaje.

 

  1. 2.Se deben considerar otras alternativas de la Inteligencia Artificial, como las Redes Neuronales y los Algoritmos Genéticos, en la búsqueda de paradigmas que permitan el diseño e implementación de herramientas computacionales.

 

  1. 3.Es de vital importancia la búsqueda de técnicas que permitan el desarrollo de estas herramientas computacionales con amplias bases de conocimientos pero una complejidad computacional reducida, que los haga cada vez más eficientes.

 

BIBLIOGRAFIA