20
1 Βάσεις Γνώσεων Datalog Proof Theory – Evaluation Paradigms [email protected] 2003 www.cs.uoi.gr/~pvassil/courses/knowledge_bases/ 2 Model vs. Proof Theory : Model theory & Interpretation: true Proof theory: ... 3 Datalog Proof Theory R L 0 :- L 1 ,…,L n , F 1 ,…,F n ground facts. .. L 1 =F 1 ,…, L n =F n , L 0 . , , (Elementary Production – EP)

Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

1

Βάσεις Γνώσεων

Datalog ProofTheory– EvaluationParadigmsΠάνοςΒασιλειάδης

[email protected] Απρίλης2003

www.cs.uoi.gr/~pvassil/courses/knowledge_bases/

2

Modelvs.ProofTheory

Θυµηθείτε τηδιαφορά:Modeltheory&Interpretation:µιαπρότασηείναιαληθήςανείναιtrueγιακάθε πιθανόκόσµο

Prooftheory:...ανηπρότασηπροκύπτειωςπαραγωγήαπόένακανόνακαικάποιααξιώµατα

Οιτεχνικέςείναιισοδύναµες

3

Datalog ProofTheory

Έστω R έναςκανόναςτηςµορφήςL0:- L1,…,Ln,καιF1,…,Fn µιαλίστααπόgroundfacts. Ανυπάρχειµιααντικατάστασηθ τ.ώ.L1θ=F1,…,Lnθ=Fn, µπορούµε σε ένα βήµα να συνάγουµε τοL0θ.Μόλιςπεριγράψαµεέναγενικόµηχανισµόπαραγωγών,ανξάρτητο απότουςεµπλεκόµενουςκανόνεςκαιγεγονότα,τονοποίοονοµάζουµεΣτοιχειώδηΠαραγωγή(ElementaryProduction–EP)

Page 2: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

2

4

Παράδειγµα

Έστω R:p(X,Z):- p(X,Y),p(Y,Z)

καιταgroundfactsp(a,b)καιp(b,c)

Μετηναντικατάστασηθ=X/a,Y/b,Z/c µπορώσεέναβήµαναυπολογίσωτο νέο fact p(a,c)

ΈστωR’:p(X,Y):- p(Y,X)

καιτοgroundfactp(a,a)

Μετηναντικατάστασηθ=X/a,Y/a µπορώσεέναβήµαναυπολογίσωτο γνωστό fact p(a,a)καιτίποτεάλλο!

5

Αλγόριθµος

Υπάρχει αλγόριθµοςπουελέγχειανοκανόναςΕΡµπορείναεφαρµοστείσεέναDatalog ruleκαιένασύνολοαπόgroundfacts.ΑντοΕΡεφαρµόζεται,οαλγόριθµοςεπιστρέφειταgroundfactsπουπαράγονταιαπότονΕΡ.Αλλιώτικα,επιστρέφειτοdummy

ΠαραθέτουµεξανάκαιτονMGU(γιαεπανάληψη)

6

Αλγόριθµος Produce(R,F1,…,Fn)

INPUT:Datalog ruleL0:-L1,…,Ln καιµιαλίστα απόgroundfactsF1,…,Fn

OUTPUT:ταgroundfactsπουπαράγονταιαπότηνεφαρµογήτουEPανοΕΡεφαρµόζεται-- adummy,αλλιώς

BEGINFORi = 0TOnDOKi←Li; //copyLiστοβοηθητικόKiFORi = 1TOnDO

λ=MGU(Ki,Fi);IFλ = THENRETURN;ELSEFORj=0TOnDOKj =Kjλ ;

RETURNK0

END

Page 3: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

3

7

Αλγόριθµος MGU(L,M)INPUT:literalsL=ψ(t1,...,tn),M=ψ(t'1,...,t'n)OUTPUT:ο mgu θαν τα L,Mείναι unifiable,

adummy,αλλιώςBEGIN

θ=i=1;unifies=true;REPEAT

IFtiθ≠ti'θIFti'θ isavariableθ← θti'θ/tiθELSEIFtiθ isavariableθ← θtiθ/ti'θELSEunifies← false;

i← i+1;UNTILi>nORunifies=false;IFunifiesRETURNθ,ELSERETURN

END

8

Παράδειγµα

Έστω R:p(X,Z):- p(X,Y),p(Y,Z) καιταgroundfactsp(a,b)καιp(b,c),ήτοι,έχουµεότιn=2

L0:p(X,Z)L1:p(X,Y)L2:p(Y,Z)F1:p(a,b)F2:p(b,c)K0:p(X,Z)K1:p(X,Y)K2:p(Y,Z)

