Φροντιστήριο 10 Λύσεις

Σχετικά έγγραφα
Φροντιστήριο 9 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές

Σειρά Προβλημάτων 5 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα

Σειρά Προβλημάτων 5 Λύσεις

Φροντιστήριο 8 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ

Φροντιστήριο 8 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος

Φροντιστήριο 11 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις

Ασκήσεις από παλιές εξετάσεις

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

Σειρά Προβλημάτων 5 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA)

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα)

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 5: Κανονικές Εκφράσεις

Φροντιστήριο 2 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Φροντιστήριο 2 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 3 Λύσεις

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

Σειρά Προβλημάτων 1 Λύσεις

Κανονικές Γλώσσες. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Σειρά Προβλημάτων 1 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 3: Ντετερμινιστικά Πεπερασμένα Αυτόματα (DFA)

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

Σειρά Προβλημάτων 3 Λύσεις

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα

Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α.

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας

CSC 314: Switching Theory

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing

Σειρά Προβλημάτων 3 Λύσεις

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation

Εισαγωγή στην Επιστήμη των Υπολογιστών

Σειρά Προβλημάτων 1 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Σειρά Προβλημάτων 3 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα

Πεπερασμένα Αυτόματα. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές

Σειρά Προβλημάτων 3 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

Λύσεις 4ης Σειράς Ασκήσεων

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (3) Παραδείγµατα µε Κανονικές Εκφράσεις. Σε αυτό το µάθηµα.

Σειρά Προβλημάτων 3 Λύσεις

f(t) = (1 t)a + tb. f(n) =

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Cretive Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εισαγωγή στην Επιστήμη των Υπολογιστών

Αλγόριθμοι για αυτόματα

CSC 314: Switching Theory. Chapter 3: Turing Machines

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

Φροντιστήριο 7 Λύσεις

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Σειρά Προβλημάτων 1 Λύσεις

Άσκησηη 1. (α) Το αυτόματο. (γ) Να δείξετε όλα aabbb. Λύση. λέξεις. αυτόματο. (β) Τυπικά. μεταβάσεων δ. ορίζεται. (γ) Θα δείξουμε τα.

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 6: Μη Κανονικές Γλώσσες

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Σειρά Προβλημάτων 3 Λύσεις

Chapter 7, 8 : Time, Space Complexity

Θεωρία Υπολογισμού και Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Σειρά Προβλημάτων 3 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Transcript:

Άσκηση 1 Φροντιστήριο 10 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {0,1} * και να γράφει τη λέξη w R στη δεύτερη της ταινία. H ζητούμενη μηχανή φαίνεται πιο κάτω. Η λειτουργία της χωρίζεται σε 4 φάσεις: Αν η λέξη είναι κενή, τότε αποδέχεται (μετάβαση q 0 q αποδ). Διαφορετικά σημαδεύει το πρώτο στοιχείο (μετάβαση q 0 q 1). Προχωρεί στο τέλος της πρώτης ταινίας (μονοπάτι q 1 q 2). Σε κάθε βήμα η δεύτερη ταινία και η κεφαλή της παραμένουν ανέπαφες. Για όσο η πρώτη ταινία περιέχει τα στοιχεία 0 ή 1, η μηχανή τα αντιγράφει στη δεύτερη ταινία. Σε κάθε βήμα κινείται αριστερά στην πρώτη ταινία και δεξιά στη δεύτερη ταινία (ακμή q 2 q 2). Όταν φτάσει στο πρώτο στοιχείο της πρώτης ταινίας, το αντιγράφει στη δεύτερη ταινία και τερματίζει (ακμή q 2 q αποδ). Στην παρουσίαση των μεταβάσεων η πρώτη έκφραση της μορφής a b, K αναφέρεται στην πρώτη ταινία και η δεύτερη στη δεύτερη ταινία. Άσκηση 2 Να αποδείξετε ότι η κλάση των διαγνώσιμων γλωσσών είναι κλειστή ως προς: (α) Την τομή (β) Το συμπλήρωμα (γ) Τη συναρμογή Φροντιστήριο 10 Λύσεις Χειμερινό Εξάμηνο 2018 Σελίδα 1 από 5

