base de datos deductivas

8

Click here to load reader

Upload: gust-alva

Post on 11-Jun-2015

7.216 views

Category:

Documents


0 download

DESCRIPTION

Un sistema de base de datos deductivas, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a traves de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos.

TRANSCRIPT

Page 1: Base de Datos Deductivas

Base de Datos Deductivas

Tejada Castillo Luis, Vejarano Sandoval Yuri, Alvarez Alvarez Gustavo

6 de Junio 2008

Resumen

Un sistema de base de datos deductivas, es un sistema de base dedatos pero con la diferencia de que permite hacer deducciones a travesde inferencias. Se basa principalmente en reglas y hechos que son alma-cenados en la base de datos. Tambien las bases de datos deductivas sonllamadas base de datos logica, a raız de que se basan en logica matematica.

1. Introduccion

Las BDDs nacen de la necesidad de almacenar y utilizar conocimiento”de unamanera eficiente. Las BDDs consisten de un set de aserciones, o hechos, cono-cidos como la base de datos extensional (EDB), y un set de reglas (axiomas),referidos como la base de datos intencional (IDB). La EDB se encuentra general-mente almacenada en una base de datos relacional, y constituye el conocimientobasico de las BDDs. Las reglas permiten obtener o deducir nuevo conocimientoa partir de la EDB, conocimiento que no se encuentra almacenado directamenteen la EDB. De esta manera, las BDDs permiten inferir nuevo conocimiento, elcual puede ser usado para la toma de decisiones importantes del negocio. Exis-ten diversas clases de BDDs y para cada una de ellas existe una semantica biendefinida.

Las BDDs son muy usadas en las areas de: inteligencia artificial, sistemasexpertos, representacion del conocimiento, tecnologıa de agentes, sistemas deinformacion, integracion de datos, por nombrar algunas. Existe una importanterelacion entre BDDs y programacion logica. En este curso analizaremos el im-pacto que ha tenido la programacion logica sobre las bases de datos. En par-ticular, la programacion logica a contribuido al entendimiento de la semanticade una base de datos, a extendido el concepto de bases de datos relacionales ytambien a contribuido con la introduccion de nuevas herramientas deductivaspara los usuarios de las bases de datos.

El interes de los Sistemas de Gestion de Bases de Datos Deductivas tiendea incrementarse conforme se amplıa su campo de aplicacion (Gestion, SistemasExpertos). Los estudios relativos a tales sistemas han comenzado a realizarsehace algunos anos, inspirandose inicialmente en las tecnicas desarrolladas enInteligencia Artificial en el marco de los sistemas ”Pregunta - Respuesta”,adaptandolas a las limitaciones especıficas de las Bases de Datos.

1

Page 2: Base de Datos Deductivas

Un SGBD deductivo es un Sistema que permite derivar nuevas informacionesa partir de las introducidas explıcitamente en la Base por el usuario. Este mane-ja la perspectiva segun la teorıa de las demostraciones de una base de datos, yen particular es capaz de deducir hechos a partir de la base de datos extension-al, es decir, las relaciones base, aplicando a esos hechos axiomas deductivos oreglas de inferencias especificados. Esta funcion deductiva se realiza mediantela adecuada explotacion de ciertos conocimientos generales relativos a las infor-maciones de la Base.

2. Definicion

Un sistema de bases de datos que tenga la capacidad de definir reglas con lascuales deducir o inferir informacion adicional a partir de los hechos almacenadosen las bases de datos se llama Sistema de Bases de Datos Deductivas. Puestoque parte de los fundamentos teoricos de algunos sistemas de esta especie es lalogica matematica, a menudo se les denomina Bases de Datos Logicas. Una basede datos deductiva es, en esencia, un programa logico; mapeo de relaciones basehacia hechos, y reglas que son usadas para definir nuevas relaciones en terminosde las relaciones base y el procesamiento de consultas.

Los sistemas Bases de Datos Deductivas intentan modificar el hecho de quelos datos requeridos residan en la memoria principal (por lo que la gestion dealmacenamiento secundario no viene al caso) de modo que un SGBD se amplıepara manejar datos que residen en almacenamiento secundario.

