Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

30
Bases de datos deductivas (BDD) 1 Bases Bases de Datos de Datos Deductivas Deductivas Administración de bases de datos

Transcript of Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Page 1: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 1

BasesBases de Datos Deductivas de Datos Deductivas

Administración de bases de datos

Page 2: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 2

INDICEINDICE• 1.-Que es una base de datos deductiva1.-Que es una base de datos deductiva

• 2.-Introducción a las bases de datos deductivas2.-Introducción a las bases de datos deductivas• 3.-Prolog/datalog(notación prolog)3.-Prolog/datalog(notación prolog)

• 4.-Notaciones4.-Notaciones• 5.-Cláusulas de Horn5.-Cláusulas de Horn

• 6.-Interpretación de las reglas6.-Interpretación de las reglas• 7.-Mecanismos de inferencia(ascendente y 7.-Mecanismos de inferencia(ascendente y

descendente)descendente)• 8.-Programas en Datalog y su evaluación8.-Programas en Datalog y su evaluación

• 9.- 9.- Álgebra relacional y Prolog/DatalogÁlgebra relacional y Prolog/Datalog• 9.-Sistemas LDL9.-Sistemas LDL

• 11.-Conclusión11.-Conclusión

Page 3: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 3

1.-¿Que es una base de 1.-¿Que es una base de datos deductiva?datos deductiva?

• Dados hechos o datos almacenados en una base de datos, Dados hechos o datos almacenados en una base de datos, ésta es deductiva, si es capaz de definir una serie de reglas ésta es deductiva, si es capaz de definir una serie de reglas a partir de las cuales deducir información adicional.a partir de las cuales deducir información adicional.

• Son también llamadas bases de datos lógicas dado que son Son también llamadas bases de datos lógicas dado que son

capaces de reaccionar frente a capaces de reaccionar frente a ““hechoshechos”” o o ““reglasreglas””

Page 4: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 4

2.-INTRODUCCIÓN2.-INTRODUCCIÓN

• En una BDD (Base de datos deductiva) se utiliza un lenguaje declarativo para definir y especificar las reglas.

• Un lenguaje declarativo, se basa en que el programa especifica lo que se quiere realizar y no como lograrlo, de ello se encargara otro elemento.(“maquina de maquina de inferenciainferencia”)

• Como lenguajes declarativos destaca el Prolog junto con un subconjunto llamado Datalog.

• Maquina de inferencia; encargada de buscar los resultados a partir de las reglas y los hechos

Page 5: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 5

HechosHechos

• Una BDD utiliza dos tipos de especificaciones, los hechos y las reglas

• Un Hecho se especifica de manera similar a como se hacían las relaciones o entidades;

Hecho:

Estudia(pedro,física)

Este hecho representaría una tupla de dos elementos de la tabla Estudia. Si se crean mas hechos con el predicado Estudia, entrarían dentro de la tabla estudia.y es esto lo único que se guardaría en la base de datos

Page 6: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 6

3.-3.-PrologProlog/Datalog/DatalogHechosHechos

1.-Supervisar(federico,josé).1.-Supervisar(federico,josé).2.-Supervisar(federico,ramon).2.-Supervisar(federico,ramon).3.-Supervisar(federico,Josefa).3.-Supervisar(federico,Josefa).

4.-supervisar(jazmín,alicia).4.-supervisar(jazmín,alicia).5.-supervisar(jazmín,ahmed).5.-supervisar(jazmín,ahmed).6.-Supervisar(jaime,federico).6.-Supervisar(jaime,federico).7.-Supervisar(jaime,jazmín).7.-Supervisar(jaime,jazmín).

ReglasReglas8.-Superior(X,Y):-supervisar(X,Y).8.-Superior(X,Y):-supervisar(X,Y).

9.-Superior(X,Y):-supervisar(X,Z),superior(Z,Y).9.-Superior(X,Y):-supervisar(X,Z),superior(Z,Y).10.-Subordinado(X,Y):-superior(Y,X).10.-Subordinado(X,Y):-superior(Y,X).

