Επίλυση Resolution Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: H Μέθοδος της Επίλυσης στον Προτασιακό Λογισμό στον Κατηγορηματικό Λογισμό ΕΠΛ 412 Λογική στην Πληροφορική 4-1
Το όνειρο του Leibniz: Υπολογισμός και Λογική μια καθολική μαθηματική γλώσσα μέσω της οποίας να είναι δυνατή η διατύπωση κάθε ανθρώπινης γνώσης και κανόνες που μπορούν να εφαρμοστούν μηχανιστικά για την παραγωγή κάθε λογικής αλήθειας και σχέσης. Calculemus : Ας υπολογίσουμε! To πρόγραμμα του David Hilbert H επινόηση ενός τυπικού συστήματος που θα επιτρέπει την απόδειξη κάθε μαθηματικής αλήθειας μέσω μιας μηχανικής διαδικασίας Alonzo Church και Alan Turing: Υπάρχουν προβλήματα τα οποία κανένας αλγόριθμος δεν μπορεί να επιλύσει. Επομένως δεν μπορεί να υπάρχει κάποιος αλγόριθμος ο οποίος να μπορεί να παραγάγει κάθε μαθηματική αλήθεια. Leibniz, 1646 1716 Hilbert, 1862-1943 Turing, 1912-1954 Church 1903-1995 ΕΠΛ 412 Λογική στην Πληροφορική 4-2
Resolution Επίλυση Συμπέρασμα: Ο Κατηγορηματικός Λογισμός είναι μη αποφασίσιμος. Εντούτοις, υπάρχει αλγοριθμική μέθοδος μέσω της οποίας μπορούμε να δείξουμε ότι μια πρόταση του ΚΛ είναι μη ικανοποιήσιμη, η: Επίλυση Κατάλληλη για χρήση από υπολογιστή (μόνο 1 κανόνας, 0 αξιώματα) Δυνατόν να μην τερματίζει σε κάποια δεδομένα J. Alan Robinson 1965 Αυτοματοποιημένη απόδειξη θεωρημάτων (theorem proving) Λογικός Προγραμματισμός: Robert Kowalski Prolog: Alain Colmerauer 1973 Prolog compiler: David Warren, 1997 Constraint Logic Programming: Jaffar and Lassez, 1987 ΕΠΛ 412 Λογική στην Πληροφορική 4-3
Βασική Ιδέα Έστω η πρόταση ( ) ( ). Αν η είναι αληθής τότε η ορθότητα της πρότασης βασίζεται στην ορθότητα της Αν η είναι ψευδής τότε η ορθότητα της πρότασης βασίζεται στην ορθότητα της Η μπορεί να είναι είτε αληθής είτε ψευδής, όχι και τα δύο. Επομένως αν και οι δύο προτάσεις ( ), ( ) είναι αληθείς πρέπει να ισχύει η πρόταση ( ) η οποία ονομάζεται επιλύουσα (resolvent) των δύο προτάσεων. Παρόμοια, αν η επιλύουσα πρόταση ( ) είναι ψευδής τότε τουλάχιστον μία από τις προτάσεις ( ) και ( ) είναι ψευδής και επομένως η σύζευξη ( ) ( ) είναι επίσης ψευδής. ΕΠΛ 412 Λογική στην Πληροφορική 4-4
Βασική Ιδέα (συν.) Αν είναι και οι δύο προτάσεις αληθείς Τότε πρέπει να είναι και η επιλύουσα αληθής Τότε μία από τις δύο προτάσεις είναι ψευδής Αν η επιλύουσα είναι ψευδής ΕΠΛ 412 Λογική στην Πληροφορική 4-5
Βασική Ιδέα (συν.) Έστω πρόταση ψσε κανονική συζευκτική μορφή. Είναι η ψ έγκυρη; Υποθέτω ότι η πρόταση ψ είναι ικανοποιήσιμη και επιδιώκω να εντοπίσω αντίφαση. Επανειλημμένα ακυρώνω αντίθετους όρους από την πρότασή μου Α Β Β Γ Α Γ και επιδιώκω να φθάσω σε αντίφαση Α Α την οποία ονομάζουμε διάψευση (refutation) της υπόθεσης. Αυτό συνεπάγεται ότι η πρόταση ψ δεν είναι ικανοποιήσιμη επομένως η πρόταση ψ είναι έγκυρη. (Αν δεν διαψεύσουμε την υπόθεση τότε η ψ δεν είναι έγκυρη.) ΕΠΛ 412 Λογική στην Πληροφορική 4-6
Σύνοψη Ενότητας Θα μελετήσουμε τη μέθοδο της επίλυσης Στον Προτασιακό Λογισμό Στον Κατηγορηματικό Λογισμό Στον Λογικό Προγραμματισμό Ξεκινούμε με την Επίλυση στον Προτασιακό Λογισμό. ΕΠΛ 412 Λογική στην Πληροφορική 4-7
Προτασιακή Μορφή στον ΠΛ Στοιχείο (literal): Μια ατομική πρόταση ή η άρνηση μιας ατομικής πρότασης. Δύο στοιχεία L και L ονομάζονται συμπληρωματικά. Προτασιακό σύνολο: ένα σύνολο στοιχείων που αντιπροσωπεύουν μια διάζευξη π.χ. το σύνολο {p, q, p} αντιπροσωπεύει τη διάζευξη p q p Προτασιακή Μορφή (clausal form): Ένα σύνολο από προτασιακά σύνολα που αντιπροσωπεύουν μια πρόταση σε ΚΣΜ (Κανονική Συζευκτική Μορφή) π.χ. η προτασιακή μορφή της ΚΣΜ πρότασης (p q q) (p q r q) είναι το {{p, q, q},{p, q, r, q}}. Μια πρόταση του Προτασιακού Λογισμού μπορεί να γραφτεί σε προτασιακή μορφή ως εξής: Υπολόγισε την ΚΣΜ της πρότασης Μετάτρεψε την πρόταση στο σύνολο που την αντιπροσωπεύει. ΕΠΛ 412 Λογική στην Πληροφορική 4-8
Η Αρχή της Επίλυσης Έστω προτασιακά σύνολα C 1 και C 2 και συμπληρωματικά στοιχεία L 1 και L 2 τέτοια ώστε L 1 C 1 και L 2 C 2. Τότε το προτασιακό σύνολο (C 1 {L 1 }) (C 2 {L 2 }) ονομάζεται επιλύουσα των C 1 και C 2. Παράδειγμα: Το {B,E} είναι επιλύουσα των C 1 = {A, B} και C 2 = { A, E}. Το {B, C, C} είναι επιλύουσα των C 1 = {A, B, C} και C 2 = { A, C}. Το {B} όχι. Τα C 1 = {A} και C 2 = { A} έχουν ως επιλύουσα το κενό σύνολο. Συμβολίζουμε την κενή επιλύουσα με. Θεώρημα: Αν το D είναι επιλύουσα των C 1 και C 2 τότε C 1 C 2 D ΕΠΛ 412 Λογική στην Πληροφορική 4-9
Διαδικασία Επίλυσης Δεδομένο Εισόδου: Προτασιακή Μορφή S Δεδομένο Εξόδου: Η λογική τιμή που εκφράζει κατά πόσο η S είναι ικανοποιήσιμη Διαδικασία: S 0 = S 1 = S; i = 0; while (S i S i+1 ή i = 0){ (C 1, C 2 ) = ζεύγος προτασιακών συνόλων από S i που δεν έχει επιλεχθεί μέχρι στιγμής; C = {οι επιλύουσες των δύο συνόλων}; if C return μη ικανοποιήσιμο else S i+1 = S i ; S i+2 = S i+1 C; i++ } return ικανοποιήσιμο ΕΠΛ 412 Λογική στην Πληροφορική 4-10
Παράδειγμα Να χρησιμοποιήσετε τη Διαδικασία Επίλυσης για να αποφασίσετε κατά πόσο η πρόταση p ( p q) ( r) ( p q r) είναι μη ικανοποιήσιμη. Η πρόταση αυτή αντιστοιχεί στην προτασιακή μορφή {{p}, { p, q}, { r}, { p, q, r}} Μπορούμε να αναπαραστήσουμε την εκτέλεση της διαδικασίας και συγκεκριμένα τη διαδικασία εύρεσης διάψευσης μέσω του πιο κάτω δένδρου: p p, q r p, q,r p, q p H πρόταση είναι μη ικανοποιήσιμη. ΕΠΛ 412 Λογική στην Πληροφορική 4-11
Ορθότητα και Πληρότητα Θεώρημα Ορθότητας: Αν ο όρος ληφθεί από ένα σύνολο όρων κατά τη διαδικασία επίλυσης, τότε το σύνολο αυτό είναι μη ικανοποιήσιμο. Θεώρημα Πληρότητας: Αν ένα σύνολο όρων είναι μη ικανοποιήσιμο τότε ο όρος θα ληφθεί από τη διαδικασία επίλυσης. ΕΠΛ 412 Λογική στην Πληροφορική 4-12
Παράδειγμα Να εφαρμόσετε τη μέθοδο της Επίλυσης για να αποφασίσετε την εγκυρότητα του συλλογισμού Aν Η 1, Η 2, Η 3 και Η 4 τότε C όπου: Η 1 = Αν σπουδάσει Θετικές Επιστήμες θα έχει καλό μισθό Η 2 = Αν σπουδάσει Τέχνες θα έχει καλή κοινωνική ζωή Η 3 = Αν έχει καλό μισθό ή καλή κοινωνική ζωή τότε θα είναι ικανοποιημένη Η 4 = Δεν είναι ικανοποιημένη C= Δεν έχει σπουδάσει Θετικές Επιστήμες ή Τέχνες. ΕΠΛ 412 Λογική στην Πληροφορική 4-13
Παράδειγμα Βήμα 1 Βήμα 1: Γράψε τις προτάσεις σε γλώσσα κατηγορηματικού λογισμού. Οι προτάσεις μπορούν να γραφτούν χρησιμοποιώντας τις ατομικές προτάσεις ΘΕ, ΚΜ, Τ, ΚΖ, και Ι ως εξής: Η 1 = ΘΕ ΚΜ Η 2 = Τ ΚΖ Η 3 = (ΚΜ ΚΖ) Ι Η 4 = Ι C= (ΘΕ Τ) Θέλουμε να ελέγξουμε κατά πόσο ο συλλογισμός Η 1 Η 2 Η 3 Η 4 C είναι έγκυρος. Θα δείξουμε ότι η άρνηση του συλλογισμού δεν είναι ικανοποιήσιμη. (Η 1 Η 2 Η 3 Η 4 C) = [ (Η 1 Η 2 Η 3 Η 4 ) C] = (Η 1 Η 2 Η 3 Η 4 ) C = Η 1 Η 2 Η 3 Η 4 C ΕΠΛ 412 Λογική στην Πληροφορική 4-14
Παράδειγμα Βήμα 2 Βήμα 2: Κατασκευή προτασιακού συνόλου Η πρόταση Η 1 Η 2 Η 3 Η 4 C μεταφράζεται σε ΚΣΜ ως εξής: ( ΘΕ ΚΜ) ( Τ ΚΖ) ( (ΚΜ ΚΖ) Ι) Ι (ΘΕ Τ) = ( ΘΕ ΚΜ) ( Τ ΚΖ) (( ΚΜ ΚΖ) Ι) Ι (ΘΕ Τ) = ( ΘΕ ΚΜ) ( Τ ΚΖ) ( ΚΜ Ι) ( ΚΖ Ι) Ι (ΘΕ Τ) ΕΠΛ 412 Λογική στην Πληροφορική 4-15
Παράδειγμα Βήμα 3 Βήμα 3: Εφαρμογή της Μεθόδου της Επίλυσης Η διάψευση της πρότασης (της άρνησης του συλλογισμού) μας επιτρέπει να συμπεράνουμε ότι ο αρχικός συλλογισμός είναι έγκυρος. ΕΠΛ 412 Λογική στην Πληροφορική 4-16
Διαδικασία Επίλυσης στον Κατηγορηματικό Λογισμό Η Διαδικασία Επίλυσης μπορεί να διατυπωθεί και στον Κατηγορηματικό Λογισμό. Απαραίτητη προεπεξεργασία αφορά στη μετατροπή των προτάσεων υπό μελέτη σε προτασιακή μορφή. Για κάθε πρόταση αυτό επιτυγχάνεται ως εξής: Μετατροπή πρότασης σε Κανονική Μορφή Prenex (KMP) - συζευκτική κανονική μορφή με όλους τους ποσοδείκτες στην αρχή της πρότασης Απαλοιφή των υπαρξιακών ποσοδεικτών μέσω της μεθόδου του Skolem Διαγραφή των καθολικών ποσοδεικτών Εξαγωγή των προτασιακών συνόλων ΕΠΛ 412 Λογική στην Πληροφορική 4-17
Αλγόριθμος Μετατροπή σε KMP Bήμα 1: Απαλοιφή συνεπαγωγών μέσω της ισοδυναμίας ψ ψ Βήμα 2: Αφαίρεση διπλών αρνήσεων και μετακίνηση αρνήσεων στο επίπεδο των ατομικών προτάσεων μέσω των ισοδυναμιών ( ψ) ψ ( ψ) ψ x x x x Βήμα 3: Μετονομασία δεσμευμένων μεταβλητών όπου χρειάζεται έτσι ώστε να μην υπάρχει το ίδιο όνομα μεταβλητής σε διαφορετικούς ποσοδείκτες. Βήμα 4: Μεταφορά όλων των ποσοδεικτών στα αριστερά x φ ψ x (φ ψ) x φ ψ x (φ ψ) x φ ψ x(φ ψ) x φ ψ x (φ ψ) (Σημείωση: το y δεν εμφανίζεται ελεύθερο στην πρόταση ψ.) Βήμα 5: Εισαγωγή συζεύξεων από διαζεύξεις (ψ 1 ψ 2 ) ( ψ 1 ) ( ψ 2 ) (ψ 1 ψ 2 ) (ψ 1 ) (ψ 2 ) ΕΠΛ 412 Λογική στην Πληροφορική 4-18
Παράδειγμα Μετάτρεψε την πρόταση σε ΚΜΡ x (A(x) B(x)) x Q(x) 1(a) ( x (A(x) B(x)) ) x Q(x) 1(b) ( x ( A(x) B(x)) ) x Q(x) 2(a) x ( ( A(x) B(x))) x Q(x) 2(b) x ( A(x) B(x)) x Q(x) 2(c) x (A(x) B(x)) x Q(x) 3 x (A(x) B(x)) y Q(y) 4(a) x [(A(x) B(x))) y Q(y)] 4(b) x y [(A(x) B(x))) Q(y)] 5 x y [(A(x) Q(y)) ( B(x) Q(y))] ΕΠΛ 412 Λογική στην Πληροφορική 4-19
Μέθοδος του Skolem Skolemization Thoralf Skolem Στόχος: Απαλοιφή των υπαρξιακών τελεστών Πετυχαίνεται με την εισαγωγή καινούριων σταθερών και συναρτήσεων στην πρόταση υπό μελέτη. Μέθοδος: Για κάθε x που προηγείται όποιων y: αντικατάσταση της μεταβλητής x από μια καινούρια σταθερά, π.χ. Η πρόταση x y A(x,y) μετατρέπεται στην y A(c,y) Για κάθε x που έπεται των ποσοδεικτών y 1 y n : αντικατάσταση της μεταβλητής x από μια καινούρια συνάρτηση f με παραμέτρους τις y 1 y n π.χ. Η πρόταση x y z w [A(x,y,z,w) B(y,w)] μετατρέπεται στην x z[a(x,f 1 (x),z,f 2 (x,z)) B(f 1 (x),f 2 (x,z))] ΕΠΛ 412 Λογική στην Πληροφορική 4-20
Βασική Ιδέα: Ορθότητα Μεθόδου του Skolem Η πρόταση x y A(x,y) προβλέπει την ύπαρξη κάποιου αντικειμένου x που συνδέεται με κάθε αντικείμενο y μέσω της σχέσης Α. Δεν ξέρουμε την ακριβή τιμή του x όμως μπορούμε να χρησιμοποιήσουμε ένα σύμβολο σταθεράς για να το συμβολίσουμε. Έτσι η πρότασή μας μεταφράζεται σε y A(c,y). Η πρόταση y x A(x,y) προβλέπει για κάθε αντικείμενο y την ύπαρξη κάποιου αντικειμένου x για το οποίο ισχύει Α(x,y). H συγκεκριμένη τιμή του x εξαρτάται από το y. Έτσι μπορούμε να υποθέσουμε την ύπαρξη μιας συνάρτησης που για κάθε αντικείμενο y μας δίνει το αντικείμενο x με το οποίο συνδέεται το y. Έτσι η πρότασή μας μεταφράζεται σε y A(f(y),y). Θεώρημα: Έστω πρόταση και ψ η πρόταση μετά από την εφαρμογή της μεθόδου Skolem. Τότε η πρόταση είναι ικανοποιήσιμη αν και μόνο αν η πρόταση ψ είναι ικανοποιήσιμη. ΕΠΛ 412 Λογική στην Πληροφορική 4-21
Παράδειγμα Να μετατρέψετε την πιο κάτω πρόταση σε προτασιακή μορφή. x y(p(y) Q(x,y)) 1. x y( P(y) Q(x,y)) 2. x( P(f(x)) Q(x,f(x))) 3. P(f(x)) Q(x,f(x))) 4. {{ P(f(x)), Q(x,f(x))}} ΕΠΛ 412 Λογική στην Πληροφορική 4-22
Ενοποίηση Ενοποίηση είναι μια διαδικασία μέσω της οποίας εξετάζουμε αν τα στοιχεία ενός προτασιακού συνόλου μπορούν να γίνουν συντακτικά ταυτόσημα με τη χρήση μιας αντικατάστασης. Μια αντικατάσταση σ ονομάζεται ενοποιήτρια αντικατάσταση του προτασιακού συνόλου {L 1, L 2,, L n } αν είναι τέτοια ώστε L 1 σ = L 2 σ = = L n σ. To σύνολο καλείται ενοποιήσιμο. Γενικότερη ενοποιήτρια ενός προτασιακού συνόλου S ονομάζεται εκείνη η ενοποιήτρια σ για την οποία ισχύει ότι κάθε άλλη ενοποιήτρια θ του συνόλου μπορεί να γραφτεί ως επέκτασης της σ. Δηλαδή, υπάρχει αντικατάσταση σ τέτοια ώστε θ = σσ. ΕΠΛ 412 Λογική στην Πληροφορική 4-23
Ενοποίηση Οποιοδήποτε ενοποιήσιμο σύνολο S έχει μια γενικότερη ενοποιήτρια. Κανόνες ενοποίησης όρων: Μια σταθερά c είναι ενοποιήσιμη με τον όρο t αν είτε t=c είτε t=x όπου x οποιαδήποτε μεταβλητή. Δεν είναι ενοποιήσιμη με συναρτήσεις. Μια μεταβλητή είναι ενοποιήσιμη με οποιοδήποτε όρο εκτός από συναρτήσεις που περιέχουν τη μεταβλητή. Μια συνάρτηση είναι ενοποιήσιμη (μόνο) με μια άλλη συνάρτηση εφόσον οι δύο έχουν το ίδιο σύμβολο συνάρτησης και ενοποιήσιμους όρους. ΕΠΛ 412 Λογική στην Πληροφορική 4-24
Παράδειγμα Το σύνολο {P(x,c), P(b,c)} είναι ενοποιήσιμο με ενοποιήτρια αντικατάσταση την {b/x}. Το σύνολο {P(x,a), P(b,c)} δεν είναι ενοποιήσιμο. Το σύνολο {P(f(x),y), P(a,w)} δεν είναι ενοποιήσιμο. To σύνολο {P(f(x),y), P(f(a),w)} είναι ενοποιήσιμο με ενοποιήτρια αντικατάσταση την {a/x, w/y}. Άλλη δυνατή ενοποιήτρια αντικατάσταση είναι η {a/x, b/y, b/w}. H {a/x, w/y} είναι όμως η γενικότερη ενοποιήτρια {a/x, b/y, b/w} = {a/x, w/y} {b/w}. To σύνολο {P(f(x)), P(x)} δεν είναι ενοποιήσιμο ΕΠΛ 412 Λογική στην Πληροφορική 4-25
Αλγόριθμος Ενοποίησης Δεδομένο Εισόδου: Δύο όροι L 1 και L 2 Δεδομένο Εξόδου: ενοποιήτρια σ των όρων, αν υπάρχει. 1. Τ 1 = L 1 ; Τ 2 = L 2, σ 0 = {}, i = 0 2. Αν τα Τ 1 = Τ 2 τότε τερμάτισε και επέστρεψε την σ i ως τη γενικότερη ενοποιήτρια 3. Διαφορετικά, εντόπισε το αριστερότερο σημείο στο οποίο διαφέρουν τα Τ 1 και Τ 2. Αν τα δύο σημεία είναι μια μεταβλητή v i και ένας όρος t i ο οποίος δεν περιέχει τη μεταβλητή v i τότε θέσε σ i+1 = σ i {t i /v i }, T 1 = T 1 {t i /v i }, και T 2 = T 2 {t i /v i } 4. Διαφορετικά, τερμάτισε και ανάφερε ότι οι όροι δεν είναι ενοποιήσιμοι. 5. Θέσε i = i + 1 και επέστρεψε στο βήμα 2. ΕΠΛ 412 Λογική στην Πληροφορική 4-26
Παράδειγμα Να εφαρμόσετε τον Αλγόριθμο Ενοποίησης στο πιο κάτω ζεύγος όρων: L 1 = f(x,g(x)) L 2 = f(h(y), g(h(z)) 1. Τ 1 = f(x,g(x)), Τ 2 = f(h(y), g(h(z)), σ 0 = {}, i=0 2. σ 1 = σ 0 {h(y)/x}, Τ 1 = f(h(y),g(h(y))), Τ 2 = f(h(y), g(h(z)) 3. σ 2 = σ 1 {y/z}, Τ 1 = f(h(y),g(h(y))), Τ 2 = f(h(y), g(h(y)) 4. Επέστρεψε τη σ 2 = {h(y)/x, y/z} ως τη γενικότερη ενοποιήτρια των δύο όρων. ΕΠΛ 412 Λογική στην Πληροφορική 4-27
Επιλύουσες στον Κατηγορηματικό Λογισμό Στον Προτασιακό Λογισμό: Ονομάζουμε δύο στοιχεία L και L συμπληρωματικά αν L = L ή L= L Έστω προτασιακά σύνολα C 1 και C 2 και συμπληρωματικά στοιχεία L 1 και L 2 τέτοια ώστε L 1 C 1 και L 2 C 2. Τότε το προτασιακό σύνολο (C 1 {L 1 }) (C 2 {L 2 }) ονομάζεται επιλύουσα των C 1 και C 2. Στον Κατηγορηματικό Λογισμό: Ονομάζουμε δύο στοιχεία L και L συμπληρωματικά αν το σύνολο {L, L } είναι ενοποιήσιμο Έστω προτασιακά σύνολα C 1 και C 2 και συμπληρωματικά στοιχεία L 1 και L 2 τέτοια ώστε L 1 C 1 και L 2 C 2 με επιλύουσα σ. Τότε το προτασιακό σύνολο (C 1 σ {L 1 σ}) (C 2 σ {L 2 σ}) ονομάζεται επιλύουσα των C 1 και C 2. ΕΠΛ 412 Λογική στην Πληροφορική 4-28
Διαδικασία Επίλυσης για ΚΛ Αν το D είναι επιλύουσα των C 1 και C 2 τότε C 1 C 2 D. Η Διαδικασία Επίλυσης του ΚΛ εφαρμόζεται ακριβώς όπως και στον Προτασιακό Λογισμό (Διαφάνεια 4-12) με τη διαφορά ότι η επιλύουσα δύο προτασιακών συνόλων επιλέγεται μέσω της ενοποίησης τους. Θεώρημα Ορθότητας (Robinson): Αν ο όρος ληφθεί από ένα προτασιακό σύνολο κατά τη διαδικασία επίλυσης, τότε το σύνολο αυτό είναι μη ικανοποιήσιμο. Θεώρημα Πληρότητας: Αν ένα προτασιακό σύνολο είναι μη ικανοποιήσιμο τότε ο όρος θα ληφθεί από τη διαδικασία της επίλυσης. ΕΠΛ 412 Λογική στην Πληροφορική 4-29
Παράδειγμα 1. Όλοι οι σκύλοι γαβγίζουν τα βράδια 2. Όποιος έχει γάτα δεν έχει ποντίκια. 3. Άνθρωποι που έχουν ελαφρύ ύπνο δεν ανέχονται τα ζώα που γαβγίζουν τις νύκτες. 4. Ο Γιάννης έχει γάτα ή σκύλο. 5. Συμπέρασμα: Αν ο Γιάννης ελαφρύ ύπνο τότε δεν έχει ποντίκια. Ισχύει το συμπέρασμα; ΕΠΛ 412 Λογική στην Πληροφορική 4-30
Παράδειγμα Βήμα 1 Βήμα 1: Γράψε τις προτάσεις σε γλώσσα κατηγορηματικού λογισμού. 1. Όλοι οι σκύλοι γαβγίζουν τα βράδια x (ΣΚ(x) ΓΤΒ(x)) 2. Όποιος έχει γάτα δεν έχει ποντίκια. x y (ΕΧΕΙ (x,y) ΓΑ(y) z (ΕΧΕΙ(x,z) ΠΟ (z))) 3. Άνθρωποι που έχουν ελαφρύ ύπνο δεν ανέχονται τα ζώα που γαβγίζουν τις νύκτες. x (ΕΥ(x) y (ΕΧΕΙ(x,y) ΓΤΒ(y))) 4. Ο Γιάννης έχει γάτα ή σκύλο. x (ΕΧΕΙ (Γιάννης,x) (ΓΑ(x) ΣΚ(x))) 5. Συμπέρασμα: Αν ο Γιάννης ελαφρύ ύπνο τότε δεν έχει ποντίκια. ΕΥ(Γιάννης) z (ΕΧΕΙ(Γιάννης,z) ΠΟ(z)) ΕΠΛ 412 Λογική στην Πληροφορική 4-31
Παράδειγμα Βήμα 2 Μετατροπή σε Κανονική Μορφή Prenex: 1. x (ΣΚ(x) ΓΤΒ(x)) = x ( ΣΚ(x) ΓΤΒ(x) ) 2. x y (ΕΧΕΙ (x,y) ΓΑ(y) z (ΕΧΕΙ(x,z) ΠΟ (z))) = x y (ΕΧΕΙ (x,y) ΓΑ (y) z (ΕΧΕΙ(x,z) ΠΟ (z))) = x y z ( (ΕΧΕΙ (x,y) ΓΑ(y)) (ΕΧΕΙ(x,z) ΠΟ (z))) = x y z ( ΕΧΕΙ(x,y) ΓΑ(y) ΕΧΕΙ(x,z) ΠΟ(z)) 3. x (ΕΥ(x) y (ΕΧΕΙ (x,y) ΓΤΒ(y))) = x (ΕΥ(x) y (ΕΧΕΙ(x,y) ΓΤΒ(y))) = x y (ΕΥ(x) ΕΧΕΙ(x,y) ΓΤΒ(y)) = x y ( ΕΥ (x) ΕΧΕΙ(x,y) ΓΤΒ(y)) ΕΠΛ 412 Λογική στην Πληροφορική 4-32
Παράδειγμα Βήμα 2 4. x (ΕΧΕΙ (Γιάννης,x) (ΓΑ(x) ΣΚ(x))) 5. [ΕΥ(Γιάννης) z (ΕΧΕΙ(Γιάννης,z) ΠΟ(z))] = [ ΕΥ (Γιάννης) z(εχει(γιάννης, z) ΠΟ(z))] = ΕΥ(Γιάννης) z (ΕΧΕΙ(Γιάννης, z) ΠΟ(z))) = z (ΕΥ(Γιάννης) ΕΧΕΙ (Γιάννης,z) ΠΟ(z) ) ΕΠΛ 412 Λογική στην Πληροφορική 4-33
Παράδειγμα Βήμα 3 Εφάρμοσε τη μέθοδο του Skolem στις κανονικές μορφές Prenex και κατασκεύασε την προτασιακή μορφή των προτάσεων: 1. ΣΚ(x) ΓΤΒ(x) 2. ΕΧΕΙ(x,y) ΓΑ(y) ΕΧΕΙ(x,z) ΠΟ(z) 3. ΕΥ (x) ΕΧΕΙ(x,y) ΓΤΒ(y) 4. ΕΧΕΙ (Γιάννης,a) (ΓΑ(a) ΣΚ(a)) 5. ΕΥ(Γιάννης) ΕΧΕΙ (Γιάννης,b) ΠΟ(b) {{ ΣΚ(x), ΓΤΒ(x)}, { ΕΧΕΙ(x,y), ΓΑ(y), ΕΧΕΙ(x,z), ΠΟ(z)}, { ΕΥ (x), ΕΧΕΙ(x,y), ΓΤΒ(y)}, {ΕΧΕΙ (Γιάννης,α)},{(ΓΑ(α), ΣΚ(α)}, {ΕΥ(Γιάννης)}, {ΕΧΕΙ (Γιάννης,b)}, {ΠΟ(b)}} ΕΠΛ 412 Λογική στην Πληροφορική 4-34
Παράδειγμα Βήμα 4 Εφάρμοσε τη μέθοδο της επίλυσης μέσω ενοποίησης. ΓΑ(a), ΣΚ(a) ΕΧΕΙ(x,y), ΓΑ(y), ΕΧΕΙ(x,z), ΠΟ(z) ΕΧΕΙ (Γ,b) ΕΥ(x), ΕΧΕΙ(x,y), ΓΤΒ(y) ΣΚ(x), ΓΤΒ(x) ΠΟ(b) ΕΧΕΙ (Γ,a) ΕΥ(Γ) ΓΑ(a), ΓΤΒ(a) ΕΧΕΙ(x,y), ΓΑ(y), ΕΧΕΙ(x,b) ΕΧΕΙ(Γ,y), ΓA(y) ΕΧΕΙ(Γ,a), ΓTB(a) ΓTB(a) ΕΥ(x), ΕΧΕΙ(x,a) ΕΥ(Γ) ΕΠΛ 412 Λογική στην Πληροφορική 4-35