Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική...

92
1 Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

description

Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης. Αναπαράσταση Γνώσης με Λογική. Πράκτορες Βασισμένοι στη Γνώση (Knowledge-based agents) Ένα παράδειγμα: Wumpus world Γενικά για Λογική Προτασιακή (Boolean) λογική Μοντέλα, ισοδυναμία, εγκυρότητα, ικανοποιησιμότητα - PowerPoint PPT Presentation

Transcript of Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική...

Page 1: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

1

Αναπαράσταση Γνώσης με Λογική

Προτασιακή Λογική

Λογική Πρώτης Τάξης

Page 2: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

2

Αναπαράσταση Γνώσης με Λογική

Πράκτορες Βασισμένοι στη Γνώση (Knowledge-based agents) Ένα παράδειγμα: Wumpus world Γενικά για Λογική Προτασιακή (Boolean) λογική

Μοντέλα, ισοδυναμία, εγκυρότητα, ικανοποιησιμότητα Κανόνες εξαγωγής συμπερασμάτων και απόδειξη θεωρημάτων

forward chaining backward chaining resolution

Αποδοτικές μέθοδοι Λογική Πρώτης Τάξης (first-order logic)

Page 3: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

3

Πράκτορες Βασισμένοι στη Γνώση

Οι πράκτορες που βασίζονται στη γνώση (knowledge-based agents) μπορούν να γίνουν αντιληπτοί ως πράκτορες που ξέρουν πράγματα σχετικά με το περιβάλλον και συλλογίζονται σχετικά με τις ενέργειες που θα εκτελέσουν

Βασικά συστατικά:

Η Βάση Γνώσης (Knowledge Base) είναι ένα σύνολο προτάσεων σχετικά με τον κόσμο σε κάποια επίσημη γλώσσα

Η Γλώσσα Αναπαράστασης Γνώσης (Knowledge Representation Language) είναι μια γλώσσα της οποίας οι προτάσεις αντιπροσωπεύουν γεγονότα σχετικά με τον κόσμο

Page 4: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

4

Πράκτορες Βασισμένοι στη Γνώση

Βασικά συστατικά: Λειτουργίες για

Προσθήκη πληροφοριών (προτάσεων) στη βάση γνώσης TELL

Ερωτήσεις σχετικά με το τι είναι γνωστό ASK

Παρόμοια με updates και queries στις βάσεις δεδομένων

Ο μηχανισμός εξαγωγής συμπερασμάτων (inference mechanism) είναι ένας μηχανισμός που προσδιορίζει τι συνεπάγεται από την πληροφορία που έχει προστεθεί στη βάση γνώσης

Οι ερωτήσεις που γίνονται στη βάση χρησιμοποιούν αυτό τον μηχανισμό

Page 5: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

5

Παράδειγμα Εξαγωγής Συμπερασμάτων

Δεδομένων: “Ο κόκκινος κύβος είναι πάνω από τον μπλε κύβο” “Ο πράσινος κύβος είναι πάνω από τον κόκκινο κύβο”

Συμπέρανε:

“Ο πράσινος κύβος είναι πάνω από τον μπλε κύβο” “Οι κύβοι σχηματίζουν έναν πύργο”

Page 6: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

6

Παράδειγμα Εξαγωγής Συμπερασμάτων

Δεδομένων:

Αν έχει ηλιοφάνεια σήμερα, τότε ο ήλιος λάμπειστην οθόνη. Αν ο ήλιος λάμψει στην οθόνη,τότε οι κουρτίνες πρέπει να τραβηχτούν.Οι κουρτίνες δεν είναι τραβηγμένες.

Απάντησε:

Έχει ηλιοφάνεια σήμερα?

Page 7: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

7

Πράκτορες Βασισμένοι στη Γνώση

Μπορούμε να περιγράψουμε έναν πράκτορα που βασίζεται στη γνώση σε τρία επίπεδα:

Το επίπεδο γνώσης ή επιστημολογικό επίπεδο Σε αυτό το επίπεδο μπορούμε να περιγράψουμε τον πράκτορα

προσδιορίζοντας τι ξέρει για τον κόσμο Το λογικό επίπεδο

Σε αυτό το επίπεδο η γνώση κωδικοποιείται σε προτάσεις κάποιας γλώσσας αναπαράστασης γνώσης

Το επίπεδο υλοποίησης Σε αυτό το επίπεδο οι προτάσεις υλοποιούνται (π.χ. με μια γλώσσα

προγραμματισμού)

Page 8: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

8

Πράκτορες Βασισμένοι στη Γνώση

Παράδειγμα:

Επίπεδο γνώσης ή επιστημολογικό επίπεδο Ο αυτοματοποιημένος οδηγός ταξί ξέρει ότι το Ρίο και το Αντίριο

συνδέονται με γέφυρα Λογικό επίπεδο

Ο αυτοματοποιημένος οδηγός ταξί έχει την πρόταση (σε λογική πρώτης τάξης) Συνδέει (Γέφυρα, Ρίο, Αντίριο)

Το επίπεδο υλοποίησης Σε αυτό το επίπεδο η πρόταση Συνδέει (Γέφυρα, Ρίο, Αντίριο) υλοποιείται

με μια γλώσσα προγραμματισμού (π.χ. C)

Page 9: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

9

Πράκτορες Βασισμένοι στη Γνώση

Ο πράκτορας πρέπει να: Αναπαριστά καταστάσεις, ενέργειες, κτλ. Εισάγει νέες αντιλήψεις Ανανεώνει την εσωτερική αναπαράσταση του κόσμου Εξάγει κρυφές ιδιότητες του κόσμου Εξάγει κατάλληλες ενέργειες

Page 10: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

10

Ο κόσμος του Wumpus Μέτρο απόδοσης:

+1000 για χρυσό -1000 για wumpus, παγίδα (γούβα) -1 για κάθε βήμα -10 για βέλος

Περιβάλλον: Πιθανότητα 20% για παγίδα Σε Τετράγωνα δίπλα στο Wumpus υπάρχει δυσοσμία και σε τετράγωνο

δίπλα σε παγίδα υπάρχει αύρα, στο τετράγωνο όπου είναι ο χρυσός υπάρχει μια λάμψη, κτλ.

Μηχανισμοί δράσης Μετακίνηση Στροφή 90ο Αρπαγή Εξακόντιση

Αντιλήψεις [Δυσοσμία, Αύρα, Λάμψη, Γδούπος, Κραυγή]

Page 11: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

11

Το περιβάλλον του Wumpus

Πλήρως παρατηρήσιμο? Όχι – μόνο τοπική παρατήρηση

Αιτιοκρατικό? Ναι – τα αποτελέσματα των ενεργειών είναι προκαθορισμένα

Επεισοδιακό? Όχι – ακολουθιακό σε ότι αφορά τις ενέργειες

Στατικό? Ναι – το Wumpus και οι παγίδες (pits) δεν μετακινούνται

Διακριτό? Ναι

Μονοπρακτορικό? Ναι – το Wumpus είναι μέρος του περιβάλλοντος, δεν είναι πράκτορας

Page 12: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

12

Εξερεύνηση στον κόσμο του Wumpus

Α = ΠράκτοραςΒ = ΑύραΟΚ = Ασφαλές τετράγωνοP = ΠαγίδαS = ΟσμήG = Λάμψη

Page 13: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

13

Εξερεύνηση στον κόσμο του Wumpus

Α = ΠράκτοραςΒ = ΑύραΟΚ = Ασφαλές τετράγωνοP = ΠαγίδαS = ΟσμήG = Λάμψη

Page 14: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

14

Εξερεύνηση στον κόσμο του Wumpus

Αν έχει αύρα στα [1,2] και [2,1] => δεν υπάρχουν ασφαλείς κινήσεις

αν υποθέσουμε ότι οι παγίδες είναι κατανεμημένες ομοιόμορφα τότε το [2,2] έχει παγίδα με πιθανότητα 0.86 (αντί για 0.31)

Αν έχει δυσοσμία στο [1,1] => δεν μπορεί ο πράκτορας να κινηθεί