En un sistema de Bases de Datos Deductivas por lo regular se usa un lengua-je declarativo para especificar reglas. Con lenguaje declarativo se quiere decirun lenguaje que define lo que un programa desea lograr, en vez de especificarlos detalles de como lograrlo. Una maquina de inferencia (o mecanismo de de-duccion) dentro del sistema puede deducir hechos nuevos a partir de la base dedatos interpretando dichas reglas. El modelo empleado en las Bases de DatosDeductivas esta ıntimamente relacionado con el modelo de datos relacional, ysobre todo con el formalismo del calculo relacional. Tambien esta relacionadocon el campo de la programacion logica y el lenguaje Prolog. Los trabajos sobreBases de Datos Deductivas basados en logica han utilizado Prolog como puntode partida. Con un subconjunto de Prolog llamado Datalog se definen reglasdeclarativamente junto con un conjunto de relaciones existentes que se tratancomo literales en el lenguaje. Aunque la estructura gramatical se parece a lade Prolog, su semantica operativa (esto es, la forma como debe ejecutarse unprograma en Datalog) queda abierta.

Una Base de Datos Deductiva utiliza dos tipos de especificaciones: hechosy reglas. Los hechos se especifican de manera similar a como se especificanlas relaciones, excepto que no es necesario incluir los nombres de los atribu-tos. Recordemos que una tupla en una relacion describe algun hecho del mundoreal cuyo significado queda determinado en parte por los nombres de los atrib-utos. En una Base de Datos Deductiva, el significado del valor del atributo enuna tupla queda determinado exclusivamente por su posicion dentro de la tupla.

2

Page 3: Base de Datos Deductivas

Las reglas se parecen un poco a las vistas relacionales. Especifican rela-ciones virtuales que no estan almacenadas realmente, pero que se pueden for-mar a partir de los hechos aplicando mecanismos de inferencia basados en lasespecificaciones de las reglas. La principal diferencia entre las reglas y las vistases que en las primeras puede haber recursion y por tanto pueden producir vistasque no es posible definir en terminos de las vistas relacionales estandar.

Las BDD buscan derivar nuevos conocimientos a partir de datos existentesproporcionando interrelaciones del mundo real en forma de reglas. Utilizanmecanismos internos para la evaluacion y la optimizacion.

Figura 1: BDD

3. Caracteristicas

Una Base de Datos Deductiva debe contar al menos con las siguientes car-acterısticas:

Tener la capacidad de expresar consultas por medio de reglas logicas.

Permitir consultas recursivas y algoritmos eficientes para su evaluacion.

Contar con negaciones estratificadas.

Soportar objetos y conjuntos complejos.

3

Page 4: Base de Datos Deductivas

Contar con metodos de optimizacion que garanticen la traduccion de es-pecificaciones dentro de planes eficientes de acceso.

Su lenguaje de definicion de datos (DDL) es DataLog y no SQL (basadoen el algebra relacional).

En lugar de relaciones entre entidades, en las bases de datos deductivasaparecen los predicados; y en lugar de las tulpas aparecen los hechos.

Modelado semantico y uniformidad en la representacion.

Como caracterıstica fundamental de una Base de Datos Deductiva es laposibilidad de inferir informacion a partir de los datos almacenados, esimperativo modelar la base de datos como un conjunto de formulas logicas,las cuales permiten inferir otras formulas nuevas.

4. Reglas de Deduccion

Las relaciones de una Base de Datos Relacional se define por ”intencion 2por.extension”. Para una Base particular, la intencion de las relaciones que la con-stituyen se define por un conjunto de leyes generales, mientras que cada estadode la Base proporciona una extension (conjunto de tuplas) para cada una de lasrelaciones. Las tuplas constituyen, de hecho, informaciones elementales.

En un SGBD convencional, todas las leyes generales se explotan para man-tener la coherencia de las informaciones elementales; a estas leyes se las de-nomina entonces restricciones de integridad. Por el contrario, en un Sistemadeductivo, algunos (o todas) de estas leyes se utilizan como reglas de deduccionpara deducir nuevas informaciones elementales a partir de las introducidas ex-plıcitamente en la Base.

Por ejemplo: se considera una Base de Datos en la que se detallan los lazosde parentesco entre individuos, interesandose particularmente por las relacionesPADRE y ABUELO. Entre las leyes generales que conciernen a estas dos rela-ciones, se considera la ley 1 que expresa ”Todo padre de un padre es un abuelo”,y se supone que, en un momento dado, el estado de la Base es tal que las in-formaciones elementales relativas a las relaciones PADRE y ABUELO son lassiguientes:

PADRE P H ABUELO A NJuan Pablo Roberto PedroPablo Jaime