ConsultasConsultas::

Superior(jaime,Y)?Superior(jaime,Y)?Superior(jaime,josefa)?Superior(jaime,josefa)?

Page 7: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 7

Árbol de supervisión derivado de los Árbol de supervisión derivado de los hechoshechos

Page 8: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 8

4.-Notaciones(1)4.-Notaciones(1)

• Predicados.

• Los atributos pueden ser variables(mayúscula) o elementos con valor fijo(minúscula)

• El predicado supervisar se define por medio de dos atributos;

Supervisar(federico,josé) “federico supervisa josé”

• El resto de predicados se definen por medio de las reglas, tanto superior como subordinado.

• La característica principal de de estos lenguajes lógicos es la capacidad de definir reglas de forma recursiva,

• Notación de las reglas: cabeza (RHS right hand side) :- cuerpo(LHS)

Page 9: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 9

NotacionesNotaciones(2)(2)

• En las reglas, y en la parte del cuerpo o LHS, la separación de los predicados se realiza con comas, pero deberían verse como conjunciones, dado que su significado es que deben verificarse (valor de verdad) los predicados adyacentes para que se verifique la cabeza.

• RHS <= A AND B

• Superior(X,Y):-supervisar(X,Y).• Superior(X,Y):-supervisar(X,Z),superior(Z,Y).

Page 10: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 10

PredicadosPredicados integrados integrados

• Prolog posee una serie de predicados integrados para realizar comparaciones, como pueden ser; =(A,B); <(A,B); >(A,B); <=(A,B); >=(A,B).

• Predicados aritméticos, suma, división, multiplicación.

• Datalog no posee estos predicados aritméticos, pero si extensiones q lo poseen.

Page 11: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 11

ConsultasConsultas

• Superior(jaime,Y)? ;Esta consulta pide los subordinados de jaime de cualquier nivel, sus subordinados directos y sus indirectos, entendiéndose como indirectos los que son subordinados de un subordinado de jaime. Y devuelve las tuplas con los valores constantes

• Superior(jaime,josefa)?

Esta consulta devuelve un valor booleano, si jaime, es superior a josefa.

Page 12: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 12

NotacionNotacion Datalog Datalog• Datalog es utilizado para la realización de las reglas.

• La notación de Datalog es muy similar a la de Prolog, utilizando predicados.

• Los predicados integrados son de la forma: less, less_or_equal, greater, greater_or_equal.

• Un programa escrito en datalog se podría considerar como una serie de formulas del calculo de predicados .

• Se componen de una condición que con tiene predicados llamados átomos que están basados en los nombres de las relaciones

• Reglas para creación de estas formulas Cláusulas de Horn

Page 13: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 13

5.-Clausulas de Horn5.-Clausulas de Horn

B ^ C => ZB ^ C => Z

ÓÓ

Z<= B ^ CZ<= B ^ C

Page 14: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 14

6.-Interpretación de las 6.-Interpretación de las reglasreglas

¿Cómo interpretar las reglas de forma teórica?

• teorteoríía de demostracionesa de demostraciones: Los hechos se dan por ciertos, y las reglas sirven para deducir hechos nuevos.A los hechos se les denomina Axiomas base , y a las reglas axiomas deductivos.

• teorteoríía de modelosa de modelos: Dado un modelo finito o infinito de valores constantes, asignamos a un predicado todas las combinaciones posibles de valores como argumentos. Después deberemos determinar si el predicado es verdadero o falso. En general basta con especificar las que se hacen verdadero y decir que para el resto se hace falso.

Page 15: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 15

Teoria de Teoria de demostracionesdemostraciones

1 superior(X,Y):-supervisar(X,Y). (regla 1)

2 superior(X,Y):-supervisar(X,Z),superior(Z,Y). (regla 2)

 

3 supervisar(jazmín,ahmed). (axioma base,dado)

