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

Σχετικά έγγραφα
Σειρά Προβλημάτων 4 Λύσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)

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

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

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

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

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

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

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

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

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

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

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

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

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

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

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

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 9: Αυτόματα Στοίβας (Pushdown Automata - PDA)

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1.

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;

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

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

CSC 314: Switching Theory

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

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

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

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

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

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

Μεταγλωττιστές. Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

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

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

Transcript:

Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει την ακόλουθη γλώσσα. { a n b n+2 c n 2 n 2 } Λύση: H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q, Σ, Γ, δ,,, όπου 1. Το σύνολο καταστάσεων Q αποτελείται από τις καταστάσεις που εμφανίζονται στο πιο κάτω σχήμα 2. Το αλφάβητο εισόδου Σ είναι το {a, b, c} 3. Το αλφάβητο ταινίας Γ είναι το Σ {Χ,Υ, } 4. Η συνάρτηση μετάβασης δ είναι όπως απεικονίζεται στο πιο κάτω σχήμα 5. q o Q είναι η εναρκτήρια κατάσταση 6. q acc Q είναι η κατάσταση αποδοχής 7. q rej Q είναι η κατάσταση απόρριψης ΥΥ, Δ aa, Δ q 0 ax, Δ ax, Δ by, Δ by, Δ by, Δ by, A a a, A Y Y, A XX, Δ q acc, A YY, Δ YY, A aa, Δ ΥΥ, Δ bb, Δ ΥΥ, Δ ax, Δ by, Δ cy, Α XX, Δ a a, A b b, A Y Y, A Ότι λείπει q rej Περιγραφή μηχανής: Στην πρώτη φάση, η μηχανή διαγράφει 2 a και 4 b. Με αυτό τον τρόπο μετατρέπει το πρόβλημα στη διάγνωση λέξεων που έχουν τη μορφή a n 2 b n 2 c n 2, n 2. Έτσι, και αφού επιστρέψει την κεφαλή στην αρχή της ταινίας, στη δεύτερη φάση, εφόσον υπάρχουν a, η μηχανή διασχίζει την ταινία διαγράφοντας ένα a, ένα b και ένα c. Αν με αυτό τον τρόπο αδειάσει η ταινία τότε η μηχανή προχωρεί στην κατάσταση αποδοχής. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2012 Σελίδα 1

(β) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να υπολογίζει την ακόλουθη συνάρτηση. () =, +, = = Κατά την εκκίνηση της εκτέλεσης της μηχανής, η ταινία θα πρέπει να περιέχει τον αριθμό x σε δυαδική μορφή με το σημαντικότερο ψηφίο στην αριστερότερη θέση ενώ, κατά τον τερματισμό, η ταινία θα πρέπει να περιέχει την τιμή f(x) επίσης σε δυαδική μορφή. Λύση: H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q, Σ, Γ, δ,,, όπου 1. Το σύνολο καταστάσεων Q περιλαμβάνει τις καταστάσεις που εμφανίζονται στο πιο κάτω σχήμα 2. Το αλφάβητο εισόδου Σ είναι το {0,1} 3. Το αλφάβητο ταινίας Γ είναι το Σ {0, 1, } 4. Η συνάρτηση μετάβασης δ είναι όπως απεικονίζεται στο πιο κάτω σχήμα 5. q o Q είναι η εναρκτήρια κατάσταση 6. q acc Q είναι η κατάσταση αποδοχής 7. q rej Q είναι η κατάσταση απόρριψης q 0 00, Δ 11, Δ 00, Δ 11, Δ, A 11, Α 10, Α 00, A 0, Δ 10, Α 11, Δ q acc, A 00, Δ Ότι λείπει q rej Περιγραφή μηχανής: Στην πρώτη φάση, η μηχανή υπογραμμίζει το πρώτο στοιχείο της ταινίας έτσι ώστε να γνωρίζει που βρίσκεται η αρχή της ταινίας. Στη συνέχεια προχωρεί μέχρι το τέλος και ελέγχει: Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2012 Σελίδα 2