i =1,οπότελ=MGU(K1,F1) πουβγάζειλ=Χ/a,Y/bΤότε K0:p(a,Z)K1:p(a,b)K2:p(b,Z)i =2, οπότελ=MGU(K2,F2) πουβγάζειλ=Z/cΤότε K0:p(a,c) K1:p(a,c)K2:p(b,c)

Οαλγόριθµοςτότεσταµατά(n=2)καιεπιστρέφειp(a,c)

9

Η σειράείναισηµαντική!!!

ΠΡΟΣΟΧΗ:ησειράτωνfactsστοναλγόριθµοPRODUCEείναισηµαντική!!

Αναλλάξουµετησειρά,µπορείναµηβγειτοίδιοαποτέλεσµα!

Προσέξτεότιστοναλγόριθµολέµε«λίστα»καιόχι«σύνολο»

Page 4: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

4

10

Παράδειγµα

Έστω R:p(X,Z):- p(X,Y),p(Y,Z) καιταgroundfactsp(b,c)καιp(a,b),ήτοι,απλώςαλλάξαµετησειράτωνgroundfacts

L0:p(X,Z)L1:p(X,Y)L2:p(Y,Z)F1:p(b,c)F2:p(a,b)K0:p(X,Z)K1:p(X,Y)K2:p(Y,Z)

i =1,οπότελ=MGU(K1,F1) πουβγάζειλ=Χ/b,Y/cΤότε K0:p(b,Z)K1:p(b,c)K2:p(c,Z)i =2, οπότελ=MGU(K2,F2) πουβγάζειλ=[διότιK2:p(c,Z) καιF2:p(a,b)]

Οαλγόριθµοςτότεσταµατά(n=2)καιεπιστρέφει

11

1οςΑλγόριθµοςΠαραγωγής

Υπάρχει απλόςαλγόριθµοςοοποίος,δοθέντοςενόςπεπερασµένου συνόλουS απόκανόνεςκαιgroundfacts,παράγειόλα ταgroundfactsπουµπορούνναπαραχθούνσεέναβήµα απότοS,εφαρµόζονταςτονκανόναΕΡ.

Οαλγόριθµος,γιακάθεκανόνα,ελέγχειανκάθεδυνατόςσυνδυασµός groundfactsµπορείνακάνειmatchµεταliteralsτουbodyτουκανόνααυτού.

12

Αλγόριθµος Infer1(S)

INPUT:έναπεπερασµένο σύνολοSαπόrulesκαιgroundfactsOUTPUT:όλαταgroundfactsπουπαράγονταιαπότηνεφαρµογήτου

EPσεέναβήµαBEGIN

result← ;FOReach ruleR:L0 :- L1,…,Ln ofSDO

FOReachpossible n-tuple<F1,…,Fn>ofgroundfactsofSDOnew← PRODUCE(R,F1,…,Fn);IFnew≠ THENresult← result∪ new;

RETURNresult

END

Page 5: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

5

13

Παράδειγµα

Έστω οικανόνεςR1:p(X,Z):- p(X,Y),p(Y,Z),R2:p(X,Y):- p(Y,X) καιταgroundfactsp(a,b),p(b,c),p(c,d),p(d,e)

ΜετοναλγόριθµοINFER1 µπορούµε,σεέναβήµαναυπολογίσουµεταεξήςgroundfacts:

p(a,c),p(b,d),p(c,e),p(b,a),p(c,b),p(d,c),p(e,d)

απόR1 απόR2

14

Παραγόµενα γεγονότα (inferredfacts)

Έστω ότιτοS είναιένασύνολοαπόDatalogclauses(rules&facts). Τότε,έναgroundfactG,παράγεται(canbeinferred) απότοS αν

τοG∈S,ή

τοG µπορείναπαραχθείαπότοS,εφαρµόζονταςτονκανόναΕΡγιαέναπεπερασµένοαριθµόεπαναλήψεων

Συµβολισµός:S G

15

Τυπικός Ορισµός

Η σχέση γιαένασύνολοαπόDatalog clausesS καιέναgroundfactG,µπορείναορισθείτυπικά:

S G ανG∈S.

S G ανυπάρχειέναςκανόναςR καιένασύνολοαπόgroundfactsF1,…,Fn τ.ώ.,∀i∈[1..n] S Fi και το G µπορεί να παραχθεί σε ένα

βήµα από την εφαρµογή του ΕΡ στα R καιF1,…,Fn

