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


  • 87 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

Bases de Datos Deductivas (II)

Prof. Leonid Tineo

Departamento de Computación

Universidad Simón Bolívar

[email protected]


Base de datos deductiva

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

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

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

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.


Ejemplo de bde en datalog

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

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

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

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

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


Expansi n de regla ii

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

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

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

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

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 iii1

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

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

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


Estratificaci n de una bdi ii

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