La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Prof. Leonid Tineo Departamento de Computación Universidad.

Presentaciones similares


Presentación del tema: ""Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Prof. Leonid Tineo Departamento de Computación Universidad."— Transcripción de la presentación:

1 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Prof. Leonid Tineo Departamento de Computación Universidad Simón Bolívar leonid@usb.ve Bases de Datos Deductivas (II)

2 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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).

7 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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).

12 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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 "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) 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).


Descargar ppt ""Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Prof. Leonid Tineo Departamento de Computación Universidad."

Presentaciones similares


Anuncios Google