Λύσεις Σειράς Ασκήσεων 3 Άσκηση 1 Να υπολογίσετε την προτασιακή μορφή των πιο κάτω προτάσεων. (α) xyz [(P(x,y) Q(y,z)) Q(x,y)] x P(x,f(x)) Βήμα 1: Μετατροπή σε Κανονική Μορφή Prenex: xyz [(P(x,y) Q(y,z)) Q(x,y)] x P(x,f(x)) xyz [(P(x,y) Q(y,z)) Q(x,y)] x P(x,f(x)) xyz (P(x,y) Q(y,z) Q(x,y)) x P(x,f(x)) xyz (P(x,y) Q(y,z) Q(x,y)) w P(w,f(w)) xyz [(P(x,y) Q(y,z) Q(x,y)) w P(w,f(w))] xyzw [(P(x,y) Q(y,z) Q(x,y)) P(w,f(w))] Βήμα 2: Μέθοδος Skolem xyzw [(P(x,y) Q(y,z) Q(x,y)) P(w,f(w))] x z w [(P(x,g(x)) Q(g(x),z) Q(x, g(x))) P(w,f(w))] [(P(x,g(x)) Q(g(x),z) Q(x, g(x))) P(w,f(w))] Βήμα 3: Εξαγωγή Προτασιακής Μορφής {{P(x,g(x)), Q(g(x),z), Q(x, g(x),{p(w,f(w)} (β) x [ P(x,0) ( y [ P(y,g(x)) z ( P(z,g(x)) P(y,z) ) ] ) ] Βήμα 1: Μετατροπή σε Κανονική Μορφή Prenex: x [ P(x,0) ( y [ P(y,g(x)) z ( P(z,g(x)) P(y,z) ) ] ) ] x [ P(x,0) ( y [ P(y,g(x)) z ( P(z,g(x)) P(y,z) ) ] ) ] x [ P(x,0) ( y [ P(y,g(x)) z ( P(z,g(x)) P(y,z) ) ] ) ] x [ P(x,0) ( y z [ P(y,g(x)) ( P(z,g(x)) P(y,z) ) ] ) ] x y z [ P(x,0) [ P(y,g(x)) ( P(z,g(x)) P(y,z) ) ] ] x y z [ (P(x,0) P(y,g(x))) (P(x,0) P(z,g(x)) P(y,z) ) ] Βήμα 2: Μέθοδος Skolem x y z [ (P(x,0) P(y,g(x))) (P(x,0) P(z,g(x)) P(y,z) ) ] x z [ (P(x,0) P(f(x),g(x))) (P(x,0) P(z,g(x)) P(f(x),z) ) ] [ (P(x,0) P(f(x),g(x))) (P(x,0) P(z,g(x)) P(f(x),z) ) ] Βήμα 3: Εξαγωγή Προτασιακής Μορφής: {{P(x,0), P(f(x),g(x))}, {P(x,0), P(z,g(x)), P(f(x),z) }} Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2014 Σελίδα 1
Άσκηση 2 Να εφαρμόσετε τον αλγόριθμο ενοποίησης (Διαφάνεια 4 23) για κάθε ένα από τα πιο κάτω ζεύγη όρων. Να δείξετε όλα τα ενδιάμεσα στάδια της εκτέλεσης του αλγόριθμου και καταλήγοντας να δώσετε τη γενικότερη ενοποιήτρια που προκύπτει σε περίπτωση που υπάρχει μια τέτοια ενοποιήτρια, διαφορετικά, να εξηγήσετε γιατί δεν υπάρχει. (α) P (f(x,a), g(y,y), z) P (f(g(a,b),z), x, a) (β) P (x, f(y,z), b) P (g(a,y), f(z,g(a,x)), b) (γ) P (a, y, u) P (x, f(x,u), g(z,b)) (α) P (f(x,a), g(y,y), z) P (f(g(a,b),z), x, a) Επανάληψη 1 Αρχική κατάσταση: P(f(x,a), g(y,y), z) P (f(g(a,b),z), x, a) Αντικατάσταση: σ={g(a,b)/x} Νέα κατάσταση: P (f(g(a,b),a), g(y,y), z) P (f(g(a,b),z), g(a,b), a) Επανάληψη 2 Αρχική κατάσταση: P (f(g(a,b),a), g(y,y), z) P (f(g(a,b),z), g(a,b), a) Αντικατάσταση: σ={g(a,b)/x,a/z} Νέα κατάσταση: P (f(g(a,b),a), g(y,y), a) P (f(g(a,b),a), g(a,b), a) Επανάληψη 3 Αρχική κατάσταση: P (f(g(a,b),a), g(y,y), a) P (f(g(a,b),a), g(a,b), a) Αντικατάσταση: σ={g(a,b)/x,a/z, a/y} Νέα κατάσταση: P (f(g(a,b),a), g(a,a), a) P (f(g(a,b),a), g(a,b), a) Επανάληψη 4 Αρχική κατάσταση: P (f(g(a,b),a), g(a,a), a) P (f(g(a,b),a), g(a,b), a) O όρος a δεν είναι ενοποιήσιμος με τον όρο b. Επομένως ο αλγόριθμος τερματίζει με την απάντηση ότι οι δύο όροι δεν είναι ενοποιήσιμοι. (β) P (x, f(y,z), b) P (g(a,y), f(z,g(a,x)), b) Επανάληψη 1 Αρχική κατάσταση: P(x, f(y,z), b) P (g(a,y), f(z,g(a,x)), b) Αντικατάσταση: σ={g(a,y)/x} Νέα κατάσταση: P(g(a,y), f(y,z), b) P (g(a,y), f(z,g(a, g(a,y))), b) Επανάληψη 2 Αρχική κατάσταση: P(g(a,y), f(y,z), b) P (g(a,y), f(z,g(a, g(a,y))), b) Αντικατάσταση: σ={g(a,y)/x, y/z} Νέα κατάσταση: P(g(a,y), f(y,y), b) P (g(a,y), f(y,g(a, g(a,y))), b) Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2014 Σελίδα 2
Επανάληψη 3 Αρχική κατάσταση: P(g(a,y), f(y,y), b) P (g(a,y), f(y,g(a, g(a,y))), b) O όρος y δεν είναι ενοποιήσιμος με τον όρο g(a,y). Επομένως ο αλγόριθμος τερματίζει με την απάντηση ότι οι δύο όροι δεν είναι ενοποιήσιμοι. (γ) P (a, y, u) Επανάληψη 1 Αρχική κατάσταση: P (a, y, u) Αντικατάσταση: σ={a/x} Νέα κατάσταση: P (a, y, u) P (x, f(x,u), g(z,b)) P (x, f(x,u), g(z,b)) P (a, f(a,u), g(z,b)) Επανάληψη 2 Αρχική κατάσταση: P (a, y, u) Αντικατάσταση: σ={a/x, f(a,u)/y} Νέα κατάσταση: P (a, f(a,u), u) P (a, f(a,u), g(z,b)) P (a, f(a,u), g(z,b)) Επανάληψη 3 Αρχική κατάσταση: P (a, f(a,u), u) Αντικατάσταση: σ={a/x, f(a,u)/y, g(z,b)/u} Νέα κατάσταση: P (a, f(a, g(z,b)), g(z,b)) P (a, f(a,u), g(z,b)) P (a, f(a, g(z,b)), g(z,b)) Οι όροι έχουν ενοποιηθεί. Γενικότερη ενοποιήτρια αντικατάσταση: σ={a/x, f(a,u)/y, g(z,b)/u} Άσκηση 3 Να αποδείξετε τα πιο κάτω επακόλουθα χρησιμοποιώντας τη Μέθοδο της Επίλυσης. (α) x (P(x) Q(x)), x (R(x) Q(x)), x [R(x) (P(x) S(x))] x (R(x) S(x)) To επακόλουθο που θέλουμε να αποδείξουμε είναι το: x (P(x) Q(x)) x (R(x) Q(x)) x [R(x) (P(x) S(x))] x (R(x) S(x)) Ξεκινούμε θεωρώντας την άρνηση του επακόλουθου την οποία μετατρέπουμε σε κανονική μορφή Prenex: ( x (P(x) Q(x)) x (R(x) Q(x)) x [R(x) (P(x) S(x))] x (R(x) S(x)) ) x (P(x) Q(x)) x (R(x) Q(x)) x [R(x) (P(x) S(x))] x (R(x) S(x)) x (P(x) Q(x)) x (R(x) Q(x)) x [R(x) (P(x) S(x))] x (R(x) S(x)) x (P(x) Q(x)) x (R(x) Q(x)) x [R(x) P(x) S(x)] x (R(x) S(x)) x (R(x) Q(x)) y (P(y) Q(y)) z [R(z) P(z) S(z)] w (R(w) S(w)) xyzw [(R(x) Q(x)) (P(y) Q(y)) (R(z) P(z) S(z)) (R(w) S(w))] Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2014 Σελίδα 3
Στη συνέχεια εφαρμόζουμε απαλοιφή των ποσοδεικτών: [(R(x) Q(x)) (P(y) Q(y)) (R(z) P(z) S(z)) (R(w) S(w))] Σε προτασιακή μορφή ο πιο πάνω τύπος έχει ως ακολούθως: {{R(x)}, {Q(x)}, {P(y), Q(y)}, {R(z), P(z), S(z)}, {R(w), S(w)}} Η Μέθοδος της Επίλυσης επιφέρει διάψευση στο προτασιακό σύνολο όπως φαίνεται στο δέντρο που ακολουθεί: Q(x) P(y), Q(y) R(z), P(z), S(z) P(y) R(z),S(z) R(w),S(w) R(x) R(w) Συνεπώς, ο συλλογισμός είναι έγκυρος. (β) x (P(x) y Q(x,y)), x (R(x) y Q(x,y)), R(a)] x P(x) To επακόλουθο που θέλουμε να αποδείξουμε είναι το: [x (P(x) y Q(x,y)) x (R(x) y Q(x,y)) R(a)] x P(x) Ξεκινούμε θεωρώντας την άρνηση του επακόλουθου την οποία μετατρέπουμε σε κανονική μορφή Prenex: [x (P(x) y Q(x,y)) x (R(x) y Q(x,y)) R(a)] x P(x) x (P(x) y Q(x,y)) x (R(x) y Q(x,y)) R(a) x P(x) x (P(x) y Q(x,y)) x (R(x) y Q(x,y)) R(a) x P(x) x (P(x) y Q(x,y)) x (R(x) y Q(x,y)) R(a) x P(x) x (P(x) y Q(x,y)) x (R(x) y Q(x,y)) R(a) x P(x) x (P(x) y Q(x,y)) z (R(z) w Q(z,w)) R(a) u P(u) xy (P(x) Q(x,y)) zw (R(z) Q(z,w)) R(a) u P(u) zw (R(z) Q(z,w)) xy (P(x) Q(x,y)) R(a) u P(u) zwxy [(R(z) Q(z,w)) (P(x) Q(x,y))] R(a) u P(u) zwxy [(R(z) Q(z,w)) (P(x) Q(x,y)) R(a)] u P(u) Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2014 Σελίδα 4
zwxyu [(R(z) Q(z,w)) (P(x) Q(x,y)) R(a) P(u)] Στη συνέχεια εφαρμόζουμε απαλοιφή των ποσοδεικτών: (R(z) Q(z,f(z))) (P(x) Q(x,y)) R(a) P(u) Σε προτασιακή μορφή ο πιο πάνω τύπος έχει ως ακολούθως: {{R(z), Q(z,f(z))}, {P(x), Q(x,y)}, {R(a)}, {P(u)}} Η Μέθοδος της Επίλυσης επιφέρει διάψευση στο προτασιακό σύνολο όπως φαίνεται στο δέντρο που ακολουθεί: R(z), Q(z,f(z)) R(a) P(x), Q(x,y) Q(a,f(a)) P(a) P(u) Άσκηση 4 Να γράψετε τις πιο κάτω προτάσεις στον Κατηγορηματικό Λογισμό και να υπολογίσετε την προτασιακή μορφή τους. Να αποδείξετε την εγκυρότητα του συλλογισμού χρησιμοποιώντας τη Μέθοδο της Επίλυσης. 1. Η θεία Άγκαθα δολοφονήθηκε είτε από τον οικονόμο της, είτε από τον Μανώλη, είτε από τον εαυτό της. 2. Ένας δολοφόνος πάντα αντιπαθεί το θύμα του και δεν είναι ποτέ πιο πλούσιος από αυτό. 3. Ο Μανώλης δεν αντιπαθεί κανένα από όσους αντιπαθεί η θεία Αγκαθα. 4. Η θεία Άγκαθα αντιπαθεί όλους εκτός από τον οικονόμο (συμπεριλαμβανομένου και του εαυτού της). 5. Ο οικονόμος αντιπαθεί κάθε άνθρωπο που δεν είναι πλουσιότερος από την θεία Άγκαθα. 6. Ο οικονόμος δεν αντιπαθεί τον εαυτό του. 7. Η θεία Άγκαθα δεν είναι ο οικονόμος. Συμπέρασμα: Η θεία Άγκαθα δεν δολοφονήθηκε ούτε από τον οικονόμο ούτε από τον Μανώλη. Η θεία Άγκαθα αυτοκτόνησε. Σημείωση: Kατά τη διατύπωση των προτάσεων στον Κατηγορηματικό Λογισμό μπορείτε να χρησιμοποιήσετε τα πιο κάτω κατηγορήματα. Δ(x,y): Ο x είναι ο δολοφόνος του y Π(x,y): Ο x είναι πλουσιότερος από τον y Α(x,y): Ο x αντιπαθεί τον y Κατ αρχή, μεταφράζουμε τις προτάσεις στον Κατηγορηματικό Λογισμό: Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2014 Σελίδα 5
Η θεία Άγκαθα δολοφονήθηκε είτε από τον οικονόμο της, είτε από τον Μανώλη, είτε από τον εαυτό της. Δ(Άγκαθα,Άγκαθα) Δ(οικονόμος, Άγκαθα)Δ(Μανώλης, Άγκαθα) Ένας δολοφόνος πάντα αντιπαθεί το θύμα του και δεν είναι ποτέ πιο πλούσιος από αυτό. xy [Δ(x,y) (A(x,y) Π(x,y))] Ο Μανώλης δεν αντιπαθεί κανένα από όσους αντιπαθεί η θεία Αγκαθα. x (A(Aγκαθα, x) A(Μανώλης,x)) Η θεία Άγκαθα αντιπαθεί όλους εκτός από τον οικονόμο (συμπεριλαμβανομένου και του εαυτού της). x [(x=οικονόμος Α(Άγκαθα,x) ) A(Αγκαθα, οικονόμος)] Ο οικονόμος αντιπαθεί κάθε άνθρωπο που δεν είναι πλουσιότερος από την θεία Άγκαθα. x [Π(x, Άγκαθα) Α(οικονόμος,x)] Ο οικονόμος δεν αντιπαθεί τον εαυτό του. A(οικονόμος, οικονόμος) Η θεία Άγκαθα δεν είναι ο οικονόμος. (Άγκαθα = οικονόμος) Συμπέρασμα: Η θεία Άγκαθα δεν δολοφονήθηκε ούτε από τον οικονόμο ούτε από τον Μανώλη. Η θεία Άγκαθα αυτοκτόνησε. Δ(οικονόμος, Άγκαθα) Δ(Μανώλης,Άγκαθα) Δ(Άγκαθα,Άγκαθα) Θέλουμε να αποδείξουμε ότι η σύζευξη των εφτά πρώτων προτάσεων έχουν ως συνέπεια την όγδοη πρόταση. Για να το πετύχουμε με τη Μέθοδο της Επίλυσης, υποθέτουμε ότι ο συλλογισμός δεν ισχύει με στόχο να φθάσουμε σε αντίφαση: Δ(Άγκαθα,Άγκαθα) Δ(οικονόμος, Άγκαθα)Δ(Μανώλης, Άγκαθα) xy [ Δ(x,y) (A(x,y) Π(x,y))] z (A(Aγκαθα, z) A(Μανώλης,z)) w[(w=οικονόμος Α(Άγκαθα,w)) A(Αγκαθα, οικονόμος)] u [Π(x, Άγκαθα) Α(οικονόμος,u)] A(οικονόμος, οικονόμος) (Άγκαθα = οικονόμος) [Δ(οικονόμος, Άγκαθα) Δ(Μανώλης,Άγκαθα) Δ(Άγκαθα,Άγκαθα)] Μετατρέπουμε την πρόταση σε ΚΜΡ: Δ(Άγκαθα,Άγκαθα) Δ(οικονόμος, Άγκαθα)Δ(Μανώλης, Άγκαθα) xy [ Δ(x,y) (A(x,y) Π(x,y))] xy [( Δ(x,y) A(x,y)) (Δ(x,y) Π(x,y))] z (A(Aγκαθα, z) A(Μανώλης,z)) z (A(Aγκαθα, z) A(Μανώλης,z)) w [(w=οικονόμος Α(Άγκαθα,w) ) A(Αγκαθα, οικονόμος)] Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2014 Σελίδα 6
w [(w=οικονόμος Α(Άγκαθα,w) ) A(Αγκαθα, οικονόμος)] w [(w=οικονόμος Α(Άγκαθα,w)) A(Αγκαθα, οικονόμος)] u [Π(u, Άγκαθα) Α(οικονόμος,u)] u [Π(u, Άγκαθα) Α(οικονόμος,u)] u [Π(u, Άγκαθα) Α(οικονόμος,u)] A(οικονόμος, οικονόμος) (Άγκαθα = οικονόμος) [Δ(οικονόμος, Άγκαθα) Δ(Μανώλης,Άγκαθα) Δ(Άγκαθα,Άγκαθα)] Δ(οικονόμος,Άγκαθα) Δ(Μανώλης,Άγκαθα) Δ(Άγκαθα,Άγκαθα) Δ(οικονόμος,Άγκαθα) Δ(Μανώλης,Άγκαθα) Δ(Άγκαθα,Άγκαθα) Στη συνέχεια εφαρμόζουμε απαλοιφή των ποσοδεικτών: (Δ(Άγκαθα,Άγκαθα) Δ(οικονόμος, Άγκαθα) Δ(Μανώλης, Άγκαθα)) ( Δ(x,y) A(x,y)) (Δ(x,y) Π(x,y)) (A(Aγκαθα, z) A(Μανώλης,z)) (w=οικονόμος Α(Άγκαθα,w)) A(Αγκαθα, οικονόμος) (Π(u, Άγκαθα) Α(οικονόμος,u)) A(οικονόμος, οικονόμος) (Άγκαθα = οικονόμος) ( Δ(οικονόμος,Άγκαθα) Δ(Μανώλης,Άγκαθα) Δ(Άγκαθα,Άγκαθα) ) Σε προτασιακή μορφή ο πιο πάνω τύπος έχει ως ακολούθως: {{ Δ(Άγκαθα,Άγκαθα), Δ(οικονόμος, Άγκαθα), Δ(Μανώλης, Άγκαθα)} } { Δ(x,y), A(x,y)}, {Δ(x,y), Π(x,y)}, {A(Aγκαθα, z), A(Μανώλης,z)}, {w=οικονόμος, Α(Άγκαθα,w)}, {A(Αγκαθα, οικονόμος)}, {Π(u, Άγκαθα), Α(οικονόμος,u)}, {A(οικονόμος, οικονόμος)}, {(Άγκαθα = οικονόμος)}, { Δ(οικονόμος,Άγκαθα), Δ(Μανώλης,Άγκαθα), Δ(Άγκαθα,Άγκαθα)} Εφαρμογή της Μεθόδου της Επίλυσης στο πιο πάνω σύνολο επιφέρει τη ζητούμενη διάψευση όπως φαίνεται στο πιο κάτω δένδρο, γεγονός που μας οδηγεί στο συμπέρασμα ότι ο αρχικός συλλογισμός είναι ορθός. Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2014 Σελίδα 7
Δ(Αγκ,Αγκ), Δ(οικ, Αγκ), Δ(Μαν, Αγκ) Π(u, Άγκ), Α(οικ,u) Δ(Αγκ,Αγκ), Δ(οικ, Αγκ), Δ(Μαν, Αγκ) A(οικ, οικ) Δ(οικ, Αγκ), Δ(Μαν, Αγκ) Π(οικ, Αγκ) Δ(x,y), Π(x,y) Δ(οικ, Αγκ) Δ(Μαν, Αγκ) Δ(x,y), A(x,y) A(Aγκ, z), A(Μαν,z) Α(Μαν, Αγκ) w=οικ, Α(Αγκ,w) A(Aγκ, Αγκ) Αγκ=οικ Αγκ=οικ Άσκηση 5 Χρησιμοποιήστε τη μέθοδο της SLD επίλυσης για να φθάσετε σε διάψευση του στόχου στο πιο κάτω πρόγραμμα λογικού προγραμματισμού. merge([],ys,ys) merge(xs,[],xs) merge(x:xs,y:ys, x:y:zs) merge(xs,ys,zs) merge([a,c,e,g],[b,d,f],z) Σημείωση: Αν xs = [x 1,,x n ], τότε x:xs συμβολίζει τη λίστα [x, x 1,,x n ]. 1. merge([],ys,ys) 2. merge(xs,[],xs) 3. merge(x:xs,y:ys, x:y:zs) merge(xs,ys,zs) 4. merge([a,c,e,g],[b,d,f],z) 5. merge([c,e,g],[d,f],zs) Από γραμμές 3 και 4 και αντικατάσταση σ={a/x,[c,e,g]/xs,b/y,[d,f]/ys,x:y:zs/z} Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2014 Σελίδα 8
6. merge([e,g],[f],zs 1 ) Από γραμμές 3 και 5 και αντικατάσταση σ={c/x 1,[e,g]/xs 1,d/y 1,[f]/ys 1, x 1 :y 1 :zs 1 /zs} 7. merge([g],[],zs 2 ) Από γραμμές 3 και 6 και αντικατάσταση σ={e/x 2,[g]/xs 2,f/y 2,[]/ys 2, x 2 :y 2 :zs 2 /zs 1 } 8. Από γραμμές 1 και 7 και αντικατάσταση σ={[g]/xs 3, xs 3 /zs 2 } Αντικατάσταση ορθής απάντησης: Ζ x:y:zs a:b:zs a:b:x 1 :y 1 :zs 1 a:b:c:d:zs 1 a:b:c:d:x 2 :y 2 :zs 2 a:b:c:d:e:f:zs 2 a:b:c:d:e:f: xs 3 a:b:c:d:e:f:[g], [a,b,c,d,e,f,g] Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2014 Σελίδα 9