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

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

Upload: geoff

Post on 05-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Βάσεις Γνώσεων

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

Λογική και ΣημασιολογίαΠάνος Βασιλειάδης

[email protected] Μάρτης 2003

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

Page 2: Βάσεις Γνώσεων

2

Σημασιολογία – μια πρώτη προσέγγιση

Αρχική απόδοση σημασιολογίας (σε φυσική γλώσσα):

Υπάρχουν δύο τύποι οντοτήτων Employee & Project και ένας τύπος συσχετίσεων WorksOn μεταξύ τους.

Εμφανώς, όλοι καταλαβαίνουμε τι σημαίνει το διάγραμμα

Όμως, ο ορισμός είναι ασαφής και μη τυπικός!

Employee

Project

WorksOn

Page 3: Βάσεις Γνώσεων

3

Σημασιολογία – λίγο πιο τυπικά

Employee AllProject AllWorksOn Employee X Project

Υπάρχει ένα σύνολο πραγμάτων All του οποίου υποσύνολα είναι τα σύνολα Employee & Project. Επιπλέον, η συσχέτιση worksOn είναι υποσύνολο όλων των πιθανών συνδυασμών από Employee & Project.

Μπορούμε και καλύτερα: domains + schema!

Employee

Project

WorksOn

Page 4: Βάσεις Γνώσεων

4

Σημασιολογία -- Πεδία Ορισμού και Σχήμα

Employee empId X empName X salaryempId Integer //μπορούσε και EmpId IDempName Stringsalary Integer

Project prjId X budgetprjId Integerbudget Integer

WorksOn empId X prjId

Page 5: Βάσεις Γνώσεων

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

Πληροφορία σχήματος

Όμως:Τυπική γλώσσα?

Υπονοούμενη σημασιολογία?

Δυνατότητα λογικών συλλογισμών?

Page 6: Βάσεις Γνώσεων

6

Περιορισμοί -- Πρωτεύοντα κλειδιά

Με βάση αυτό το κολπάκι, ενίοτε θα αυθαιρετούμε και θα χαρακτηρίζουμε τους Employees από το empId τους και μόνο

i,n1,s1,n2,s2 (i,n1,s1),(i,n2,s2)Employee=>n1=n2s1=s2

Page 7: Βάσεις Γνώσεων

7

Σημασιολογία?

Έχουμε ήδη ορίσει τη δομή και τους περιορισμούς που διέπουν τα ER διαγράμματά μας

Ακόμα δεν έχουμε τυπική γλώσσα, αλλά μια ιδέα της

Δεν έχουμε ούτε τρόπο να ξεφύγουμε από την αξία των ονομάτων. Π.χ., έχει σημασία ότι χρησιμοποιώ το όνομα Employee και όχι Louloudaki!

Όταν ορίσουμε μια γλώσσα τυπικά, θα μπορούμε να εξάγουμε λογικά συμπεράσματα για το μοντέλο μας, χωρίς βοήθεια από την ονοματολογία τους στο φυσικό κόσμο.

Page 8: Βάσεις Γνώσεων

8

Κατηγορηματικός Λογισμός (Predicate Logic)

Θα δούμε ότι έχουμε ωραία εργαλεία και απλές γλώσσες...

Predicate Logic

Prolog

Datalog-neg

Page 9: Βάσεις Γνώσεων

ΠΡΟΣΟΧΗ: στη συνέχεια,

ΚΑΘΕ ΛΕΞΟΥΛΑ θα παίζει ρόλο!!!

Μη φοβάστε!

Ρωτάτε!

Κρατάτε σημειώσεις!

Ξυπνήστε...

Page 10: Βάσεις Γνώσεων

10

Predicate Logic: Terms

Έστω Fi μια οικογένεια από σύμβολα συναρτήσεων (function symbols) τ.ω.:

Τα σύμβολα συναρτήσεων είναι διακριτά μεταξύ τους (pairwise disjoint)

Η οικογένεια Fi αποτελείται από όλες τις συναρτήσεις που έχουν arity (αριθμό ορισμάτων) ίσο με i

Έστω X ένα πεπερασμένο σύνολο από μεταβλητές Χ={x1,x2,…} που είναι διακριτές με όλες τις συναρτήσεις.

Δεχόμαστε να υπάρχει και η οικογένεια F0 (με μηδενικό αριθμό ορισμάτων) η οποία θα χρησιμοποιηθεί για να εκφράσουμε σταθερές (constants)

Page 11: Βάσεις Γνώσεων

11

Predicate Logic: Terms