Αν το τελευταίο στοιχείο είναι το 0 (οπόταν ο αριθμός είναι άρτιος) αφαιρεί το τελευταίο 0 και με αυτό τον τρόπο παράγει το ½ του δεδομένου που περιέχεται στην ταινία. Αν το τελευταίο 0 τυγχάνει να είναι και το πρώτο ψηφίο της λέξης, τότε δεν κάνει τίποτα (αφού 0/0 = 0). Αν το τελευταίο στοιχείο είναι το 1 (οπόταν ο αριθμός είναι περιττός) τότε για να προσθέσει σε αυτόν την τιμή 1, ξεκινά μια διάσχιση προς τα αριστερά κατά την οποία μετατρέπει κάθε 1 που συναντά σε 0 μέχρι να βρει ένα 0 το οποίο μετατρέπει σε 1. Αν ο αριθμός αποτελείται εξ ολοκλήρου από 1 τότε θα πρέπει να μετατρέψει όλα τα 1, εκτός από το πρώτο, σε 0 και να προσθέσει ακόμη ένα 0 στην πρώτη κενή θέση της ταινίας. Άσκηση 2 Έστω C 1 η κλάση όλων των μηχανών Turing με αλφάβητο εισόδου το σύνολο {a, } και C 2 η κλάση όλων των μηχανών Turing με αλφάβητο εισόδου το σύνολο {a,b, }. Να δείξετε ότι οι δύο κλάσεις είναι ισοδύναμες, δηλαδή, να δείξετε ότι κάθε μηχανή Turing Μ C 1 μπορεί να προσομοιωθεί από μια μηχανή Turing Μ C 2 και αντίστροφα. Λύση Είναι εύκολο να δούμε ότι κάθε μηχανή Turing που ανήκει στην κλάση C 1 μπορεί να τύχει προσομοίωσης από μια μηχανή Turing που ανήκει στην κλάση C 2 απλά η ισοδύναμη μηχανή δεν θα χρησιμοποιεί το επιπλέον σύμβολο b. Για την αντίθετη κατεύθυνση, ας υποθέσουμε ότι Μ 2 είναι μια μηχανή Turing που ανήκει στην κλάση C 2. ΘΑ δείξουμε ότι η λειτουργία της Μ 2 μπορεί να τύχει προσομοίωσης από μια μηχανή Turing Μ 1 που ανήκει στην κλάση C 1. Κατ αρχή θα πρέπει να επινοήσουμε μια μέθοδο μέσω της οποίας να αρχικοποιείται η ταινία της μηχανής Μ 1. Για να το πετύχουμε πρέπει να κατασκευάσουμε μια κωδικοποίηση των συμβόλων {a,b, } στο αλφάβητο {a, } μέσω μιας μονομορφικής και επιμορφικής συνάρτησης. Η συνάρτηση που επιλέγουμε (υπάρχουν και άλλες) είναι η εξής: f(a) = aa f(b) = a f( ) = Με βάση αυτή τη συνάρτηση και δοσμένης μιας ταινίας του Μ 2 παράγουμε την ταινία του Μ 2 εφαρμόζοντας την f σε κάθε σύμβολο της ταινίας. Για παράδειγμα η ταινία aabaabb μεταφράζεται στην ταινία aaaa aaaa a a Στη συνέχεια πρέπει να ορίσουμε πως κάθε δυνατή μετάβαση της ΤΜ Μ 2 μπορεί να προσομοιωθεί από την ΤΜ Μ 1. Η περίπτωση που η μετάβαση βασίζεται στην ύπαρξη ενός a στη θέση κεφαλής της ταινίας, είναι σχετικά απλή. Προσοχή πρέπει να δοθεί για υλοποίηση της μετακίνησης προς τα αριστερά αφού η κεφαλή της ταινίας θα πρέπει να μετακινηθεί στην αρχή της προηγούμενης δυάδας από χαρακτήρες. Συνεπώς, μετά την ολοκλήρωση της εγγραφής Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2012 Σελίδα 3