σε καµία άλλη περίπτωση δεν έχω S G.

ΗαναδροµήκρύβεταιστηνύπαρξητωνgroundfactsF1,…,Fn.

Page 6: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

6

16

Παράδειγµα

Έστω τοσύνολοS απόclausesµετουςκανόνεςR1:p(X,Z):- p(X,Y),p(Y,Z),R2:p(X,Y):- p(Y,X) καιταgroundfactsp(a,b),p(b,c),p(c,d),p(d,e)

Αφούp(a,b)∈S τότεS p(a,b)

Αφούσεέναβήµαµπορούµεναπαράξουµε τοp(b,a)απότοR2 καιp(a,b),τότεS p(b,a)

Απόταp(a,b) καιp(b,a),καιαπότοR1 µπορούµεναπαράξουµε τοp(a,a),οπότεS p(a,a)

17

Απόδειξη

Η ακολουθίαδιαδοχικώνεφαρµογώντουΕΡ,τηνοποίαακολουθούµεγιαναπαράξουµε έναgroundfactG,τηνονοµάζουµεαπόδειξη(proof).

Κάθεαπόδειξηµπορείνααναπαρασταθείαπόέναδέντρο,αποκαλούµεδέντροαπόδειξης(prooftree).

Οικόµβοι τουδέντρουαναπαριστούνclauses καιοιακµές τουδέντρουαναπαριστούνπαραγωγές.

18

∆έντρο Απόδειξης- Κόµβοι

Υπάρχουν δύοειδώνκόµβοιΚάποιοιπουαναπαριστούντα clauses τουαρχικούσυνόλουSΚάποιοιπουαναπαριστούνταgroundfactsπουπαράγονταιαπότοS

Ταφύλλατουδέντρουείναιταclauses(rules&facts)τουS.Τοεπόµενοεπίπεδο(ακριβώςπάνωαπόταφύλλα)είναιταgroundfactsπουπαράγονταισεέναβήµααπότοSΚάθεεσωτερικόεπίπεδοπεριέχει

κόµβουςπουαναπαριστούνgroundfactsπουπαράγονταισεέναβήµααπότουςκόµβουςτουαµέσωςεπόµενου(χαµηλότερου)επιπέδου,ήκόπιεςκόµβωναπόχαµηλότεραεπίπεδα

Page 7: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

7

19

∆έντρο απόδειξης-- Ακµές

Κάθε παραγωγήείναιένασύνολοακµώντουδέντρουπουσυνδέειτοπαραγόµενογεγονόςµεταπαράγωγαclausesτουαµέσωςεπόµενουχαµηλότερουεπιπέδου.

Επειδήπρόκειταιγιαδέντρο,κάθεκόµβοςενόςεπιπέδουσυνδέεταιµεακριβώςένακόµβοτουαµέσωςανώτερουεπιπέδου=>

Ανκάποιοclauseεµπλακείσεπολλέςπαραγωγές,απλάδηµιουργούµεόσεςκόπιεςτουχρειάζονται

20

Παράδειγµα – ∆είξτετοp(a,a)

Έστω τοσύνολοS απόclausesµετουςκανόνεςR1:p(X,Z):- p(X,Y),p(Y,Z),R2:p(X,Y):- p(Y,X) καιταgroundfactsp(a,b),p(b,c),p(c,d),p(d,e)

Αφούp(a,b)∈S τότεS p(a,b)

Αφούσεέναβήµαµπορούµεναπαράξουµε τοp(b,a)απότοR2 καιp(a,b),τότεS p(b,a)

Απόταp(a,b) καιp(b,a),καιαπότοR1 µπορούµεναπαράξουµε τοp(a,a),οπότεS p(a,a)

21

ProofTreeγιατοp(a,a)

p(a,b)R2:p(X,Y):- p(Y,X)

p(b,a)

p(a,a)

p(a,b)R1: p(X,Z) :-p(X,Y),p(Y,Z)

Μέλη τουS

Κόπιες του

p(a,b)

Page 8: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

8

22

Θεώρηµα

Ο κανόναςΕΡείναιπλήρηςκαισυνεπής(soundandcomplete) ήΓιαένασύνολοαπόDatalog clausesS καιέναgroundfactG,S G ανκαιµόνοανS G

ήακόµα,ανcons(S) είναιόλα ταgroundfactsπουσυνάγονταιλογικάαπότοS,τότεcons(S)=G|G groundfactκαιS G

Γιαπεπερασµένα σύνολαclauses(π.χ.,τοS)τοcons(S)

