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

Post on 05-Jan-2016

35 views 0 download

description

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

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

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

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

pvassil@cs.uoi.gr Μάρτης 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…