1 / 19

Bases de Datos Deductivas (II)

Bases de Datos Deductivas (II). Prof. Leonid Tineo Departamento de Computación Universidad Simón Bolívar leonid@usb.ve. Base de Datos Deductiva. BDD = BDE+BDI BDE: Base de Datos Extensional Compuesta por Hechos Al estilo de una Base de Datos Relacional BDI Base de Datos Intensional

Télécharger la présentation

Bases de Datos Deductivas (II)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bases de Datos Deductivas (II) Prof. Leonid Tineo Departamento de Computación Universidad Simón Bolívar leonid@usb.ve

  2. Base de Datos Deductiva • BDD = BDE+BDI • BDE: Base de Datos Extensional • Compuesta por Hechos • Al estilo de una Base de Datos Relacional • BDI Base de Datos Intensional • Compuesta por Reglas • Al estilo de un Programa Lógico

  3. Datalog • Lenguaje de Bases de Datos Deductivas, sintácticamente similar a Prolog. • Los predicados representan relaciones • Los predicados definidas por hechos forman la base de datos extensional • Los predicados definidos por reglas forman la base de datos intensional • Las reglas sin cabeza son las restricciones explícitas

  4. Cláusulas de Horn • Literal: • Literal Positivo: Predicado con sus argumentos • Literal Negativo: negación de un literal positivo • Cláusula de Horn: • Disyunción de Literales donde a lo más uno es positivo: • A  B1  B2  ...  Bn • B1  B2  ...  Bn

  5. Cláusulas en Datalog • Notación Datalog: • Regla BDI A :- B1 , B2 , ... , Bn. • Hecho BDE A :- B1 , B2 , ... , Bn. • Regla RE :- B1 , B2 , ... , Bn. • Extensión de Datalog: • Admite literales negativos en el cuerpo • Ejemplo: A :- B1 , not B2 , ... , Bn. • Admite disyunciones en el cuerpo • Ejemplo: A :- B1 , (B2 1; B2 1 ... , B2 m ), Bn.

  6. persona(luc, 1111, 99, jubilado). persona(joe, 4441, 25, universitario). persona(kal, 3311, 50, consultor). persona(dik, 2222, 75, jubilado). persona(dan, 4442, 15, liceista). persona(tom, 3322, 40, profesor). padre(joe,kal). padre(kal,dik). padre(dik,luc). padre(dan,kal). padre(tom,dik). Ejemplo de BDE en Datalog

  7. Ejemplo de BDI en Datalog hermano(X,Y) :- padre(X,Z), padre(Y,Z), X!=Y. abuelo(X,Y) :- padre(X,Z), padre(Z,Y). tio(X,Y) :- padre(X,Z), hermano(Z,Y). primo(X,Y) :- padre(X,Z), tio(Y,Z). familiar(X,Y) :- padre(X,Y). familiar(X,Y) :- padre(X,Z), familiar(Z,Y), X!=Y. familiar(X,Y) :- familiar(Y,X).

  8. Ejemplo de RE en Datalog :- padre(X,Y), persona(X,_,EdadX,_), persona(Y,_,EdadY,_), EdadX>EdadY. :- padre(X,X). :- abuelo(X,X). :- tio(X,X).

  9. Regla Segura • Definición: • Toda variable en la cabeza o en un literal negativo del cuerpo debe ocurrir en al menos un literal positivo del cuerpo • Ejemplo: • familiar(X,Y) :- padre(X,Y). • familiar(X,Y) :- padre(X,Z), familiar(Z,Y), X!=Y. • familiar(X,Y) :- familiar(Y,X). • pariente(X,Y):- familiar(X,Y), not padre(X,Y). • Contra-ejemplo: • extranio(X,Y):- not familiar(X,Y).

  10. Expansión de Regla (I) • Definición: • Una expansión de una regla es un conjunto de reglas equivalentes que resulta de sustituir cualquier literal en el cuerpo por las reglas que lo definen. • También la expansión del conjunto de reglas resultantes es una expansión de la regla original • La regla sola es también considerada una expansión de sí misma

  11. Reglas: familiar(X,Y) :- padre(X,Y). familiar(X,Y) :- padre(X,Z), familiar(Z,Y), X!=Y. familiar(X,Y) :- familiar(Y,X). pariente(X,Y):- familiar(X,Y), not padre(X,Y), not padre(Y,X). Expansión: pariente(X,Y):- padre(X,Y), not padre(X,Y), not padre(Y,X). pariente(X,Y):- padre(X,Z), familiar(Z,Y), X!=Y, not padre(X,Y), not padre(Y,X). pariente(X,Y):- familiar(Y,X), not padre(X,Y), not padre(Y,X). Expansión de Regla (II)

  12. Predicado Recursivo • Definición: • Un predicado es recursivo si existe al menos una regla en que éste ocurre en la cabeza y esa regla tiene al menos una expansión donde hay una regla en que éste ocurren tambiénen el cuerpo. • Ejemplo: • familiar(X,Y) :- padre(X,Y). • familiar(X,Y) :- padre(X,Z), familiar(Z,Y), X!=Y. • familiar(X,Y) :- familiar(Y,X).

  13. Recursión Lineal • Definición: • Una regla de un predicado recursivo es de recursión si toda expansión de la regla resulta en reglas donde el predicado de la cabeza ocurre a lo más una vez en el cuerpo. • Ejemplo: • familiar(X,Y) :- padre(X,Y). • familiar(X,Y) :- padre(X,Z), familiar(Z,Y), X!=Y. • familiar(X,Y) :- familiar(Y,X). • Contra-ejemplo: • familiar(X,Y) :- familiar(X,Z), familiar(Z,Y), X!=Y.

  14. Reglas Estratificables (I) • Definición: • Se dice que P depende negativamente de Q si existe una existe una regla R que tiene a P en la cabeza y que al menos una regla en una expansión de R tiene un literal negado de Q. • Un conjunto de reglas es estratificable si para todo predicado P no depende negativamente de si mismo

  15. Reglas Estratificables (III) • Ejemplo: • familiar(X,Y) :- padre(X,Y). • familiar(X,Y) :- padre(X,Z), familiar(Z,Y), X!=Y. • familiar(X,Y) :- familiar(Y,X). • ascendente(X,Y) :- padre(X,Y). • ascendente(X,Y) :- padre(X,Z), ascendente(Z,Y). • descendente(X,Y) :- familiar(X,Y), not ascendente(X,Y).

  16. Reglas Estratificables (III) • Contra-ejemplo: • familiar(X,Y) :- padre(X,Y). • familiar(X,Y) :- padre(X,Z), familiar(Z,Y), X!=Y. • familiar(X,Y) :- familiar(Y,X). • ascendente(X,Y) :- padre(X,Y). • ascendente(X,Y) :- padre(Z,Y), descendente(Z,X). • descendente(X,Y) :- familiar(X,Y), not ascendente(X,Y).

  17. Restricción de Datalog • Una BDI en Datalog debe cumplir que: • Todas las reglas son Seguras • Garantiza que el conjunto de respuestas es finito y calculable • La recursión es Lineal • Garantiza que es factible una ejecución de tiempo razonable • El conjunto de reglas es Estratificable: • Garantiza la existencia de una instancia (o modelo)

  18. Estratificación de una BDI (I) • Los predicados de la BDI que no dependen negativamente de otros predicados de la BDI pertenece al estrato 1 • Si un predicado P es tal que el estrato máximo en que se encuentra algún predicado Q tal que P depende negativamente de Q es M, entonces el predicado P pertenece al estrato M+1

  19. BDI familiar(X,Y) :- padre(X,Y). familiar(X,Y) :- padre(X,Z), familiar(Z,Y), X!=Y. familiar(X,Y) :- familiar(Y,X). ascendente(X,Y) :- padre(X,Y). ascendente(X,Y) :-padre(X,Z), ascendente(Z,Y). descendente(X,Y) :- familiar(X,Y), not ascendente(X,Y). Estratificación estrato(familiar,1). estrato(ascendente,1). estrato(descendente,2). Estratificación de Una BDI (II)

More Related