είναιπεπερασµένο καιµπορείναυπολογισθείαπότονπαρακάτωαλγόριθµο

23

Αλγόριθµος Infer(S)

INPUT:έναπεπερασµένο σύνολοSαπόrulesκαιgroundfactsOUTPUT:όλα ταgroundfactsπουπαράγονταιαπότηνεφαρµογήτου

EP,ήτοι,τοcons(S)[ΠΡΟΣΟΧΗ:όχισεέναβήµα,αλλάόλα]

BEGINold← ;new← S;WHILEnew≠ oldDO

old← new;new← new∪ INFER1(new);

RETURNallgroundfactsofnew

END

24

Παράδειγµα

Έστω οικανόνεςR1: p(X,Z):- p(X,Y),p(Y,Z),R2:p(X,Y):-p(Y,X) καιταgroundfactsp(a,b),p(b,c),p(c,d),p(d,e)

new1=S ∪ INFER1(S) = p(a,b),p(b,c), p(c,d),p(d,e),R1:p(X,Z):- p(X,Y),p(Y,Z),R2:p(X,Y):- p(Y,X), p(a,c),p(b,d),p(c,e),p(b,a),p(c,b),p(d,c),p(e,d),

new2=new1∪ INFER1(new1) = …

new3=new2∪ INFER1(new2) = …

new4=new3. //algorithmstops.

Page 9: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

9

25

Χαρακτηρισµοί υπολογιστικήςµεθόδου

Bottom-up:οαλγόριθµοςINFERξεκινάαπόταφύλλατουδέντρουαπόδειξης(ταgroundfactsτουS)καιχτίζειτοδέντροπροςταπάνω

Forwardchaining:ανπούµεότια => β,οINFER1πρώταυπολογίζειτοα καιµετάτοβ(ήτοι,κινείταιεµπρόσθια– forward σεσχέσηµετηνκατεύθυνσητουβέλουςτηςλογικήςσυνεπαγωγής).

26

InferenceEngine

Inferenceengine:ανυλοποιήσουµεταπροηγούµενα,έχουµεµιαστοιχειώδηµηχανήπαραγωγών.

ΤοαποτέλεσµατηςεφαρµογήςενόςπρογράµµατοςP σεµιαEDB θαείναιταIDBfactsπουπροκύπτουναπότοINFER(P ∪ EDB).

27

BackwardChaining

Έστω έναπρόγραµµαP καιέναςgoal(query,δηλ.)G: ? - p(t1,…,tn) όπουτοp ανήκεισταIDBpredicates.Ποιαgroundinstances του GικανοποιούντοP ∪ EDB?Πολλοίτρόποινααπαντήσουµετηνερώτηση:

Βρεςόλαταcons(S) καιαπέρριψεότι∆ΕΝσυνάγεταιαπότοp(t1,…,tn)

Χρησιµοποίησεκάποιαβελτιστοποιηµένηbottom-upµέθοδοΧρησιµοποίησεκάποιαtop-down µέθοδο

Page 10: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

10

28

BackwardChaining

BackwardChaining είναιµιαtop-down µέθοδοςπουσκοπόέχεινακατασκευάσειέναprooftree,ξεκινώνταςαπόµιαρίζαπουαναπαριστάτονπροςυπολογισµόgoalG, καικαταλήγονταςσεφύλλαπουανήκουνείτεστοP είτεστοEDB.

Υπενθυµίσεις:Ύψοςδέντρου:Αριθµόςεπιπέδων– 1Τοprooftreeσταφύλλα έχειταclauses(rules&facts)του P ∪ EDB

29

BackwardChaining

Θα περιγράψουµεµίαµίατιςέννοιες&τεχνικέςΘαδώσουµεπαραδείγµατασεκάθεβήµαΣτοτέλοςθαδώσουµετογενικόαλγόριθµο

Παράδειγµα:ΈστωηEDB µεταgroundfactsp(a,b),p(b,c),p(c,d),p(d,e) καιτοπρόγραµµαPµετουςκανόνεςR1:p(X,Z):- p(X,Y),p(Y,Z), καιR2:p(X,Y):- p(Y,X)Στόχος:Υπολογίστετοgoal?– p(a,X)

30

BackwardChaining

Ο σκοπόςείναινακατασκευάσουµεέναprooftree,µερίζατονgoalG, καιφύλλαπουανήκουνείτεστοP είτεστοEDB.

ΞεκινάµεαπότονgoalG.Ανέχειinstances πουανήκουνστοP ∪ EDB,φτιάχνουµεέναprooftreeγιακάθεένααπόαυτά,τοοποίοέχειµοναδικόκόµβοτονεαυτότους.

