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