Θεωρήστε επίσης την κλάση των αναγνωρίσιμων γλωσσών. Ως προς ποιες από τις πιο πάνω πράξεις ισχύει η κλειστότητα για τη συγκεκριμένη κλάση; (α) Έστω διαγνώσιμες γλώσσες L 1, L 2 και Μ 1, Μ 2 δύο μηχανές Turing που τις διαγιγνώσκουν, αντίστοιχα. Θέλουμε να δείξουμε ότι υπάρχει μηχανή Turing η οποία διαδιγνώσκει τη γλώσσα L 1 L 2. Κατασκευάζουμε την Μ ως εξής: Μ = Για είσοδο w 1. Τρέξε τη Μ 1 για είσοδο w. 2. Αν η Μ 1 αποδεχθεί τότε τρέξε την Μ 2 για είσοδο w. Διαφορετικά απόρριψε. 3. Αν η Μ 2 αποδεχθεί τότε αποδέξου. Διαφορετικά απόρριψε. Ορθότητα και τερματισμός: Όντας διαγνώστες, οι Μ 1 και Μ 2 θα τερματίσουν. Επομένως και η μηχανή Μ τερματίζει πάντα. Επιπλέον, η Μ αποδέχεται αν και μόνο αν οι Μ 1 και Μ 2 αποδεχτούν. Αυτό θα συμβεί εφόσον τόσο η Μ 1 όσο και η Μ 2 αποδεχτεί την w. Εξ ορισμού οι δύο μηχανές θα αποδεχτούν την w αν και μόνο αν w L 1 (μηχανή Μ 1) και w L 2 (μηχανή Μ 1). Συνεπώς, η Μ θα αποδεχτεί την w αν και μόνο αν w L 1 L 2. (β) Έστω διαγνώσιμη γλώσσα L και Μ μια μηχανή Turing που την διαγιγνώσκει, Θέλουμε να δείξουμε ότι υπάρχει μηχανή Turing Μ η οποία διαγιγνώσκει τη γλώσσα. Κατασκευάζουμε την Μ ως εξής: Μ = Για είσοδο w 1. Τρέξε τη Μ για είσοδο w. 2. Αν η Μ αποδεχθεί τότε απόρριψε. Διαφορετικά αποδέξου. Ορθότητα και τερματισμός: Είναι προφανές ότι, αφού η Μ τερματίζει, η Μ τερματίζει και αποδέχεται μόνο τις λέξεις που δεν ανήκουν στη γλώσσα L. (γ) Έστω διαγνώσιμες γλώσσες L 1, L 2 και Μ 1, Μ 2 δύο μηχανές Turing που τις διαγιγνώσκουν, αντίστοιχα. Θέλουμε να δείξουμε ότι υπάρχει μηχανή Turing η οποία διαγιγνώσκει τη γλώσσα L 1L 2. Κατασκευάζουμε την Μ ως εξής: Μ = Για είσοδο w 1. Κατασκεύασε όλα τα δυνατά σπασίματα της λέξης w σε δύο υπολέξεις. 2. Για κάθε δυνατό σπάσιμο w = xy. a. Τρέξε την Μ 1 στο x. Αν η Μ 1 αποδεχθεί τότε τρέξε την Μ 2 στο y. Διαφορετικά επανάλαβε το βήμα για το επόμενο σπάσιμο. b. Αν η Μ 2 αποδεχθεί τότε αποδέξου. Διαφορετικά επανάλαβε το βήμα για το επόμενο σπάσιμο. 3. Αν τα σπασίματα εξαντληθούν, απόρριψε τη λέξη. Ορθότητα και τερματισμός: Όντας διαγνώστες, οι Μ 1 και Μ 2 θα τερματίσουν. Επομένως και η μηχανή Μ τερματίζει πάντα. Επιπλέον, η Μ αποδέχεται αν και μόνο αν οι Μ 1 και Μ 2 αποδεχτούν. Αυτό θα συμβεί εφόσον εντοπιστούν υπολέξεις x, y τέτοιες ώστε w = xy, Μ 1 αποδέχεται τη x και Μ 2 αποδέχεται τη y. Εξ ορισμού οι δύο μηχανές θα αποδεχτούν τις δύο υπολέξεις εφόσον x L 1 (μηχανή Μ 1) και y L 2 (μηχανή Μ 1). Συνεπώς, η Μ θα αποδεχτεί την w αφού αυτή αποτελεί τη συναρμογή λέξεων x L 1 και y L 2. Φροντιστήριο 10 Λύσεις Χειμερινό Εξάμηνο 2018 Σελίδα 2 από 5