Τοδέντροέχειύψος0καιπροφανώςπεριέχειέναυποσύνολοτηςαπάντησηςστονgoal

Page 11: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

11

31

BackwardChainingEDB:p(a,b),p(b,c),p(c,d),p(d,e)P:R1:p(X,Z):- p(X,Y),p(Y,Z)R2:p(X,Y):- p(Y,X)

p(a,Χ) p(a,b)

Το µόνοprooftreeύψους0πουπροκύπτειείναιαυτόµετοinstanceτουgoal,p(a,b)

[ταυπόλοιπαgroundfacts,προφανώςδενυπάρχειαντικατάστασηπουνατακάνειinstancesτουgoal]

Φτιάχνουµε ένακόµβοµετοgoal.

Οκόµβοςαποκαλείταικαιtopgoal

32

BackwardChaining

Μετά ταprooftreesύψους0,θαφτιάξουµεδέντραύψους1.Ηδιαδικασίαλέγεταιεπέκταση(expansion).

∆ιαλέγουµεέναruleR: L0:- L1,…,Lk τέτοιονώστετοGκαιτοL0 ναείναιunifiable (ναυπάρχειθ=mgu(G,L0),δηλ.).ΠροσθέτουµεkπαιδιάL1θ,…,Lkθ στονκόµβοG.

ΠροσθέτουµεκαιέναπαιδίR στονκόµβοG.

Αυτότοκάνουµεγιαόλεςτιςδυνατέςεπιλογέςκανόνωνπουέχουµε

33

BackwardChaining

OκόµβοςτηςρίζαςG καιταπαιδιάL1θ,…,Lkθ

λέγονται goal-nodesΟκόµβος R λέγεταιruleidentifierΤαδέντραπουπροκύπτουνονοµάζονταιsearchtrees

OκόµβοςτηςρίζαςG λέγεταιtop-goalΟιυπόλοιποικόµβοιλέγονταιsubgoals

Ταsearchtrees∆ΕΝείναιprooftrees(σταδεύτερα,ταφύλλαανήκουνστοP ∪ EDB)!!!

Page 12: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

12

34

BackwardChainingEDB:p(a,b),p(b,c),p(c,d),p(d,e)P:R1:p(X,Z):- p(X,Y),p(Y,Z)R2:p(X,Y):- p(Y,X)

p(Υ,Χ)

p(a,Χ)

p(a,Υ)R1: p(X’,Z) :-p(X’,Y),p(Y,Z)

1ηεπιλογή:χρησιµοποιούµετονκανόναR1 καιβάζουµε2παιδιάστοp(a,X)καθώςκαιτονκόµβοτουίδιουτουκανόνα. θ=X’/a,Z/X

ΠΡΟΣΟΧΗ:ΜΕΤΟΝΟΜAΣΑΜΕΤΗΜΕΤΑΒΛΗΤΗΧΤΟΥR1.

HXΣΤΟSEARCHTREEΕΊΝΑΙPLACEHOLDERΤΙΜΩΝ ≠ ΧTOYR1!!!!

Τ1.1

ύψος α/αδέντρου

35

BackwardChainingEDB:p(a,b),p(b,c),p(c,d),p(d,e)P:R1:p(X,Z):- p(X,Y),p(Y,Z)R2:p(X,Y):- p(Y,X)

p(X,a)

p(a,Χ)

R2:p(X’,Y) :- p(Y,X’)

2ηεπιλογή:χρησιµοποιούµετονκανόναR2 καιβάζουµε1 παιδίστοp(a,X)καθώςκαιτονκόµβοτουίδιουτουκανόνα.θ=X’/a,Υ/X

ΠΡΟΣΟΧΗ:ΜΕΤΟΝΟΜAΣΑΜΕΤΗΜΕΤΑΒΛΗΤΗΧΤΟΥR2.

HXΣΤΟSEARCHTREEΕΊΝΑΙPLACEHOLDERΤΙΜΩΝ ≠ ΧTOYR1!!!!

Τ1.2

36

BackwardChaining

Στη συνέχεια,µετατρέπουµεταsearchtreesσεprooftrees.Ψάχνουµεγιααντικαταστάσειςλ,τ.ώ.,γιαόλα ταφύλλα,έστωCi,τοCiλ ναανήκειστοP ∪ EDB.Ανβρούµεµιατέτοιαλ,γιακάθεgoal-nodeκάνουµετηναντικατάστασηλ,καιέχουµετοprooftreeΟtopgoalκόµβοςGλ ανήκειστοαποτέλεσµα(απαντάτο? - G).

