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

download Bases de datos deductivas (BDD)1 Bases de Datos Deductivas Administraci³n de bases de datos

of 30

  • date post

    23-Jan-2016
  • Category

    Documents

  • view

    259
  • download

    0

Embed Size (px)

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

  • Bases de Datos DeductivasAdministracin de bases de datos

    Bases de datos deductivas (BDD)

  • INDICE1.-Que es una base de datos deductiva2.-Introduccin a las bases de datos deductivas3.-Prolog/datalog(notacin prolog)4.-Notaciones5.-Clusulas de Horn6.-Interpretacin de las reglas7.-Mecanismos de inferencia(ascendente y descendente)8.-Programas en Datalog y su evaluacin9.- lgebra relacional y Prolog/Datalog9.-Sistemas LDL 11.-Conclusin

    Bases de datos deductivas (BDD)

  • 1.-Que es una base de datos deductiva?Dados hechos o datos almacenados en una base de datos, sta es deductiva, si es capaz de definir una serie de reglas a partir de las cuales deducir informacin adicional.Son tambin llamadas bases de datos lgicas dado que son capaces de reaccionar frente a hechos o reglas

    Bases de datos deductivas (BDD)

  • 2.-INTRODUCCINEn 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 inferencia) 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

    Bases de datos deductivas (BDD)

  • HechosUna BDD utiliza dos tipos de especificaciones, los hechos y las reglasUn Hecho se especifica de manera similar a como se hacan las relaciones o entidades;Hecho:Estudia(pedro,fsica)Este hecho representara una tupla de dos elementos de la tabla Estudia. Si se crean mas hechos con el predicado Estudia, entraran dentro de la tabla estudia.y es esto lo nico que se guardara en la base de datos

    Bases de datos deductivas (BDD)

  • 3.-Prolog/DatalogHechos1.-Supervisar(federico,jos).2.-Supervisar(federico,ramon).3.-Supervisar(federico,Josefa).4.-supervisar(jazmn,alicia).5.-supervisar(jazmn,ahmed).6.-Supervisar(jaime,federico).7.-Supervisar(jaime,jazmn).Reglas8.-Superior(X,Y):-supervisar(X,Y).9.-Superior(X,Y):-supervisar(X,Z),superior(Z,Y).10.-Subordinado(X,Y):-superior(Y,X).Consultas:Superior(jaime,Y)?Superior(jaime,josefa)?

    Bases de datos deductivas (BDD)

  • rbol de supervisin derivado de los hechos

    Bases de datos deductivas (BDD)

  • 4.-Notaciones(1)Predicados.Los atributos pueden ser variables(mayscula) o elementos con valor fijo(minscula)El predicado supervisar se define por medio de dos atributos;Supervisar(federico,jos) federico supervisa josEl resto de predicados se definen por medio de las reglas, tanto superior como subordinado.La caracterstica principal de de estos lenguajes lgicos es la capacidad de definir reglas de forma recursiva,Notacin de las reglas: cabeza (RHS right hand side) :- cuerpo(LHS)

    Bases de datos deductivas (BDD)

  • Notaciones(2)En las reglas, y en la parte del cuerpo o LHS, la separacin de los predicados se realiza con comas, pero deberan verse como conjunciones, dado que su significado es que deben verificarse (valor de verdad) los predicados adyacentes para que se verifique la cabeza.RHS
  • Predicados integradosProlog posee una serie de predicados integrados para realizar comparaciones, como pueden ser; =(A,B); (A,B); =(A,B).

    Predicados aritmticos, suma, divisin, multiplicacin.

    Datalog no posee estos predicados aritmticos, pero si extensiones q lo poseen.

    Bases de datos deductivas (BDD)

  • ConsultasSuperior(jaime,Y)? ;Esta consulta pide los subordinados de jaime de cualquier nivel, sus subordinados directos y sus indirectos, entendindose 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.

    Bases de datos deductivas (BDD)

  • Notacion DatalogDatalog es utilizado para la realizacin de las reglas.La notacin 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 podra considerar como una serie de formulas del calculo de predicados .Se componen de una condicin que con tiene predicados llamados tomos que estn basados en los nombres de las relacionesReglas para creacin de estas formulas Clusulas de Horn

    Bases de datos deductivas (BDD)

  • 5.-Clausulas de Horn B ^ C => ZZ
  • 6.-Interpretacin de las reglasCmo interpretar las reglas de forma terica?teora 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.

    teora de modelos: Dado un modelo finito o infinito de valores constantes, asignamos a un predicado todas las combinaciones posibles de valores como argumentos. Despus 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.

    Bases de datos deductivas (BDD)

  • Teoria de demostraciones1 superior(X,Y):-supervisar(X,Y).(regla 1)2 superior(X,Y):-supervisar(X,Z),superior(Z,Y).(regla 2)3 supervisar(jazmn,ahmed).(axioma base,dado)4 supervisar(jaime,jazmn).(axioma base,dado)5 superior(jazmn,ahmed).(aplicar 1 a 3)6 superior(jaime,ahmed):-supervisar(jaime,jazmn),superior(jazmn,ahmed). (aplicar 2 a 4 y 5)

    Bases de datos deductivas (BDD)

  • La teoria de modelos Hechos derivados:Superior(federico,jos).Superior(federico,ramon).Superior(federico,Josefa),superior (jazmn,alicia),superior(jazmn,ahmed).Superior(jaime,federico).Superior(jaime,jazmn).

    Hechos derivados regla 9Superior(jaime,jose)Superior(jaime,ramon)Superior(jaime,josefa)Superior(jaime,alicia)Superior(jaime,ahmed)

    Bases de datos deductivas (BDD)

  • Interpretacin de las reglas(2)Cmo se interpretan las reglas realmente?

    En los sistemas prcticos existe el mecanismo de inferencia,l es el que se encarga de la interpretacin de las reglas y del calculo de las consultas.

    Es un mecanismo computacional.

    Prolog utiliza el mecanismo de inferencia descendente.

    Bases de datos deductivas (BDD)

  • 7.-Mecanismos de inferenciaExisten dos mecanismos de inferencia:Mecanismo de inferencia ascendente.Tambin llamado encadenamiento hacia delante o resolucin ascendente,cuando realizamos la consulta el mecanismo buscara los resultados lnea a lnea por las reglas, demostrara en primer lugar la cabecera y posteriormente el cuerpoMecanismo de inferencia descendente.llamados encadenamiento hacia atrs, y resolucin descendente. A diferencia del anterior demostrara de forma recursiva, en un primer momento el cuerpo para luego demostrar la cabecera.

    Bases de datos deductivas (BDD)

  • Mecanismos de inferencia descendente1) rapta(X, Y) :- rufin(X), desea(X, Y).2) desea(X,Y) :- noble(X), princesa(Y), guapa(Y).3) desea(X,Y) :- plebeyo(X), princesa(Y).4) rufin(bertoldo).5) rufin(bartolo).6) noble(romeo).7) noble(bertoldo)8) plebeyo(bartolo).9) princesa(gertrudis).10) princesa(julieta).11) guapa(julieta).

    Bases de datos deductivas (BDD)

  • Consulta: ?-rapta(bartolo,Y)

    Bases de datos deductivas (BDD)

  • Mecanismo inferencia ascendente1) rapta(X, Y) :- rufin(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) rufin(bertoldo).7) rufin(bartolo).8) noble(romeo).9) noble(bertoldo)10) plebeyo(bartolo).11) princesa(gertrudis).12) princesa(julieta).13) guapa(julieta).

    Bases de datos deductivas (BDD)

  • 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).

    Bases de datos deductivas (BDD)

  • 8.-Programas Datalog/prolog y su evaluacinEs posible la creacin 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 aadiendo algn tipo de tope Reglas a cumplir por atributos que aparecen en los predicados de las reglas para ser variable limitada:aparece en un predicado normal (no integrado) en el cuerpo de la regla.aparecen en formas como las siguientes, donde X es la variable y c*los valores constantes: X=c o c=X o (C1
  • 9.-Algebra relacional y Prolog/DatalogLas 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
  • 10.-Sistemas LDL.El proyecto Logic Data Languaje (Lenguaje Lgico 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 caractersticas positivas de un SGBDR.-Mejorar la funcionalidad de un SGBD de modo que operara como un SGBD deductivo y adems permitiera la creacin de aplicaciones de propsito general.Ahora el sistema resultante es un SGBD deductivo que se encuentra en el mercado.

    Bases de datos deductivas (BDD)

  • Sistemas LDL(2)Aplicaciones de LDL Modelado 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 hiptesis o dragado de datos: Formular una hiptesis, traducirla a un conju