Βάσεις Γνώσεων Άρνηση στην Datalog: Datalog  Πάνος Βασιλειάδης Μάιος 2003

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Κατηγορηματικός Λογισμός
Advertisements

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Γραφήματα & Επίπεδα Γραφήματα
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
ΑΝΑΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ ΤΡΙΣΔΙΑΣΤΑΤΟΥ ΠΡΟΤΥΠΟΥ ΜΕ ΑΥΘΑΙΡΕΤΑ ΛΑΘΗ ΣΙΑΚΑΒΕΛΗ ΑΡΓΥΡΩ ΑΜ:1229.
Βάσεις Γνώσεων Datalog Proof Theory – Evaluation Paradigms Πάνος Βασιλειάδης Απρίλης 2003
Άρνηση στο Λ.Π.. Αρνητικά γεγονότα/γνώση δεν περιγράφονται στο πρόγραμμα. Απλώς δεν περιλαμβάνονται στο πρόγραμμα. Παράδειγμα –Γράφουμε: father (bob,
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Μια Μπεϋζιανή Μέθοδος για την Επαγωγή Πιθανοτικών Δικτύων από Δεδομένα ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧ/ΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ B. Μεγαλοοικονόμου, Χ. Μακρής.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Λειτουργικά Συστήματα ΑΔΙΕΞΟΔΑ. 3.1 Εισαγωγή  Αδιέξοδο = ένα σύνολο από διεργασίες που δημιουργούν μια κυκλική αλυσίδα όπου κάθε process στην αλυσίδα.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Προσεγγιστικοί Αλγόριθμοι
Βάσεις Γνώσεων Σχεσιακή άλγεβρα, κατηγοριοποίηση και αποτίμηση προγραμμάτων στην Datalog Πάνος Βασιλειάδης Μάιος 2003
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΚΕΦΑΛΑΙΑ 7.4 – 7.6 NP ΠΛΗΡΟΤΗΤΑ.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Probabilistically Checkable Proofs Theorem (PCP THEOREM) Ομιλητής Ασημακόπουλος (Ευ)Άγγελος.
ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΚΕΦΑΛΑΙΑ 7.4 – 7.6 NP ΠΛΗΡΟΤΗΤΑ.
1 Βέλτιστη δρομολόγηση (optimal routing) Αντιμετώπιση της δρομολόγησης σαν «συνολικό» πρόβλημα βελτιστoποίησης. Γιατί: Η αλλαγή της δρομολόγησης μιας συνόδου.
Ελάχιστο Συνδετικό Δέντρο
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα Data Engineering Lab 1.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Υπολογιστική Πολυπλοκότητα Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
1 Κατανεμημένοι αλγόριθμοι για την εύρεση γεννητικών δέντρων (spanning trees) 1.Ένας σταθερός κόμβος στέλνει ένα ‘start’ μήνυμα σε κάθε γειτονική του ακμή.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 4 Δ ΕΝΔΡΑ Σταύρος Δ. Νικολόπουλος 1.
Κεφάλαιο 10 – Υποπρογράμματα
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ §3.7 ΤΑΞΙΝΟΜΗΣΗ
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Θεωρία Υπολογισμού Κλάσεις P και NP.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικοποίηση Σχήματος.
Δένδρα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 3: Δένδρα.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Συνδεσμικότητα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΤΕΙ Αθήνας: Σχολή ΤΕΦ: Τμήμα Ναυπηγικής Εφαρμογές Η/Υ στην Ναυπηγική ΙΙ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ NA0703C39 Εξάμηνο Ζ’ Διδάσκων Κωνσταντίνος Β. Κώστας Παρουσίαση.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
ΗΛΕΚΤΡΙΚΕΣ ΜΕΤΡΗΣΕΙΣ ΣΦΑΛΜΑΤΑ ΜΕΤΡΗΣΗΣ.
Γράφημα είναι μία διμελής σχέση επί ενός συνόλου την οποία παριστάνουμε με γραφικό τρόπο.
ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ II Καθ. Πέτρος Π. Γρουμπός Διάλεξη 8η Στοχαστικά Σήματα - 1.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Βέλτιστη δρομολόγηση (optimal routing)
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Λήμμα άντλησης Πως αποφασίζουμε αποδεικνύουμε ότι μία γλώσσα δεν είναι κανονική; Δυσκολότερο από την απόδειξη ότι μια γλώσσα είναι κανονική. Γενικότερο.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Συναρτησιακές Εξαρτήσεις
Διάλεξη 9: Συναγωγή και διάχυση (συνέχεια)
Επανάληψη.
Η τακτοποίηση των κόμβων μίας δομής με μία ιδιαίτερη σειρά είναι μία πολύ σημαντική λειτουργία που ονομάζεται ταξινόμηση (sorting) ή διάταξη (ordering).
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Μεταγράφημα παρουσίασης:

Βάσεις Γνώσεων Άρνηση στην Datalog: Datalog  Πάνος Βασιλειάδης Μάιος

2 Γενική ιδέα Μέχρι στιγμής δεν έχουμε εισάγει επισήμως την άρνηση στη Datalog Τα προβλήματα που αντιμετωπίζουμε είναι αντίστοιχα με αυτά που είχαμε όταν εισάγαμε built-in predicates Γενικώς, όμως, η δυσκολία είναι μεγαλύτερη στην αντιμετώπισή τους.

3 Closed World Assumption (CWA) Η αρχή της υπόθεσης του κλειστού κόσμου ουσιαστικά λέει πως οτιδήποτε δεν προκύπτει λογικά από τα δεδομένα της βάσης δεδομένων μας είναι ψευδές. Με άλλα λόγια, αληθή είναι μόνο τα στοιχεία που είτε είναι αποθηκευμένα στη ΒΔ, είτε μπορούν να συναχθούν με κάποιους λογικούς κανόνες από αυτά.

4 Closed World Assumption (CWA) «Αν ένα fact δεν προκύπτει λογικά από ένα σύνολο από Datalog clauses, τότε η άρνησή του είναι αληθής» F είναι θετικό literal και S ╞ F S ╞ CWA F: F είναι αρνητικό literal και S ╞ F

5 Datalog  Η Datalog  ορίζεται ως η γλώσσα που επεκτείνει την απλή Datalog, επιτρέποντας και αρνητικά literals στο body των κανόνων Η Datalog  έχει το πρόβλημα ότι τα προγράμματά της μπορούν να έχουν περισσότερα του ενός minimal Herbrand models

6 Παράδειγμα undergraduate(X) :- student(X),  graduate(X) με EDB E = {student(a), student(b), student(c), student(d), student(d), graduate(a), graduate(c)} και Herbrand models H1= E  {undergraduate(b), undergraduate(d), undergraduate(e)} H1= E  {undergraduate(b), undergraduate(d), undergraduate(e), undergraduate(f)}

7 Datalog  Το πρόβλημα δεν είναι μόνο η έλλειψη ενός minimal μοντέλου, αλλά και ο απειρισμός των δεδομένων. Π.χ., έστω boring(X) :-  interesting(X) Κάθε Herbrand model για τον παραπάνω κανόνα έχει άπειρο μέγεθος Προφανώς πρέπει να επεκτείνουμε την έννοια της ασφάλειας και για την περίπτωση της άρνησης.

8 Ασφαλή προγράμματα στην Datalog  Απαιτούμε κάθε μεταβλητή που εμφανίζεται σε ένα literal με άρνηση είτε να εμφανίζεται και σε κάποιο literal χωρίς άρνηση, είτε να ισούται με κάποια μεταβλητή που εμφανίζεται σε κάποιο literal χωρίς άρνηση, είτε να ισούται με κάποια σταθερά

9 Κι άλλα προβλήματα... Η CWA, ακόμα και με ασφαλή προγράμματα, δεν λύνει όλα τα προβλήματα. Π.χ., S: q(b) :-  p(a) Το πρόγραμμα είναι ασφαλές, αφού αφορά μόνο σταθερές. Δεν μπορούμε να συνάγουμε ούτε q(b) ούτε p(a). Άρα S ╞ CWA  p(a) αλλά και S ╞ CWA  q(b) (CWA). Δυστυχώς όμως, κανένα Herbrand model δεν μπορεί να έχει και  p(a) και  q(b) ταυτοχρόνως. Άρα, χρειαζόμαστε κάτι πιο ισχυρό από την CWA.

10 Stratified Datalog H στρωματοποιημένη Datalog (stratification = διαστρωμάτωση) επιβάλει συγκεκριμένη σειρά με την οποία αποτιμούμε τα predicates σε ένα κανόνα. Συγκεκριμένα, αποτιμούμε πρώτα τα αρνητικά literals, και όπως θα ήταν αναμενόμενο, αποτιμούμε πρώτα τα bodies και μετά τα heads των κανόνων. Σε ότι αφορά ολόκληρα προγράμματα, ο στόχος είναι να αποτιμάται ένα head, αφού έχουν αποτιμηθεί όλα τα αρνητικά literals του προγράμματος και όποιο άλλο predicate απαιτείται για να αποτιμηθούν αυτά.

11 Επεκτεταμένος Γράφος Εξάρτησης Για ένα πρόγραμμα Datalog  ο επεκτεταμένος γράφος εξάρτησης έχει για κόμβους τα predicates του IDB και για κατευθυνόμενες ακμές τα ζεύγη από literals όπου το p βρίσκεται στο head ενός κανόνα και το q στο body. Αν το q είναι αρνητικό literal σε κάποιο κανόνα, τότε η ακμή επιγράφεται με .

12 Παράδειγμα – Σιδηροδρομικός Σταθμός EDB: link(A,B) υπάρχει (κατευθυνόμενη) γραμμή Α,Β IDB: station(X), linked(A,B) [αν υπάρχει το link(A,B) ή το link(Β,Α) στη ΒΔ], connected(A,B) [υπάρχει δρομολόγιο Α Β] cutpoint (Χ,Α,Β) [κάθε δρομολόγιο από Α Β περνά υποχρεωτικά από Χ], existscutpoint(A,B) [υπάρχει αντίστοιχο Χ] circumvent(X,A,B) [υπάρχει δρομολόγιο Α που ΔΕΝ περνά από το Χ], safely-connected(A,B) [δεν υπάρχει cutpoint για Α,Β]

13 Παράδειγμα cutpoint(X,A,B) :- connected(A,B), station(X),  circumvent(X,A,B) circumvent(X,A,B) :- linked(A,B),station(X), X  A, X  B circumvent(X,A,B) :- circumvent(X,A,C), circumvent(X,C,B) safely-connected(A,B) :- connected(A,B),  existscutpoint(A,B) existscutpoint(A,B) :- cutpoint(X,A,B), station(X) linked(A,B) :- link(A,B) linked(A,B) :- link(B,A) connected(A,B) :- linked(A,B) connected(A,B) :- connected(A,C), linked(C,B) station(X) :- linked(X,Y) safely-connected cutpoint connected circumvent station linked existscutpoint  

14 Επεκτεταμένος Γράφος Εξάρτησης Αν υπάρχει μονοπάτι από το p στο q το οποίο περνά από ακμή με επιγραφή , τότε το q πρέπει να αποτιμηθεί εξ’ ολοκλήρου πριν από το p. Π.χ., το safely-connected πρέπει να αποτιμηθεί μετά από την πλήρη αποτίμηση του existscutpoint. Ομοίως, το existscutpoint μπορεί να αποτιμηθεί μόνο αφού το circumvent έχει αποτιμηθεί πλήρως.

15 Διαστρωμάτωση (stratification) Μια διαστρωμάτωση (stratification) ενός προγράμματος είναι η κατανομή των IDB predicates του προγράμματος σε υποσύνολα S 1, …, S n, τ.ώ.: Αν p i  S i και q  S j, και υπάρχει ακμή με επιγραφή , τότε i>j Αν p i  S i και q  S j, και υπάρχει ακμή, τότε i  j Τα σύνολα αποκαλούνται και στρώματα (strata) του προγράμματος

16 Διαστρωμάτωση (stratification) Αποτιμούμε πρώτα το στρώμα S1, μετά το S2 κ.ο.κ. Με άλλα λόγια, αν κάποιο predicate p είναι στο head ενός κανόνα και το κάποιο άλλο predicate q στο body, τότε το q είναι σε μικρότερο στρώμα και θα αποτιμηθεί πλήρως πριν το p. Αν δεν υπάρχει άρνηση, μπορούμε να τα αποτιμήσουμε εν παραλλήλω, αλλά ποτέ το q μετά το p. Υπάρχουν περισσότερες από μία διαστρωματώσεις για ένα πρόγραμμα.

17 Παράδειγμα Stratification 1 S1: {linked, station, circumvent, connected} S2: {cutpoint, existscutpoint} S3: {safely-connected} Stratification 2 S1: {linked, station} S2: {circumvent, connected} S3: {cutpoint, existscutpoint} S4: {safely-connected} κ.ο.κ.... safely-connected cutpoint connected circumvent station linked existscutpoint  

18 Διαστρωμάτωση (stratification) Θεώρημα: ένα πρόγραμμα είναι στρωματοποιημένο (stratified), ήτοι επιδέχεται στρωματοποίησης, αν και μόνο αν δεν υπάρχει κύκλος με ακμή που επιγράφεται με .

19 Αντιπαραδείγματα p(X,Y) :-  p(Y,X), q(X,Y) p(X,Y) :-  s(Y,X), h(X,Y) s(X,Y) :- p(X,Z), p(Z,Y) p  q p  h s

20 Αλγόριθμος εύρεσης στρωματοποίησης Για κάθε ζεύγος ακμών για το οποίο υπάρχει μονοπάτι από το p στο q, που περνά από , βάλε μια απευθείας ακμή με επιγραφή . i=1 Όσοι κόμβοι δεν έχουν εξερχόμενες ακμές με επιγραφή  μπαίνουν στο στρώμα i. Διέγραψε τους κόμβους αυτούς και τις ακμές τους. Αύξησε το i κατά ένα και επανέλαβε, μέχρι να τελειώσουν οι κόμβοι

21 Παράδειγμα  safely-connected cutpoint connected circumvent station linked existscutpoint 

22  Παράδειγμα safely-connected cutpoint connected circumvent station linked existscutpoint  Για το cutpoint έχω μονοπάτι που περνά από  για τους circumvent, station, linked Κάτωθι φαίνεται η επέκταση του γράφου για το cutpoint  cutpoint circumvent station linked  

23  Παράδειγμα safely-connected cutpoint connected circumvent station linked existscutpoint  Για το safely- connected έχω για όλους τους κόμβους    

24  Παράδειγμα safely-connected cutpoint connected circumvent station linked existscutpoint  Ζωγραφίζω μόνο τις επιπλέον ακμές λόγω cutpoint για να μην υπερφορτωθεί το σχήμα  

25  Παράδειγμα safely-connected cutpoint connected circumvent station linked existscutpoint  Stratum 1: τα predicates που δεν έχουν εξερχόμενες ακμές με  Ήτοι, S1={station, linked, circumvent, connected} Στη συνέχεια, διαγράφω τους κόμβους του S1  

26 Παράδειγμα safely-connected cutpoint existscutpoint  Θυμίζω ότι για να μη βαρύνει το σχήμα δεν βλέπαμε τις ακμές με  του safely-connected προς όλους τους άλλους κόμβους

27 Παράδειγμα safely-connected cutpoint existscutpoint  Κανονικά ο γράφος ήταν όπως φαίνεται δίπλα 

28 Παράδειγμα S1={station, linked, circumvent, connected} Stratum 2: τα predicates που δεν έχουν εξερχόμενες ακμές με  Ήτοι, S2={cutpoint, existscutpoint} safely-connected cutpoint existscutpoint  

29 Παράδειγμα safely-connected S1={station, linked, circumvent, connected} S2={cutpoint, existscutpoint} S3={safely-connected}

30 Θεώρημα Αποδεικνύεται ότι ένα στρωματοποιημένο Datalog  πρόγραμμα έχει ένα ελάχιστο Herbrand model και μάλιστα ανεξάρτητο από την επιλογή της στρωματοποίησης.