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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

Transcript:

Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { a 2n b n c 3n 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 είναι η κατάσταση απόρριψης Y Y, Δ a a, Δ a a, Δ a a, Δ a a, A a a, A a a, A q 0 a X, Δ q acc X X, Δ a X, Δ b Y, Δ c Y, Δ c Y, Δ c Y, Α a a, Δ Υ Υ, Δ b b, Δ Υ Υ, Δ b b, A Y Y, A Ότι λείπει q rej Περιγραφή μηχανής: Στην πρώτη φάση, η μηχανή επιβεβαιώνει ότι η ταινία περιέχει 4 a και επιστρέφει στην αρχή. Με αυτό τον τρόπο γνωρίζουμε ότι σε περίπτωση που η λέξη στην ταινία έχει τη σωστή δομή, ικανοποιείται επίσης και η απαίτηση ότι n 2. Έτσι, στη δεύτερη φάση, εφόσον υπάρχουν a, η μηχανή διασχίζει την ταινία διαγράφοντας δύο a, ένα b και τρία c. Επιστρέφει στην αρχή της ταινίας και επαναλαμβάνει αυτή τη διαδικασία. Αν με αυτό τον τρόπο αδειάσει η ταινία τότε η μηχανή προχωρεί στην κατάσταση αποδοχής. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2013 Σελίδα 1

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

υπογραμμίζει (για να γνωρίζει το σημείο μέχρι το οποίο θα πρέπει να προχωρήσει στην επόμενη επανάληψη) και επιστρέφει στην αρχή της ταινίας. Εκεί γράφει το στοιχείο της τελευταίας θέσης, το οποίο και υπογραμμίζει, και επαναλαμβάνει τα πιο πάνω βήματα για την αντιστροφή των επόμενων θέσεων. Σημειώνεται ότι τα σημεία της επόμενης ανταλλαγής είναι τα γειτονικά στοιχεία των υπογραμμισμένων θέσεων ενώ, κατά την υλοποίηση της ανταλλαγής, τα υπογραμμισμένα στοιχεία επαναφέρονται σε μη υπογραμμισμένη μορφή και τα στοιχεία τα οποία ανταλλάσσονται υπογραμμίζονται έτσι ώστε να θέσουν τα άκρα της υποσυμβολοσειράς η οποία δεν έχει μέχρι στιγμής αντιστραφεί. Άσκηση 2 Θεωρείστε τη γλώσσα { w w {a, b} *, w = w R }. Να παρουσιάσετε λεπτομερείς περιγραφές (i) μιας απλής μηχανή Turing και (ii) μιας μηχανής Turing με 2 ταινίες που να διαγιγνώσκουν τη γλώσσα και να συγκρίνετε τις δύο μηχανές ως προς τη χρονική τους πολυπλοκότητα. (i) Ακολουθεί η περιγραφή της απλής μηχανής. 1. Διάβασε και υπογράμμισε το επόμενο σύμβολο. 2. Προχώρα μέχρι να βρεις είτε το τέλος της ταινίας ή το τελευταίο μη υπογραμμισμένο σύμβολο. 3. Αν υπάρχει μόνο ένα ή κανένα μη υπογραμμισμένο σύμβολο τότε αποδέξου τη λέξη. 4. Διαφορετικά, αν το σύμβολο που διαβάστηκε στο βήμα 2 είναι το ίδιο με αυτό που διαβάστηκε στο βήμα 1 τότε υπογράμμισε το σύμβολο που διαβάστηκε στο βήμα 2. Διαφορετικά απόρριψε. 5. Επέστρεψε στη θέση που υπογράμμισες στο βήμα 1 και επανάλαβε από το βήμα 1. Ο χρόνος εκτέλεσης της μηχανής είναι της τάξης Ο(n 2 ) όπου n το μήκος της λέξης. (ii) Ακολουθεί η περιγραφή της μηχανής με δύο ταινίες. 1. Αντίγραψε τα στοιχεία της πρώτης ταινίας στη δεύτερη ταινία. 2. Μετακίνησε την κεφαλή της πρώτης ταινίας στην πρώτη θέση και της δεύτερης ταινίας στην τελευταία θέση. 3. Σύγκρινε τα στοιχεία που δείχνονται από τις δύο κεφαλές. Αν είναι όμοια τότε υπογράμμισέ τα και μετακινήσου μια θέση δεξιά στην πρώτη ταινία και μια θέση αριστερά στη δεύτερη ταινίας. Διαφορετικά απόρριψε τη λέξη. 4. Εφόσον δεν έχει φτάσει στο τέλος της λέξης τη πρώτης ταινίας επανάλαβε το βήμα 3. 5. Αν η λέξη έχει τελειώσει τότε αποδέξου τη λέξη. Ο χρόνος εκτέλεσης της μηχανής είναι της τάξης Ο(n) όπου n το μήκος της λέξης. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2013 Σελίδα 3

Άσκηση 3 Μια μηχανή Turing με δύο κεφαλές, 2HTM, είναι μια επτάδα Μ = (Q, Σ, Γ, δ, q 0, q acc, q rej ) η οποία ορίζεται με παρόμοιο τρόπο με μια συνήθη ΤΜ με τη διαφορά ότι αντί μίας έχει δύο κεφαλές και οι κινήσεις της εξαρτώνται από τα σύμβολα που δείχνονται από κάθε μια από τις κεφαλές αυτές. Συγκεκριμένα, η συνάρτηση μεταβάσεων δ ορίζεται ως δ:q Σ 2 Q Σ 2 {Α,Δ} 2, όπου το δ(q, x, y) = (q, x, y, K 1, K 2 ) ερμηνεύεται ως: αν η μηχανή βρίσκεται στην κατάσταση q, η πρώτη κεφαλή διαβάζει το σύμβολο x και η δεύτερη κεφαλή διαβάζει το σύμβολο y, τότε η μηχανή θα μεταβεί στην κατάσταση q θα γράψει x στην θέση της πρώτης κεφαλής, y στη θέση της δεύτερης κεφαλής ενώ οι δύο κεφαλές θα κινηθούν στις κατευθύνσεις K 1 και K 2, αντίστοιχα (Κ 1, Κ 2 {Α,Δ}). Θεωρείστε ότι στην αρχική κατάσταση μας 2ΗΤΜ και οι δύο κεφαλές δείχνουν στην πρώτη θέση της ταινίας. (α) Να δείξετε ότι αυτή η παραλλαγή των ΤΜ είναι ισοδύναμη με την αυθεντική ΤΜ. (β) Να προτείνετε παράδειγμα γλώσσας η οποία να διαγιγνώσκεται πιο αποδοτικά από μια 2ΗΤΜ από ότι από μια απλή μηχανή Turing. Είναι εύκολο να δούμε ότι κάθε αυθεντική μηχανή Turing μπορεί να τύχει προσομοίωσης από μια μηχανή Turing με δύο κεφαλές απλά η ισοδύναμη μηχανή δεν θα χρησιμοποιεί τη δεύτερή της κεφαλή. Για την αντίθετη κατεύθυνση, ας υποθέσουμε ότι Μ είναι μια μηχανή Turing με δύο κεφαλές. Θα δείξουμε ότι η λειτουργία της Μ μπορεί να τύχει προσομοίωσης από μια αυθεντική μηχανή Turing Μ. Κατ αρχή θα πρέπει να επινοήσουμε μια μέθοδο μέσω της οποίας να αρχικοποιείται η ταινία της μηχανής Μ. Αυτό μπορεί να επιτευχθεί ως εξής: Αν η αρχική φάση της ταινίας της Μ έχει τη μορφή (όπου Κ 1 και Κ 2 οι δύο κεφαλές) Κ 1 aabaκ 2 abb τότε ξεκινούμε τη μηχανή Μ στη φάση Κ#a 1 abaa 2 bb (όπου Κ η κεφαλή της Μ ). Με άλλα λόγια χρησιμοποιούμε τους υπερδείκτες 1 και 2 για να σημειώσουμε τις θέσεις των δύο κεφαλών. Αν σε κάποια στιγμή οι δύο κεφαλές δείχνουν στην ίδια θέση τότε το στοιχείο που βρίσκεται σε αυτή τη θέση θα φέρει και τους δύο υπερδείκτες, π.χ. Κ#aab 12 aabb Στη συνέχεια πρέπει να ορίσουμε πως κάθε δυνατή μετάβαση της ΤΜ Μ μπορεί να προσομοιωθεί από την ΤΜ Μ. Συγκεκριμένα, ας υποθέσουμε ότι βρισκόμαστε στην κατάσταση q από όπου στην ΤΜ Μ υπάρχει η μετάβαση δ(q, x, y) = (q, x, y, K 1, K 2 ). Τότε στην καινούρια μηχανή θα εκτελέσουμε την πιο κάτω συμπεριφορά. 1. Εντόπισε την πρώτη κεφαλή. Αν εκεί υπάρχει το στοιχείο x τότε προχώρησε στο επόμενο βήμα, διαφορετικά δοκίμασε να εφαρμόσεις κάποια άλλη μετάβαση που αναφέρεται στην κατάσταση q. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2013 Σελίδα 4

2. Εντόπισε τη δεύτερη κεφαλή (αν χρειαστεί, μετακινήσου στην αρχή της ταινίας και ξεκίνα από εκεί το ψάξιμο). Αν εκεί υπάρχει το στοιχείο y τότε μετάτρεψέ το σε y και μετακίνησε την κεφαλή στην κατεύθυνση Κ 2. Επέστρεψε στην αρχή της ταινίας και εντόπισε την πρώτη κεφαλή, αντικατάστησε το στοιχείο της με το στοιχείο x και μετακίνησε την κεφαλή στην κατεύθυνση Κ 1. 3. Μετακίνησε την ΤΜ Μ στην κατάσταση q. (β) Ένα πρόβλημα που μπορεί να διαγνωστεί ευκολότερα σε μια 2ΤΜ από μια αυθεντική ΤΜ είναι το πρόβλημα στο οποίο με δεδομένο εισόδου w στην ταινίας μιας ΤΜ επιθυμούμε να γράψουμε στην ταινία τη λέξη ww (αφού μετακινήσουμε τη δεύτερη κεφαλή στην πρώτη κενή θέση της ταινίας και έχοντας σημειώσει το τέλος της λέξης w, αντιγράφουμε ένα προς ένα τα σύμβολα της w). Άσκηση 4 Δώστε αφ υψηλού περιγραφές μηχανών Turing που να διαγιγνώσκουν τις ακόλουθες γλώσσες. Σε περίπτωση που θα χρησιμοποιήσετε μηχανές από τις διαλέξεις να τις περιγράψετε. (α) { R η R είναι μια κανονική έκφραση που δεν παράγει καμιά λέξη με άρτιο πλήθος από 1 } Η πιο κάτω ΤΜ αναγνωρίζει τη γλώσσα { R η R είναι μια κανονική έκφραση που δεν παράγει καμιά λέξη με άρτιο πλήθος από 1 } S = Για είσοδο R, όπου η R είναι μια κανονική έκφραση: 1. Μετατρέπουμε την R σε ένα ισοδύναμο NFA Α. 2. Μετατρέπουμε την κανονική έκφραση (0 * 10 * 1) * 0 * (οι λέξεις με άρτιο πλήθος από 1) σε ένα ισοδύναμο NFA B. 3. Μετατρέπουμε τα Α και Β σε ισοδύναμα DFA C και D. 4. Υπολογίζουμε το DFA Ε το οποίο αναγνωρίζει την τομή των C και D. 5. Εφαρμόζουμε την ΤΜ Τ, διαφάνεια 8 10 (ΚΕΝΟΤΗΤΑ DFA ), με δεδομένο το DFA Ε. Αν η μηχανή αποδεχτεί αποδεχόμαστε, διαφορετικά απορρίπτουμε. (β) { P το P είναι ένα PDA για το οποίο ισχύει ότι η γλώσσα L(P) είναι άπειρη } S = Για είσοδο P, όπου P μια PDA: 1. Μετατρέπουμε το Ρ σε μια ισοδύναμη γραμματική G. 2. Μετατρέπουμε τη G σε κανονική μορφή Chomsky. 3. Σημαδεύουμε την εναρκτήρια μεταβλητή της G. 4. Όσο υπάρχουν σημαδεμένες μεταβλητές που δεν έχουμε μελετήσει: Επιλέγουμε μια από τις σημαδεμένες μεταβλητές, έστω Ε, που δεν έχουμε μελετήσει. Υπολογίζουμε το σύνολο όλων των μεταβλητών U, V για τις οποίες υπάρχει κανόνας της μορφής Ε UV. Αν μια από τις μεταβλητές αυτές είναι ήδη σημαδεμένη τότε απορρίπτουμε. Διαφορετικά, Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2013 Σελίδα 5

σημαδεύουμε τις μεταβλητές του συνόλου και επαναλαμβάνουμε το βήμα 4. 5. Αν έχουμε μελετήσει όλες τις σημαδεμένες μεταβλητές τότε αποδεχόμαστε. (γ) { G,x η G είναι μια ασυμφραστική γραμματική που παράγει κάποια λέξη w η οποία περιέχει τη λέξη x ως υπολέξη της } S = Για είσοδο G,x, όπου η G είναι μια ασυμφραστική γραμματική και η x μια λέξη: 1. Μετατρέπουμε τη G σε ένα ισοδύναμο PDA έστω P. 2. Δημιουργούμε ένα DFA, A, το οποίο παράγει όλες τις λέξεις που περιέχουν την x ως υπολέξη τους. 3. Δημιουργούμε ένα PDA, έστω Β το οποίο αποδέχεται τη γλώσσα L(P) L(A). Έστω Ρ =, Σ, Γ, δ,, και Α =, Σ, δ,,, το Β=, Σ, Γ, δ,, ορίζεται ως εξής: i. Καταστάσεις του Β, Q, είναι οι καταστάσεις (x,y) όπου x Q 1 και y Q 2. ii. q 0 = (q 1,q 2 ) iii. Τελικές καταστάσεις του Β, F, είναι οι καταστάσεις (x,y) όπου η x είναι τελική κατάσταση του P και η y τελική κατάσταση του Α. iv. Στο αυτόματο Β η μετάβαση ((x,y ),b ) δ((x,y),a,b) είναι εφικτή εφόσον η μετάβαση (x,b ) δ 1 (x,a,b) είναι εφικτή στο Β και η μετάβαση y = δ 2 (y,a) είναι εφικτή στο αυτόματο Α 4. Μετατρέπουμε το Β σε μια ισοδύναμη ασυμφραστική γραμματική, έστω H. 5. Εφαρμόζουμε την ΤΜ R, διαφάνεια 8 18 (ΚΕΝΟΤΗΤΑ CFG ), με δεδομένη τη γραμματική Η. Αν η R αποδεχτεί απορρίπτουμε, διαφορετικά αποδεχόμαστε. Άσκηση 5 Να αποδείξετε ότι η κλάση των διαγνώσιμων γλωσσών είναι κλειστή ως προς: (α) Την ένωση (β) Τη σώρευση Θεωρείστε επίσης την κλάση των αναγνωρίσιμων γλωσσών. Ως προς ποιες από τις πιο πάνω πράξεις ισχύει η κλειστότητα για τη συγκεκριμένη κλάση; (α) Έστω διαγνώσιμες γλώσσες L 1, L 2 και Μ 1, Μ 2 δύο μηχανές Turing που τις διαγιγνώσκουν, αντίστοιχα. Θέλουμε να δείξουμε ότι υπάρχει μηχανή Turing η οποία διαδιγνώσκει τη γλώσσα L 1 L 2. Κατασκευάζουμε την Μ ως εξής: Μ = Για είσοδο w 1. Τρέξε τη Μ 1 για είσοδο w. 2. Αν η Μ 1 αποδεχθεί αποδέξου. Διαφορετικά τρέξε την Μ 2 για είσοδο w. 3. Αν η Μ 2 αποδεχθεί τότε αποδέξου. Διαφορετικά απόρριψε. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2013 Σελίδα 6

Ορθότητα και τερματισμός: Όντας διαγνώστες, οι Μ 1 και Μ 2 θα τερματίσουν επομένως και η μηχανή Μ τερματίζει πάντα. Επιπλέον, η Μ αποδέχεται αν και μόνο αν τουλάχιστον μία από τις Μ 1 και Μ 2 αποδεχτούν. Εξ ορισμού οι δύο μηχανές θα αποδεχτούν την w αν και μόνο αν w L 1 (μηχανή Μ 1 ) και w L 2 (μηχανή Μ 1 ). Συνεπώς, η Μ θα αποδεχτεί την w αν και μόνο αν w L 1 L 2. (β) Έστω διαγνώσιμη γλώσσα L και Μ 1 μηχανή Turing που τη διαγιγνώσκει. Θέλουμε να δείξουμε ότι υπάρχει μηχανή Turing η οποία διαγιγνώσκει τη γλώσσα L *. Κατασκευάζουμε την Μ ως εξής: Μ = Για είσοδο w 1. Θέσε k=1. 2. Κατασκεύασε όλα τα δυνατά σπασίματα της λέξης w σε i υπολέξεις. 3. Για κάθε δυνατό σπάσιμο w = x 1 x 2 x k : a. Τρέξε την Μ στις υπολέξεις x 1, x 2,, x k. Αν Μ αποδεχθεί τότε αποδέξου Διαφορετικά επανάλαβε το βήμα για το επόμενο σπάσιμο. b. Αν εξαντληθούν όλα τα σπασίματα και k<n, όπου n το μήκος της λέξης w, θέσε k = k+1 και επανάλαβε από το βήμα 2. 4. Αν k = n απόρριψε τη λέξη. Ορθότητα και τερματισμός: Όντας η Μ διαγνώστης, κάθε κλήση της θα τερματίσει. Επιπλέον, από τη στιγμή που τα δυνατά σπασίματα της λέξης w είναι πεπερασμένα σε πλήθος, η μηχανή Μ τερματίζει πάντα. Επιπλέον, η Μ αποδέχεται αν εντοπιστούν υπολέξεις x 1, x 2,, x k τέτοιες ώστε w = x 1 x 2 x k, και η Μ αποδέχεται κάθε μία από τις x 1, x 2,, x k. Εξ ορισμού η Μ θα αποδεχτεί τις υπολέξεις εφόσον ανήκουν στην L. Συνεπώς, η Μ θα αποδεχτεί την w εάν αυτή αποτελεί τη σώρευση λέξεων της L. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2013 Σελίδα 7