Bases de datos deductivas ii
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

Bases de Datos Deductivas (II) PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on
  • Presentation posted in: General

Bases de Datos Deductivas (II). Prof. Leonid Tineo Departamento de Computación Universidad Simón Bolívar [email protected] 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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Bases de Datos Deductivas (II)

Prof. Leonid Tineo

Departamento de Computación

Universidad Simón Bolívar

[email protected]


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


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


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


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.


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


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


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


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


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


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)


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


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.


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


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


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


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)


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


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)


  • Login