μπορεί να χρησιμοποιήσει την εξής στρατηγική:

Ρίξε βέλος ευθεία

Αν το Wumpus ήταν εκεί => νεκρό => ασφαλές

Αν το Wumpus δεν ήταν εκεί => ασφαλές

Page 15: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

15

Γενικά για Λογική

Οι λογικές είναι επίσημες γλώσσες για την αναπαράσταση πληροφορίας έτσι ώστε να μπορούν να εξαχθούν συμπεράσματα

Η σύνταξη καθορίζει τη μορφή των προτάσεων της γλώσσας προσδιορίζοντας ποιες προτάσεις είναι καλά διατυπωμένες

Η σημασιολογία καθορίζει τη σημασία των προτάσεων; κατά πόσο οι προτάσεις ισχύουν (είναι αληθείς) σε κάθε δυνατό κόσμο

Για παράδειγμα η γλώσσα της αριθμητικής x + 2 y είναι μια καλά διατυπωμένη πρόταση; ενώ η x2 + y > δεν είναι καλά

διατυπωμένη πρόταση x + 2 y είναι αληθές αν και μόνο αν το νούμερο x + 2 δεν είναι μικρότερο

από το νούμερο y x + 2 y είναι αληθές σε έναν κόσμο όπου x=7; y =1 x + 2 y ψευδές σε έναν κόσμο όπου x=0; y =6

Page 16: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

16

Λογική

Μια γλώσσα αναπαράστασης γνώσης (KR language) ορίζεται από την σύνταξη (syntax) και τη σημασιολογία (semantics) της

Η σύνταξη αποτελείται από το σύνολο των συμβόλων που χρησιμοποιεί η γλώσσα και των κανόνων σύμφωνα με του οποίους τα σύμβολα μπορούν να συνδυαστούν

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

Μια πρόταση μιας KR γλώσσας δε σημαίνει τίποτα από μόνη της Η σημασιολογία (δηλ. το νόημα) της πρότασης πρέπει να προσδιοριστεί

από συγγραφέα της γλώσσας μέσω μιας ερμηνείας (interpretation)

Page 17: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

17

Μοντέλα

Συνήθως στη λογική χρησιμοποιείται ο όρος μοντέλο αντί για “δυνατός κόσμος”

το m είναι μοντέλο της α θα σημαίνει ότι η πρόταση α είναι αληθής στο μοντέλο m

Μ(α) είναι το σύνολο όλων των μοντέλων της α Ένα μοντέλο είναι μια μαθηματική αφαίρεση ενός πραγματικού

περιβάλλοντος Π.χ. αν x και y είναι οι αριθμοί των ανδρών και γυναικών που παίζουν σε ένα

παιχνίδι μπριτζ τότε οι πρόταση x+y=4 είναι αληθής όταν 4 συνολικά άτομα παίζουν

όλα τα δυνατά μοντέλα είναι όλες οι δυνατές αναθέσεις τιμών στις μεταβλητές x και y (μπορεί να είναι άπειρα σε πλήθος)

Μια πρόταση λέγεται αληθής κάτω ένα συγκεκριμένο μοντέλο αν οι καταστάσεις του πραγματικού κόσμου τις οποίες αναπαριστά ισχύουν

Page 18: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

18

Λογική Κάλυψη (Entailment)

Η λογική κάλυψη (entailment) απλά σημαίνει ότι μια πρόταση εξάγεται, προκύπτει λογικά, από κάποιες άλλες

Επίσημα λέμε ότι μια πρόταση α λογικά καλύπτεται (is entailed) από τις προτάσεις μιας βάσης γνώσης (ΒΓ) όταν οποτεδήποτε οι προτάσεις της ΒΓ είναι αληθείς τότε και η α είναι αληθής

σε όλα τα μοντέλα που είναι αληθής η ΒΓ είναι αληθής και η α Η λογική κάλυψη συμβολίζεται συνήθως ως ΚΒ |= α

ΚΒ |= α αν και μόνο αν Μ(ΚΒ) Μ(Α)

Page 19: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

19

Λογική Κάλυψη

Η πρόταση “Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών εδρεύει στην Κοζάνη” είναι αληθής σύμφωνα με το μοντέλο του κόσμου όπου:

το «Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών» αφορά το συγκεκριμένο τμήμα του Παν. Δυτ. Μακεδονίας

η «Κοζάνη» αφορά την συγκεκριμένη πόλη της Δυτ. Μακεδονίας Η ίδια πρόταση δεν είναι αληθής κάτω από το μοντέλο όπου

η «Κοζάνη» αφορά το ομώνυμο ζαχαροπλαστείο της Θεσ/νίκης

“H Ρεάλ Μαδρίτης κέρδισε και η Μπαρτσελόνα κέρδισε” |=

“Κέρδισε η Ρεάλ Μαδρίτης ή η Μπαρτσελόνα” (x + y = 4) |= (4 = x + y)

Page 20: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

20

Entailment στον κόσμο του Wumpus

Η κατάσταση αφού ο πράκτορας δε βρει τίποτα στο [1,1], μετακινηθεί δεξιά, και βρει αύρα στο [2,1]

ποια είναι τα μοντέλα των ? τετραγώνων σε ότι αφορά παγίδες;

3 δυαδικές επιλογές -> 8 πιθανά μοντέλα

Page 21: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

21

Entailment στον κόσμο του Wumpus

Η Βάση Γνώσης αποτελείται από:

τους κανόνες του κόσμου του Wumpus

τα δεδομένα που ισχύουν σύμφωνα με τις παρατηρήσεις του πράκτορα

Υπάρχουν 3 μοντέλα για τα οποία η ΒΓ είναι αληθής

Page 22: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

22

Entailment στον κόσμο του Wumpus

Η Βάση Γνώσης αποτελείται από:

τους κανόνες του κόσμου του Wumpus

τα δεδομένα που ισχύουν σύμφωνα με τις παρατηρήσεις του πράκτορα

Η πρόταση α1: “το [1,2] είναι ασφαλές” είναι entailed από τη ΒΓ

σε κάθε μοντέλο όπου η α1 είναι αληθής, η ΒΓ είναι αληθής

Η Βάση Γνώσης αποτελείται από:

τους κανόνες του κόσμου του Wumpus

τα δεδομένα που ισχύουν σύμφωνα με τις παρατηρήσεις του πράκτορα

Η πρόταση α1: “το [1,2] είναι ασφαλές” είναι entailed από τη ΒΓ

σε κάθε μοντέλο όπου η α1 είναι αληθής, η ΒΓ είναι αληθής

Page 23: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

23

Entailment στον κόσμο του Wumpus

Η πρόταση α2: “δεν υπάρχει παγίδα στο [2,2]” δεν είναι entailed (|=) από τη ΒΓ

σε μερικά μοντέλα η ΒΓ είναι αληθής, η α2 είναι ψευδής

άρα ο πράκτορας δεν μπορεί να συμπεράνει ότι δεν υπάρχει παγίδα στο [2,2].

Χωρίς αυτό να σημαίνει ότι σίγουρα υπάρχει

Page 24: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

24

Εξαγωγή Συμπερασμάτων & Αποδείξεις

O Λογικός Συμπερασμός (logical inference) είναι η διαδικασία της μηχανικής κατασκευής προτάσεων που εξάγονται από μια βάση γνώσης

Μια μορφή λογικού συμπερασμού (έλεγχος μοντέλων) είναι η διαδικασία απαρίθμησης όλων των μοντέλων για να ελεγχθεί αν μια πρόταση α είναι αληθής σε όλα τα μοντέλα όπου μια ΒΓ είναι αληθής

Αν μια πρόταση α εξάγεται από μια ΒΓ χρησιμοποιώντας έναν μηχανισμό εξαγωγής συμπερασμάτων i, γράφουμε ΒΓ |-i α

Ένας μηχανισμός εξαγωγής συμπερασμάτων είναι ορθός (sound) αν κατασκευάζει μόνο προτάσεις που εξάγονται από τη ΒΓ

