Está en la página 1de 38

Bases de Datos Difusas

2/2010
Ing. Enrique Yañez
Introducción
Una de las características del lenguaje natural, que
hace difícil su utilización en sistemas es su
imprecisión. Por ejemplo conceptos como pequeño
o grande, tienen significados diferentes de acuerdo al
contexto en el que se estén utilizando, e incluso dentro
del mismo contexto, pueden significar cosas diferentes
para diferentes individuos.
Introducción
La teoría de los conjuntos difusos desarrollada por
Zadeh, provee una poderosa herramienta para la
representación y manejo de la imprecisión por lo que
actualmente está siendo utilizada en varios campos
para el diseño de sistemas basados en reglas difusas.
Introducción
El grado de pertenencia a un conjunto en la teoría
clásica tiene solo dos valores posibles: 0 y 1.
Introducción
La teoría de conjuntos difusos, extiende la teoría
clásica de conjuntos al permitir que el grado de
pertenencia de un objeto a un conjunto sea
representada como un número real entre 0 y 1
Conjuntos Difusos
La edad de una persona es un atributo que la
caracteriza, entonces el concepto “joven”, puede ser
representado por un conjunto difuso, de la forma:
Joven = {0/15, 1/20, 1/25, 0/30}. Esto, quiere decir, que
las personas de 15 ó 30 años no son jóvenes, pero si lo
son las personas de 20 ó 25 años. En tanto, que una
persona de 26 años lo es con grado 0.8. En este caso el
conjunto difuso es representado por valores
numéricos.
Conjuntos Difusos
El conjunto de las personas que son “altas” es un
conjunto difuso, pues no está claro el límite de altura
que se establece a partir de que medida una persona es
alta o no lo es. Ese límite es difuso y, por lo tanto, el
conjunto que lo delimita también lo será. En este caso,
el conjunto difuso es representado por escalares
simples.
Sistemas basados en reglas difusas
Un sistema basado en reglas difusas es un sistema
basado en reglas donde la lógica difusa es utilizada
como una herramienta para representar diferentes
formas de conocimiento acerca del problema a
resolver, así como para modelar las interacciones y
relaciones que existen entre sus variables.
Sistemas basados en reglas difusas
El modelo relacional no permiten el
procesamiento de consultas del tipo:

“Encontrar a todos los gerentes cuyo sueldo no


sea muy alto”

Dado que ni el cálculo ni el álgebra relacional, que


establecen el resultado de cualquier consulta como
una nueva relación, tienen la capacidad de permitir
consultas de una manera difusa.
Modelos de Implementación
El problema de la implementación de los sistemas
gestores de bases de datos difusas ha sido tratado en
dos vertientes principales:
Modelos de Implementación
Iniciar con un sistema gestor de bases de datos relacionales
(SGBD) con información precisa y desarrollar una sintaxis
que permita formular consultas imprecisas, lo cual da
origen a extensiones SQL, como Fuzzy SQL, con
capacidades de manejar la imprecisión.

Gestor de
consultas
SGBD
imprecisas
Modelos de Implementación
Construir un gestor de bases de datos relacionales difusas
(SGBDRD) prototipo que implemente un modelo concreto de
base de datos relacional difusa en el que la información
imprecisa pueda ser almacenada. Dentro de esta vertiente
existen dos grandes ramas: Los modelos a través de
unificación por relaciones de similitud y los modelos
relacionales basados en distribuciones de probabilidades.

distribuciones de relaciones de
probabilidades similitud
SGBDRD
Representación de la información
Datos Precisos.
Manejados usualmente mediante la representación
provista por la base de datos relacional huésped.
 Datos Imprecisos.
Los modelos usualmente consideran dos tipos de
representación para los datos imprecisos además de
la información desconocida o indeterminada que se
maneja mediante los tipos:
unknown, undefined y null:
Tipo de dato Indefinido (undefined)
Cuando un atributo toma el valor undefined, esto refleja
el hecho de que ningún valor de su dominio es
permitido.
Por ejemplo: el número de teléfono de alguien que no
tiene teléfono.
Tipo de dato desconocido (unknown)
Los datos de este tipo expresan nuestra ignorancia
sobre el valor que el atributo toma, sin embargo expresa
también que puede tomar uno de los valores del
dominio.
Por ejemplo la fecha de nacimiento de alguien, la
desconocemos pero tiene que tener alguna.
Tipo de dato nulo (null)
Cuando un atributo toma el valor nulo, esto significa que
no tenemos información sobre él, ya sea porque no
conocemos su valor o porque es imposible asignarle un
valor del dominio.
Por ejemplo el email de alguien es null si desconocemos
su valor o si lo tiene o no.
Operaciones relacionales difusas
Los diferentes operadores de comparación que se
utilizan para representar relaciones en la base de datos
son los operadores relacionales. Para que estos
funcionen sobre información imprecisa es necesario
extender estos operadores.
Operaciones relacionales difusas
Igual a:
Este operador modela el concepto de igualdad para
datos imprecisos.
Operaciones relacionales difusas
Aproximadamente igual:
Este operador define el grado en el que dos
valores numéricos (no difusos) son
aproximadamente iguales de acuerdo a si la diferencia
de sus valores se encuentra dentro de un límite
preestablecido. Y se calcula mediante la siguiente
expresión:
El modelo GEFRED
El modelo relacional difuso GEFRED (GEneralized
model for Fuzzy RElational Databases) permite
representar los siguientes atributos difusos:
 Atributo difuso de Tipo 1: Estos atributos son