Page 13: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

13

37

BackwardChainingEDB:p(a,b),p(b,c),p(c,d),p(d,e)P:R1:p(X,Z):- p(X,Y),p(Y,Z)R2:p(X,Y):- p(Y,X)

p(Υ,Χ)

p(a,Χ)

p(a,Υ)

Τ1.1

R1

38

BackwardChainingEDB:p(a,b),p(b,c),p(c,d),p(d,e)P:R1:p(X,Z):- p(X,Y),p(Y,Z)R2:p(X,Y):- p(Y,X)

p(b,c)

p(a,c)

p(a,b)

Για τοΤ1.1βρίσκουµεότιλ=Y/b,X/c κάνειόλα ταφύλλαναανήκουνστοP ∪EDB.

Επιβάλουµετηναντικατάστασησεόλαταgoal-nodesκαιτοtopnodep(a,c)τοβάζουµεστοαποτέλεσµα.

ΓιατοΤ1.2δενθαβρούµεσχετικήαντικατάσταση.

G1.1R1

Τ1.1

39

BackwardChaining

Ας υποθέσουµεότιέχουµευπολογίσειόλαταsearch&prooftreesύψουςi.

Γιαναβρούµεταsearchtreesύψουςi+1επεκτείνουµεόπωςκαιπριντααντίστοιχαsearchtreesύψουςi.

Στησυνέχεια,µετατρέπουµεταsearchtreesύψουςi+1 στααντίστοιχαprooftrees

Page 14: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

14

40

BackwardChainingEDB:p(a,b),p(b,c),p(c,d),p(d,e)P:R1:p(X,Z):- p(X,Y),p(Y,Z)R2:p(X,Y):- p(Y,X)

p(Υ,Χ)

p(a,Χ)

p(a,Υ)

Τ1.1

R1

p(X,Y)R2

T2.1

41

BackwardChainingEDB:p(a,b),p(b,c),p(c,d),p(d,e)P:R1:p(X,Z):- p(X,Y),p(Y,Z)R2:p(X,Y):- p(Y,X)

p(b,a)

p(a,a)

p(a,b)

T2.1

R1

p(a,b)R2

G2.1

SearchtoProofTree:

λ=Υ/b,X/a

Result=Result∪ p(a,a)

42

BackwardChainingEDB:p(a,b),p(b,c),p(c,d),p(d,e)P:R1:p(X,Z):- p(X,Y),p(Y,Z)R2:p(X,Y):- p(Y,X)

p(X,a)

p(a,Χ)

Τ1.2

R2

p(a,X)R2

T2.2

Page 15: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

15

43

BackwardChainingEDB:p(a,b),p(b,c),p(c,d),p(d,e)P:R1:p(X,Z):- p(X,Y),p(Y,Z)R2:p(X,Y):- p(Y,X)

p(b,a)

p(a,b)

T2.2

R2

p(a,b)R2

G2.2

SearchtoProofTree:

λ=X/b

Result=Result∪ p(a,b)?

Τοp(a,b)ήδηανήκειστοresult…

44

Μερικοί Ορισµοί

nconst(P,EDB): οαριθµόςτωνδιακριτώνσταθερώνσυµβόλωνπουσυναντάµεστοP ∪ EDB

nconst(P): οαριθµόςτωνδιακριτώνpredicate συµβόλωνπουσυναντάµεστοPmaxgrads(P): τοµέγιστοaritypredicate συµβόλουπουσυναντάµεστοPmaxdepth(P,EDB): τοµέγιστοβάθοςδέντρουπουχρειάζεταιναπαράξουµε γιανασταµατήσουµετοbackwardchaining

maxdepth(P,EDB)=npreds(P)xnconst(P,EDB)maxgrads(P)

45

Γενικός ΑλγόριθµοςBackwardChaining(P,EDB,G)

INPUT:έναπρόγραµµα P,µιαEDB καιέναςgoalG: ?- p(t1,…,tn)όπουτο p ανήκεισταIDBpredicates.

OUTPUT:ταgroundinstancesτουG πουικανοποιούντοP ∪ EDBBEGIN

result← ;ΦτιάξεταprooftreesτουG σεύψος0; //ταinstances τουGστοP∪EDB

result← result∪ topgoalsofprooftrees;FORi=0TOmaxdepth(P,EDB)

expandsearchtreesofdepthitodepthi+1;transformthesesearchtreesinallpossibleways toprooftrees;result← result∪ topgoalsofprooftrees;

RETURNresult

END

Page 16: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

