Professional Documents
Culture Documents
Tamara Mata Muela Jos Miguel Murillo Gmez Jos Luis Hernndez Tllez de Cepeda
ndice
A.Bases de Datos Deductivas
1. Introduccin 2. Representacin de la informacin 3. Manejo de las BDDs 3.1 Sintaxis y semntica de Datalog 4. Sistema de inferencia 5. Ejemplo 6. Resumen de caractersticas 6.1 Ventajas 6.2 Inconvenientes . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 5 6 7 8 8 9 10 10 11 11 13 14 15 15 15 16 17 18 2
C. Comparativa D. Bibliografa
Existen diversas clases de BDDs y para cada una de ellas existe una semntica bien definida. Las BDDs son muy usadas en las reas de: inteligencia artificial, sistemas expertos, representacin del conocimiento, tecnologa de agentes, sistemas de informacin, integracin de datos, por nombrar algunas. Existe una importante relacin entre BDDs y programacin lgica. Una BDD es, en esencia, un programa lgico; mapeo de relaciones base hacia hechos, y reglas que son usadas para definir nuevas relaciones en trminos de las relaciones base y el procesamiento de consultas.
2. Representacin de la informacin
Las BDDs se representan mediante: Conjunto de aserciones, o hechos, conocidos como la base de datos extensional (EDB). Los hechos se especifican de manera similar a como se especifican las relaciones, excepto que no es necesario incluir los nombres de los atributos. Recordemos que una tupla en una relacin describe algn hecho del mundo real cuyo significado queda determinado en parte por los nombres de los atributos. En una Base de Datos Deductiva, el significado del valor del atributo en una tupla queda determinado exclusivamente por su posicin dentro de la tupla. Conjunto de reglas (axiomas), referidos como la base de datos intensional (IDB). Las reglas se parecen un poco a las vistas relacionales. Especifican relaciones virtuales que no estn almacenadas realmente, pero que se pueden formar a partir de los hechos aplicando mecanismos de inferencia basados en las especificaciones de las reglas. La principal diferencia entre las reglas y las vistas es que en las primeras puede haber recursin y por tanto pueden producir vistas que no es posible definir en trminos de las vistas relacionales estndar.
La EDB se encuentra generalmente almacenada en una base de datos relacional, y constituye el conocimiento bsico de las BDDs. Las reglas permiten obtener o deducir nuevo conocimiento a partir de la EDB, conocimiento que no se encuentra almacenado directamente en la EDB. De esta manera, las BDDs permiten inferir nuevo conocimiento, el cual puede ser usado para la toma de decisiones importantes del negocio.
BDDs est ntimamente relacionado con el modelo de datos relacional, y sobre todo con el formalismo del clculo relacional. Tambin est relacionado con el campo de la programacin lgica y el lenguaje Prolog. Los trabajos sobre BDDs basados en lgica han utilizado Prolog como punto de partida. Con un subconjunto de Prolog llamado Datalog se definen reglas declarativamente junto con un conjunto de relaciones existentes que se tratan como literales en el lenguaje. Aunque la estructura gramatical se parece a la de Prolog, su semntica operativa (esto es, la forma como debe ejecutarse un programa en Datalog) queda abierta.
sobrino(X,Y) :- hombre(X),(tio(Y,X);tia(Y,X)). sobrina(X,Y) :- mujer(X),(tio(Y,X);tia(Y,X)). primo(X,Y) :- hombre(X),sobrino(X,Z),(padre(Z,Y);madre(Z,Y)). prima(X,Y) :- mujer(X),sobrina(X,Z),(padre(Z,Y);madre(Z,Y)). a_directo(X,Y) :- (hijo(Y,X);hija(Y,X)). a_directo(X,Y) :- (hijo(Z,X);hija(Z,X)),a_directo(Z,Y). a_indirecto(X,Y) :- not(a_directo(X,Y)),(sobrino(Y,X);sobrina(Y,X)). a_indirecto(X,Y):not(a_directo(X,Z)),(sobrino(Z,X);sobrina(Z,X)),(a_indirecto(Z,Y);a_directo(Z,Y)). ascendiente(X,Y) :- a_directo(X,Y);a_indirecto(X,Y). d_directo(X,Y) :- (padre(Y,X);madre(Y,X)). d_directo(X,Y) :- (padre(Z,X);madre(Z,X)),d_directo(Z,Y). d_indirecto(X,Y) :- not(d_directo(X,Y)),(tio(Y,X);tia(Y,X)). d_indirecto(X,Y):not(d_directo(Z,Y)),(d_directo(X,Z);d_indirecto(X,Z)),d_indirecto(Z,Y).
El antecedente puede ser una conjuncin de condiciones que se denomina secuencia de objetivos. Cada objetivo se separa con una coma y puede considerarse similar a una instruccin o llamada a procedimiento de los lenguajes imperativos. Para representar la disyuncin se utiliza punto y coma en lugar de la coma, aunque, estrictamente no corresponde a una disyuncin, sino que internamente se transforma en disyunciones. En Datalog los valores constantes son de tipo numrico o cadenas de caracteres que empiezan exclusivamente con letras minsculas y las variables siempre comienzan con una letra mayscula. Si los argumentos son constantes, el predicado se toma como verdadero, si los argumentos son variables se le considera una consulta o bien parte de una regla o restriccin. Para hacer una consulta, utilizamos una clusula de Horn con uno de los parmetros vacos (poniendo una variable en lugar donde queramos recibir los datos):
?- abuelo(X,isaac). X = teraj X = teraj Yes.
En esta consulta preguntamos por los abuelos de Isaac. Tras utilizar las reglas que hemos especificado, encontramos que los abuelos son Teraj, por parte de su madre Sarai, y Teraj por parte de su padre, Abraham. Por ltimo, devuelve verdadero cuando se llega al final del recorrido del rbol de deduccin. Puede ser, y de hecho es frecuente si no diseamos bien las reglas, que una consulta caiga en un bucle infinito al realizar la deduccin.
4. Sistema de inferencia
En Datalog no existen instrucciones de control. Su ejecucin se basa en dos conceptos: la unificacin y el backtracking.
Gracias a la unificacin, cada objetivo determina un subconjunto de clusulas susceptibles de ser ejecutadas. Cada una de ellas se denomina punto de eleccin. Datalog selecciona el primer punto de eleccin y sigue ejecutando el programa hasta determinar si el objetivo es verdadero o falso. En caso de ser falso entra en juego el backtracking, que consiste en deshacer todo lo ejecutado situando el programa en el mismo estado en el que estaba justo antes de llegar al punto de eleccin. Entonces se toma el siguiente punto de eleccin que estaba pendiente y se repite de nuevo el proceso. Todos los objetivos terminan su ejecucin bien en xito ("verdadero"), bien en fracaso ("falso"). Existen principalmente dos tipos de inferencia computacional basados en la interpretacin de las reglas por la teora de la demostracin: Mecanismo de inferencia ascendente. Tambin llamado encadenamiento hacia delante o resolucin ascendente. La mquina de inferencia parte de los hechos y aplica las reglas para generar hechos nuevos. Conviene usar una estrategia de bsqueda para generar slo los hechos que sean pertinentes a una consulta. Mecanismo de inferencia descendente. Tambin llamado encadenamiento hacia atrs o resolucin descendente. Parte del predicado que es el objetivo de la consulta e intenta encontrar coincidencias con las variables que conduzcan a hechos vlidos de la base de datos. Retrocede desde el objetivo buscado para determinar hechos que lo satisfacen. Si no existieran los hechos que buscamos, el sistema entonces buscar la primera regla cuya cabeza (LHS) tenga el mismo nombre de predicado que la consulta.
5. Ejemplo
Se puede representar el conocimiento expresado en el anterior grafo mediante el siguiente cdigo Datalog:
%Entidad pajaro es_un (pjaro,animal). metodo_movimiento(pjaro,volar). vida(pjaro,diurna) %Entidad albatros es_un (albatros,pajaro). color(albatros,blanco_negro). %Entidad Albert instancia(albert,albatros). %Entidad ross instancia(ross,albatros). %Entidad kiwi es_un (kiwi,pajaro). color(kiwi,marron). mtodo_movimiento(kiwi,caminar). vida(kiwi,nocturna). %Entidad kim instancia(kim,kiwi). %conocimiento implcito instancia(X,B) :- es_un(A,B) , instancia(X,A).
6. Resumen de caractersticas
6.1. Ventajas Las principales ventajas al utilizar una BDD son las siguientes: Tener la capacidad de expresar consultas por medio de reglas lgicas. Permitir consultas recursivas y algoritmos eficientes para su evaluacin. Contar con negaciones estratificadas. Soportar objetos y conjuntos complejos. Contar con mtodos de optimizacin que garanticen la traduccin de especificaciones dentro de planes eficientes de acceso.
Como caracterstica fundamental de una Base de Datos Deductiva es la posibilidad de inferir informacin a partir de los datos almacenados, es imperativo modelar la base de datos como un conjunto de frmulas lgicas, las cuales permiten inferir otras frmulas nuevas.
6.2. Inconvenientes La explotacin de las reglas de deduccin en una BDD plantea algunos problemas: Encontrar criterios que permitan, para una ley dada; decidir su utilizacin como regla de deduccin o como regla de coherencia. Replantear correctamente, en un contexto deductivo, las convenciones habituales en una base de datos (representaciones de informaciones negativas, eficacia de las respuestas a las interrogaciones, cierre del dominio). Desarrollar procedimientos eficaces de deduccin. La posibilidad de caer en bucles infinitos es un problema muy importante.
10
2. Modelos de Implementacin
El problema de la implementacin de los sistemas gestores de bases de datos difusas ha sido tratado en dos vertientes principales: Iniciar con un sistema gestor de bases de datos relacionales (SGBDR) con informacin 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 imprecisin. 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 informacin imprecisa pueda ser almacenada. Dentro de esta vertiente existen dos grandes ramas: Los modelos a travs de unificacin por relaciones de similitud y los modelos relacionales basados en distribuciones de probabilidades.
Particularmente me enfocar a los trabajos desarrollados en la Universidad de Granada, Espaa por un grupo de investigadores que se encuentran trabajando en esta rama actualmente.
3. Representacin de la informacin
Los elementos relacionados con la manipulacin de informacin difusa pueden tener representaciones diferentes. Por ejemplo, una distribucin normalizada de probabilidades puede ser representada por diferentes tipos de funciones (trapezoidal, triangular, intervalar, etc.). Lo ms usual, es que se usen funciones de tipo trapezoidal. Lo mismo puede decirse de la forma en la que se modelan los operadores relacionales difusos as como los dems elementos difusos que aparezcan en el sistema. El criterio empleado para seleccionar la forma de representacin de los mltiples elementos difusos del sistema manejador de base de datos, puede afectar de manera determinante la funcionalidad y desempeo de la base de datos, por lo que debera ser uno de los puntos centrales en los que el experto ajuste la arquitectura del FRDBMS al problema especfico a tratar mediante el mismo. Puede decirse entonces que este criterio de seleccin y ajuste constituye un paso entre la formulacin de una base de datos relacional difusa y la implementacin de un sistema basado en la misma. La informacin que se puede manejar en una base de datos difusa puede dividirse en dos tipos principales: Datos Precisos.
Manejados usualmente mediante la representacin provista por la base de datos relacional husped.
11
Datos Imprecisos.
Los modelos usualmente consideran dos tipos de representacin para los datos imprecisos adems de la informacin desconocida o indeterminada que se maneja mediante los tipos unknown, undefined y null: Datos imprecisos sobre dominios ordenados Este grupo de datos contiene distribuciones de probabilidad definidas en dominios continuos o discretos, pero ordenados.
Datos con analogas sobre dominios discretos Este grupo de datos se construye sobre dominios discretos en los que existen definidas relaciones de proximidad entre sus valores. En este caso se deber almacenar la representacin de los datos adems de la representacin de las relaciones de proximidad definidas para los valores en el dominio.
Tipo de dato Indefinido (undefined) Cuando un atributo toma el valor undefined, esto refleja el hecho de que ningn valor de su dominio es permitido. Por ejemplo: el nmero de telfono de alguien que no tiene telfono.
Tipo de dato desconocido (unknown) Los datos de este tipo expresan nuestra ignorancia sobre el valor que el atributo toma, sin embargo expresa tambin que puede tomar uno de los valores del dominio. Por ejemplo la fecha de nacimiento de alguien, la desconocemos pero tiene que tener alguna.
12
Tipo de dato nulo (null) Cuando un atributo toma el valor nulo, esto significa que no tenemos informacin 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.
3.1. Operaciones relacionales difusas: Los diferentes operadores de comparacin que se utilizan para representar relaciones en la base de datos son los operadores relacionales. Para que estos funcionen sobre informacin imprecisa es necesario extender estos operadores. La representacin adoptada por Medina et al en su modelo de FRDBMS se basa en el trabajo previo de Zadeh [6] y es la siguiente: Igual a:
Aproximadamente igual:
Este operador define el grado en el que dos valores numricos (no difusos) son aproximadamente iguales de acuerdo a si la diferencia de sus valores se encuentra dentro de un lmite preestablecido. Y se calcula mediante la siguiente expresin:
13
Condicin con IS: Tambin admite condiciones del tipo: <atributo_difuso> IS [NOT] {UNKNOWN | UNDEFINED | NULL}
Cuantificadores Difusos: Tiene dos modalidades que se aplican como condicin en la clusula HAVING que sigue a una clusula GROUP BY: o Q elementos de X cumplen A: $Cuantificador FUZZY[r] (condicin_difusa) THOLD
4.1. Ejemplos Dame todas las personas cuya edad es aproximadamente 20 aos: (con grado mnimo 0.6): SELECT * FROM Personas WHERE Edad FEQ #20 THOLD 0.6; Dame todas las personas ms o menos Rubias (con grado mnimo 0.5) cuya edad es posiblemente superior a Joven (con grado mnimo 0.8): SELECT * FROM Personas WHERE Pelo FEQ $Rubio THOLD 0.5 AND Edad FGT $Joven THOLD 0.8;
Equipos que tienen muchos ms de 3 (con grado mnimo 0.5) jugadores Altos (con grado mnimo 0.75): SELECT Equipo, CDEG(*) FROM Personas GROUP BY Equipo HAVING $Muchos_Mas_Que[3] (Altura FEQ $Alto 0.75) 0.5;
5. Resumen de caractersticas
5.1. Ventajas Almacenar Imprecisin, la informacin que tengamos de un atributo particular de un objeto, aunque esta informacin no sea el valor exacto. Suelen usar Etiquetas Lingsticas con alguna definicin asociada (por ejemplo, un conjunto difuso visto como una Distribucin de Posibilidad), o sin ninguna definicin asociada (escalares con una relacin de similitud definida entre ellos).
Operar con esa informacin de forma coherente (especialmente en las operaciones de consulta). 15
Muchos autores estudian la consulta difusa en BD clsicas: (Tahani, 1977; Bosc et al., 1988, 1994, 1995; Wong, 1990; Galindo et. al., 1998a). 5.2. Inconvenientes Lenguaje de consulta incmodo, debido al gran nmero de parmetros que deben utilizarse Comparadores abstractos que hacen difcil la decisin de cul debemos usar Falta de estandarizacin, derivado de la poca popularidad de este tipo de bases de datos
16
C. Comparativa
Los dos tipos de bases de datos tratatados en el trabajo, las deductivas y las difusas, tienen en comn que incorporan conceptos potentes de la lgica para dotar a la base de datos de cierta inteligencia y mayor potencia en cuanto al manejo de esta. Adems permiten ms flexibilidad al usuario al permitir la obtencin de informacin implcita. Sin embargo, ambos diseos aportan enfoques muy distintos de la lgica: Las BBDD deductivas utilizan relaciones y reglas escritas especficamente pensadas para ellas, por lo que la apariencia es totalmente diferente a las bases de datos ordinarias. Gracias a ello, podemos preguntar sobre informacin implcita que ser extrada al aplicar las reglas a los datos o hechos. Las reglas, basadas sobre todo en transitividad y recursividad, pueden llegar a ser notablemente complejas, para lo cual se hace necesario que el usuario tenga una gran capacidad de abstraccin. Bsicamente, su aplicacin se reduce a entornos experimentales, aunque su potencial comercial es grande. Las BBDD difusas permiten recuperar datos con tan solo una vaga descripcin de lo que deseamos obtener. Esto es un importante avance al acercar el lenguaje natural a la organizacin formal de los datos. Puede implementarse, no sin dificultades, en SGBD ordinarios y el lenguaje de acceso a esta es una extensin de SQL. Sin embargo, requiere una gran cantidad de parmetros, lo que hace el manejo muy incmodo, lo cual constituye la principal causa de su impopularidad.
17
D. Bibliografa
L.Mota Herranz y M. Celma Gimnez - Mtodos para la comprobacin de la integridad de en bases de datos deductivas Gonzlez Alvarado, Carlos. Sistema de Bases de Datos. Editorial Tecnolgica de Costa Rica, Primera Edicin, 1996. Elmasri, Ramez. Sistemas de Bases de Datos. Iberoamericana S-A. Segunda Edicin, 1997. Editorial Addison -Wesley
I.C. Silvia Eloisa Carln Salgado y M.Sc. Rosendo Moreno Rodrguez - Valorizacin de las
bases de datos deductivas y de las bases de datos activas
http://gpd.sip.ucm.es/ Rafael Caballero Roldn. Introduccin a las bases de datos deductivas P. Julin Iranzo. Apuntes de Programacin Declarativa, 2002 http://sistemas.itlp.edu.mx/revistadsyc Marco Antonio Castro Liera - Bases de Datos Relacionales Difusas
J. Galindo Gmez - Conjuntos y Sistemas Difusos - Universidad de Mlaga
18