Κλειστότητα κλάσης αναγνωρίσιμων γλωσσών ως προς τις πράξεις (α) Τομή: Η κλάση είναι κλειστή ως προς την τομή. Αυτό μπορεί να δειχθεί μέσω της κατασκευής που χρησιμοποιήσαμε και για τις διαγνώσιμες γλώσσες. (β) Συμπλήρωμα. Η κλάση των αναγνωρίσιμων γλωσσών δεν είναι κλειστή ως προς το συμπλήρωμα. Για να το δείξουμε, αρκεί να παρουσιάσουμε μια γλώσσα η οποία είναι αναγνωρίσιμη ενώ το συμπλήρωμά της δεν είναι αναγνωρίσιμο. Μια τέτοια γλώσσα είναι η Α ΤΜ (δες Διαφάνεια 8 55). (γ) Η κλάση των αναγνωρίσιμων γλωσσών είναι κλειστή ως προς τη συναρμογή Έστω αναγνωρίσιμες γλώσσες L 1, L 2 και Μ 1, Μ 2 δύο μηχανές Turing που τις αναγνωρίζουν, αντίστοιχα. Θέλουμε να δείξουμε ότι υπάρχει μηχανή Turing η οποία αναγνωρίζει τη γλώσσα L 1L 2. Κατασκευάζουμε την Ν ως εξής: Ν = Για είσοδο w 1. Επέλεξε μη ντετερμινιστικά ένα σπάσιμο της λέξης w σε δύο υπολέξεις. 2. Τρέξε την Μ 1 στο x. Αν η Μ 1 αποδεχθεί τότε τρέξε την Μ 2 στο y. Διαφορετικά απόρριψε. 3. Αν η Μ 2 αποδεχθεί τότε αποδέξου. Διαφορετικά απόρριψε. Προσέξτε τη διαφορά ανάμεσα στην ΤΜ που κατασκευάσαμε στην περίπτωση των διαγνώσιμων γλωσσών με την παρούσα ΤΜ: Εδώ χρειάζεται να λάβουμε υπόψη μας το γεγονός ότι σε κάποιες εισόδους οι μηχανές Μ 1 και Μ 2 δυνατό να εγκλωβιστούν. Ως εκ τούτου, δεν αναλύουμε τα σπασίματα «σειριακά» αλλά μη ντετερμινιστικά. Η εισαγωγή της μη ντετερμινιστικής επιλογής ανάμεσα στα δυνατά σπασίματα, μας εγγυάται ότι αν υπάρχει έστω και ένα σπάσιμο που να ικανοποιεί τις απαιτήσεις μας θα υπάρχει και εκτέλεση της μηχανής που θα το εντοπίσει. Άσκηση 3 Να δείξετε ότι τα πιο κάτω προβλήματα είναι επιλύσιμα: (α) {R R μια κανονική έκφραση που παράγει έστω και μία λέξη με περιττό αριθμό από 1} (β) { Μ το Μ είναι ένα DFA που αποδέχεται κάποια καρκινική λέξη} (α) Το πρόβλημα είναι επιλύσιμο. Η βασική ιδέα στην απόδειξη αφορά στο ότι για να παράγει η R τουλάχιστον μια λέξη με περιττό αριθμό από 1 θα πρέπει η τομή της γλώσσας που παράγει η R και του συνόλου όλων των λέξεων με περιττό αριθμό από 1, να μην είναι κενή: L(R) {w η λέξη w περιέχει περιττό αριθμό από 1}. Η γλώσσα διαγιγνώσκεται από την πιο κάτω ΤΜ. Μ = Για είσοδο R όπου R μια κανονική έκφραση Φροντιστήριο 10 Λύσεις Χειμερινό Εξάμηνο 2018 Σελίδα 3 από 5

