Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών
Αριθμήσιμα σύνολα Ορισμός Πόσαστοιχείαέχειτοσύνολο {a,b,r,q,x}; Οσακαιτοσύνολο {1,2,3,4,5}πουείναιυποσύνολοτου συνόλου των φυσικών αριθμών N. Ενασύνολοθατολέμεαριθμήσιμοανείναισε1-1 αντιστοιχία με ένα υποσύνολο των φυσικών αριθμών. Ενα σύνολο S λέγεται αριθμήσιμο αν υπάρχει ακολουθία r 1,r 2,...στηνοποίαναεμφανίζονταιόλαταστοιχείατου S.
Παραδείγματα αριθμήσιμων συνόλων Κάθε πεπερασμένο σύνολο είναι αριθμήσιμο. Το σύνολο των φυσικών αριθμών N είναι αριθμήσιμο. 1,2,3,... Το σύνολο των ακεραίων είναι αριθμήσιμο. 0,1, 1,2, 2,3, 3,...
Οι ρητοί αριθμοί Είναιαριθμήσιμοτοσύνολοτωνθετικώνρητών Q +,δηλαδή τωνκλασμάτων p/qμε p,q N; Ας προσπαθήσουμε να βάλουμε όλα τα κλάσματα σε σειρά ως εξής: 1 1, 1 2, 1 3,..., 2 1, 2 2, 2 3,..., 3 1,... Δείχνειαυτήησειράότιτοσύνολοτωνθετικώνρητώνείναι αριθμήσιμο; ΟΧΙ!Σεποιάθέσηείναιτο 2 1 ;
Οι ρητοί αριθμοί(συνέχεια) Υπάρχει όμως κατάλληλη ακολουθία. Για παράδειγμα: 1 1, 1 2, 2 1, 1 3, 2 2, 3 1, 1 4,... Πρώτα τα κλάσματα με άθροισμα αριθμητή και παρονομαστή ίσο με 2, μετά τα κλάσματα με άθροισμα αριθμητή και παρονομαστή ίσο με 3, κοκ. Ενα κλάσμα p/q θα εμφανιστεί όταν απαριθμούμε τα κλάσματα με άθροισμα αριθμητή και παρονομαστή ίσο με p +q. Επειδή το πλήθος των ζευγαριών των φυσικών αριθμών με άθροισματοπολύ p +qείναιτοπολύ (p +q) 2,τοκλάσμα p/q,θαεμφανιστείσταπρώτα (p +q) 2 στοιχεία.
Οι ρητοί αριθμοί(συνέχεια) Στην πραγματικότητα υπάρχουν πολλές κατάλληλες ακολουθίες. Να ένα άλλο παράδειγμα: 1 1, 1 1, 1 2, 2 1, 2 2, 2 2, 1 3, 3 1, 2 3, 3 2, 3 3, 3 3, 1 4, 4 1... Κάθε κλάσμα p/q ακολουθείται από το αντίστροφό του q/p. Τα κλάσματα στις περιττές θέσεις, έχουν αριθμητή μικρότερο ή ίσο του παρονομαστή. Σ αυτάπρώταείναιταόλατακλάσματαμεπαρονομαστή 1,μετάόλατακλάσματαμεπαρονομαστή2,κοκ. Επομένωςένακλάσμα p/q,με p q,θαεμφανιστείόταν απαριθμούνται τα κλάσματα με παρονομαστές q. Ενακλάσμα p/q,με p > q,θαεμφανιστείαμέσωςμετάτο q/p.
Συμβολοσειρές Αλφάβητο είναι ένα οποιοδήποτε πεπερασμένο σύνολο. Εστωλοιπόνένααλφάβητο Σκαιέστω Σ τοσύνολοτων συμβολοσειρών του. Γιαπαράδειγμα, Σ = {0,1}και Σ = {ε,0,1,00,01,10,11,...}. Είναιτοσύνολο Σ αριθμήσιμο; Ναι. Ακολουθία: πρώτα οι συμβολοσειρές με μήκος 0 (δηλαδήηε),μετάόλεςτιςσυμβολοσειρέςμεμήκος1,μετά όλες τις συμβολοσειρές με μήκος 2 κοκ. Για το παραπάνω παράδειγμα, η ακολουθία είναι ε,0,1,00,01,10,11,000,... Επειδή οι συμβολοσειρές με μήκος k είναι πεπερασμένες, μια συμβολοσειρά μήκους k θα εμφανιστεί τελικά στην ακολουθία αυτή.
Δένδρα με ετικέτες(labelled trees) Είναιτοσύνολοτωνδένδρωνμεετικέτεςαπότο Nαριθμήσιμο; 1 2... 1 2 1 3... 1 2 3... 1 2 3 4 Δείχνει η σειρά αυτή ότι τα δένδρα είναι αριθμήσιμα; ΟΧΙ!Σεποιαθέσηείναιταδένδραμε2κόμβους; Υπάρχει όμως κατάλληλη ακολουθία: Πρώτα όλα τα δένδρα με σύνολοκόμβωντο {1},μετάόλαταδένδραμεκόμβουςστο {1,2}, μετάόλαταδένδραμεκόμβουςστο {1,2,3},κοκ. 1 2 1 2 2 1 3 1 3 2 3... 4 1 2 3......
Μη αριθμήσιμα σύνολα; Είναι όλα τα σύνολα αριθμήσιμα; Οχι. Θα δούμε ότι το σύνολο των πραγματικών αριθμών δεν είναι αριθμήσιμο. Αλλά πώς δείχνουμε ότι ένα σύνολο δεν είναι αριθμήσιμο; Με τη Μέθοδο της Διαγωνίου ή Διαγωνοποίηση.
Η Μέθοδος της Διαγωνίου Δίνονται 5 5-ψήφιοι αριθμοί και μας ζητάνε να βρούμε έναν 5-ψήφιο αριθμό διαφορετικό από αυτούς. Κάθε ψηφίο των 5 αριθμών είναι γραμμένο σε αναποδογυρισμένη κάρτα θέλουμε να κοιτάξουμε όσο το δυνατόν λιγότερες κάρτες. 3 2 9 5 5 Οαριθμός43066δενείναιέναςαπότους5αριθμούς. Διαφέρειαπότον1οαριθμόστο1οψηφίο,απότον2οστο 2οψηφίοκαιγενικάαπότον i-οστόστο i-στοψηφίο.
Georg Cantor 1845-1918
Το R δεν είναι αριθμήσιμο Θεώρημα Το σύνολο των πραγματικών αριθμών R δεν είναι αριθμήσιμο, δηλαδήδενυπάρχειακολουθία r 1,r 2,...στηνόποιανα εμφανίζονται όλοι οι πραγματικοί αριθμοί. Απόδειξη. Με εις άτοπο απαγωγή. Εστωότιυπήρχετέτοιαακολουθία r 1,r 2,... Ας θεωρήσουμε τη δεκαδική παράσταση των αριθμών αυτών και ας κατασκευάσουμε ένα αριθμό που διαφέρει από τον r 1 στοπρώτοδεκαδικόψήφιο,απότον r 2 στοδεύτερο δεκαδικό ψήφιο, κοκ.
Το R δεν είναι αριθμήσιμο(συνέχεια) Συνέχεια. Πιο συγκεκριμένα κατασκευάζουμε τον αριθμό a με δεκαδικήπαράσταση 0.a 1 a 2 a 3...όπου { 1 αντο i-στοδεκαδικόψηφίοτου r i είναιδιάφοροτου1 a i = 2 αντο i-στοδεκαδικόψηφίοτου r i είναιίσομε1 Για παράδειγμα, αν r 1 = 0.06542... r 2 = 1.11287... r 3 = 3.14159... r 4 = 1.41421...
Το R δεν είναι αριθμήσιμο(συνέχεια) Συνέχεια. Πιο συγκεκριμένα κατασκευάζουμε τον αριθμό a με δεκαδικήπαράσταση 0.a 1 a 2 a 3...όπου { 1 αντο i-στοδεκαδικόψηφίοτου r i είναιδιάφοροτου1 a i = 2 αντο i-στοδεκαδικόψηφίοτου r i είναιίσομε1 Για παράδειγμα, αν τότε a = 0.1221... r 1 = 0.06542... r 2 = 1.11287... r 3 = 3.14159... r 4 = 1.41421...
Το R δεν είναι αριθμήσιμο(συνέχεια) Συνέχεια. Ο νέος αριθμός a έχει διαφορετική δεκαδική παράσταση απόκάθεαριθμότηςακολουθίας r 1,r 2,... Είναιόμωςδιαφορετικόςαπόκάθε r i ; Κάποιοι αριθμοί έχουν δύο δεκαδικές παραστάσεις που από κάποιο σημείο και πέρα αποτελούνται από επαναλαμβανόμενα 0 ή από επαναλαμβανόμενα 9. Για παράδειγμα 1.20000... = 1.19999... Φροντίσαμετανέαψηφία a i ναμηνπεριέχουνούτε0ούτε 9. Ετσι ο νέος αριθμός a, έχει και διαφορετική δεκαδική παράστασηαλλάκαιδιαφορετικήτιμήαπόκάθε r i. Συμπέρασμα: Ο a είναι πραγματικός αριθμός αλλά δεν ανήκειστηνακολουθία r 1,r 2,... Άτοπο.Άραοι πραγματικοί δεν είναι αριθμήσιμοι.
Θεωρία Υπολογισμού Θαδείξουμεότιδενυπάρχειπρόγραμμα PascalήCή οποιασδήποτε γενικής γλώσσας προγραμματισμού που να μπορεί να αναλύει τον πηγαίο κώδικα προγραμμάτων της γλώσσαςκαινααπαντάαντερματίζειήόχιόταν εκτελεστεί. Οπηγαίοςκώδικαςενόςπρογράμματοςγιαμαςεδώδενθα είναι παρά μια συμβολοσειρά(δηλαδή ένα κείμενο) κάποιου αλφάβητου Σ. Θα θεωρήσουμε προγράμματα που παίρνουν για είσοδο μια συμβολοσειρά του Σ. Εστω P 1,P 2,...ταπρογράμματααυτά.Ταπρογράμματα είναι συμβολοσειρές, άρα είναι αριθμήσιμα.
Alan Turing 1912-1954
Θεωρία Υπολογισμού Ενα τέτοιο πρόγραμμα μπορεί να τερματίζει ή όχι. Τί θα κάνουν τα προγράμματα αν τους δώσουμε για είσοδο τους πηγαίους κώδικες; Ας ορίσουμε την συνάρτηση αντοπρόγραμμα P i τερματίζειμεείσοδο true g(p i,p j ) = τησυμβολοσειρά P j false σε κάθε άλλη περίπτωση
Θεωρία Υπολογισμού P 1 P 2 P 3 P 4 P 5 P 1 g(p 1,P 1 ) g(p 1,P 2 ) g(p 1,P 3 ) g(p 1,P 4 ) P 2 P 3 g(p 3,P 4 ) P 4 P 5 Χρησιμοποιώντας τη Μέθοδο της Διαγωνίου θεωρούμε τη γραμμή που έχει αντίστροφες τιμές από αυτές της διαγώνιου(από true σε false και το αντίστροφο). Η γραμμή που κατασκευάζεται με αυτό τον τρόπο, έχει στην i-οστήθέση trueανκαιμόνοαν g(p i,p i ) = false. Η γραμμή αυτή δεν υπάρχει στον πίνακα γιατί διαφέρει απότην1ηγραμμήστην1ηθέση,απότη2ηγραμμήστη2η θέση κοκ. Δηλαδή, δεν υπάρχει πρόγραμμα που να υπολογίζει το not g(p i,p i ).
Θεωρία Υπολογισμού Ισοδύναμα, δεν υπάρχει πρόγραμμα H τέτοιο ώστε για κάθεσυμβολοσειρά P i το Hμεείσοδο P i επιστρέφει true ότανκαιμόνοόταν τοπρόγραμμα P i μεείσοδο P i δεντερματίζει Συμπεραίνουμε ότι δεν είναι υπολογίσιμο αν ένα πρόγραμμα τερματίζει ή όχι, γιατί διαφορετικά θα μπορούσαμεναυπολογίσουμεαντο P i τερματίζειμεείσοδο τον πηγαίο κώδικά του.