του όποιου συμβόλου, θα πρέπει η κεφαλή να μετακινηθεί 3 θέσεις προς τα αριστερά. Ακολουθούν οι διαφορετικές μεταβάσεις και η μετάφρασή τους, όπου χρησιμοποιούμε το σύμβολο * για να αναφερθούμε σε οποιοδήποτε από τα a, b και c. Μ 2 Μ 1 a, a a a, aa, b, a a _, aa, _, a a _, a _, a a, A a a, A * *, A a b, a _, a a, A * *, A * *, A _, a a _, a _, A * *, A * *, A Στην περίπτωση που η μετάβαση της Μ 2 αναφέρεται στην ύπαρξη του συμβόλου b (ή του κενού) τότε η μετάφραση είναι κάπως πιο πολύπλοκη αφού, για να εντοπίσουμε την ύπαρξη του a στη δεύτερη ταινία, είναι απαραίτητο να επιβεβαιώσουμε την ύπαρξη και των δύο συμβόλων και a. Με άλλα λόγια αν μετά από το εντοπίσουμε το a τότε προχωρούμε με την υλοποίηση της μετάβασης, αν όμως όχι θα πρέπει να επιστρέψουμε μια θέση στα αριστερά και να εφαρμόσουμε μια άλλη μετάβαση. Το πιο κάτω σχήμα παρουσιάζει τη μετάφραση της b a, A : M 2 M 1, Δ ba, A aa, Α, A, A q 1 q 2 q 1 q 2, Α Οι υπόλοιπες μεταβάσεις μπορούν να μεταφραστούν με παρόμοιο τρόπο και αφήνονται ως άσκηση στον αναγνώστη. Άσκηση 3 Θεωρείστε τη γλώσσα {ww w {a, b, c} * }. Να παρουσιάσετε λεπτομερείς περιγραφές (i) μιας απλής μηχανή Turing και (ii) μιας μηχανής Turing με 2 ταινίες που να διαγιγνώσκουν τη γλώσσα και να συγκρίνετε τις δύο μηχανές ως προς τη χρονική τους πολυπλοκότητα. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2012 Σελίδα 4