1. Μετάτρεψε την R σε ένα NFA, έστω Ν 1, χρησιμοποιώντας τον γνωστό μας αλγόριθμο (Διαφάνειες 3 9 3 10). 2. Μετάτρεψε τη κανονική έκφραση 0 * (10 * 10 * ) * 10 * (η γλώσσα που αποτελείται από όλες τις λέξεις με περιττό αριθμό από 1) σε ένα NFA, έστω Ν 2, χρησιμοποιώντας τον ίδιο αλγόριθμο με το Βήμα 2. 3. Μετάτρεψε τα Ν 1 και Ν 2 σε ισοδύναμα DFA, έστω Μ 1 και Μ 2. (Κατασκευή από Διαφάνειες 2 36 2 38) 4. Δημιούργησε το αυτόματο, Μ, που αποδέχεται τη γλώσσα L(M 1) L(M 2). (Φροντιστήριο 2, Άσκηση 3) 5. Ελέγχουμε αν L(M) = χρησιμοποιώντας τον διαγνώστη Τ (Διαφάνεια 8 10). 6. Αν ο Τ αποδεχθεί τότε απορρίπτουμε, διαφορετικά αποδεχόμαστε. (β) Κατ αρχάς, παρατηρούμε ότι δοθέντος ενός DFA, έστω Μ 1 που αποδέχεται τη γλώσσα Λ 1, μπορούμε να κατασκευάσουμε ένα δεύτερο DFA, M 2, το οποίο να αποδέχεται τη γλώσσα που περιέχει όλες τις λέξεις το Λ 1 αντεστραμμένες. Δηλαδή, τη γλώσσα: Λ 2 = {w R w Λ 1}. Το αυτόματο Μ 2 κατασκευάζεται ως εξής: Αντίστρεψε τη φορά όλων των ακμών του Μ 1. Δημιούργησε μια νέα αρχική κατάσταση και πρόσθεσε ε ακμές από αυτή την κατάσταση προς όλες τις καταστάσεις αποδοχής του Μ 1. Μετάτρεψε την αρχική κατάσταση του Μ 1 σε κατάσταση αποδοχής. Χρησιμοποίησε την κατασκευή μετατροπής από NFA σε DFA για να μετατρέψεις το αυτόματο NFA που προέκυψε μέσω των πιο πάνω βημάτων σε ένα ισοδύναμο DFA. Επιστρέφοντας στο πρόβλημά μας, η γλώσσα διαγιγνώσκεται μέσω της ακόλουθης ΤΜ: Μ = Για είσοδο D 1 όπου D ένα DFA 1. Κατασκεύασε ένα DFA, D 2, το οποίο να αποδέχεται όλες τις λέξεις του D 1 αντιστραμμένες, σύμφωνα με τη διαδικασία που αναφέραμε πιο πάνω. 2. Δημιούργησε το αυτόματο, D, που αποδέχεται τη γλώσσα L(D 1) L(D 2). (Φροντιστήριο 2, Άσκηση 3) 3. Ελέγχουμε αν L(D) = χρησιμοποιώντας τον διαγνώστη Τ (Διαφάνεια 8 10). 4. Αν ο T αποδεχθεί τότε δεν υπάρχει καμιά λέξη της D η οποία να εμφανίζεται και αντεστραμμένη στη D, επομένως, απορρίπτουμε, διαφορετικά αποδεχόμαστε. Άσκηση 4 (α) Να δείξετε ότι για οποιοδήποτε αλφάβητο Σ, το σύνολο Σ* όλων των λέξεων επί του Σ είναι αριθμήσιμο. (β) Έστω Β το σύνολο όλων των άπειρων ακολουθιών επί του αλφάβητου {0,1}. Εφαρμόζοντας την τεχνική της διαγωνιοποίησης, να δείξετε ότι το σύνολο B είναι υπεραριθήσιμο. (γ) Με βάση τα πιο πάνω να δείξετε ότι υπάρχουν μη αναγνωρίσιμες γλώσσες. (Πόρισμα, Διαφάνεια 8 40) Φροντιστήριο 10 Λύσεις Χειμερινό Εξάμηνο 2018 Σελίδα 4 από 5

