1 / 39

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

Βάσεις Γνώσεων. Λογική και Σημασιολογία Πάνος Βασιλειάδης pvassil@cs.uoi.gr Μάρτης 200 3. www.cs.uoi.gr/~pvassil/courses/knowledge_bases/. Employee. Works On. Project. Σημασιολογία – μια πρώτη προσέγγιση. Αρχική απόδοση σημασιολογίας (σε φυσική γλώσσα ):

geoff
Télécharger la présentation

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

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ΒάσειςΓνώσεων Λογική και Σημασιολογία Πάνος Βασιλειάδης pvassil@cs.uoi.grΜάρτης 2003 www.cs.uoi.gr/~pvassil/courses/knowledge_bases/

  2. Employee Works On Project Σημασιολογία – μια πρώτη προσέγγιση • Αρχική απόδοση σημασιολογίας (σε φυσική γλώσσα): • Υπάρχουν δύο τύποι οντοτήτων Employee & Project και ένας τύπος συσχετίσεων WorksOn μεταξύ τους. • Εμφανώς, όλοι καταλαβαίνουμε τι σημαίνει το διάγραμμα • Όμως, ο ορισμός είναι ασαφής και μη τυπικός!

  3. Employee Works On Project Σημασιολογία – λίγο πιο τυπικά • Employee  All • Project  All • WorksOn Employee X Project • Υπάρχει ένα σύνολο πραγμάτων Allτου οποίου υποσύνολα είναι τα σύνολα Employee&Project. Επιπλέον, η συσχέτιση worksOnείναι υποσύνολο όλων των πιθανών συνδυασμών από Employee&Project. • Μπορούμε και καλύτερα: domains + schema!

  4. Σημασιολογία -- Πεδία Ορισμού και Σχήμα • Employee  empId X empName X salary • empId  Integer //μπορούσε καιEmpId  ID • empName  String • salary  Integer • Project  prjId X budget • prjId  Integer • budget  Integer • WorksOn empId X prjId

  5. Σημασιολογία -- Πεδία Ορισμού και Σχήμα • Employee  empId X empName X salary • empId  Integer • empName  String • salary  Integer • Project  prjId X budget • prjId  Integer • budget  Integer • WorksOn empId X prjId • Ήδη έχουμε: • Διαισθητική αντίληψη του πώς γράφουμε... • Σημειογραφία • Entity/Relationship Types • Domains • Πληροφορία σχήματος • Όμως: • Τυπική γλώσσα? • Υπονοούμενη σημασιολογία? • Δυνατότητα λογικών συλλογισμών?

  6. Περιορισμοί -- Πρωτεύοντα κλειδιά i,n1,s1,n2,s2 (i,n1,s1),(i,n2,s2)Employee=>n1=n2s1=s2 • Με βάση αυτό το κολπάκι, ενίοτε θα αυθαιρετούμε και θα χαρακτηρίζουμε τους Employees από το empId τους και μόνο

  7. Σημασιολογία? • Έχουμε ήδη ορίσει τη δομή και τους περιορισμούς που διέπουν τα ER διαγράμματά μας • Ακόμα δεν έχουμε τυπική γλώσσα, αλλά μια ιδέα της • Δεν έχουμε ούτε τρόπο να ξεφύγουμε από την αξία των ονομάτων. Π.χ., έχει σημασία ότι χρησιμοποιώ το όνομα Employee και όχι Louloudaki! • Όταν ορίσουμε μια γλώσσα τυπικά, θα μπορούμε να εξάγουμε λογικά συμπεράσματα για το μοντέλο μας, χωρίς βοήθεια από την ονοματολογία τους στο φυσικό κόσμο.

  8. Κατηγορηματικός Λογισμός (Predicate Logic) Predicate Logic Θα δούμε ότι έχουμε ωραία εργαλεία και απλές γλώσσες... Prolog Datalog-neg

  9. ΠΡΟΣΟΧΗ: στη συνέχεια,ΚΑΘΕ ΛΕΞΟΥΛΑ θα παίζει ρόλο!!! Μη φοβάστε! Ρωτάτε! Κρατάτε σημειώσεις! Ξυπνήστε...

  10. Predicate Logic: Terms • Έστω Fiμια οικογένεια από σύμβολα συναρτήσεων(function symbols) τ.ω.: • Τα σύμβολα συναρτήσεων είναι διακριτά μεταξύ τους (pairwise disjoint) • Η οικογένεια Fiαποτελείται από όλες τις συναρτήσεις που έχουν arity (αριθμό ορισμάτων) ίσο με i • Έστω Xένα πεπερασμένο σύνολο από μεταβλητέςΧ={x1,x2,…}που είναι διακριτές με όλες τις συναρτήσεις. • Δεχόμαστε να υπάρχει και η οικογένεια F0(με μηδενικό αριθμό ορισμάτων) η οποία θα χρησιμοποιηθεί για να εκφράσουμε σταθερές (constants)

  11. Predicate Logic: Terms • Κάθε kF0είναι term (οι σταθερές είναι όροι) • Κάθε xXείναι term (οι μεταβλητές είναι όροι) • Αν fFk (με arity ίση με k) και t1,…,tkείναι terms, τότε f (t1,…,tk)είναι term • Τίποτε άλλο δεν είναι term

  12. Predicate Logic: Terms • Κάθε kF0είναι term (οι σταθερές είναι όροι) • 123 είναι term.‘μουστάκιας’ είναι term επίσης ... • Κάθε xXείναι term (οι μεταβλητές είναι όροι) • X είναι term, MyEmpId είναι term • Αν fFk (με arity ίση με k) και t1,…,tkείναι terms, τότε f (t1,…,tk)είναι term • Multiply(radius,3.14)έχει arity 2 και F2

  13. Predicate Logic: Terms • Ένας term είναι μια έκφραση που μπορεί να αποτιμηθεί σε μια τιμή • 123 είναι term.‘μουστάκιας’ είναι term επίσης ... • X είναι term, MyEmpId είναι term • Multiply(radius,3.14)

  14. Predicate Logic: Atomic formulas • Έστω Piμια οικογένεια από σύμβολα κατηγορημάτων (predicate symbols), ώστε κάθε pPkέχει arity ίση με k. • Αν t1,…,tkείναι terms, τότε p(t1,…,tk)είναι atomic formula ή predicate • employee(123,’Makis’,30000000000) • champion(X)

  15. Predicate Logic: Atomic formulas • Ένα predicate έχει τιμή trueή false. • Υποθέτουμε, δηλ., δύο ειδικές σταθερέςtrueκαι false, οι οποίες είναι, δηλ., συναρτήσεις με arity 0 (και ανήκουν στο F0) • Επίσης, υποθέτουμε δύο σύνολα TERMS και AFμε όλους τους terms και τις atomic formulas.

  16. Predicate Logic: Formulas • Το σύνολο των well-formed formulas (WFF)ορίζεται ως εξής: • Κάθε ατομική φόρμουλα είναι wwf , ήτοι tAF=>tWFF • Αν f1και f2 είναι wff τότε είναι επίσης wff οι εξής εκφράσεις: • f1 and f2ήf1f2 • f1 or f2ήf1f2 • not f1ήf1

  17. Predicate Logic: Formulas • Αν fWFFκαι xX τότε είναι επίσης wff οι εξής εκφράσεις: • foreach x f ήX f • exists x f ήX f • Τίποτε άλλο δεν είναι WFF • Δικαιούμαι επίσης να λέω: • f1==>f2 αντί για (f1)f2

  18. Παραδείγματα • (p(X,Y)  (q(X) F)) • (p(X,Z)  (q(Y)T)) (Xp(X,Z)=> q(Y)). • ((X p(X) Y q(Y)) <=> X,Y (p(X) q(Y)))

  19. Αντιπαραδείγματα •  X q. • p,fp(X,f(Y)). •  X f(X).

  20. Ελεύθερες & Δεσμευμένες Μεταβλητές • Δεσμευμένη (bound)μεταβλητή: όταν βρίσκεται μέσα στο scope κάποιου quantifier • Ελεύθερη (free),όταν δεν είναι δεσμευμένη • Z (X(p(X)q(X)) Xr(X)) => XT(f(X),Z) • Ζ: free(εκτός του scope τουZ) • Χ: bound(3 φορές, σε διαφορετικό scope τη φορά)

  21. Predicate Logic: Universe of Discourse(UoD) • Όλες οι φόρμουλες που γράφουμε, πρέπει με κάποιο τρόπο να αντιστοιχίζονται σε κάποιου είδους σύνολο από τον πραγματικό κόσμο (ή μάλλον, από τα μαθηματικά) • Έτσι, μπορούμε να εφεύρουμε κανόνες οι οποίοι να μεταφράζουν τις φόρμουλές μας σε σχέσεις πάνω σε αυτό το σύνολο. Αν κάτι είναι σωστό στο πεδίο αναφοράς, τότε είναι σωστή και η αντίστοιχη φόρμουλά του...

  22. Predicate Logic: Interpretation • Ερμηνεία(interpretation)είναι μια συνάρτηση που εφευρίσκουμε είτε με το μυαλό μας, είτε αυτόματα και η οποίααντιστοιχεί: • Μια μεταβλητή Χ σε μια τιμή του πεδίου αναφοράς D • Ένα σύμβολο συνάρτησης fσε μια συνάρτηση του ιδίου arity στο πεδίο αναφοράς, ήτοι, g:Dk->D • Ένα predicate Pσε μια σχέσηr Dk • Μια wff φ σε μια τιμή true/false

  23. Predicate Logic: Interpretation

  24. Πρόβλημα • Δίνεται: φ WFF • Ερώτηση: η φ είναι true ή false ? • Τεχνική: Να μεταφράσουμε τη φ σε αντικείμενα του UoD

  25. Predicate Logic: Interpretation • Συνάρτηση αποτίμησης όρωνû:TERM->D • Συνάρτηση αλήθειας vu: WFF->{0,1}τ.ώ. • vu(p(t1,...,tk)) = 1 iff (û(t1),..., û(tk))  r • vu(p(t1,...,tk)) = 0 iff (û(t1),..., û(tk))  r • f= (f1 f2), τότε vu(f)=min(vu(f1),vu(f2)) • f= (f1  f2), τότε vu(f)=max(vu(f1),vu(f2)) • f= (f1), τότε vu(f)=1-vu(f1) • f= (X f1), τότε vu(f)=1 iff vu’(f1)=1 για κάθε τιμή dστο D • f = (X f1), τότε vu(f)=1 iff vu’(f1)=1 για τουλάχιστον μία τιμή dστο D

  26. Παράδειγμα • p(a) • Interpretation: D = {1,2}. • Assignment του a: 1. • Assignment του p: p(1) = true και p(2) = false. • Σε αυτή την interpretation, η wff είναι true. • Interpretation: D και p όπως πριν, αλλά a: 2. • Η wff είναι false σ’ αυτή την interpretation.

  27. Παράδειγμα • Xp(X)καιX p(X) • Και στις δύο interpretations, η πρώτη wff είναι false και η δεύτερη true. • Ιnterpretation:D = {0,1,2,...}. • Assignment: p(X) είναι η σχέση «περιττό X». •  Xp(X) γίνεται false και  X p(X) γίνεται true. • Assignment: p(X) είναι η σχέση «X >=0», και οι δύο wff είναι true.

  28. Παράδειγμα • XYp(X,Y)καιYXp(X,Y) • Interpretation: D = {0,1,2,…}. • Assignment: p(X,Y) η σχέση X >= Y. • Και οι δύο wff είναι true. • Interpretation: D = {…,-2,-1,0,1,2,…}. • p(X,Y) ίδια. • Η πρώτη wff είναι true και η άλλη false!

  29. Ορισμοί • Μια interpretation για μια wff είναι modelαν η wff είναι true με αυτή την interpretation • Μια interpretation για μια wff είναι counter-modelαν η wff είναι false με αυτή την interpretation • Μια wff είναι valid(ή ταυτολογία) αν είναι true για κάθε interpretation

  30. Ορισμοί • Μια wff είναι satisfiableαν η wff είναι true με κάποια interpretation • Μια wff είναι unsatisfiableαν η wff είναι false με όλες τις interpretation

  31. Λογική συνεπαγωγή • Έστω ένα (πιθανώς άπειρο) σύνολο από wffΣ και μια wff φWFF • Η φσυνεπάγεται λογικά από το Σ Σ ╞ φ αν οποιαδήποτε interpretation ικανοποιεί όλες τις wff του Σ ικανοποιεί και τηνφ. • ΠΡΟΣΟΧΗ: αφορά όλες τις [πιθανόν άπειρες] interpretations

  32. Παραδείγματα • {X p(X)}╞ p(a). • {p(a)}╞Xp(X). • {X(p(X)=>q(X)), Xp(X)}╞X q(X)

  33. Ερώτημα • Πώς μπορώ να αποδείξω αν μια wff φ προκύπτει από ένα σύνολο από wff Σ? • Αν Σ το είναι πεπερασμένο, τότε για να πω Σ ╞ φ αρκεί να δείξω ότι Σ => φ. Δύσκολο... • Αν είναι άπειρο το Σ, υπάρχει θεώρημα, που λέει ότι αν Σ ╞ φ, τότε για κάποιο πεπερασμένο Σ0Σ, Σ0 ╞ φ. Πάλι όμως είναι δύσκολο... • Θα ήθελα επίσης να το κάνω και αποδοτικά ...

  34. Συντακτική παραγωγή • Ότι προκύπτει λογικά στη βάση των interpretations, θα θέλαμε εμείς να μπορούμε να το υπολογίσουμε συντακτικά: ήτοι, δοθείσης μια δήλωσης, να εξάγουμε συμπεράσματα με βάση κάποιους συντακτικούς κανόνες • Κανόνας παραγωγής: Ότι θεωρώ true f1, f2, … g1, g2, … Ότι προκύπτει επειδή τα fi είναι true…

  35. Συντακτική παραγωγή • Logical calculus: ένα σύνολο κανόνων παραγωγής • Αν (και μόνο αν) μια φόρμουλα fμπορεί να παραχθεί συντακτικά από το σύνολο Σ μέσω κάποιου κανόνα παραγωγής του λογισμού LCγράφουμε Σ ├f • ΠΡΟΣΟΧΗ: είναι Σ ├ φσυντακτική παραγωγή, ενώ Σ ╞ φ είναι λογική συνεπαγωγή

  36. Α, (Α=>Β) Β Παράδειγμα • Modus ponens: • ΈστωΣ = {male, male=>human, human=>living} • Τότε: • Σ├ human • Σ={human} ├ living • υποθέτοντας ότι male,human,living είναι predicates με arity 0

  37. Πλήρης και συνεπής λογισμός • Ένας λογισμός LC είναι πλήρης και συνεπής αν για οποιοδήποτε συμπέρασμα φ που παράγεται συντακτικά από ένα σύνολο wff Σ, το ίδιο συμπέρασμα προκύπτει και λογικά Σ ├ φ αν και μόνο αν Σ ╞ φ • Το κέρδος είναι ότι για να υπολογίσουμε λογικές συνεπαγωγές, αρκεί να εφαρμόσουμε συντακτικούς κανόνες παραγωγής

  38. Παραγωγές Για να δείξω ότι το συμπέρασμα Α παράγεται από το σύνολο wffΓ, χρειάζομαι: • Ένα (άπειρο) σύνολο από αξιώματα Δ • Ένα κανόνα παραγωγής (π.χ., modus ponens) • Μια πεπερασμένη σειρά από wff Α1,...,Αnτ.ω. • Α = Αn • Για κάθε Αi, είτε ΑiΓΔ, είτε προκύπτει με modus ponens από Aj, Ak, με j,k<i

  39. Συνέπεια • Έστω ένα σύνολο από wffΣ . Το Σείναι συνεπές αν δεν υπάρχει wff φWFF τ.ω. Σ ╞ φκαι Σ ╞ (not φ) • Gödel (1936): δεν υπάρχει μέθοδος που να μας εγγυάται ότι μπορούμε να αποκριθούμε αν ένα σύνολο από wff Σ είναι συνεπές. • Οπότε, κι εμείς πήραμε υποσύνολα των πιθανών wff και υποσύνολα των λογικών συνεπαγωγών και φτιάξαμε την Prolog…

More Related