Λύση (i) Η πιο κάτω μηχανή Turing θεωρεί όλα τα δυνατά σπασίματα του δεδομένου εισόδου της και ελέγχει κατά πόσο ένα από αυτά αναφέρεται σε όμοιες λέξεις. Κατά τον έλεγχο, διαγράψει σύμβολα στο πρώτο κομμάτι (δηλαδή, αντικαθιστά κάθε a από a, κάθε b από b, και κάθε c από c) και υπογραμμίζει σύμβολα στο δεύτερο κομμάτι (δηλαδή, αντικαθιστά κάθε a από a, κάθε b από b, και κάθε c από c). Αν εντοπίσει ένα τέτοιο σπάσιμο τότε αποδέχεται, διαφορετικά απορρίπτει. 1_Tape = Με δεδομένο εισόδου μια λέξη x 1. Αν x = ε, τότε αποδέξου. 2. Για κάθε k, 1 k < x a. Διάβασε το σύμβολο στη θέση που βρίσκεσαι. Αν το σύμβολο ανήκει στο σύνολο {a, b, c} τότε πήγαινε στο Βήμα 2d. Διαφορετικά, διάγραψε το σύμβολο που διάβασες, b. Μετακινήσουμε δεξιά κατά k θέσεις. c. Αν το σύμβολο στην κεφαλή της ταινίας είναι το ίδιο με το σύμβολο που διάβασες στο Βήμα 2a. υπογράμμισέ το και προχώρα μέχρι το πρώτο γράμμα που βρίσκεται δεξιά από κάποιο διαγραμμένο γράμμα. Αν το σύμβολο είναι διαφορετικό, τότε επανάφερε τα γράμματα στην αρχική τους μορφή και επανάλαβε το Βήμα 2 για την επόμενη τιμή του k. d. Προχώρα δεξιά. Αν όλα τα σύμβολα είναι υπογραμμισμένα τότε αποδέξου, αλλιώς επανάφερε τα γράμματα στην αρχική τους μορφή και επανάλαβε το Βήμα 2 για την επόμενη τιμή του k. 3. Αφού εξάντλησες όλα τα δυνατά σπασίματα χωρίς να αποδεχτείς, απόρριψε τη λέξη. Η ΤΜ 1_Tape θα κάνει Ο(n) επαναλήψεις του βήματος 2, όπου n = x (υπάρχουν Ο(n) δυνατά σπασίματα της λέξης). Σε κάθε επανάληψη θα χρειαστεί να διασχίσει τη λέξη Ο(n) φορές, διαγράφοντας κάθε φορά δύο σύμβολα. Αφού κάθε διάσχιση απαιτεί Ο(n) βήματα, κάθε επανάληψη του βήματος 2 απαιτεί χρόνο Ο(n 2 ). Συνεπώς η χρονική πολυπλοκότητας της 1_Tape ανήκει στην τάξη Ο(n 3 ). (ii) Η πιο κάτω διταινιακή μηχανή Turing λειτουργεί παρόμοια με την 1_Tape. Έχοντας όμως στη διάθεσή της και δεύτερη ταινία, μπορεί να συγκρίνει τα δύο τμήματα που προκύπτουν από το σπάσιμο που έχει επιλεχθεί αποφεύγοντας την επαναλαμβανόμενη μετακίνηση μέσα στην ταινία. 2_Tape = Με δεδομένο εισόδου μια λέξη x 1. Αν x = ε, τότε αποδέξου. 2. Για κάθε k, 1 k < x a. Διάβασε τα πρώτα k σύμβολα και, καθώς τα διαβάζεις, αντίγραψέ τα στη δεύτερη ταινία. Μετακινήσου στην αρχή της δεύτερης ταινίας. b. Διάβασε 1 1 τα επόμενα σύμβολα της πρώτης ταινίας και σύγκρινέ τα με τα στοιχεία της δεύτερης ταινίας μέχρι μια από τις δύο ταινίες να εξαντληθεί. Αν το επόμενο σύμβολο της πρώτης ταινίας είναι το ίδιο με το επόμενο σύμβολο της δεύτερης ταινίας, τότε προχώρησε στο επόμενο σύμβολο. Αν το σύμβολο της πρώτης ταινίας διαφέρει από το πρώτο σύμβολο της δεύτερης ταινίας, τότε επανάλαβε το Βήμα 2 για την επόμενη τιμή του k. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2012 Σελίδα 5