(α) Αφού το πλήθος των λέξεων οποιουδήποτε μήκους είναι πεπερασμένο, μπορούμε να καταρτίσουμε ένα κατάλογο του Σ* παραθέτοντας αρχικά όλες τις λέξεις μήκους 0, στη συνέχεια όλες τις λέξεις μήκους 1, 2, και ούτω καθεξής. Επομένως, αν Σ = {a 1, a 2,, a n} η ζητούμενη συνάρτηση θα αντιστοιχεί τα στοιχεία 1 μέχρι και n, στα σύμβολα του Σ, δηλαδή, f(1) = a 1, f(2) = a 2,, f(n) = a n τα στοιχεία n+1 μέχρι n+1+n 2 σε λέξεις επί του Σ μήκους 2, δηλαδή, f(n+1) = a 1a 1, f(n+2) = a 1a 2,, f(n+1+n 2 ) = a na n τους επόμενους n 3 ακέραιους σε λέξεις επί του Σ μήκους 3, κ.ο.κ. (β) Υποθέτουμε, για να φτάσουμε σε αντίφαση ότι το σύνολο Β είναι αριθμήσιμο. Τότε, θα πρέπει να υπάρχει μονομορφική και επιμορφική συνάρτηση ανάμεσα στο Β και το σύνολο των πραγματικών αριθμών. Έστω f μια τέτοια συνάρτηση. Θα δείξουμε ότι η f δεν μπορεί να πληροί τον ορισμό μιας τέτοιας αντιστοιχίας. Συγκεκριμένα, θα δείξουμε ότι υπάρχει κάποια ακολουθία x Β η οποία δεν αντιστοιχείται σε κανένα ακέραιο μέσω της συνάρτησης f. Για να βρούμε την x μπορούμε απλά να την κατασκευάσουμε, επιλέγοντας το κάθε ψηφίο της έτσι ώστε η x να διαφέρει από κάποια από τις ακολουθίες οι οποίες έχουν συνταιριαστεί με στοιχεία του. Στο τέλος αυτής της διαδικασίας, θα είμαστε βέβαιοι ότι ο x διαφέρει από όλες τις ακολουθίες που έχουν συνταιριαστεί. Για να κατασκευάσουμε την άπειρη ακολουθία x αρκεί να προσδιορίσουμε τα ψηφία της. Γράφουμε x = x 1 x 2 x 3 και επιλέγουμε τα x 1, x 2, x 3 ως εξής: x i 0, 1, αν η ακολουθία f(i) έχει στην i-οστή της θέση το 1 αν η ακολουθία f(i) έχει στην i-οστή της θέση το 0 Συνεπώς, η x διαφέρει από κάθε ακολουθία που έχει συνταιριαστεί με κάποιο ακέραιο. Συγκεκριμένα, διαφέρει από την ακολουθία που έχει συνταιριαστεί με τον ακέραιο i στην i οστή θέση. Επομένως η συνάρτηση f δεν είναι επιμορφική και, κατά συνέπεια, το σύνολο Β είναι υπεραριθμήσιμο. (γ) Δείτε τη συζήτηση στη σελίδα 207 του βιβλίου του μαθήματος (Michael Sipser, Εισαγωγή στην θεωρία υπολογισμού, Πανεπιστημιακές Εκδόσεις Κρήτης, 2007). Φροντιστήριο 10 Λύσεις Χειμερινό Εξάμηνο 2018 Σελίδα 5 από 5