Κάθε kF0 είναι term (οι σταθερές είναι όροι)

Κάθε xX είναι term (οι μεταβλητές είναι όροι)

Αν fFk (με arity ίση με k) και t1,…,tk είναι terms, τότε f (t1,…,tk) είναι term

Τίποτε άλλο δεν είναι term

Page 12: Βάσεις Γνώσεων

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

Page 13: Βάσεις Γνώσεων

13

Predicate Logic: Terms

Ένας term είναι μια έκφραση που μπορεί να αποτιμηθεί σε μια τιμή

123 είναι term. ‘μουστάκιας’ είναι term επίσης ...

X είναι term, MyEmpId είναι termMultiply(radius,3.14)

Page 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)

Page 15: Βάσεις Γνώσεων

15

Predicate Logic: Atomic formulas

Ένα predicate έχει τιμή true ή false.

Υποθέτουμε, δηλ., δύο ειδικές σταθερές true και false, οι οποίες είναι, δηλ., συναρτήσεις με arity 0 (και ανήκουν στο F0)

Επίσης, υποθέτουμε δύο σύνολα TERMS και AF με όλους τους terms και τις atomic formulas.

Page 16: Βάσεις Γνώσεων

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

Page 17: Βάσεις Γνώσεων

17

Predicate Logic: Formulas

Αν fWFF και xX τότε είναι επίσης wff οι εξής εκφράσεις:

foreach x f ή X fexists x f ή X f

Τίποτε άλλο δεν είναι WFF

Δικαιούμαι επίσης να λέω: f1==>f2 αντί για (f1) f2

Page 18: Βάσεις Γνώσεων

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)))

Page 19: Βάσεις Γνώσεων

19

Αντιπαραδείγματα

X q.

p,f p(X,f(Y)).

X f(X).

Page 20: Βάσεις Γνώσεων

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 τη φορά)

Page 21: Βάσεις Γνώσεων

21

Predicate Logic: Universe of Discourse (UoD)

Όλες οι φόρμουλες που γράφουμε, πρέπει με κάποιο τρόπο να αντιστοιχίζονται σε κάποιου είδους σύνολο από τον πραγματικό κόσμο (ή μάλλον, από τα μαθηματικά)

Έτσι, μπορούμε να εφεύρουμε κανόνες οι οποίοι να μεταφράζουν τις φόρμουλές μας σε σχέσεις πάνω σε αυτό το σύνολο. Αν κάτι είναι σωστό στο πεδίο αναφοράς, τότε είναι σωστή και η αντίστοιχη φόρμουλά του...

Page 22: Βάσεις Γνώσεων

22

Predicate Logic: Interpretation

Ερμηνεία (interpretation) είναι μια συνάρτηση που εφευρίσκουμε είτε με το μυαλό μας, είτε αυτόματα και η οποία αντιστοιχεί:

Μια μεταβλητή Χ σε μια τιμή του πεδίου αναφοράς D

Ένα σύμβολο συνάρτησης f σε μια συνάρτηση του ιδίου arity στο πεδίο αναφοράς, ήτοι, g:Dk->D

Ένα predicate P σε μια σχέση r Dk

Μια wff φ σε μια τιμή true/false

Page 23: Βάσεις Γνώσεων

23

Predicate Logic: Interpretation

Χu

D

fI

g:Dk->D

PI

r Dk

φvu true/false

ή 0/1

Page 24: Βάσεις Γνώσεων

24

Πρόβλημα

Δίνεται: φ WFF

Ερώτηση: η φ είναι true ή false ?

Τεχνική: Να μεταφράσουμε τη φ σε αντικείμενα του UoD

Page 25: Βάσεις Γνώσεων

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

Page 26: Βάσεις Γνώσεων

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.

Page 27: Βάσεις Γνώσεων

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.

Page 28: Βάσεις Γνώσεων

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!

Page 29: Βάσεις Γνώσεων

29

Ορισμοί

Μια interpretation για μια wff είναι model αν η wff είναι true με αυτή την interpretation

Μια interpretation για μια wff είναι counter-model αν η wff είναι false με αυτή την interpretation

Μια wff είναι valid (ή ταυτολογία) αν είναι true για κάθε interpretation

Page 30: Βάσεις Γνώσεων

30

Ορισμοί

Μια wff είναι satisfiable αν η wff είναι true με κάποια interpretation

Μια wff είναι unsatisfiable αν η wff είναι false με όλες τις interpretation

Page 31: Βάσεις Γνώσεων

31

Λογική συνεπαγωγή

