Upload
geoff
View
35
Download
0
Embed Size (px)
DESCRIPTION
Βάσεις Γνώσεων. Λογική και Σημασιολογία Πάνος Βασιλειάδης [email protected] Μάρτης 200 3. www.cs.uoi.gr/~pvassil/courses/knowledge_bases/. Employee. Works On. Project. Σημασιολογία – μια πρώτη προσέγγιση. Αρχική απόδοση σημασιολογίας (σε φυσική γλώσσα ): - PowerPoint PPT Presentation
Citation preview
Βάσεις Γνώσεων
Λογική και ΣημασιολογίαΠάνος Βασιλειάδης
[email protected] Μάρτης 2003
www.cs.uoi.gr/~pvassil/courses/knowledge_bases/
2
Σημασιολογία – μια πρώτη προσέγγιση
Αρχική απόδοση σημασιολογίας (σε φυσική γλώσσα):
Υπάρχουν δύο τύποι οντοτήτων Employee & Project και ένας τύπος συσχετίσεων WorksOn μεταξύ τους.
Εμφανώς, όλοι καταλαβαίνουμε τι σημαίνει το διάγραμμα
Όμως, ο ορισμός είναι ασαφής και μη τυπικός!
Employee
Project
WorksOn
3
Σημασιολογία – λίγο πιο τυπικά
Employee AllProject AllWorksOn Employee X Project
Υπάρχει ένα σύνολο πραγμάτων All του οποίου υποσύνολα είναι τα σύνολα Employee & Project. Επιπλέον, η συσχέτιση worksOn είναι υποσύνολο όλων των πιθανών συνδυασμών από Employee & Project.
Μπορούμε και καλύτερα: domains + schema!
Employee
Project
WorksOn
4
Σημασιολογία -- Πεδία Ορισμού και Σχήμα
Employee empId X empName X salaryempId Integer //μπορούσε και EmpId IDempName Stringsalary Integer
Project prjId X budgetprjId Integerbudget Integer
WorksOn empId X prjId
5
Σημασιολογία -- Πεδία Ορισμού και Σχήμα
Employee empId X empName X salary
empId IntegerempName Stringsalary Integer
Project prjId X budgetprjId Integerbudget Integer
WorksOn empId X prjId
Ήδη έχουμε:Διαισθητική αντίληψη του πώς γράφουμε...
Σημειογραφία
Entity/Relationship Types
Domains
Πληροφορία σχήματος
Όμως:Τυπική γλώσσα?
Υπονοούμενη σημασιολογία?
Δυνατότητα λογικών συλλογισμών?
6
Περιορισμοί -- Πρωτεύοντα κλειδιά
Με βάση αυτό το κολπάκι, ενίοτε θα αυθαιρετούμε και θα χαρακτηρίζουμε τους Employees από το empId τους και μόνο
i,n1,s1,n2,s2 (i,n1,s1),(i,n2,s2)Employee=>n1=n2s1=s2
7
Σημασιολογία?
Έχουμε ήδη ορίσει τη δομή και τους περιορισμούς που διέπουν τα ER διαγράμματά μας
Ακόμα δεν έχουμε τυπική γλώσσα, αλλά μια ιδέα της
Δεν έχουμε ούτε τρόπο να ξεφύγουμε από την αξία των ονομάτων. Π.χ., έχει σημασία ότι χρησιμοποιώ το όνομα Employee και όχι Louloudaki!
Όταν ορίσουμε μια γλώσσα τυπικά, θα μπορούμε να εξάγουμε λογικά συμπεράσματα για το μοντέλο μας, χωρίς βοήθεια από την ονοματολογία τους στο φυσικό κόσμο.
8
Κατηγορηματικός Λογισμός (Predicate Logic)
Θα δούμε ότι έχουμε ωραία εργαλεία και απλές γλώσσες...
Predicate Logic
Prolog
Datalog-neg
ΠΡΟΣΟΧΗ: στη συνέχεια,
ΚΑΘΕ ΛΕΞΟΥΛΑ θα παίζει ρόλο!!!
Μη φοβάστε!
Ρωτάτε!
Κρατάτε σημειώσεις!
Ξυπνήστε...
10
Predicate Logic: Terms
Έστω Fi μια οικογένεια από σύμβολα συναρτήσεων (function symbols) τ.ω.:
Τα σύμβολα συναρτήσεων είναι διακριτά μεταξύ τους (pairwise disjoint)
Η οικογένεια Fi αποτελείται από όλες τις συναρτήσεις που έχουν arity (αριθμό ορισμάτων) ίσο με i
Έστω X ένα πεπερασμένο σύνολο από μεταβλητές Χ={x1,x2,…} που είναι διακριτές με όλες τις συναρτήσεις.
Δεχόμαστε να υπάρχει και η οικογένεια F0 (με μηδενικό αριθμό ορισμάτων) η οποία θα χρησιμοποιηθεί για να εκφράσουμε σταθερές (constants)
11
Predicate Logic: Terms
Κάθε kF0 είναι term (οι σταθερές είναι όροι)
Κάθε xX είναι term (οι μεταβλητές είναι όροι)
Αν fFk (με arity ίση με k) και t1,…,tk είναι terms, τότε f (t1,…,tk) είναι term
Τίποτε άλλο δεν είναι term
12
Predicate Logic: Terms
Κάθε kF0 είναι term (οι σταθερές είναι όροι)
123 είναι term. ‘μουστάκιας’ είναι term επίσης ...
Κάθε xX είναι term (οι μεταβλητές είναι όροι)X είναι term, MyEmpId είναι term
Αν fFk (με 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 είναι termMultiply(radius,3.14)
14
Predicate Logic: Atomic formulas
Έστω Pi μια οικογένεια από σύμβολα κατηγορημάτων (predicate symbols), ώστε κάθε pPk έχει 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 , ήτοι tAF=>tWFF
Αν f1 και f2 είναι wff τότε είναι επίσης wff οι εξής εκφράσεις:
f1 and f2 ή f1 f2
f1 or f2 ή f1 f2
not f1 ή f1
17
Predicate Logic: Formulas
Αν fWFF και xX τότε είναι επίσης wff οι εξής εκφράσεις:
foreach x f ή X fexists x f ή X f
Τίποτε άλλο δεν είναι WFF
Δικαιούμαι επίσης να λέω: f1==>f2 αντί για (f1) f2
18
Παραδείγματα
(p(X,Y) (q(X) F))
(p(X,Z) (q(Y)T)) (X p(X,Z)=> q(Y)).
((X p(X) Y q(Y)) <=> X,Y (p(X) q(Y)))
19
Αντιπαραδείγματα
X q.
p,f p(X,f(Y)).
X f(X).
20
Ελεύθερες & Δεσμευμένες Μεταβλητές
Δεσμευμένη (bound) μεταβλητή: όταν βρίσκεται μέσα στο scope κάποιου quantifier
Ελεύθερη (free), όταν δεν είναι δεσμευμένη
Z (X (p(X)q(X)) X r(X)) => X T(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
Χu
D
fI
g:Dk->D
PI
r Dk
φvu true/false
ή 0/1
24
Πρόβλημα
Δίνεται: φ WFF
Ερώτηση: η φ είναι true ή false ?
Τεχνική: Να μεταφράσουμε τη φ σε αντικείμενα του UoD
25
Predicate Logic: Interpretation
Συνάρτηση αποτίμησης όρων û:TERM->DΣυνάρτηση αλήθειας vu: WFF->{0,1} τ.ώ.vu(p(t1,...,tk)) = 1 iff (û(t1),..., û(tk)) rvu(p(t1,...,tk)) = 0 iff (û(t1),..., û(tk)) rf = (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
Παράδειγμα
X p(X) και X p(X)
Και στις δύο interpretations, η πρώτη wff είναι false και η δεύτερη true. Ιnterpretation: D = {0,1,2,...}.Assignment: p(X) είναι η σχέση «περιττό X». X p(X) γίνεται false και X p(X) γίνεται true.Assignment: p(X) είναι η σχέση «X >=0», και οι δύο wff είναι true.
28
Παράδειγμα
XY p(X,Y) και YX p(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)} ╞ X p(X).
{X(p(X)=>q(X)), X p(X)}╞ X q(X)
33
Ερώτημα
Πώς μπορώ να αποδείξω αν μια wff φ προκύπτει από ένα σύνολο από wff Σ?
Αν Σ το είναι πεπερασμένο, τότε για να πω Σ ╞ φ αρκεί να δείξω ότι Σ => φ. Δύσκολο...
Αν είναι άπειρο το Σ, υπάρχει θεώρημα, που λέει ότι αν Σ ╞ φ, τότε για κάποιο πεπερασμένο Σ0Σ, Σ0 ╞ φ. Πάλι όμως είναι δύσκολο...
Θα ήθελα επίσης να το κάνω και αποδοτικά ...
34
Ότι προκύπτει λογικά στη βάση των interpretations, θα θέλαμε εμείς να μπορούμε να το υπολογίσουμε συντακτικά: ήτοι, δοθείσης μια δήλωσης, να εξάγουμε συμπεράσματα με βάση κάποιους συντακτικούς κανόνες
Κανόνας παραγωγής:
Συντακτική παραγωγή
f1, f2, …
g1, g2, …
Ότι θεωρώ true
Ότι προκύπτει επειδή τα 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…