Si la ley 1 se considera como una regla de coherencia, este estado de laBase debe considerarse no valido, ya que la vulnera. En efecto, la extension deABUELO no contiene la tupla (Juan, Jaime), siendo ası que Juan es el padre dePablo y Pablo es el padre de Jaime. En este caso se ha hecho (implıcitamente)la hipotesis de que la tupla que satisface (en un momento dado) la relacionABUELO son exactamente las que aparecen en su extension. Si se prescindede este supuesto se puede, por el contrario, suponer que las tuplas que satis-facen la relacion ABUELO no son solo las que aparecen de modo explıcito en

4

Page 5: Base de Datos Deductivas

su extension, sino tambien las que pueden deducirse, mediante la ley 1, de lasinformaciones relativas a PADRE; usando ası 1 como regla de deduccion.

5. Problemas asociados a las reglas de deduc-cion

La explotacion de las reglas de deduccion en un SGBD plantea algunosproblemas:

Encontrar criterios que permitan, para una ley dada; decidir su utilizacioncomo regla de deduccion o como regla de coherencia.

Replantear correctamente, en un contexto deductivo, las convenciones ha-bituales en una base de datos (representaciones de informaciones negati-vas, eficacia de las respuestas a las interrogaciones, cierre del dominio).

Desarrollar procedimientos eficaces de deduccion

6. Utilizacion de las reglas de deduccion

La explotacion de las reglas de deduccion pueden analizarse de dos formas.La primera, consiste en su uso en fase de interrogacion, buscando ası informa-ciones deducibles implıcitas.

Una segunda forma consiste en su uso en fase de modificacion, cuando seanaden informaciones deducibles. Segun se utilicen en el primer o el segundomodo, las reglas se denominan de derivacion o de generacion.

7. interpretacion de reglas

Existen dos alternativas principales para interpretar el significado teoricode las reglas: por la teorıa de demostracion y por la teorıa de modelos. En lossistemas practicos, es mecanismo de inferencia que tiene el sistema, define la in-terpretacion exacta, que pudiera no coincidir con ninguna de las dos interpreta-ciones teoricas. El mecanismo de inferencia es un procedimiento computacionaly por tanto provee una interpretacion computacional del significado de las reglas.

Una interpretacion es la llamada interpretacion de reglas por la teorıa dedemostraciones. En ella se consideraran los hechos y las reglas como enunciadosverdades o axiomas. Los axiomas base no contienen variables. Los hechos sonaxiomas base que se dan por ciertos. Las reglas se llaman axiomas deductivos,ya que pueden servir para deducir hechos nuevos. Con los axiomas deductivosse pueden construir demostraciones que deriven hechos nuevos a partir de losya existentes. Los axiomas deductivos, junto con las restricciones de integridadconstituyen lo que en ocasiones se denomina base de datos intencional, y labase de datos extensional junto con la intencional constituyen lo que suele lla-marse Base de Datos Deductivas; aunque en realidad, quien se encarga de las

5

Page 6: Base de Datos Deductivas

deducciones es el DBMS, no la base de datos. La interpretacion por la teorıade demostraciones ofrece un enfoque por procedimientos o computacional paracalcular una respuesta a la consulta Datalog. Al proceso de demostrar si un de-terminado hecho (teorema) se cumple se le conoce tambien como demostracionde teoremas.

El segundo tipo de demostracion se llama interpretacion por la teorıa demodelos. Aquı, dado un dominio finito o infinito de valores constantes, se leasigna a un predicado todas las combinaciones posibles de valores como argu-mentos. Despues se debe determinar si el predicado es verdadero o falso. Engeneral, basta con especificar las combinaciones de argumentos que hacen queel predicado sea verdadero, y decir que todas las demas combinaciones hacenque sean falso. Si esto se hace con todos los predicados, se habla de una inter-pretacion del conjunto de predicados.

A una interpretacion se le llama modelo para un conjunto especıfico de re-glas si esas reglas siempre se cumplen en esa interpretacion; es decir, para cua-lesquiera valores que se asignen a las variables de las reglas, la cabeza de reglases verdadera cuando sustituimos los valores de verdad asignados a los predica-dos en el cuerpo de las reglas segun esa interpretacion. De este modo, siempreque se aplica una sustitucion (enlace) a las variables de las reglas, si todos lospredicados del cuerpo de un arreglo son verdaderos en esa interpretacion, elpredicado de la cabeza de la regla tambien debe ser verdadero. Cabe senalarque una regla se viola si un determinado enlace de constantes en a las variableshace verdaderos todos los predicados del cuerpo de la regla, pero hace que elpredicado de la cabeza de la regla sea falso.