Έστω ένα (πιθανώς άπειρο) σύνολο από wff Σ και μια wff φWFF

Η φ συνεπάγεται λογικά από το ΣΣ ╞ φ

αν οποιαδήποτε interpretation ικανοποιεί όλες τις wff του Σ ικανοποιεί και την φ.

ΠΡΟΣΟΧΗ: αφορά όλες τις [πιθανόν άπειρες] interpretations

Page 32: Βάσεις Γνώσεων

32

Παραδείγματα

{X p(X)} ╞ p(a).

{p(a)} ╞ X p(X).

{X(p(X)=>q(X)), X p(X)}╞ X q(X)

Page 33: Βάσεις Γνώσεων

33

Ερώτημα

Πώς μπορώ να αποδείξω αν μια wff φ προκύπτει από ένα σύνολο από wff Σ?

Αν Σ το είναι πεπερασμένο, τότε για να πω Σ ╞ φ αρκεί να δείξω ότι Σ => φ. Δύσκολο...

Αν είναι άπειρο το Σ, υπάρχει θεώρημα, που λέει ότι αν Σ ╞ φ, τότε για κάποιο πεπερασμένο Σ0Σ, Σ0 ╞ φ. Πάλι όμως είναι δύσκολο...

Θα ήθελα επίσης να το κάνω και αποδοτικά ...

Page 34: Βάσεις Γνώσεων

34

Ότι προκύπτει λογικά στη βάση των interpretations, θα θέλαμε εμείς να μπορούμε να το υπολογίσουμε συντακτικά: ήτοι, δοθείσης μια δήλωσης, να εξάγουμε συμπεράσματα με βάση κάποιους συντακτικούς κανόνες

Κανόνας παραγωγής:

Συντακτική παραγωγή

f1, f2, …

g1, g2, …

Ότι θεωρώ true

Ότι προκύπτει επειδή τα fi είναι true…

Page 35: Βάσεις Γνώσεων

35

Συντακτική παραγωγή

Logical calculus: ένα σύνολο κανόνων παραγωγής

Αν (και μόνο αν) μια φόρμουλα f μπορεί να παραχθεί συντακτικά από το σύνολο Σ μέσω κάποιου κανόνα παραγωγής του λογισμού LC γράφουμε

Σ ├ f

ΠΡΟΣΟΧΗ: είναι Σ ├ φ συντακτική παραγωγή, ενώ Σ ╞ φ είναι λογική συνεπαγωγή

Page 36: Βάσεις Γνώσεων

36

Παράδειγμα

Modus ponens:

Έστω Σ = {male, male=>human, human=>living}

Τότε:Σ ├ human

Σ={human} ├ living

υποθέτοντας ότι male,human,living είναι predicates με arity 0

Α, (Α=>Β)

Β

Page 37: Βάσεις Γνώσεων

37

Πλήρης και συνεπής λογισμός

Ένας λογισμός LC είναι πλήρης και συνεπής αν για οποιοδήποτε συμπέρασμα φ που παράγεται συντακτικά από ένα σύνολο wff Σ, το ίδιο συμπέρασμα προκύπτει και λογικά

Σ ├ φ αν και μόνο αν Σ ╞ φ

Το κέρδος είναι ότι για να υπολογίσουμε λογικές συνεπαγωγές, αρκεί να εφαρμόσουμε συντακτικούς κανόνες παραγωγής

Page 38: Βάσεις Γνώσεων

38

Παραγωγές

Για να δείξω ότι το συμπέρασμα Α παράγεται από το σύνολο wff Γ, χρειάζομαι:

Ένα (άπειρο) σύνολο από αξιώματα Δ

Ένα κανόνα παραγωγής (π.χ., modus ponens)

Μια πεπερασμένη σειρά από wff Α1,...,Αn τ.ω.Α = Αn

Για κάθε Αi, είτε ΑiΓΔ, είτε προκύπτει με modus ponens από Aj, Ak, με j,k<i

Page 39: Βάσεις Γνώσεων

39

Συνέπεια

Έστω ένα σύνολο από wff Σ . Το Σ είναι συνεπές αν δεν υπάρχει wff φWFF τ.ω.

Σ ╞ φ και Σ ╞ (not φ)

Gödel (1936): δεν υπάρχει μέθοδος που να μας εγγυάται ότι μπορούμε να αποκριθούμε αν ένα σύνολο από wff Σ είναι συνεπές.

Οπότε, κι εμείς πήραμε υποσύνολα των πιθανών wff και υποσύνολα των λογικών συνεπαγωγών και φτιάξαμε την Prolog…