HY118-Διακριτά Μαθηματικά Τρίτη, 20/02/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 20-Feb-18 1 1
Κατηγορηματικός Λογισμός 20-Feb-18 2 2
Νόμοι ισοδυναμίας «Ξεδίπλωμα» ποσοδεικτών: Εάν π.ο.={a, b, c, } x P(x) P(a) P(b) P(c) x P(x) P(a) P(b) P(c) Από αυτές, μπορούμε να αποδείξουμε τις ισοδυναμίες: x P(x) ( x P(x)) x P(x) x P(x) ( x P(x)) x P(x) Ποιοί νόμοι ισοδυναμίας του προτασιακού λογισμού μπορούν να χρησιμοποιηθούν για να το αποδείξουμε αυτό; 20-Feb-18 3 3
Νόμοι ισοδυναμίας Είδαμε ότι x P(x) x P(x) σημαίνει πως το να αποδείξω ότι η P(x) ισχύει γενικά, είναι ισοδύναμο με το να μην μπορώ να βρω αντιπαράδειγμα Επίσης, από την ισοδυναμία xp(x x P(x) προκύπτει ότι x P(x) x P(x) σημαίνει πως για να αποδείξω ότι μία πρόταση δεν ισχύει γενικά, αρκεί να βρω αντιπαράδειγμα 20-Feb-18 4 4
Κι άλλοι νόμοι ισοδυναμίας x (P(x) Q(x)) ( x P(x)) ( x Q(x)) x (P(x) Q(x)) ( x P(x)) ( x Q(x)) Τι λέτε για την παρακάτω ισοδυναμία ; x (P(x) Q(x)) (( x P(x)) ( x Q(x)); Δεν ισχύει! Αντιπαράδειγμα (δηλ. Ένα μοντέλο που την κάνει να μην ισχύει)? P(x): Τα γενέθλια του x είναι στις 24 Απριλίου Q(x): Τα γενέθλια του x είναι στις 2 Μαρτίου 20-Feb-18 5 5
Θεωρήματα σχετικά με τη λογική Εμείς μελετάμε τους «λογισμούς» έτσι ώστε να μπορούμε να τους χρησιμοποιούμε Οι επιστήμονες της μαθηματικής λογικής μελετούν τους λογισμούς για να κατανοήσουν τα όριά τους «Μετα-θεωρήματα» μπορούν για παράδειγμα, να λένε πράγματα όπως... δεν μπορεί να περιγραφεί στην κατηγορηματική λογική 20-Feb-18 6 6
Θεωρήματα σχετικά με τη λογική Σχετικά με τον προτασιακό λογισμό ρωτήσαμε πράγματα όπως τι είδους πράγματα μπορεί να εκφράσει; Πόσους τελεστές χρειαζόμαστε; Σχετικά με τον κατηγορηματικό λογισμό, υπάρχουν ανάλογα ερωτήματα. Για παράδειγμα, είναι οι δύο ποσοδείκτες που ορίσαμε ικανοί να εκφράσουν τα πάντα; Η παραπάνω είναι μία ερώτηση σχετικά με την εκφραστική ικανότητα του κατηγορηματικού λογισμού. 20-Feb-18 7 7
1 ο παράδειγμα Όπως λέει και το όνομά τους, οι ποσοδείκτες μπορούν να χρησιμοποιηθούν για να εκφράσουν την αλήθεια ενός κατηγορήματος για ένα πλήθος αντικειμένων. Ερώτηση: Μπορεί η κατηγορηματική λογική να εκφράσει το παρακάτω: υπάρχει το πολύ ένα αντικείμενο με την ιδιότητα P ; 20-Feb-18 8 8
1 ο παράδειγμα: το πολύ ένα Μπορεί η κατηγορηματική λογική να εκφράσει το παρακάτω: υπάρχει το πολύ ένα αντικείμενο με την ιδιότητα P ; Ναι: x y ((P(x) P(y)) x=y) 20-Feb-18 9 9
2 ο παράδειγμα: ακριβώς ένα Μπορεί η κατηγορηματική λογική να εκφράσει το παρακάτω: υπάρχει ακριβώς ένα αντικείμενο με την ιδιότητα P ; Υπάρχει x τέτοιο ώστε P(x) και Υπάρχει το πολύ ένα x τέτοιο ώστε P(x) xp(x) x y ( (P(x) P(y)) (x=y) ) Συμβολισμός:!x P(x) ( Υπάρχει ακριβώς ένα x τέτοιο ώστε P(x) ) 20-Feb-18 10 10
2 ο παράδειγμα: ακριβώς ένα Άλλος τρόπος να το γράψουμε: x (P(x) y (P(y) y x)) Υπάρχει x τέτοιο ώστε P(x), και τέτοιο ώστε να μην υπάρχει y διαφορετικό του x τέτοιο ώστε P(y) Η x δεσμεύει την x σε όλη την πρόταση: x (P(x) y (P(y) y x)) 20-Feb-18 11 11
2 ο παράδειγμα: ακριβώς ένα Πράγματι: x (P(x) y (P(y) y x)) x (P(x) y (P(y) y x)) x (P(x) y ( P(y) (y x))) x (P(x) y ( P(y) (y = x))). Υπάρχει x με την ιδιότητα P, και οποιοδήποτε y, είτε δεν έχει την ιδιότητα P, είτε είναι ίσο με το x 20-Feb-18 12 12
2 ο παράδειγμα: ακριβώς ένα Επίσης, γνωρίζουμε ότι x (P(x) y ( P(y) (y = x))) x (P(x) y (P(y) (y = x))) Υπάρχει x με την ιδιότητα P, και για οποιοδήποτε y, αν αυτό το y έχει την ιδιότητα P, τότε είναι ίσο με το x 20-Feb-18 13 13
3 ο παράδειγμα: τουλάχιστον δύο Μπορεί η κατηγορηματική λογική να εκφράσει το παρακάτω: υπάρχουν τουλάχιστον δύο αντικείμενα με την ιδιότητα P ; Ναι: x y (P(x) P(y) (x y)) 20-Feb-18 14 14
3 ο παράδειγμα: τουλάχιστον δύο Ισοδύναμη έκφραση: xp(x) yp(y) (x y) Όχι! Η μεταβλητή x στην υποέκφραση (x y) δεν δεσμεύεται, και επομένως η παραπάνω δεν είναι καν πρόταση! 20-Feb-18 15 15
4 ο παράδειγμα: ακριβώς δύο Μπορεί η κατηγορηματική λογική να εκφράσει το παρακάτω: υπάρχουν ακριβώς δύο αντικείμενα με την ιδιότητα P ; Ναι: x y ((P(x) P(y) x y) ( z (P(z) (z= x z= y) ))) «υπάρχουν τουλάχιστον δύο, ΚΑΙ, εάν υπάρχει τρίτο, τότε αυτό είναι αναγκαστικά ένα από τα δύο πρώτα» 20-Feb-18 16 16
x y (P(x) P(y) x y z (P(z) (z= x z= y) )) Ποιό είναι το λάθος αν γράφαμε: x y (P(x) P(y) x y) z (P(z) (z= x z= y )) σαν έκφραση που σημαίνει ακριβώς δύο ; 20-Feb-18 17 17
x y (P(x) P(y) x y) z (P(z) (z= x z= y )) Το παραπάνω αποτελεί την σύζευξη δύο εκφράσεων. Στη δεύτερη όμως οι μεταβλητές x, y δεν είναι δεσμευμένες, επομένως το αποτέλεσμα δεν αποτελεί καν πρόταση 20-Feb-18 18 18
Κι άλλα παραδείγματα Έστω μεταβλητές x, y με π.ο. τους ακέραιους αριθμούς Στην παρακάτω πρόταση, ποιό είναι το νόημα του κατηγορήματος Α; x (Α(x) ( y (x=2y))) 20-Feb-18 19 19
Κι άλλα παραδείγματα x (Α(x) ( y x=2y)) Για κάθε ακέραιο x, o x έχει την ιδιότητα Α αν και μόνο αν είναι ο διπλάσιος κάποιου άλλου ακέραιου Οι ακέραιοι x που έχουν την ιδιότητα Α είναι το διπλάσιο κάποιου άλλου ακέραιου... ΑΡΤΙΟΙ 20-Feb-18 20 20
Κι άλλα παραδείγματα Έστω μεταβλητές x, y, z με π.ο. τους ακέραιους αριθμούς Στην παρακάτω πρόταση, ποιό είναι το νόημα του κατηγορήματος P; x ( ) P(x) ((x>1) ( yz ((x=yz) (y 1) (z 1)))) 20-Feb-18 21 21
Κι άλλα παραδείγματα x (P(x) ((x>1) ( yz ((x=yz) (y 1) (z 1))))) Ένας ακέραιος x έχει την ιδιότητα P, αν και μόνο αν είναι μεγαλύτερος από το 1 και δεν αποτελεί γινόμενο κάποιων άλλων δύο ακεραίων, καθένας από τους οποίους είναι διαφορετικός της μονάδας.... ΠΡΩΤΟΙ ΑΡΙΘΜΟΙ 20-Feb-18 22 22
Η εικασία του Goldbach (αναπόδειχτη) Χρησιμοποιώντας τα Α(x) και P(x) από τις προηγούμενες διαφάνειες, x( (x>2 Α(x)) ). p q (P(p) P(q) (p+q = x)) Κάθε άρτιος μεγαλύτερος του 2 είναι το άθροισμα δύο πρώτων. 20-Feb-18 23 23
Μπορεί η κατηγορηματική λογική να εκφράσει το τα περισσότερα αντικείμενα έχουν την ιδιότητα P ; Όχι! Μπορεί η κατηγορηματική λογική να εκφράσει το πολλά αντικείμενα έχουν την ιδιότητα P ; Όχι, επίσης 20-Feb-18 24 24
Συμπερασμός στον κατηγορηματικό Υποθέσεις: λογισμό, παράδειγμα 1. Οι άνθρωποι είναι θνητοί 2. Οι θεοί είναι αθάνατοι Θέλουμε να εξετάσουμε την αλήθεια της πρότασης: Κανείς άνθρωπος δεν είναι θεός 20-Feb-18 25 25
Παράδειγμα συμπερασμού Προτασιακές μορφές: 1. Η(x) = Ο x είναι άνθρωπος 2. Μ(x) = Ο x είναι θνητός 3. G(x) = Ο x είναι θεός Το x είναι μεταβλητή που ορίζεται σε ένα σύνολο που περιλαμβάνει θεούς και ανθρώπους 20-Feb-18 26 26
Παράδειγμα συμπερασμού Υποθέσεις: οι άνθρωποι είναι θνητοί x (Η(x) Μ(x)) οι θεοί είναι αθάνατοι x (G(x) M(x)) Θέλουμε να αποδείξουμε ότι: ( Κανείς άνθρωπος δεν είναι θεός. ) x (H(x) G(x)) 20-Feb-18 27 27
Απόδειξη με ισοδυναμίες Αρκεί να δείξουμε ότι η πρόταση (( x (H(x) M(x)) ( x(g(x) M(x)))) ( x(g(x) H(x))) είναι ταυτολογία. Πράγματι, (( x (H(x) M(x)) ( x(g(x) M(x)))) ( x(g(x) H(x))) (( x(g(x) M(x))) ( x (H(x) M(x))) ( x(g(x) H(x))) (( x(g(x) M(x))) ( x( M(x) H(x))) ( x(g(x) H(x))) ( x(g(x) H(x))) ( x(g(x) H(x))) ( x( G(x) H(x))) ( x(g(x) H(x))) ( x ( G(x) H(x))) ( x(g(x) H(x))) ( x(g(x) H(x))) ( x(g(x) H(x))) p p T ΟΕΔ 20-Feb-18 28 28
Μία άλλη απόδειξη x (Η(x) M(x)) ( οι άνθρωποι είναι θνητοί ) και x (G(x) M(x)) ( οι θεοί είναι αθάνατοι ). Υποθέστε ότι x (H(x) G(x)). Για παράδειγμα, H(a) G(a). Τότε Από την πρώτη υπόθεση έχουμε, M(a). Από την δεύτερη υπόθεση έχουμε M(a). Αντίφαση! Επομένως, προκύπτει ότι: x (H(x) G(x)) ( Δεν υπάρχει άνθρωπος που να είναι θεός. ) 20-Feb-18 29 29
Αποφασισιμότητα Είδαμε δύο τρόπους ελέγχου ισοδυναμιών στον προτασιακό λογισμό: 1. Ελέγχοντας τους πίνακες αληθείας 2. Χρησιμοποιώντας νόμους ισοδυναμίας Είδαμε πως το (1) μπορεί να γίνει αλγοριθμικά. Λέμε ότι το να δείξουμε την ισοδυναμία προτάσεων στον προτασιακό λογισμό είναι ένα πρόβλημα αποφασίσιμο (decidable) 20-Feb-18 30 30
Αποφασισιμότητα Ο έλεγχος της ισχύος ισοδυναμιών στον προτασιακό λογισμό είναι πρόβλημα αποφασίσιμο Ο έλεγχος της ισχύος ισοδυναμιών στον κατηγορηματικό λογισμό είναι, γενικά, πρόβλημα μη αποφασίσιμο Επομένως, η απόδειξη θεωρημάτων παραμένει «τέχνη» (και για τους ανθρώπους και για τους υπολογιστές!) Ωστόσο, κάτω από προϋποθέσεις, προτάσεις του κατηγορηματικού λογισμού είναι αποφασίσιμες 20-Feb-18 31 31
( 20-Feb-18 32 32
PROLOG Μερικές γλώσσες προγραμματισμού βασίζονται ολοκληρωτικά στην κατηγορηματική λογική Η πιό γνωστή είναι η Prolog. Ένα πρόγραμμα στην Prolog είναι ένα σύνολο από προτάσεις ( δεδομένα/γεγονότα ) και ( κανόνες ) της κατηγορηματικής λογικής. Η είσοδος στο πρόγραμμα είναι μία πρόταση/ερώτηση Θέλουμε να ξέρουμε αν αυτή είναι αληθής ή ψευδής Ο μεταγλωττιστήςτης Prolog κάνει κάποιο αυτοματοποιημένο αφαιρετικό συμπερασμό για να αποφασίσει κατά πόσον το ερώτημα απαντάται σαν συμπέρασμα από τα δεδομένα 20-Feb-18 33 33
Δεδομένα στην Prolog Απλές, μη-σύνθετες προτάσεις προτασιακού λογισμού. π.χ., αρέσει(γιάννης,μαρία) Μικροί χαρακτήρες για σταθερές και κατηγορήματα, κεφαλαίοι για μεταβλητές. 20-Feb-18 34 34
Κανόνες στην Prolog Μία καθολικά ποσοτικοποιημένη πρόταση της γενικής μορφής x y (P(x,y) Q(x)), όπου x και y είναι πιθανά σύνθετες μεταβλητές, P μία πιθανά σύνθετη πρόταση, και Q μια ατομική πρόταση. Στην Prolog: q(x) :- p(x,y). Παράδειγμα: αρεστός(x) :- αρέσει(χ,υ). 20-Feb-18 35 35
Σύζευξη - διάζευξη Η λογική σύζευξη κωδικοποιείται χρησιμοποιώντας όρους σε ένα κανόνα οι οποίοι χωρίζονται με κόμμα. Η λογική διάζευξη κωδικοποιείται με την ύπαρξη πολλών κανόνων. Π.χ., η x (((P(x) Q(x)) R(x)) S(x)) μπορεί να γραφεί στην Prolog ως: s(x) :- p(x),q(x) s(x) :- r(x) 20-Feb-18 36 36
Συμπερασμός στην Prolog Όταν δίνουμε μία ερώτηση στην Prolog, αυτή Ψάχνει για να καθορίσει αν η ερώτηση μπορεί να αποδειχτεί από τα διαθέσιμα δεδομένα. Αν ναι, επιστρέφει αληθές, αλλιώς ψευδές Αν η ερώτηση περιλαμβάνει μεταβλητές, επιστρέφονται όλες οι τιμές που κάνουν την ερώτηση αληθή. 20-Feb-18 37 37
Παράδειγμα απλού προγράμματος στην Prolog Παράδειγμα προγράμματος: αρέσει(γιάννης,μαρία). αρέσει(μαρία,κώστας). αρέσει(γιάννης, γιάννης). αρεστός(x) :- αρέσει(χ,υ). Παράδειγμα ερώτησης:? αρεστός(z) επιστρέφει:... 20-Feb-18 38 38
Παράδειγμα απλού προγράμματος στην Prolog Παράδειγμα προγράμματος: αρέσει(γιάννης,μαρία). αρέσει(μαρία,κώστας). αρέσει(γιάννης, γιάννης). αρεστός(x) :- αρέσει(χ,υ). Παράδειγμα ερώτησης:? αρεστός(z) επιστρέφει:... μαρία γιάννης 20-Feb-18 39 39
PROLOG Η PROLOG έχει και άλλα κατασκευάσματα (π.χ. I/O), αλλά η λογική είναι ο «σκηρός πυρήνας» της. 20-Feb-18 40 40
) 20-Feb-18 41 41