c. Αν τα σύμβολα και των δύο ταινιών έχουν εξαντληθεί τότε αποδέξου,. Αν μια από τις δύο ταινίες εξακολουθεί να περιέχει σύμβολα τότε επανάλαβε το Βήμα 2 για την επόμενη τιμή του k. 3. Αφού εξάντλησες όλα τα δυνατά σπασίματα χωρίς να αποδεχτείς, απόρριψε τη λέξη. Η ΤΜ 2_Tape (όπως και η ΤΜ 1_Tape) θα κάνει Ο(n) επαναλήψεις του βήματος 2, όπου n = x. Σε κάθε επανάληψη θα χρειαστεί να διασχίσει τη λέξη 1 φορά. Αφού η διάσχιση απαιτεί Ο(n) βήματα, κάθε επανάληψη του βήματος 2 απαιτεί χρόνο Ο(n). Συνεπώς η χρονική πολυπλοκότητας της 2_Tape ανήκει στην τάξη Ο(n 2 ). Άσκηση 4 Δώστε αφ υψηλού περιγραφές μηχανών Turing που να διαγιγνώσκουν τις ακόλουθες γλώσσες. Σε περίπτωση που θα χρησιμοποιήσετε μηχανές από τις διαλέξεις να τις περιγράψετε. (α) { G η G είναι μια ασυμφραστική γραμματική που παράγει την λέξη ε } (β) { D,R το D είναι ένα DFA, η R είναι μια κανονική έκφραση, και L(D) = L(R) } (γ) { R 1,R 2 οι R 1, R 2 είναι δύο κανονικές εκφράσεις, και L(R 1 ) L(R 2 ) } Λύση (α) Η πιο κάτω ΤΜ αναγνωρίζει τη γλώσσα { G η G είναι μια ασυμφραστική γραμματική που παράγει την λέξη ε } S = Για είσοδο G, όπου G μια CFG: 1. Μετατρέπουμε τη G σε μια ισοδύναμη γραμματική σε κανονική μορφή Chomsky. 2. Αν η ισοδύναμη αυτή γραμματική περιέχει τον κανόνα S ε τότε αποδεχόμαστε, αλλιώς απορρίπτουμε. (β) Η πιο κάτω ΤΜ αναγνωρίζει τη γλώσσα { D,R το D είναι ένα DFA, η R είναι μια κανονική έκφραση, και L(D) = L(R) } S = Για είσοδο D,R, όπου το D είναι ένα DFA και η R είναι μια κανονική έκφραση: 1. Μετατρέπουμε την R σε ένα ισοδύναμο NFA B. 2. Μετατρέπουμε το Β σε ένα ισοδύναμο DFA C. 3. Εφαρμόζουμε την ΤΜ F, διαφάνεια 8 12, με δεδομένα τα DFA D και C. Αν το αυτόματο αποδεχτεί αποδεχόμαστε, διαφορετικά απορρίπτουμε. (γ) Η πιο κάτω ΤΜ αναγνωρίζει τη γλώσσα { R 1,R 2 οι R 1, R 2 είναι δύο κανονικές εκφράσεις, και L(R 1 ) L(R 2 ) } S = Για είσοδο R 1,R 2 όπου οι R 1, R 2 είναι δύο κανονικές εκφράσεις,: 1. Μετατρέπουμε την R 1 σε ένα ισοδύναμο NFA Α 2. Μετατρέπουμε την R 2 σε ένα ισοδύναμο NFA Β. 3. Κατασκευάζουμε το DFA αυτόματο που δέχεται τη γλώσσα L(A) (), έστω C. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2012 Σελίδα 6