16

46

Backward&ForwardChaining

Μπορεί κανείςναδείξειότιτοbackwardκαιτοforwardchainingείναιισοδύναµα.

Ήτοι,παράγουνακριβώςταίδιααποτελέσµατα.

Μεελάχιστητροποποίησητουπαραπάνωαλγορίθµου,µπορούµεναπαράγουµε,δηλ.,όλαταgroundfactsπουσυνάγονταιαπόέναπρόγραµµα P καιµιαEDB (όπωςκαιστηνπερίπτωσητουforwardchaining,δηλ.)

47

Εξειδικεύσεις τουBackwardChaining

Ο αλγόριθµοςπουπεριγράψαµεείναιοπιογενικός.Υπάρχουνδιάφορεςεξειδικεύσειςσεθέµαταόπως

Τιδέντραπαραγωγώνχρησιµοποιούνται?

Ανηδιάσχιση&παραγωγήτωνδέντρωνγίνεταιµεBFS,DFS,κλπ

Ποιαησυνθήκητερµατισµού?

Subtree factoring:ηαποφυγήεπανυπολογισµούδέντρωνπουέχουνήδηυπολογισθεί

48

SLD-refutation

Η SLD-refutation είναιµιαειδικήπερίπτωσηtop-downτεχνικής.Ηγενικήιδέαείναιότιανσουδώσωέναgoal G,έστωτο ?- p(a,X),τότε αυτόςαναπαριστάτηδήλωση∀Χ ¬p(a,X). Οσκοπόςτηςτεχνικήςείναιναανταποδείξειτονgoal(ναβγάλειτοgoalfalse),ήτοι,ναβρεισταθερέςα τ.ώ.,P∪EDB p(a,α).Κάθετέτοιαανταπόδειξηλέγεταιαναίρεση(refutation) τουG απότοP∪EDB.

Page 17: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

17

49

SLD-refutation

“LinearRefutationwithSelectionFunctionforDefiniteClauses”

Ηγενικήιδέαείναιότικατασκευάζωέναδέντροµεtop-downτρόπο.

Ζωγραφίζωτοδέντροανάποδα:ταφύλλα πουζωγραφίζωστηνκορυφήαναπαριστούντοναρχικόgoalπουθέλωναανταποδείξω

Ηρίζα πουζωγραφίζεταιστονπάτοαναπαριστάµιαλογικήαντίφαση τηνοποίασυµβολίζωµε

50

SLD-refutation

Συνάρτηση Επιλογής(Selectionfunction):έναmapping,πουδοθέντοςενός goal,επιστρέφειένααπόταliteralsτου

Συνήθως(π.χ.,στηνProlog)αυτόείναιτοπιοαριστερόστονορισµότουgoal

Άλληεναλλακτικήείναιαυτόπουέχειµέσαταπιοπολλάconstants

51

Resolvent (ελληνικά:διαλυτικό)

Έστω έναςgoalΕ=¬Κ1,…,¬Κi,…,¬Κκ (στηγενική

περίπτωσηοgoalµπορείναείναισύνθετος)καιέστωησυνάρτησηεπιλογήςτουs(E)=Κi.ΑνR: L0:-L1…,Ln καιυπάρχειθ=mgu(Ki,L0),τότετοresolvent τωνΕ καιR µεβάσητηνσυνάρτησηεπιλογήςsείναι

H=¬Κ1θ,…,¬Κi-1θ,¬L1θ,…, ¬Lnθ,¬Κi+1θ,…,¬Κκθ

Αναντίγια R έχωέναfactF=L τότεH=¬Κ1θ,…,¬Κi-1θ,¬Κi+1θ,…,¬Κ

κθ

Ενγένειµπορώναέχωπολλάresolvents.Ανκρατήσωσταθεράτησυνάρτησηεπιλογήςκαιτοναλγόριθµοmgu,όµως,έχωακριβώςέναresolvent

Page 18: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

18

52

SLD-refutation

Έστω ένα σύνολοαπόclausesS,έναςgoalG καισυνάρτησηεπιλογήςτουs.ΗSLD-refutation τουS∪G

µέσωτηςs είναιτρειςπεπερασµένες ακολουθίες από(α)goalsG=G0,…,Gn= (β)clauses C1,…,Cn (γ)substitutionsθ1,…,θn τ.ώ.:

ΚάθεclauseCi είναιείτεclauseτουS είτεβαριάντα (ήτοι,µεµόνηδιαφοράταονόµατατωνµεταβλητών) ενόςclauseτουS