4 supervisar(jaime,jazmín). (axioma base,dado)

5 superior(jazmín,ahmed). (aplicar 1 a 3)

6 superior(jaime,ahmed):-supervisar(jaime,jazmín),superior(jazmín,ahmed).

(aplicar 2 a 4 y 5)

Page 16: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 16

LLa teoria de modelosa teoria de modelos Hechos derivados:

Superior(federico,josé).Superior(federico,ramon).Superior(federico,Josefa),superior (jazmín,alicia),superior(jazmín,ahmed).Superior(jaime,federico).Superior(jaime,jazmín).

Hechos derivados regla 9Superior(jaime,jose)

Superior(jaime,ramon)Superior(jaime,josefa)Superior(jaime,alicia)

Superior(jaime,ahmed)

Page 17: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 17

Interpretación de las Interpretación de las reglas(2)reglas(2)

¿Cómo se interpretan las reglas realmente?¿Cómo se interpretan las reglas realmente?

• En los sistemas prácticos existe el mecanismo de inferencia,él es el que se encarga de la interpretación de las reglas y del calculo de las consultas.

• Es un mecanismo computacional.

• Prolog utiliza el mecanismo de inferencia descendente.

Page 18: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 18

7.-Mecanismos de 7.-Mecanismos de inferenciainferencia

Existen dos mecanismos de inferencia: Mecanismo de inferencia ascendenteMecanismo de inferencia ascendente..

También llamado encadenamiento hacia delante o resolución ascendente,cuando realizamos la consulta el mecanismo buscara los resultados línea a línea por las reglas, demostrara en primer lugar la cabecera y posteriormente el cuerpo

Mecanismo de inferencia descendente.Mecanismo de inferencia descendente.llamados encadenamiento hacia atrás, y resolución

descendente. A diferencia del anterior demostrara de forma recursiva, en un primer momento el cuerpo para luego demostrar

la cabecera.

Page 19: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 19

Mecanismos de inferencia Mecanismos de inferencia descendentedescendente

1) rapta(X, Y) :- rufián(X), desea(X, Y). 2) desea(X,Y) :- noble(X), princesa(Y), guapa(Y).

3) desea(X,Y) :- plebeyo(X), princesa(Y). 

4) rufián(bertoldo).5) rufián(bartolo).6) noble(romeo).

7) noble(bertoldo)8) plebeyo(bartolo).

9) princesa(gertrudis).10) princesa(julieta).11) guapa(julieta).

Page 20: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 20

Consulta: ?-rapta(bartolo,Y)Consulta: ?-rapta(bartolo,Y)

Page 21: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 21

Mecanismo inferencia Mecanismo inferencia ascendenteascendente

1) rapta(X, Y) :- rufián(X), desea(X, Y). 2) desea(X,Y) :- noble(X), princesa(Y), guapa(Y).

3) desea(X,Y) :- plebeyo(X), princesa(Y).4)adinerado(X):-noble(X).

5)adinerado(X):-rufian(X),plebeyo(X). 

6) rufián(bertoldo).7) rufián(bartolo).8) noble(romeo).

9) noble(bertoldo)10) plebeyo(bartolo).

11) princesa(gertrudis).12) princesa(julieta).13) guapa(julieta).

Page 22: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 22

Consulta: ?- adinerado(X)Consulta: ?- adinerado(X)

1)adinerado(romeo) 2)adinerado(bertoldo) 3)adinerado(bartolo)

Tras encontrar los hechos derivados buscara los resultados propios para la consulta, en este caso todos los hechos derivados lo son.

Probar: ?- adinerado(X),noble(X).

Page 23: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 23

8.-Programas 8.-Programas Datalog/prologDatalog/prolog y su evaluación y su evaluación

• Es posible la creación de programas inseguros, por ejemplo relizando una consulta cuyo resultado sea infinito

• Programas como estos se pueden reparar reajustando las formulas(reglas o consultas), y añadiendo algún tipo de tope