utilizados para representar “valores precisos”.
Atributo difuso de Tipo 2: Estos atributos son
utilizados para representar “valores imprecisos sobre
referenc ial ordenado”.
Atributo difuso de Tipo 3: Estos atributos son
utilizados para representar “valores imprecisos sobre
referencial no ordenado”.
Atributo difuso de Tipo 1
El dominio D, asociado a este tipo de atributo puede
estar definido por:

valores numéricos o por escalares simples, en ambos


casos, el grado de posibilidad es 1, es decir con
µA (u) = 1.
Atributo difuso de Tipo 2
El dominio D, asociado a este tipo de atributo puede estar
definido por:
valores numéricos o por escalares simples, en ambos casos, con
grado de posibilidad 1;
por etiquetas lingüísticas;
por valores parcialmente desconocidos entre dos valores precisos;
por valores parcialmente desconocidos entre un valor preciso, en
esos tres casos, con grado de posibilidad entre 0 y 1, es decir, con
µA (u) ∈ [0,1];
por valores desconocidos con grado de posibilidad 1;
por valores inaplicables con grado de posibilidad 0;
por valores nulos con grado de posibilidad 1.
Atributo difuso de Tipo 3
El dominio D, asociado a este tipo de atributo puede
estar definido por:
valores excluyentes de números o escalares con grado de
posibilidad 1, es decir, con µA (u) = 1;
por relaciones de similitud con grado de posibilidad
entre 0 y 1, es decir, con µA (u) ∈ [0,1];
por valores desconocidos con grado de posibilidad 1;
por valores inaplicables con grado de posibilidad 0
por valores nulos con grado de posibilidad 1.
Manejo de las BDRD
Para el manejo de las bases de datos relacionales
difusas (BDRD) se utiliza el lenguaje Fuzzy SQL
(FSQL) que es un lenguaje que deriva de SQL,
incorporando las siguientes novedades.
Etiquetas Lingüísticas
En las sentencias FSQL las etiquetas van
precedidas del símbolo $, para poder distinguirlas
fácilmente. Esta representada por el conjunto difuso
LABEL
El conjunto difuso LABEL es definido por una
distribución de posibilidad sobre un intervalo real [0,1]
de la forma:
Etiquetas Lingüísticas
Supongamos que sobre el atributo “edad”, además de la etiqueta
lingüística “joven”, se encuentra definidas otras dos etiquetas:
“maduro” y “mayor”. La figura , muestra el dominio de la función de
pertenencia para cada una de esas etiquetas. Así, la edad 26 tiene un
grado de pertenencia 0.8 para la etiqueta lingüística “joven”.
Gráficamente, la función de pertenencia, corresponde a un trapecio
dado por sus 4 valores característicos, por ejemplo: {0/25, 1/30, 1/40,
0/45}, para la etiqueta lingüística “maduro”.
Relación de similitud
Una relación de similitud permite comparar etiquetas
lingüísticas definidas en dominios con referencial no
ordenado. Esta relación indica, que para cada dominio,
es necesario definir una función de similitud que
permita medir la similitud o parecido entre dos valores
del dominio.
Matemáticamente, una función de similitud sr puede
ser vista como el producto cartesiano sobre dos
dominios D, tal que:
Relación de similitud
Supongamos que tenemos el atributo “color de pelo”, donde el
dominio se encuentra definido por tres etiquetas lingüísticas:
“Rubio”, “Moreno”, y “Pelirrojo”. Es este caso el conjunto difuso
definido por esas etiquetas, no se encuentra definido en un
referencial ordenado, lo que hace necesario la
implementación de una función de similitud, que por
comodidad, normalmente se presenta en un formato de
matriz, tal como lo muestra la tabla
Comparadores Difusos
Permiten comparar dos atributos o un atributo con
una constante.
Conectivas Lógicas:
Pueden usarse NOT, AND y OR, para enlazar
condiciones difusas simples.
Umbral de Cumplimiento (threshold)
Tras cada condición simple puede imponerse un
umbral de cumplimiento mínimo (por defecto es 1),
con el siguiente formato: <condición_simple> THOLD
γ La palabra reservada THOLD es opcional y
puede sustituirse por un comparador tradicional (=,
<, <=...) 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] (Distribución de posibilidad Trapezoidal),
$label (Etiquetas),
[n,m] (Intervalo),
#n (valores aproximados).
Distribución de posibilidad Trapezoidal
El conjunto difuso TRAPECIO es definido por una
distribución de posibilidad sobre un intervalo real [0,1]
de la forma:

En que, para todo valor trapecio x de un atributo


difuso Tipo 2, en un dominio ordenado U,
caracterizado por el intervalo [a,b,c,d] con a<b<c<d se
tiene:
Intervalo
El conjunto difuso INTERVALO es definido por una
distribución de posibilidad sobre un intervalo real [0,1]
de la forma:

En que, para todo valor x de un atributo difuso Tipo 2,


en un dominio ordenado U, caracterizado por el
intervalo = [n,m] con n<m, es decir, dos valores
precisos cualquiera, se tiene:
FuzzySQL (FSQL)
“Obtener 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;
FuzzySQL (FSQL)
“Obtener 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


THOLD 0.5 AND Edad FGT $Joven THOLD 0.8;
FuzzySQL (FSQL)
“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;
Ventajas
Almacenar Imprecisión, la información que
tengamos de un atributo particular de un objeto,
aunque esta información no sea el valor exacto.
Operar con esa información de forma coherente
(especialmente en las operaciones de consulta).
Soporte a la toma de decisiones como una
herramienta de consulta
Desventajas
Lenguaje de consulta incómodo, debido al gran
número de parámetros que deben utilizarse
Comparadores abstractos que hacen difícil la decisión
de cuál debemos usar
Falta de estandarización, derivado de la poca
popularidad de este tipo de bases de datos

También podría gustarte