ο έλεγχος μοντέλων είναι ορθός? Ένας μηχανισμός εξαγωγής συμπερασμάτων είναι πλήρης (complete)

αν κατασκευάζει όλες τις προτάσεις που εξάγονται από τη ΒΓ

Page 25: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

25

Εξαγωγή Συμπερασμάτων & Αποδείξεις

Τα βήματα που απαιτούνται για να δημιουργηθεί μια πρόταση α από ένα σύνολο προτάσεων ΒΓ ονομάζεται απόδειξη (proof)

Θεωρία απόδειξης (proof theory) είναι ένα σύνολο από κανόνες για τη δημιουργία εξαγόμενων προτάσεων από ένα σύνολο προτάσεων

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

πρόταση πρότασηκαλύπτει

γεγονός γεγονόςκαλύπτει

πραγματικός

κόσμος

αναπαράσταση σημασιολογία σημασιολογία

Page 26: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

26

Γλώσσες Αναπαράστασης Γνώσης

Θα κάνουμε μια σύντομη επισκόπηση δύο βασικών γλωσσών αναπαράστασης γνώσης:

Προτασιακή Λογική (Propositional Logic) Λογική Πρώτης Τάξης ή Κατηγορηματική Λογική (First Order Logic

or Predicate Logic)

Γενικά μια λογική είναι ένα σύστημα που αποτελείται από: Σύνταξη Σημασιολογία Θεωρία Απόδειξης

Γιατί δε χρησιμοποιούμε φυσική γλώσσα ή γλώσσες προγραμματισμού για αναπαράσταση γνώσης ?

Page 27: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

27

Προτασιακή Λογική - Σύνταξη

Ατομικές προτάσεις Προτασιακά σύμβολα: P, Q, R, W1,3, Γ3,1, Αληθές, Ψευδές

Π.χ. το σύμβολο W1,3 αντιπροσωπεύει την ατομική πρόταση «το Wumpus είναι στο τετράγωνο [1,3]

Λογικά συνδετικά Άρνηση, W1,3

Λεκτικά (literals), Θετικό λεκτικό: W1,3, Αρνητικό λεκτικό:, W1,3

Σύζευξη, W1,3 ⋀ Γ3,1

Συζευκτέοι Διάζευξη, (W1,3 ⋀ Γ3,1) ⋁ W2,2

Διαζευκτέοι Συνεπαγωγή, (W1,3 ⋀ Γ3,1)  ¬W2,2

προϋπόθεση ή προηγούμενο, συμπέρασμα ή επακόλουθο κανόνες, προτάσεις εάν-τότε

Ισοδυναμία, W1,3  ¬W2,2

Page 28: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

28

Προτασιακή Λογική - Σύνταξη

Η παρακάτω BNF γραμματική ορίζει τις καλά σχηματισμένες προτάσεις (well-formed sentences) της ΠΛ

Πρόταση ΑτομικήΠρόταση ΠερίπλοκηΠρόταση

ΑτομικήΠρόταση P1 P2 ...

ΠερίπλοκηΠρόταση (Πρόταση) ¬ Πρόταση Πρόταση ΔυαδικόΣυνδετικό Πρόταση

ΔυαδικόΣυνδετικό

Η γραμματική είναι πολύ αυστηρή με τις παρενθέσεις π.χ. πρέπει να γράφουμε ((Α Β) => Γ) κι όχι Α Β => Γ

Η προτεραιότητα των συνδετικών βοηθάει στην αναγνωσιμότητα Προτεραιότητα: , ⋀, ⋁, ,

Π.χ. ¬ P Q R => S ισοδυναμεί με ((¬ P) (Q R)) => S

Page 29: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

29

Προτασιακή Λογική - Σημασιολογία

Ένα προτασιακό σύμβολο μπορεί να συμβολίζει οτιδήποτε θέλουμε και μπορεί να είναι αληθές ή ψευδές.

Δηλαδή η ερμηνεία του μπορεί να είναι οποιοδήποτε γεγονός ή έννοια του πραγματικού κόσμου

Το γεγονός αυτό θα είναι είτε αληθές είτε ψευδές στον πραγματικό κόσμο Τι ακριβώς είναι η ερμηνεία ?

Ας θεωρήσουμε ένα σύνολο Ρ προτασιακών συμβόλων. Μια ερμηνεία (interpretation) του Ρ είναι μια αντιστοίχιση

Ι : Ρ {true, false}Δηλαδή καθορίζει ένα μοντέλο για τα σύμβολα

για παράδειγμα W1,1 = false, W2,1 = false, W1,2 = true

Η έννοια της ερμηνείας μπορεί να επεκταθεί σε οποιαδήποτε καλά σχηματισμένη πρόταση χρησιμοποιώντας την ερμηνεία των λογικών συνδετικών

Page 30: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

30

Προτασιακή Λογική - Σημασιολογία

Η σημασιολογία της ΠΛ πρέπει να καθορίζει πως υπολογίζεται η τιμή αληθείας οποιασδήποτε πρότασης με δεδομένο ένα μοντέλο Εφόσον όλες οι προτάσεις κατασκευάζονται από ατομικές προτάσεις και τα

συνδετικά, πρέπει να καθορίσουμε: 1. πως υπολογίζεται η αλήθεια των ατομικών προτάσεων

2. πως υπολογίζεται η αλήθεια των προτάσεων που σχηματίζονται με καθένα από τα συνδετικά

Το πρώτο είναι απλό Η true είναι αληθής σε κάθε μοντέλο και η false είναι ψευδής σε κάθε μοντέλο Η τιμή αλήθειας κάθε άλλου προτασιακού συμβόλου καθορίζεται άμεσα στο

μοντέλο (π.χ. W1,1 = false, W2,1 = false, W1,2 = true) Για το δεύτερο έχουμε κανόνες

Π.χ. Για οποιαδήποτε πρόταση s και μοντέλο m, η πρόταση ¬s είναι αληθής στο m εάν και μόνο η s είναι ψευδής στο m

Page 31: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

31

Σημασιολογία – Πίνακες Αληθείας

Οι κανόνες για το κάθε συνδετικό μπορούν να συνοψιστούν σε έναν πίνακα αληθείας (truth table)

με χρήση των πινάκων μπορεί να υπολογιστεί η τιμή αληθείας κάθε πρότασης αναδρομικά

P Q ¬P P Q P Q P Q P Q

ψευδές ψευδές αληθές ψευδές ψευδές αληθές αληθές

ψευδές αληθές αληθές ψευδές αληθές αληθές ψευδές

αληθές ψευδές ψευδές ψευδές αληθές ψευδές ψευδές

αληθές αληθές ψευδές αληθές αληθές αληθές αληθές

Page 32: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

32

Σημασιολογία – Πίνακες Αληθείας

Page 33: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

33

Σημασιολογία – Πίνακες Αληθείας

Οι πίνακες αληθείας είναι σύμφωνοι με την ανθρώπινη διαίσθηση προσοχή στο P Q (είναι αληθές όταν P και Q είναι αληθή)

εκτός από την περίπτωση του P Q P συνεπάγεται Q (αν P τότε Q)

Στην ΠΛ δεν χρειάζεται να υπάρχει σχέση αιτιότητας ή συνάφειας μεταξύ P και Q. Η πρόταση «βρέχει στην Κοζάνη => η Κρήτη είναι νησί» είναι απόλυτα σωστή στην ΠΛ

οποιαδήποτε συνεπαγωγή είναι αληθής όταν η προϋπόθεση της είναι ψευδής. Π.χ. «η Κοζάνη είναι νησί => θα χιονίσει τα Χριστούγεννα» είναι αληθής πρόταση άσχετα με το αν θα χιονίσει τα Χριστούγεννα ή όχι.

P Q στην ΠΛ μας λέει «Αν ισχύει το P ισχυρίζομαι ότι είναι αληθές το Q, αλλιώς δεν ισχυρίζομαι τίποτα»

Αυτό είναι ψευδές μόνο αν το P είναι αληθές και το Q ψευδές

Page 34: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

34

Σημασιολογία – Πίνακες Αληθείας