• Reglas a cumplir por atributos que aparecen en los predicados de las reglas para ser variable limitada:

o aparece en un predicado normal (no integrado) en el cuerpo de la regla.

o aparecen en formas como las siguientes, donde X es la variable y c*los valores constantes: X=c o c=X o (C1 <=X and X<= C2)

o aparece en un predicado de la forma X=Y o Y=X en el cuerpo de la regla, donde Y es una variable limitada.

Page 24: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 24

9.-Algebra relacional y 9.-Algebra relacional y Prolog/DatalogProlog/Datalog

• Las formulas del álgebra relacional es posible verlas como reglas de prolog y datalog.

Ejemplo:

rel_uno(A,B,C).

rel_dos(D,E,F).

seleccionar_uno_A_igual_c(X,Y,Z):-rel_uno(c,Y,Z).

seleccionar_uno_B_menor_5(X,Y,Z):-

rel_uno(X,Y,Z),Y<5.

Page 25: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 25

10.-Sistemas LDL.10.-Sistemas LDL.

• El proyecto Logic Data Languaje (Lenguaje Lógico de dato: LDL) de Microelectronics and Computer Corporation (MCC) se inicio en 1984 con dos objetivos primarios:

-Crear un sistema que extendiera el modelo relacional y a la vez que aprovechara algunas de las características

positivas de un SGBDR.

-Mejorar la funcionalidad de un SGBD de modo que operara como un SGBD deductivo y además permitiera

la creación de aplicaciones de propósito general.

• Ahora el sistema resultante es un SGBD deductivo que se encuentra en el mercado.

Page 26: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 26

Sistemas LDL(2)Sistemas LDL(2)

• Aplicaciones de LDL Modelado de empresasModelado de empresas: implica modelar

la estructura, los procesos y las restricciones dentro de una empresa. Los datos relacionados con ella pueden resultar en modelo ER extendido que contiene cientos de entidades y vinculos y miles de atributos.

Prueba de hipótesis o dragado de datosPrueba de hipótesis o dragado de datos: Formular una hipótesis, traducirla a un conjunto de reglas LDL y una consulta y luego ejecutar la consulta contra los datos para probar la hipótesis. Esto se ha aplicado al análisis de datos de genoma en el campo de la microbiología. El dragado de datos consiste en identificar las secuencias de DNA a partir de autoradiografías digitalizadas de bajo nivel obtenidas de experimentos con bacterias E.coli.

Page 27: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 27

Sistemas LDL(3)Sistemas LDL(3)

Reutilización del softwareReutilización del software: Una pequeña fracción de una aplicación se basa en reglas y se codifica en LDL.Por ejemplo, en cada modulo en C empleado en un programa se pueden definir un conjunto de reglas que definen las formas en que los módulos pueden exportar/importar funciones.

Page 28: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 28

11.-Conclusiones11.-Conclusiones

• Creación de prototipos de Bases de datos

• Posiblidad de creación de bases de datos de mas tamaño

• Posibilidad de portar cualquier base de datos relacional a BDD

Page 29: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 29

12.-GNU prolog12.-GNU prolog

• pauillac.inria.fr/~diaz/gnu-prolog/pauillac.inria.fr/~diaz/gnu-prolog/• Instalación linux, windows.• Utilización:

– Crear fichero de hechos y reglas– Ejecutar gprolog– Consult(‘ficheroBDD.pl’).– Consultas– Halt.

Page 30: Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administración de bases de datos.

Bases de datos deductivas (BDD) 30

13.-Bibliografia13.-Bibliografia

• -Sistemas de bases de datos, conceptos fundamentales. ELMASRI/NAVATHEELMASRI/NAVATHE

• -http://www.lsi.upc.es/~rigau/Ejemplo mecanismos inmersiónEjemplo mecanismos inmersión.

• -http://www.google.comInformación generalInformación general

• http://pauillac.inria.fr/~diaz/gnu-prolog/Página donde lograr el gprologPágina donde lograr el gprolog