ΚάθεgoalGi είναιresolvent τωνclausesGi-1 καιCi µεβάσητηνσυνάρτησηεπιλογήςs

Κάθεθi είναιmgu των Gi-1 καιCi

53

SLD-refutation– Γενικήιδέα

C1G=G0

G1

θ1

C2

G2

θ2

Cn

Gn=

θn…

54

Παράδειγµα

Παράδειγµα:ΈστωηEDB µεταgroundfactsp(a,b),p(b,c),p(c,d),p(d,e) καιτοπρόγραµµαPµετουςκανόνεςR1:p(X,Z):- p(X,Y),p(Y,Z), καιR2:p(X,Y):- p(Y,X)

Στόχος:Υπολογίστετοgoal?– p(a,X)

Έστωότιησυνάρτησηεπιλογήςs διαλέγειτοπιοδεξιάliteralενόςgoal

Page 19: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

19

55

Παράδειγµα

R1’:p(X’,Z):-p(X’,Y),p(Y,Z)notp(a,X)

notp(a,Y),not p(Y,X)

θ1:X’/a,Z/X

R2’:p(X’,Y’):-p(Y’,X’)

p(a,b)

notp(a,Y),not p(X,Y)θ2:X’/Y,Y’/X

notp(a,b)

p(a,b)

θ3:X/a,Y/b

θ4:

EDB:p(a,b),p(b,c),p(c,d),p(d,e)P:R1:p(X,Z):- p(X,Y),p(Y,Z)R2:p(X,Y):- p(Y,X)

56

Παράδειγµα

Στο πρώτοεπίπεδο:µετονοµάζουµετηµεταβλητήΧ τουκανόνα R1,ώστεναµηνυπάρχειconflict µετοΧ τουgoal=>R1’:p(X’,Z):-p(X’,Y),p(Y,Z)θ1=X’/a,Z/X είναιοmgu τουnotp(a,X) καιR1’,οπότεR1’θ=p(α’,Χ),notp(a,Y),notp(Y,X)τοresolvent τουπρώτουgoalG0 καιτουC1=R1’προκύπτειαναφαιρέσωτοπιοδεξιάliteralτουgoal(ήτοι, τοµοναδικόnotp(a,X))καιβάλωστηθέσητουτα¬L1θ,…, ¬Lnθ τουR1’θ.ΠΡΟΣΟΧΗ:ΟΧΙτοL0θ!ΤότεG1=notp(a,Y),notp(Y,X)

57

Παράδειγµα

Στο δεύτεροεπίπεδοκάνωταίδια.Προσέξτεότιβγάζωτοπιοδεξιάliteralτουgoalκαιβάζωτοένακαιµοναδικό¬Liθ=¬L1θ στηθέσητου

Προσέξτετηνενοποίηση:ενοποιώτοnot p(Y,X)

µετοR2’

Στοτρίτοκαιστοτέταρτοεπίπεδοενοποιώµεfacts,οπότεκάθεφοράοresolvent έχειέναστοιχείολιγότερο.

Page 20: Lecture07-DatalogProofTheory n EvalutationParadigms · 2 4 µ R:˜p(X,Z)˜:-p(X,Y),˜p(Y,Z) ˜ ˜ground˜facts˜ p(a,b)˜ ˜p(b,c) ˜ ={X/a,Y/b,Z/c}µ ˜ µ ˜ ˜ ˜ fact p(a,c) ˜R’:˜p(X,Y)˜:-p(Y,X)

20

58

Αντιπαράδειγµα

Στο τέταρτοεπίπεδοπροκύπτειαντίφαση=>βρήκααναίρεσητουαρχικούgoal=>υπάρχειτουλάχιστοέναfactπουικανοποιείτοgoal,τοοποίολέωαντιπαράδειγµαΠράγµατι,τοp(a,b)προκύπτειωςτοp(a,X)θ1θ2θ3θ4Γενικά,τοαντιπαράδειγµα ενόςgoalG=¬p(t1,…,tn)προκύπτειωςτοp(t1,…,tn)θ1θ2...θκ

ΚάθεαναίρεσηυπολογίζειακριβώςένααντιπαράδειγµαΑποδεικνύεταιότιµπορούµεναυπολογίσουµεόλατααντιπαραδείγµατα καιτότεηSLD-refutationυπολογίζειακριβώςταίδιαfactsµετιςforwardκαιbackwardchaining τεχνικέςπουπροείπαµε.

APPENDIX

60

LeastFixpoint Iteration

Υπάρχει µιαωραιότατηθεωρίαπουδενπρολαβαίνουµεναπούµε...