8. Seguridad de los programas en Datalog en lasBDD

Se dice que un programa o una regla es seguro se genera un conjunto finitode hechos. El problema teorico de determinar si un conjunto de reglas es o noseguro es indecidible. Sin embargo, es posible determinar la seguridad de for-mas restringidas de reglas. Se obtendran reglas inseguras, que puedan generalun numero infinito de hecho, cuando una de las variables de la regla puedaabarcar un dominio infinito de valores y esa variable no este limitada a abarcaruna relacion finita.

Para definir reglas seguras de manera mas formal, se utiliza el concepto devariable limitada. Una variable X es limitada en una regla si: a) aparece en unpredicado normal (no integrado) en el cuerpo de la regla; b) aparece en un pred-icado de la forma X = c o c = X o (c1¡= X y X ¡= c2) en el cuerpo de la regla,donde c, c1 y c2 son valores constantes; o c) aparece en predicado de la formaX = Y o Y = X en el cuerpo de la regla, donde Y es una variable limitada. Sedice que una regla es segura si todas sus variables son limitadas.

6

Page 7: Base de Datos Deductivas

9. Sistema LDL

El proyecto Logic Data Languaje (Lenguaje Logico de Dato: LDL) de Mi-croelectronics and Computer Corporation (MCC) se inicio en 1984 con dosobjetivos primarios:

Crear un sistema que extendiera el modelo relacional y a la vez aprovecharaalgunas de las caracterısticas positivas de un SGBDR (Sistema de Gestionde Base de Datos Relacionales).

Mejorar la funcionalidad de un SGBD de modo que operara como unSGBD deductivo y ademas permitiera la creacion de aplicaciones de propositogeneral.

Ahora el sistema resultante es un SGBD deductivo que se encuentra en el mer-cado.

9.1. Aplicaciones de LDL

El sistema LDL se ha utilizado en los siguientes dominios de aplicacion:

Modelado de empresas: este dominio implica modelar la estructura, losprocesos y las restricciones dentro de una empresa. Los datos relacionadoscon ella pueden resultar en modelo ER extendido que contiene cientos deentidades y vınculos y miles de atributos. Es posible desarrollar variasaplicaciones utiles para los disenadores de nuevas aplicaciones (ası comopara los gerentes) a partir de esta ”metabase de datos”, que contieneinformacion tipo diccionario a cerca de toda la empresa.

Prueba de hipotesis o dragado de datos: este dominio implica formular unahipotesis, traducirla a un conjunto de reglas LDL y una consulta, y luegoejecutar la consulta contra los datos para probar la hipotesis. El proceso serepite reformulando las reglas y la consulta. Esto se ha aplicado al analisisde datos de genoma en el campo de la microbiologıa. El dragado de datosconsiste en identificar las secuencias de DNA a partir de auto radiografıasdigitalizadas de bajo nivel obtenidas de experimentos con bacterias E. coli.

Reutilizacion de software: el grueso del software para una aplicacion sedesarrolla en codigo estandar por procedimientos, y una pequena fraccionse basa en reglas y se codifica en LDL. Las reglas dan origen a una basede conocimientos que contienen los siguientes elementos:

• Una definicion de cada modulo C empleado en el programa.

• Un conjunto de reglas que define las formas en que los modulospueden exportar / importar funciones, restricciones, etc.

La ”base de conocimientos”puede servir para tomar decisiones referentes a lareutilizacion de subconjuntos del software. Los modulos pueden recombinarsepara satisfacer tarea especıfica, en tanto se satisfagan las reglas pertinentes. Seesta experimentando con esto en el software bancario.

7

Page 8: Base de Datos Deductivas

10. Arquitectura de una SABD Deductivo

Para la representacion logica de los tres conjuntos que componen estas basesde datos se emplea el algebra relacional.

Figura 2: Arquitectura Basica de una Base de Datos Deductiva

Referencias

[1] http://html.rincondelvago.com/bases-de-datos-deductivas.html

[2] www.dsic.upv.es/ mcelma/conferencia.ppt

[3] http://espanol.answers.yahoo.com/question/index?qid=20080518151520AAwpxdO

8