Ο πίνακας αληθείας για την ισοδυναμία δείχνει ότι το P Q είναι αληθές όταν είναι αληθές το P Q και το Q P

Ας σκεφτούμε τους κανόνες του κόσμου του Wumpus. Πως θα γράψουμε τον κανόνα που μας λέει ότι ένα τετράγωνο έχει αύρα αν ένα γειτονικό τετράγωνο έχει παγίδα;

Β1,1 (P1,2 P2,1)

ή

Β1,1 (P1,2 P2,1)

Η συνεπαγωγή απαιτεί να υπάρχει παγίδα αν υπάρχει αύρα αλλά δεν αποκλείει να υπάρχει παγίδα όταν δεν υπάρχει αύρα

αυτό το κάνει η ισοδυναμία

Page 35: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

35

Μια απλή βάση γνώσης

Θα ασχοληθούμε μόνο με τις παγίδες (γούβες): R1: ¬Γ1,1

R2: Α1,1 (Γ1,2 ⋁ Γ2,1) .

R3: Α2,1 (Γ1,1 ⋁ Γ2,2 ⋁ Γ3,1) .

R4: ¬Α1,1

R5: Α2,1

Βάση γνώσης: Σύζευξη προτάσεων KB ≡ R1 ⋀ R2 ⋀ R3 ⋀ R4 ⋀ R5

Page 36: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

36

Συμπερασμός με απαρίθμηση

Θέλουμε να απαντάμε σε ερωτήσεις της μορφής: KB   ⊨ α ? 7 μεταβλητές: Α1,1, Α2,1, Γ1,1, Γ1,2, Γ2,1, Γ2,2 και Γ3,1 27=128 δυνατά μοντέλα Η ΚΒ είναι αληθής σε 3 από αυτά.

KB   ¬⊨ Γ1,2

KB ⊭ Γ2,2

KB ⊭ ¬Γ2,2

Χρονική πολυπλοκότητα: Ο(2n) Χωρική πολυπλοκότητα: Ο(n)

όπου n το πλήθος των προτασιακών συμβόλων

Κάθε γνωστός αλγόριθμος συμπερασμού για την προτασιακή λογική έχει μια πολυπλοκότητα χειρότερης περίπτωσης που είναι εκθετική ως προς το μέγεθος της εισόδου.

Page 37: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

37

Λογική ισοδυναμία

