Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων- Σημειώσεις έτους 2007-2008 Καθηγητής Γεώργιος Βούρος Μαθηματική Λογική και Λογικός Προγραμματισμός
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Page 2 Μέθοδος της Επίλυσης στην Προτασιακή Λογική ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Στιγμιότυπα Αξιωματικών Σχημάτων π (π π) π (τ π) π (σ π) τ (π τ) τ (τ τ) τ (σ τ) σ (π σ) σ (τ σ) σ (σ σ) π (π π π) π (π τ π) π (π σ π)... Page 3 Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Οι αποδείξεις μπορεί να είναι σύντομες αλλα απαιτούν την εξέταση πολλών εναλλακτικών Page 4 ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Προτασιακή Επίλυση Page 5 Η προτασιακή επίλυση βασίζεται σε ένα και μόνο κανόνα συμπερασμού Με τη χρήση του κανόνα της επίλυσης (δίχως άλλους κανόνες συμπερασμού και αξιώματα) είναι δυνατό να φτιάξουμε ένα ορθό και πλήρη μηχανισμό απόδειξης (αποδεικτικό σύστημα) για την προτασιακή λογική. Ο χώρος αναζήτησης με τη χρήση του κανόνα της επίλυσης είναι πολύ μικρότερος από τη χρήση του Modens Ponens και των Πρότυπων Σχημάτων Αξιωμάτων. Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Προτασιακή Μορφή Page 6 Ατομικός τύπος είναι είτε μια ατομική πρόταση (προτασιακή σταθερά) ή η άρνηση μιας ατομικής πρότασης π π Ένας προτασιακός τύπος είναι είτε ένας ατομικός τύπος ή η διάζευξη ατομικών τύπων π π π τ Προτασιακή μορφή (πρόταση) είναι ένα σύνολο ατομικών τύπων ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Κενά Σύνολα Page 7 Η κενή πρόταση () είναι μη ικανοποιήσιμη Είναι ισοδύναμη με την κενή διάζευξη Το κενό σύνολο προτάσεων είναι ικανοποιήσιμο Είναι ισοδύναμο με την κενή σύζευξη Τι συμβαίνει με με ένα σύνολο προτάσεων που περιέχει μόνο την κενή πρόταση; Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Μετατροπή σε Προτασιακή Μορφή (Μέθοδος ΣΑΕΤ) Page 8 (Σ) Απαλοιφή των συνεπαγωγών (Α) Εφαρμογή των Αρνήσεων φ τ φ τ φ τ ( φ τ) (φ τ) φ φ (φ τ) φ τ (φ τ) φ τ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Μετατροπή σε Προτασιακή Μορφή (Μέθοδος ΣΑΕΤ) Page 9 (Ε) Επιμερισμός φ (τ σ) (φ τ) (φ σ) (τ σ) φ (φ τ) (φ σ) (τ σ) φ τ (σ φ) (τ σ) φ τ (σ φ) (Τ) Τελεστές φ1... φν { φ1,..,φν } φ1... φν { φ1 },.., {φν } Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Παράδειγμα π (σ τ) Σ π ( σ τ) Α π ( σ τ) Ε π ( σ τ) Τ {π} { σ,τ} Page 10 ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Παράδειγμα (π (σ χ)) Σ (π ( σ χ)) Α ( π ( σ χ)) ( π ( σ χ)) π (σ χ) Ε ( π σ) ( π χ) Τ { π, σ } { π, χ} Page 11 Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Κανόνας της Επίλυσης Page 12 Γενικός Παράδειγμα {φ1,..., χ,..., φν} {ψ1,... χ,..., ψμ} {φ1,..χ., φν, ψ1,. χ.., ψμ} {π,σ} { π, τ} - { π, σ, π, τ} ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Ζητήματα Page 13 Σύνθεση { π, τ} {π, τ} {τ} Μονοσύνολα { π,τ} {π} {π} { π} - {τ} {} Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Ζητήματα Page 14 Πολλαπλά Συμπεράσματα {π,σ} { π, σ} - {π, π} {σ, σ} Απλή Εφαρμογή (ΛΑΘΟΣ) {π,σ} { π, σ} {} ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Ειδικές Περιπτώσεις Page 15 Modus Ponens Modus Tolens Chaining π σ π σ π σ π σ π σ σ τ π τ { π, σ } {π } {σ} { π, σ } { σ } -- { π } { π, σ } { σ, τ} -- { π, τ} Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Πληρότητα Page 16 Η μέθοδος της επίλυσης όπως τη γνωρίζουμε μέχρι τώρα για την προτασιακή λογική δεν είναι πλήρης. Δεν μπορούμε να δημιουργήσουμε την ταυτολογία π (σ π) με τη χρήση της μεθόδου αυτής. Δεν υπάρχουν υποθέσεις, συνεπώς δεν υπάρχουν συμπεράσματα. ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Απάντηση Το παραπάνω πρόβλημα δεν υφίσταται αν πάρουμε την προτασιακή μορφή των υποθέσεων (αν υπάρχουν τέτοιες) μαζί με την άρνηση του συμπεράσματος και προσπαθήσουμε να βγάλουμε ως συμπέρασμα την κενή πρόταση. Page 17 Γενική Μέθοδος Για να αποφασίσουμε αν από ένα σύνολο υποθέσων Δ (πιθανώς κενό) συνεπάγεται λογικά η πρόταση φ, δημιουργούμε το Δ { φ}, και μετατρέπουμε όλες τις υποθέσεις σε προτασιακή μορφή. Στη συνέχεια προσπαθούμε να εξάγουμε ως συμπέρασμα την κενή πρόταση {} με τη χρήση του κανόνα της επίλυσης. Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Παράδειγμα Page 18 (π (σ τ)) Σ ( π σ τ) Α ( π σ τ) π σ τ Ε π σ τ Τ {π} {σ} { τ} ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Παράδειγμα Page 19 Αν η Μαρία αγαπάει το Γιώργο,τότε η Μαρία αγαπάει το Τάσο. Αν είναι Δευτέρα, τότε η Μαρία αγαπάει το Γιώργο ή τον Τάσο. Αποδείξτε ότι αν είναι Δευτέρα, τότε η Μαρία αγαπάει τον Τάσο. 1. { γ, τ} Υπόθεση 2. { δ, γ,τ} Υπόθεση 3. {δ} Άρνηση του συμπεράσματος 4. { τ} Άρνηση του συμπεράσματος 5. {γ,τ} 3,2 6. {τ} 5,1 7. {} 6,4 Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Παράδειγμα Page 20 Κεφαλή κερδίζεις. Γράμματα χάνω. Δείξε ότι πάντοτε κερδίζεις. 1. { κ, εσυ} Υπόθεση 2. { γ, εγώ} Υπόθεση 3. {κ,γ} Υπόθεση 4. { κ, γ} Υπόθεση 5. {εγώ, εσύ} Υπόθεση 6. { εγω, εσύ} Υπόθεση 7. { εσυ} Άρνηση συμπεράσματος 8. {γ, εσυ} 3,1 9. { εγω, εσυ} 8,2 10. {εσυ} 9,5 11. {} 10,7 ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Ορθότητα και Πληρότητα Page 21 Μια πρόταση είναι αποδείξιμη από ένα σύνολο προτάσεων με βάση τη μέθοδο της επίλυσης αν και μόνο αν υπάρχει τρόπος εξαγωγής της κενής πρότασης {} από τις προτάσεις του συνόλου Δ { φ}. Θεώρημα Η μέθοδος της επίλυσης για την προτασιακή λογική είναι ορθή και πλήρης. Δηλαδή Δ = φ αν και μόνο αν Δ - φ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αποφασισιμότητα Page 22 Μια κατηγορία ερωτήσεων είναι αποφασίσιμη αν και μόνο αν υπάρχει διαδικασία τέτοια ώστε όταν, δεδομένης μιας ερώτησηςαπό την κλάσση αυτή, η διαδικασία τερματίζει με «ναι» αν η απάντηση είναι θετική ή «οχι» αν η απάντηση είναι αρνητική. Παράδειγμα: Για κάθε φυσικό αριθμό Ν, αποφασίστε αν είναι πρώτος. ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Ημι- Αποφασισιμότητα Page 23 Μια κατηγορία ερωτήσεων είναι ημι-αποφασίσιμη αν και μόνο αν υπάρχει διαδικασία τέτοια ώστε όταν, δεδομένης μιας ερώτησης από την κλάσση αυτή, η διαδικασία τερματίζει με «ναι» αν η απάντηση είναι θετική. Αν μια κλάση είναι αποφασίσιμη, τότε προφανώς είναι ημιαποφασίσιμη. Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αποφασισιμότητα της Λογικής Συνεπαγωγής στην Προτασιακή Λογική Page 24 Η μέθοδος της επίλυσης είναι μια διαδικασία απόφασης για την προτασιακή λογική. Η λογική συνεπαγωγή για την προτασιακή λογική είναι αποφασίσιμη (η μέθοδος της επίλυσης πάντοτε επιστρέφει την απάντηση «ΝΑΙ» ή την απάντηση «ΟΧΙ») Δυστυχώς, το πρόβλημα στη γενική του περίπτωση είναι NP-hard ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Προτάσεις Horn Μια πρόταση Horn αντιστοιχεί σε προτασιακή μορφή με το πολύ ένα καταφατικό ατομικό τύπο Page 25 Παραδείγματα {r, p, q} { p, q, r} {p} Κάθε πρόταση Horn μπορεί να γραφεί ως κανόνας: { p, q, r} p q r Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Υπολογιστική Πολυπλοκότητα Όταν ένα σύνολο προτάσεων είναι Horn, τότε η ικανοποιησιμότητα κα συνεπώς η λογική συνεπαγωγή μπορεί να αποφασισθεί σε χρόνο που είναι γραμμικά ανάλογος στο μέγεθος του συνόλου προτάσεων. Page 26 ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 H μέθοδος των δύο δακτύλων (Two Fingers Method - TFM) Page 27 Function tfm(δ) {var fast :=Δ; var slow := Δ; do ( if slow = [] then return failure; Δ := concat (Δ, αποτέλεσμα επίλυσης (fast, slow)); If {} Δ then return Δ; If fast=slow then {fast :=Δ, slow := next(slow)} else fast:= next(fast))} Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Παράδειγμα εφαρμογής της TFM Page 28 1. {p,q} Υπόθεση 11. {r} 2,6 2. { p,r} Υπόθεση 12. {p} 4,6 3. { q,r} Υπόθεση 13. {q} 1,7 4. { r} Υπόθεση 14. {r} 6,7 5. {q,r} 1,2 15. {p} 1,8 6. {p,r} 1,3 16. {r} 5,8 7. { p} 2,4 17. {} 4,9 8. { q} 3,4 9. {r} 3,5 10.{q} 4,5 ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Παράδειγμα εφαρμογής της TFM με απαλοιφή προτασιακών μορφών (έλεγχο ύπαρξης) Page 29 1. {p,q} Υπόθεση 2. { p,r} Υπόθεση 3. { q,r} Υπόθεση 4. { r} Υπόθεση 5. {q,r} 1,2 6. {p,r} 1,3 7. { p} 2,4 8. { q} 3,4 9. {r} 3,5 10. {q} 4,5 11. {p} 4,6 12. {} 4,9 Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Παράδειγμα εφαρμογής της TFM με έλεγχο συμπληρωματικής 1. {p,q} Υπόθεση 2. { p,r} Υπόθεση 3. { q,r} Υπόθεση 4. { r} Υπόθεση 5. {q,r} 1,2 6. {p,r} 1,3 7. { p} 2,4 8. { q} 3,4 9. {r} 3,5 10. {} 4,9 Page 30 ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Τερματισμός Θεώρημα: Είναι δυνατή η απόδειξη μια πρότασης (συμεράσματος) από ένα σύνολο υποθέσεων με τη μέθοδο της επίλυσης, μόνο και μόνο αν η πρόταση μπορεί να συναχθεί με τη μέθοδο των δύο δακτύλων. Page 31 Θεώρημα: Η Προτασιακή Επίλυση με την εφαρμογή της μεθόδου των δύο δακτύλων τερματίζει πάντοτε. Απόδειξη: Από πεπερασμένο αριθμό προτασιακών σταθερών μπορούν να κατασκευαστεί και να συναχθεί πεπερασμένος στον αριθμό προστασιακών μορφών. Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Διαδικασία Davis Putnam function dp (Δ) {for φ in vocabulary(δ) do {var Δ :={}; for Φ1 in Δ for Φ2 in Δ such that φ Φ1, φ Φ2 do {var Φ := Φ1-{φ} Φ2-{ φ}; if not tautology(φ ) then Δ :=Δ {Φ }}; Δ :=Δ-{Φ Δ φ Φ or φ Φ } Δ }; Return (if {} Δ then unsatisfiable else unsatisfiable ) Page 32 function tautology (Φ) {φ Φ and φ Φ } ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Παράδειγμα εφαρμογής DP 1. {p, q} 2. {p, q} 3. { p, q} 4. { p, q} 5. {p} 1,2 6. {q} 1,3 7. { q} 2,4 8. { p} 3,4 9. {} 6,7 10. {} 5,8 Page 33 Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Παράδειγμα εφαρμογής DP Page 34 {p, q, r} {q, r} {p, q, r} {q, r} {p, q, r} { q, r} {p, q, r} { q, r} { p, q, r} { p, q, r} {r} { p, q, r} { r} { p, q, r} {} Προσπαθήστε δίχως την εφαρμογή της DP ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Βασική Ιδέα και Κίνητρο για την Davis Putnam Logemann Loveland (DPLL) Page 35 H DP μπορεί να απαιτήσει εξαιρετικά μεγάλο χρόνο και χώρο για μεγάλα προβλήματα. H DPLL μπορεί να λύσει τέτοιου είδους προβλήματα λύνοντας μικρότερα προβλήματα σε σειρά. Βασική ιδέα: Επέλεξε ένα ατομικό τύπο. Θεώρησε ότι ο τύπος αυτός είναι αληθής. Απλοποίησε το σύνολο των προτασικών μορφών (δες παρακάτω) και δείξε την ικανοποιησιμότητα. Επανέλαβε για την άρνηση του ατομικού τύπου. Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Davis Putnam Logemann Loveland (DPLL) Page 36 function dpll(δ) { var φ; If Δ ={} then return yes; If {} Δ then return no; φ := choose vocabulary (Δ); if dpll(simplify(δ,φ)) return yes else return dpll(simplify(δ, φ))} ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Γεώργιος Βούρος
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων 2007 Simplification Page 37 function simplify(δ,φ) {var Δ ; For Φ Δ do {if φ Φ then skip else if negation(φ) Φ then Δ :=Δ {Φ-{negation(φ)}} else Δ :=Δ {Φ}}} Παράδειγμα: Simplify ({{p,q},{ p, r},{ r, s}}, p) = {{r},{ r,s}} Γεώργιος Βούρος