4. Εφαρμόζουμε την ΤΜ T, διαφάνεια 8 10, με δεδομένο το C για να ελέγξουμε κατά πόσο το C αποδέχεται την κενή γλώσσα. Αν το αυτόματο αποδεχτεί αποδεχόμαστε, διαφορετικά απορρίπτουμε. Άσκηση 5 Για κάθε μια από τις πιο κάτω γλώσσες, να αποφασίσετε κατά πόσο είναι διαγνώσιμη, αναγνωρίσιμη, συμπληρωματικά αναγνωρίσιμη, ή κανένα από τα πιο πάνω, αιτιολογώντας τις απαντήσεις σας. (α) { G 1,G 2 οι G 1 και G 2 είναι ασυμφραστικές γλώσσες και L(G 1 ) = L(G 2 ) } (β) { Μ η Μ είναι μια μηχανή Turing και L(M) μια κανονική γλώσσα } Λύση (α) Όπως έχουμε αναφέρει, η γλώσσα { G 1,G 2 οι G 1 και G 2 είναι ασυμφραστικές γλώσσες και L(G 1 ) = L(G 2 ) } είναι μη διαγνώσιμη. Είναι όμως συμπληρωματικά αναγνωρίσιμη. Με άλλα λόγια, μπορούμε να δείξουμε ότι το συμπλήρωμα της γλώσσας, δηλαδή η γλώσσα Α = { G 1,G 2 οι G 1 και G 2 είναι ασυμφραστικές γλώσσες και L(G 1 ) L(G 2 ) } είναι αναγνωρίσιμη. Για να το πετύχουμε, πρέπει να κατασκευάσουμε μια ΤΜ Μ, τέτοια ώστε για κάθε G 1,G 2 όπου L(G 1 ) L(G 2 ) η Μ να αποδέχεται ενώ για κάθε G 1,G 2 όπου L(G 1 ) =L(G 2 ) η Μ να απορρίπτει ή να εγκλωβίζεται. Κατασκευή: Η ζητούμενη μηχανή Μ μπορεί να οριστεί ως εξής: Μ = Για κάθε είσοδο G 1,G 2 όπου οι G 1 και G 2 είναι ασυμφραστικές γλώσσες 1. Για κάθε w Σ * και ξεκινώντας από τις μικρότερες προς τις μεγαλύτερες λέξεις: i. Εφάρμοσε την ΤΜ S (Διαφάνεια 8 16) για να ελέγξεις αν η G 1 αποδέχεται την w ii. Εφάρμοσε την ΤΜ S (Διαφάνεια 8 16) για να ελέγξεις αν η G 2 αποδέχεται την w iii. Αν ακριβώς μια από τις δύο μηχανές αποδέχεται τη w τότε αποδέξου, διαφορετικά επανέλαβε τον βρόχο για την επόμενη λέξη w. Η πιο πάνω μηχανή, δοκιμάζει μια προς μία όλες τις δυνατές λέξεις. Αν εντοπίσει κάποια λέξη η οποία είναι αποδεκτή από τη μια γραμματική και όχι από την άλλη, τότε αποδέχεται. Ορθότητα: Αν L(G 1 ) L(G 2 ) τότε υπάρχει λέξη x η οποία ανήκει στη μια γλώσσα και όχι στην άλλη. H μηχανή Μ, μετά από πεπερασμένο αριθμό βημάτων, θα αναλύσει τη δυνατότητα παραγωγής της x από τις δύο γραμματικές και θα εντοπίσει ότι η λέξη αυτή παράγεται μόνο από την μια εκ των δύο και θα αποδεχτεί. Επομένως, η Μ αναγνωρίζει τη γλώσσα Α. Παρατηρούμε ότι η γλώσσα { G 1,G 2 οι G 1 και G 2 είναι ασυμφραστικές γλώσσες και L(G 1 ) = L(G 2 ) } Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2012 Σελίδα 7

αν και συμπληρωματικά αναγνωρίσιμη δεν μπορεί να είναι και αναγνωρίσιμη. Αν ήταν αναγνωρίσιμη τότε, βάσει του θεωρήματος της Διαφάνειας 8 52, η γλώσσα θα ήταν διαγνώσιμη κάτι που γνωρίζουμε ότι δεν ισχύει. (β) ΚΑΝΟΝΙΚΟTHΤΑ ΤΜ { Μ η Μ είναι μια μηχανή Turing και L(M) μια κανονική γλώσσα } Η γλώσσα αυτή δεν είναι διαγνώσιμη (για απόδειξη, δες Θεώρημα 5.3, βιβλίο Sipser, σελίδα 222). Επίσης μπορούμε να δείξουμε ότι η γλώσσα δεν είναι ούτε αναγνωρίσιμη ούτε συμπληρωματικά αναγνωρίσιμη μέσω αναγωγής από την γνωστή μη αναγνωρίσιμη γλώσσα. Για να αποδείξουμε ότι η γλώσσα ΙΣΟΔΥΝΑΜΙΑ ΤΜ δεν είναι ούτε αναγνωρίσιμη ούτε συμπληρωματικά αναγνωρίσιμη πρέπει να δείξουμε τα πιο κάτω. 1. Η μη αναγνωρισιμότητα της ΚΑΝΟΝΙΚΟΤΗΤΑ ΤΜ δείχνεται μέσω της αναγωγής Α ΤΜ. 2. Η μη αναγνωρισιμότητα της ΚΑΝΟΝΙΚΟΤΗΤΑ δείχνεται μέσω της αναγωγής Α ΤΜ Η δεύτερη αναγωγή δείχνεται στην απόδειξη του Θεωρήματος 5.3 στο βιβλίο. Η πρώτη αναγωγή μπορεί να δειχθεί με παρόμοιο τρόπο θεωρώντας όμως μια μη κανονική γλώσσα, π.χ. την 0 n 1 n 0 n. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2012 Σελίδα 8