(α ⋀ β) (β ⋀ α)  αντιμεταθετικότητα του ⋀ (α ⋁ β) (β ⋁ α)  αντιμεταθετικότητα του ⋁ ((α ⋀ β) ⋀ γ) (α ⋀ (β ⋀ γ))  προσεταιριστικότητα του ⋀ ((α ⋁ β) ⋁ γ) (α ⋁ (β ⋁ γ))  προσεταιριστικότητα του ⋁ ¬(¬α) α  απαλοιφή διπλής άρνησης (α β) (¬β ¬α)  αντιθετοαντιστροφή (α β) (¬α ⋁ β)  απαλοιφή συνεπαγωγής (α β) ((α β) ⋀ (β α)  απαλοιφή αμφίδρομης υποθετικής πρότασης ¬(α ⋀ β) (¬α ⋁ ¬β)  νόμος De Morgan ¬(α ⋁ β) (¬α ⋀ ¬β)  νόμος De Morgan (α ⋀ (β ⋁ γ)) ((α ⋀ β) ⋁ (a ⋀ γ))  επιμεριστικότητα του ⋀ ως προς το ⋁ (α ⋁ (β ⋀ γ)) ((α ⋁ β) ⋀ (a ⋁ γ))  επιμεριστικότητα του ⋁ ως προς το ⋀

Δύο προτάσεις είναι λογικά ισοδύναμες αν είναι αληθείς στο ίδιο σύνολο μοντέλων

Page 38: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

38

Έγκυρες και Ικανοποιήσιμες προτάσεις

Έγκυρες προτάσεις: Είναι αληθείς σε όλα τα μοντέλα π.χ. P ¬P

Ικανοποιήσιμες προτάσεις: Είναι αληθείς σε τουλάχιστον ένα μοντέλο.

Η πρόταση α είναι αληθής στο μοντέλο m. Το m ικανοποιεί την α. To m είναι ένα μοντέλο της α

π.χ. P, P Q, (P R) Q μη ικανοποιήσιμες προτάσεις: δεν είναι αληθείς σε κανένα μοντέλο

π.χ. P ¬P Προβλήματα ικανοποίησης περιορισμών Η α είναι έγκυρη εάν και μόνο αν η α δεν είναι ικανοποιήσιμη. Απαγωγή σε άτοπο:

α ⊨ β εάν και μόνο εάν η πρόταση (α ⋀ ¬β) είναι μη ικανοποιήσιμη.

Page 39: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

39

Πολυπλοκότητα στην Προτασιακή Λογική

Θεώρημα: Το πρόβλημα του καθορισμού αν μια πρόταση της ΠΛ είναι ικανοποιήσιμη είναι NP-complete (Cook, 1971)

Το πρόβλημα του καθορισμού αν μια πρόταση του ΠΛ είναι έγκυρη είναι co-NP-complete

Είναι πολύ απίθανο να βρούμε έναν πολυωνυμικό αλγόριθμο για αυτά τα προβλήματα

Μια πρόταση της ΠΛ καλείται πρόταση Horn αν είναι της μορφής

P1 P2 ... Pn Q

ή ισοδύναμα ¬P1 ¬P2 ... ¬Pn Q Θεώρημα: Αν η φ είναι μια σύζευξη προτάσεων Horn τότε το αν η φ είναι

ικανοποιήσιμη μπορεί να βρεθεί σε πολυωνυμικό χρόνο

Page 40: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

40

Κανόνες Εξαγωγής Συμπερασμάτων στην ΠΛ

Ένας κανόνας εξαγωγής συμπερασμάτων είναι ένας κανόνας της μορφής

α1, α2, ... , αn |= β

όπου οι α1, α2, ... , αn είναι προτάσεις που ονομάζονται συνθήκες (conditions) και η β είναι μια πρόταση που ονομάζεται συμπέρασμα (conclusion)

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

Page 41: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

41

Κανόνες Εξαγωγής Συμπερασμάτων στην ΠΛ

Modus Ponens (τρόπος του «θέτειν»): (α β) α |= β And-Elimination (απαλοιφή του «και»): α1 α2 ... αn |= αi

And-Introduction (εισαγωγή του «και»): α1, α2, ... , αn |= α1 α2 ... αn

Or-Introduction (εισαγωγή του «ή»): αi |= α1 α2 ... αn Double-Negation Elimination (απαλοιφή διπλής άρνησης) : ¬ ¬α |= α Unit Resolution (μοναδιαία ανάλυση): (α β) ¬β |= α Resolution (ανάλυση): (α β) (¬β γ) |= (α γ)

Page 42: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

42

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

Page 43: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

43

Μέθοδοι Απόδειξης

Οι μέθοδοι απόδειξης χωρίζονται σε δύο γενικές κατηγορίες: Εφαρμογή κανόνων συμπερασμού

Ορθός τρόπος παραγωγής νέων προτάσεων από υπάρχουσες Απόδειξη = μια ακολουθία εφαρμογής κανόνων συμπερασμού Μπορούμε να χρησιμοποιήσουμε τους κανόνες συμπερασμού ως τις πιθανές

ενέργειες σε έναν γενικό αλγόριθμο αναζήτησης Επαλήθευση Μοντέλων

Απαρίθμηση πίνακα αληθείας (πάντα με εκθετικό κόστος) βελτιωμένη ανζήτηση υπαναχώρησης (Davis-Putnam-Logemann-Loveland

αλγόριθμος) ευριστική αναζήτηση στο χώρο μοντέλων (ορθή αλλά όχι πλήρης)

π.χ., hill-climbing αλγόριθμοι

Page 44: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

44

Κανόνες συμπερασμού

Modus ponens («τρόπος του θέτειν»)

Απαλοιφή του ΚΑΙ

Όλες οι λογικές ισοδυναμίες, π.χ.

,

)()(

)()(

Page 45: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

45

Παράδειγμα (1/3)

Θα αποδείξουμε το ¬Γ1,2 :

R6: (Α1,1 (Γ1,2 ⋁ Γ2,1)) ⋀ ((Γ1,2 ⋁ Γ2,1) Α1,1)

R7: ((Γ1,2 ⋁ Γ2,1) Α1,1)

R8: (¬Α1,1 ¬(Γ1,2 ⋁ Γ2,1))

R9: ¬(Γ1,2 ⋁ Γ2,1)

R10: ¬Γ1,2 ⋀ ¬Γ2,1

R1: ¬Γ1,1

R2: Α1,1 (Γ1,2 ⋁ Γ2,1)

R3: Α2,1 (Γ1,1 ⋁ Γ2,2 ⋁ Γ3,1)

R4: ¬Α1,1

R5: Α2,1

Page 46: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

46

Αποδείξεις

Η παραπάνω συλλογιστική διαδικασία ονομάζεται απόδειξη Η εύρεση αποδείξεων είναι ακριβώς σαν την εύρεση λύσεων σε

προβλήματα αναζήτησης Αρχική κατάσταση? Μετάβαση μεταξύ καταστάσεων (συνάρτηση

διαδόχων)? μπορούν να εφαρμοστούν όλοι οι γενικοί αλγόριθμοι αναζήτησης

Διαδικασία αναζήτησης Προς τα εμπρός Προς τα πίσω είναι πολύ πιο αποδοτική από την απαρίθμηση μοντέλων στην πράξη

επειδή αγνοεί πολλές άσχετες ατομικές προτάσεις. Παράδειγμα? Μονοτονικότητα

εάν KB ⊨ α τότε KB ⋀ β ⊨ α

Page 47: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

47

Παράδειγμα (2/3)

Από τις προτάσεις: R1: ¬Γ1,1

R2: Α1,1 (Γ1,2 ⋁ Γ2,1)

R3: Α2,1 (Γ1,1 ⋁ Γ2,2 ⋁ Γ3,1)

R4: ¬Α1,1

R5: Α2,1

R6: (Α1,1 (Γ1,2 ⋁ Γ2,1)) ⋀ ((Γ1,2 ⋁ Γ2,1) Α1,1)

R7: ((Γ1,2 ⋁ Γ2,1) Α1,1)

R8: (¬Α1,1 ¬(Γ1,2 ⋁ Γ2,1))

R9: ¬(Γ1,2 ⋁ Γ2,1)

R10: ¬Γ1,2 ⋀ ¬Γ2,1

και πηγαίνοντας από το [2,1] στο [1,1] και μετά στο [1,2], όπου υπάρχει δυσοσμία αλλά όχι αύρα, προκύπτουν…

Page 48: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

48

Παράδειγμα (3/3)

(συνέχεια…) R11: ¬Α1,2

R12: Α1,2 (Γ1,1 ⋁ Γ2,2 ⋁ Γ1,3)

Εφαρμόζοντας αντιθετοαντιστροφή παίρνουμε: R13: ¬Γ2,2

R14: ¬Γ1,3

Από τις R3 και R5 παίρνουμε: R15: Γ1,1 ⋁ Γ2,2 ⋁ Γ3,1

Από την R15 και την R13 παίρνουμε: R16: Γ1,1 ⋁ Γ3,1

Τέλος από την R16 και την R1 παίρνουμε: R17: Γ3,1

Page 49: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

49

Ανάλυση(resolution)

Μοναδιαία ανάλυση (unit resolution)

Πλήρης ανάλυση

Διαζευκτική πρόταση, συμπληρωματικά λεκτικά Παράδειγμα:

kii

k

llll

mll

111

1 ,

njjkii

nk

mmmmllll

mmll

111111

11 ,

2,21,3

2,21,11,31,1 ,

ΓΓ

ΓΓΓΓ

li = m

li = mj

Page 50: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

50

Πληρότητα

Οποιοσδήποτε πλήρης αλγόριθμος αναζήτησης που εφαρμόζει μόνο τον κανόνα της ανάλυσης μπορεί να συνάγει οποιοδήποτε συμπέρασμα που καλύπτεται λογικά από οποιαδήποτε βάση γνώσης της προτασιακής λογικής.

Με δεδομένο το Α δεν μπορεί να «αποδείξει» το Α ⋁ Β.

Μπορεί όμως να απαντήσει εάν το Α ⋁ Β είναι αληθές ή ψευδές. Πληρότητα διάψευσης

Page 51: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

51

Συζευκτική κανονική μορφή(conjunctive normal form, CNF)

Κάθε πρόταση της προτασιακής λογικής είναι λογικά ισοδύναμη με μια σύζευξη διαζεύξεων λεκτικών.

Διαδικασία μετατροπής σε CNF (παράδειγμα για R2): R2: Α1,1 (Γ1,2 ⋁ Γ2,1)

(Α1,1 (Γ1,2 ⋁ Γ2,1)) ⋀ ((Γ1,2 ⋁ Γ2,1) Α1,1)

(¬Α1,1 ⋁ Γ1,2 ⋁ Γ2,1) ⋀ (¬(Γ1,2 ⋁ Γ2,1) ⋁ Α1,1)

(¬Α1,1 ⋁ Γ1,2 ⋁ Γ2,1) ⋀ ((¬Γ1,2 ⋀ ¬Γ2,1) ⋁ Α1,1)

(¬Α1,1 ⋁ Γ1,2 ⋁ Γ2,1) ⋀ (¬Γ1,2 ⋁ Α1,1) ⋀ (¬Γ2,1 ⋁ Α1,1)

Αλγόριθμος Απάλειψε τις με τον κανόνα (p q) ισοδυναμεί με (p q) Χρησιμοποίησε τους κανόνες de Morgan’s ώστε οι αρνήσεις να εφαρμόζονται

σε ατομικά λεκτικά Επιμερισμός των και για να πάρουμε σύζευξη διαζεύξεων

Page 52: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

52

Αλγόριθμος ανάλυσης

Για να αποδείξουμε το KB  ⊨ α, αποδεικνύουμε ότι η (KB ⋀ ¬α) είναι μη ικανοποιήσιμη:

Εισάγουμε στην KB την ¬α. Μετατρέπουμε την (KB ⋀ ¬α) σε μορφή CNF. Εφαρμόζουμε τον κανόνα της ανάλυσης σε οποιοδήποτε ζεύγος

προτάσεων όπου μπορεί να εφαρμοστεί. Εάν καταλήξουμε σε άτοπο, η πρόταση α καλύπτεται από την KB.

άτοπο σημαίνει κενή πρόταση (false) Ειδάλλως δεν καλύπτεται…

Page 53: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

53

Αλγόριθμος ανάλυσης

Page 54: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

54

Παράδειγμα

Έστω οι δύο προτάσεις R2 και R4: KB = R2 ⋀ R4 = (Α1,1 (Γ1,2 ⋁ Γ2,1)) ⋀ ¬Α1,1

Θέλουμε να αποδείξουμε την ¬Γ1,2 .

Μετατρέπουμε την (KB ⋀ Γ1,2 ) σε CNF και εφαρμόζουμε την ανάλυση:

Page 55: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

557-55

Προτάσεις Horn

Διαζευκτικές προτάσεις με το πολύ ένα θετικό λεκτικό: ¬Θ1,1 ⋁ ¬Αύρα  ⋁ Α1,1

Λογικός προγραμματισμός, Prolog

Οριστικές προτάσεις: Διαζεύξεις με ακριβώς ένα θετικό λεκτικό. Γράφονται και ως «κανόνες»:

Θ1,1 ⋀ Αύρα  Α1,1

Κεφαλή (head) κανόνα: Θ1,1 ⋀ Αύρα

Σώμα (body) κανόνα: Α1,1

Γεγονότα (facts): Μόνο ένα θετικό λεκτικό. Περιορισμοί ακεραιότητας (integrity constraints): Μόνο αρνητικά

λεκτικά. ¬W1,1 ⋁ ¬W1,2

Page 56: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

567-56

Συμπερασμός με προτάσεις Horn

Προς τα εμπρός αλυσίδα εκτέλεσης Καθοδηγούμενη από τα δεδομένα

Προς τα πίσω αλυσίδα εκτέλεσης Καθοδηγούμενη από τους στόχους

Γραμμικός χρόνος ως προς το μέγεθοςτης βάσης γνώσης

Γράφημα AND-OR P  Q L ⋀ M P B ⋀ L M A ⋀ P L A ⋀ B L A B

Page 57: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

57

Αποδοτικός Προτασιακός Συμπερασμός

Page 58: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

587-58

Αλγόριθμος DPLL

Davis, Putman, Logemann, Loveland (1962) Πλήρης αναζήτηση με υπαναχώρηση Αναδρομική, πρώτα σε βάθος, απαρίθμηση των δυνατών μοντέλων. Βελτιώσεις

Πρόωρος τερματισμός: Μπορούμε να συμπεράνουμε για την αλήθεια ή το ψεύδος μιας πρότασης, χωρίς να έχουμε τις τιμές όλων των μεταβλητών.

(A ⋁ B)  ⋀ (A  ⋁ C) Αμιγή σύμβολα: Εμφανίζονται με το ίδιο πρόσημο σε όλες τις προτάσεις.

(A  ⋁ ¬B) ⋀ (¬B  ⋁ ¬C) ⋀ (C  ⋁ A) Μοναδιαίες διαζευκτικές προτάσεις: Όλα τα λεκτικά εκτός από ένα είναι Ψευδή.

Το πρόβλημα ικανοποιησιμότητας στην προτασιακή λογική είναι γνωστό ως SAT

Page 59: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

59

DPLL – Πλήρης Αλγόριθμος για SAT

Davis Putnam Logemann and Loveland algorithm (DPLL)

Ανακαλύφθηκε από τους Davis, Logemann and Loveland το 1962

Ο αρχικός SAT αλγόριθμος των Davis & Putnam του 1960 χρειαζόταν εκθετικό χώρο

Ο DPLL «θυσίασε» χρόνο για χώρο για να δημιουργήσουν έναν αλγόριθμο που απαιτεί μόνο γραμμικό χώρο

Page 60: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

60

DPLL

Αλγόριθμος Υποθέστε ότι έχουμε ένα σύνολο προτάσεων σε CNF

(X Y) (X Z) (Y Z) … Βασική Ιδέα

Δοκίμασε X=true «Διέγραψε» όρους που είναι true

Page 61: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

61

DPLL

Αλγόριθμος Υποθέστε ότι έχουμε ένα σύνολο προτάσεων σε CNF

(X Z) (Y Z) … Βασική Ιδέα

Δοκίμασε X=true «Διέγραψε» όρους που είναι true Απλοποίησε όρους που περιέχουν το X

Page 62: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

62

DPLL

Αλγόριθμος Υποθέστε ότι έχουμε ένα σύνολο προτάσεων σε CNF

( Z) (Y Z) … Βασική Ιδέα

Δοκίμασε X=true «Διέγραψε» όρους που είναι true Απλοποίησε όρους που περιέχουν το X Τώρα μπορούμε να αποφανθούμε ότι το Z πρέπει να είναι true Κάποια στιγμή μπορεί να χρειαστεί να οπισθοδρομήσουμε και να

δοκιμάσουμε το X=false

Page 63: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

63

DPLL – Βασικές Ιδιότητες

Ο αλγόριθμος DPLL μπορεί να συμπεράνει ότι το πρόβλημα έχει λύση χωρίς να έχει κάνει ανάθεση τιμής σε όλες τις μεταβλητές

(Α Β C) (Α Β D) είναι true αν το Β είναι true ανεξάρτητα από τις τιμές των άλλων μεταβλητών

Επίσης ο αλγόριθμος DPLL μπορεί να συμπεράνει ότι το πρόβλημα είναι false χωρίς να έχει κάνει ανάθεση τιμής σε όλες τις μεταβλητές

(Α Β C) (Α Β D) είναι false αν το Α είναι true και τα Β C είναι false ανεξάρτητα από την τιμή του D

Page 64: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

64

DPLL – Βασικές Ιδιότητες

Unit Clauses (μοναδιαίοι όροι) Ένας όρος είναι unit όταν περιέχει μόνο ένα literal Επίσης ένας όρος θεωρείται unit όταν όλα τα literals εκτός από ένα είναι

false Αν στο πρόβλημα (Α Β C) (Α Β D) το A είναι true και το Β είναι

false τότε ο όρος (Α Β C) είναι unit και προφανώς το C πρέπει να τεθεί σε true

To unit clause heuristic εντοπίζει όλα τα unit clauses και θέτει τις ελεύθερες μεταβλητές που περιέχουν στην κατάλληλη τιμή ώστε να γίνουν οι όροι true

αυτό μπορεί να δημιουργήσει καινούργια unit clauses

Page 65: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

65

DPLL Αλγόριθμος (απλοποιημένη έκδοση)

current_literal = 0;while (not solution found) and (not insolubility proved)

if both values of have current_literal been tried if current_literal=0

print “insolubility has been proved”; break;else current_literal--;

else set current_literal to its next available value; if all clauses are true then

print solution; break;

else if there is no false clause current_literal++;

endwhile

Page 66: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

66

DPLL

Βελτιώσεις βασικού αλγόριθμου heuristics διάταξης μεταβλητών και τιμών

Ποια θα είναι η επόμενη μεταβλητή που θα πάρει τιμή? Ποια τιμή (true/false) θα δοκιμαστεί πρώτα?

Άλλες βελτιώσεις Pure literals Clause learning Έξυπνη οπισθοδρόμηση Έξυπνη υλοποίηση

Page 67: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

677-67

Αλγόριθμοι τοπικής αναζήτησης

Αναρρίχηση λόφων, Προσομοιωμένη ανόπτηση, … Ευρετική συνάρτηση: Πλήθος διαζευκτικών προτάσεων που δεν

ικανοποιούνται.

Αλγόριθμος WalkSat: Επιλογή τυχαίας διαζευκτικής πρότασης Επιλογή συμβόλου για αλλαγή τιμής:

Επιλογή τυχαίου συμβόλου, με πιθανότητα p Επιλογή συμβόλου που βελτιστοποιεί την ευρετική συνάρτηση, με

πιθανότητα 1-p.

Page 68: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

68

Greedy Local Search: GSAT

Ο GSAT είναι ένας αλγόριθμος αναρρίχησης λόφων για την επίλυση SAT προβλημάτων

Αρχίζοντας με μια αρχική ανάθεση τιμών στις μεταβλητές προσπαθεί να φτάσει σε λύση (ανάθεση τιμών σε μεταβλητές έτσι ώστε να ικανοποιούνται όλοι οι όροι) αλλάζοντας τιμές σε μεταβλητές με βάση μια συνάρτηση αποτίμησης (κόστος)

το κόστος είναι το πλήθος των όρων που είναι FALSE

O GSAT δεν είναι πλήρης αλλά σε πολλές περιπτώσεις μπορεί να βρει λύση πολύ γρήγορα

Page 69: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

69

Greedy Local Search: GSAT

Χώρος αναζήτησης S το σύνολο όλων των πιθανών αναθέσεων τιμών σε όλες τις προτασιακές

μεταβλητές Σύνολο λύσεων S’ S

τα μοντέλα της CNF φόρμουλας, δηλ. το σύνολο αναθέσεων τιμών που κάνουν το πρόβλημα TRUE

Διαθέσιμες ενέργειες αλλαγή της τιμής μιας μεταβλητής γειτονικές καταστάσεις διαφέρουν στην τιμή μόνο μιας μεταβλητής

Συνάρτηση αποτίμησης f : S -> Ν το πλήθος των όρων που δεν ικανοποιούνται (είναι FALSE) με την

τρέχουσα ανάθεση

Page 70: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

70

Greedy Local Search: GSAT

GSAT: Ξεκίνα με μια τυχαία ανάθεση τιμών (0 ή 1) στις μεταβλητές

Αν όλοι οι όροι είναι TRUE βρέθηκε λύση Άλλαξε την τιμή της μεταβλητής που επιφέρει τη μεγαλύτερη

μείωση στο πλήθος των FALSE όρων Επανέλαβε μέχρι όλοι οι όροι να γίνουν TRUE, ή μέχρι να

έχουν πραγματοποιηθεί «αρκετές» αλλαγές τιμών μεταβλητών Αν δεν έχει βρεθεί λύση, επανέλαβε τη διαδικασία, αρχίζοντας

από διαφορετική αρχική ανάθεση τιμών

110

Page 71: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

71

GSAT

Παράμετροι του αλγόριθμου: το όριο των αλλαγών τιμών σε μεταβλητές (max flips)

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

το όριο των προσπαθειών (max tries) (δηλ. πόσες φορές θα επαναληφθεί η διαδικασία)

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

ένα σύνολο προτάσεων προτασιακής λογικής σε CNF (φόρμουλα α)

Page 72: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

72

GSAT

procedure GSAT(a, maxTries, maxFlips)for i :=1 to maxTries do

A := randomly chosen assignment of the variables in afor j:=1 to maxFlips do

if A satisfies a then return (A)else x := randomly chosen variable of a whose flip satisfies the maximum number of clauses under the current assignment

A if by flipping x you get a cost ≤ current cost then

flip value of x in Aendif

endforendforreturn (“No model found”)

Page 73: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

73

Λογική Πρώτης Τάξης (First-Order Logic)

Η προτασιακή λογική υποθέτει ότι ο κόσμος αποτελείται από γεγονότα που είτε είναι αληθή είτε όχι

Στην λογική πρώτης τάξης (ΛΠΤ) (ή κατηγορηματική λογική) έχουμε τις εξής παραδοχές:

Ο κόσμος αποτελείται από αντικείμενα (objects), δηλαδή πράγματα με συγκεκριμένες ταυτότητες. Τα αντικείμενα έχουν ιδιότητες που τα ξεχωρίζουν από άλλα αντικείμενα

Τα αντικείμενα συμμετέχουν σε συσχετίσεις (relations) με άλλα αντικείμενα. Μερικές από τις συσχετίσεις είναι συναρτησιακές (functional)

Αυτές οι παραδοχές για τον κόσμο κάνουν την ΛΠΤ πιο ισχυρή από την ΠΛ

Page 74: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

74

Λογική Πρώτης Τάξης - Συντακτικό

Τα σύμβολα της προτασιακής λογικής (ΠΛ) είναι: Παρενθέσεις ( , ) Τα λογικά συνδετικά ¬, , , , Ένα σύνολο μεταβλητών, που συμβολίζεται ως Vars

π.χ. x, y, w Οι ποσοδείκτες (quantifiers) , Ένα σύνολο σταθερών (constant symbols)

π.χ. Mary, House, 33 Το σύμβολο της ισότητας = Σύμβολα κατηγορημάτων (predicate symbols)

π.χ. Brother(…), Employer(…), RockBand(…) Συναρτησιακά σύμβολα (function symbols)

FatherOf(…), HeadOfDepartment(…)

Page 75: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

75

Λογική Πρώτης Τάξης - Συντακτικό

Οι όροι (terms) είναι εκφράσεις της ΛΠΤ που αναφέρονται σε αντικείμενα.

Η παρακάτω BNF γραμματική δίνει την σύνταξη των όρων

Όρος Σταθερά Μεταβλητή ΣυναρτησιακόΣύμβολο (Όρος, ... ,Όρος) Π.χ. x, 56, Mary, FatherOf (Mary), WifeOf (FatherOf(x))

Οι ατομικές φόρμουλες (atomic formulas) είναι εκφράσεις της ΛΠΤ που αναφέρονται σε απλά γεγονότα.

Η παρακάτω BNF γραμματική δίνει την σύνταξη τους

ΑτομικήΦόρμουλα Όρος ΣύμβολοΚατηγορήματος (Όρος, ... ,Όρος) Π.χ. Mary = ElderDaughterOf (FatherOf (Mary)), Happy (Mary),

Lives (Mary, Samos), RockBand (Radiohead)

Page 76: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

76

Λογική Πρώτης Τάξης - Συντακτικό

Οι καλά σχηματισμένες φόρμουλες (well formed formulas) είναι οι πιο περίπλοκες εκφράσεις της ΛΠΤ. Μπορούμε να τις χρησιμοποιήσουμε για να αναφερθούμε σε οποιαδήποτε κατάσταση του κόσμου

Η παρακάτω BNF γραμματική δίνει την σύνταξη τους ΚαλάΣχηματισμένηΦόρμουλα ΑτομικήΦόρμουλα

(ΚαλάΣχηματισμένηΦόρμουλα) ¬ΚαλάΣχηματισμένηΦόρμουλα ΚαλάΣχηματισμένηΦόρμουλα ΔυαδικόΣυνδετικό ΚαλάΣχηματισμένηΦόρμουλα (Ποσοδείκτης Μεταβλητή) ΚαλάΣχηματισμένηΦόρμουλα

Π.χ. ¬Loves(John,Mary)

Loves(John,Anna) Loves(John,Christina)

( x) (SportsCar(x) Owns(John(x)) Μια φόρμουλα χωρίς ελεύθερες μεταβλητές είναι πρόταση (sentence)

Page 77: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

77

Λογική Πρώτης Τάξης - Σημασιολογία

Το νόημα των φόρμουλων στη ΛΠΤ εξαρτάται από την ερμηνεία κάτω από την οποία χρησιμοποιείται

Μια ερμηνεία είναι μια αντιστοίχιση μεταξύ συμβόλων της ΛΠΤ και αντικειμένων, κατηγορημάτων και συναρτήσεων του πραγματικού κόσμου

Για παράδειγμα, κάτω από μια συγκεκριμένη ερμηνεία η σταθερά Manchester μπορεί να αναφέρεται στην αγγλική πόλη. Κάτω από μια άλλη ερμηνεία μπορεί να αναφέρεται στην ποδοσφαιρική ομάδα Manchester United

Το κατηγόρημα Relative(…,…) μπορεί να αναφέρεται στη συγγένεια μεταξύ ανθρώπων. Σε άλλη ερμηνεία μπορεί να αναφέρεται στη συγγένεια μεταξύ αιλουροειδών

Η συνάρτηση FatherOf μπορεί να αναφέρεται στην σχέση πατρότητας

Page 78: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

78

Αναπαράσταση Γνώσης με Λογική Πρώτης Τάξης

Η ΛΠΤ είναι μια πολύ διαδεδομένη και εύχρηστη γλώσσα αναπαράστασης γνώσης

Στην αναπαράσταση γνώσης, ένα πεδίο (domain) είναι ένα τμήμα του κόσμου για το οποίο θέλουμε να εκφράσουμε κάποια γνώση

Παραδείγματα απλών πεδίων που μπορούν να αναπαρασταθούν με ΛΠΤ Το πεδίο των συγγενικών σχέσεων Το πεδίο των συνόλων Το πεδίο του wumpus (και άλλα παιχνίδια)

Η ΛΠΤ είναι η πιο σημαντική λογική που χρησιμοποιείται σήμερα στην επιστήμη υπολογιστών!

Page 79: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

79

Άλλες Λογικές

Υπάρχουν βέβαια και άλλες λογικές:

Second-Order Logic Modal Logic Temporal Logic Logics of Knowledge and Belief Logics for Databases …

Page 80: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

80

Εξαγωγή Συμπερασμάτων στην ΛΠΤ

Εξαγωγή Συμπερασμάτων (inference) είναι η διαδικασία μηχανικής παραγωγής προτάσεων που εξάγονται από άλλες προτάσεις

Οι παρακάτω κανόνες εξαγωγής συμπερασμάτων της ΠΛ ισχύουν και στην ΛΠΤ

Modus Ponens: (α β) α |= β

And-Elimination: α1 α2 ... αn |= αi

And-Introduction: α1, α2, ... , αn |= α1 α2 ... αn

Or-Introduction: αi |= α1 α2 ... αn Double-Negation Elimination: ¬ ¬α |= α Unit Resolution: (α β) ¬β |= α Resolution: (α β) (¬β γ) |= (α γ)

Page 81: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

81

Αντικατάσταση

Η αντικατάσταση (substitution) είναι βασική διαδικασία για την εφαρμογή των κανόνων εξαγωγής συμπερασμάτων

Μια αντικατάσταση θ είναι ένα πεπερασμένο σύνολο της μορφής {v1/t1,…,vn/tn}, όπου

Κάθε vi είναι μια μεταβλητή και κάθε ti είναι ένας όρος διάφορος του vi

Οι μεταβλητές v1,…,vn είναι διαφορετικές μεταξύ τους

Καμια μεταβλητή από τις v1,…,vn δεν εμφανίζεται σε κανέναν από τους όρους t1,…,tn

Π.χ. τα σύνολα {x/Mary, y/John} και {x/Mary, MotherOf(z)}είναι

αντικαταστάσεις. τα σύνολα {x/f(x)} και {x/G(y), y/F(x)} δεν είναι αντικαταστάσεις

Page 82: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

82

Αντικατάσταση

Ορισμός: Ας υποθέσουμε ότι θ = {v1/t1,…,vn/tn} είναι μια αντικατάσταση και α

είναι ένας όρος ή μια φόρμουλα σε ΛΠΤ που δεν περιλαμβάνει ποσοδείκτες. Τότε SUBST(θ,α) είναι η έκφραση που προκύπτει από το α αντικαθιστώντας κάθε παρουσία μεταβλητής vi με τον αντίστοιχο όρο ti, (i=1,…n)

Παράδειγμα: SUBST({x/Mary, y/John}, Loves(x,y)) = Loves(Mary,John) SUBST({x/John, y/HouseOf(z)}, Likes(x,y)) = Likes(John, HouseOf(z))

SUBST({},α) = α για κάθε όρο/ φόρμουλα α της ΛΠΤ

Page 83: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

83

Κανόνες Εξαγωγής Συμπερασμάτων στην ΛΠΤ

Στην ΛΠΤ υπάρχουν οι εξής τρεις νέοι κανόνες:

Απαλοιφή Καθολικού Ποσοδείκτη (Universal Elimination):

Για κάθε πρόταση α, μεταβλητή v, και ground (χωρίς μεταβλητές) όρο g

(v)α |= SUBST({v/g},α)

Π.χ. από το (x) Likes(x,Icecream), μπορούμε χρησιμοποιώντας την αντικατάσταση {x/John} να εξάγουμε Likes(John,Icecream)

Page 84: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

84

Κανόνες Εξαγωγής Συμπερασμάτων στην ΛΠΤ

Απαλοιφή Υπαρξιακού Ποσοδείκτη (Existential Elimination): Για κάθε πρόταση α, μεταβλητή v, και καινούργια σταθερά k

(v)α |= SUBST({v/k},α) Π.χ. από το ( x) Likes(x,Icecream), μπορούμε να εξάγουμε

Likes(Somebody,Icecream), εφόσον το Somebody είναι καινούργια σταθερά που δεν έχει χρησιμοποιηθεί πριν

Existential Introduction: Για κάθε πρόταση α, μεταβλητή v που δεν εμφανίζεται στην α, και ground όρο g που εμφανίζεται στην α

α |= (v) SUBST({g/v},α) Π.χ. από το Likes(John,Icecream), μπορούμε να εξάγουμε ( x)

Likes(John,x)

Page 85: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

85

Παράδειγμα Εξαγωγής Συμπερασμάτων

Ας υποθέσουμε ότι έχουμε το παρακάτω κείμενο:

The law says that it is a crime for an American to sell weapons to hostile nations. The country Nono, an enemy of America, has some missiles, and all of its missiles were sold to it by Colonel West, who is an American.

Πως μπορούμε να χρησιμοποιήσουμε ΛΠΤ για να αναπαραστήσουμε το κείμενο?

Πως μπορούμε να χρησιμοποιήσουμε τους κανόνες εξαγωγής συμπερασμάτων της ΛΠΤ για να συμπεράνουμε ότι ο West είναι εγκληματίας ?

Page 86: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

86

Το κείμενο σε ΛΠΤ

“it is a crime for an American to sell weapons to hostile nations” ( x,y,z) American(x) Weapon(y) Nation(z) Hostile(z)

Sells(x,z,y) Criminal(x)

“Nono … has some missiles” ( x) Owns(Nono,x) Missile(x)

“all of its missiles were sold to it by Colonel West” ( x) Owns(Nono,x) Missile(x) Sells(West,Nono,x)

Page 87: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

87

Το κείμενο σε ΛΠΤ

Missiles are weapons ( x) Missile(x) Weapon(x)

An enemy of America is a hostile nation ( x) Enemy(x,America) Hostile(x)

“West, who is an American” American(West)

“The country Nono” Nation(Nono)

“Nono, an enemy of America” Enemy(Nono,America) , Nation(America)

Page 88: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

88

Απόδειξη

Από το ( x) Owns(Nono,x) Missile(x) με existential elimination: Owns(Nono,M1) Missile(M1)

Από το Owns(Nono,M1) Missile(M1) με and-elimination: Owns(Nono,M1) , Missile(M1)

Από το ( x) Missile(x) Weapon(x) με universal elimination: Missile(M1) Weapon(M1)

Από τα Missile(M1) , Missile(M1) Weapon(M1) με modus ponens: Weapon(M1)

Page 89: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

89

Απόδειξη

Από το ( x) Owns(Nono,x) Missile(x) Sells(West,Nono,x) με universal elimination:

Owns(Nono,M1) Missile(M1) Sells(West,Nono,M1)

Από τα Owns(Nono,M1) Missile(M1) , Owns(Nono,M1) Missile(M1) Sells(West,Nono,M1) με modus ponens:

Sells(West,Nono,M1)

Από το ( x,y,z) American(x) Weapon(y) Nation(z) Hostile(z) Sells(x,z,y) Criminal(x) με universal elimination (3 φορές):

American(West) Weapon(M1) Nation(Nono) Hostile(Nono) Sells(Westr,Nono,M1) Criminal(West)

Page 90: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

90

Απόδειξη

Από το ( x) Enemy(x,America) Hostile(x) με universal elimination:

Enemy(Nono,America) Hostile(Nono)

Από τα Enemy(Nono,America) ,

Enemy(Nono,America) Hostile(Nono) με modus ponens: Hostile(Nono)

Από τα American(West) , Weapon(M1) , Nation(Nono) , Hostile(Nono) , Sells(West,Nono,M1) με and introduction:

American(West) Weapon(M1) Nation(Nono) Hostile(Nono) Sells(West,Nono,M1)

Page 91: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

91

Απόδειξη

Από τα American(West) Weapon(M1) Nation(Nono) Hostile(Nono) Sells(West,Nono,M1) ,

American(West) Weapon(M1) Nation(Nono) Hostile(Nono) Sells(Westr,Nono,M1) Criminal(West)

με modus ponens:

Criminal(West)

Page 92: Αναπαράσταση Γνώσης με Λογική Προτασιακή Λογική Λογική Πρώτης Τάξης

92

Εύρεση Απόδειξης: Ένα Πρόβλημα Αναζήτησης

Η εύρεση απόδειξης στη ΛΠΤ μπορεί να οριστεί ως ένα πρόβλημα αναζήτησης:

Αρχική Κατάσταση: Η αρχική Βάση Γνώσης Τελεστές: Οι κανόνες εξαγωγής συμπερασμάτων Στόχος: Η Βάση Γνώση περιέχει την πρόταση που θέλουμε να

αποδείξουμε

Οποιοσδήποτε αλγόριθμος αναζήτησης μπορεί να χρησιμοποιηθεί για να βρούμε μια απόδειξη για μια δεδομένη πρόταση

Δυστυχώς ο χώρος αναζήτησης είναι άπειρος!