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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία, με δεδομένο εισόδου μια λέξη της μορφής a k bw, w {a,b}*, να εισάγει τον ειδικό χαρακτήρα # μετά από k χαρακτήρες της λέξης w και στη συνέχεια να διαγράφει το πρόθημα a k b. Δηλαδή, με είσοδο μια λέξη της μορφής a k bw 1 w n στο τέλος της εκτέλεσης της μηχανής να παραμείνει στην ταινία η λέξη w 1 w k#w k+1 w n. Για παράδειγμα, με δεδομένο εισόδου τη λέξη aaabbaaaaabba στο τέλος της εκτέλεσης της μηχανής να παραμείνει στην ταινία η λέξη baa#aaabba. Σημειώστε ότι αν η λέξη εισόδου δεν έχει τη μορφή a k bw, ή η λέξη w έχει μήκος μικρότερο από k, τότε η μηχανή σας θα πρέπει να απορρίπτει. Και στις δύο πιο πάνω περιπτώσεις να παρουσιάσετε το αλφάβητο εισόδου και το αλφάβητο ταινίας της μηχανής σας, καθώς και το σύστημα μεταβάσεών της, γραφικά, και να εξηγήσετε σύντομα τη λειτουργία της. (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q, Σ, Γ, δ,,, όπου 1. Το σύνολο καταστάσεων Q αποτελείται από τις καταστάσεις που εμφανίζονται στο πιο κάτω σχήμα 2. Το αλφάβητο εισόδου Σ είναι το {a,b} 3. Το αλφάβητο ταινίας Γ είναι το Σ {B, a, b, a, b, } 4. Η συνάρτηση μετάβασης δ είναι όπως απεικονίζεται στο πιο κάτω σχήμα 5. q o = 0 Q είναι η εναρκτήρια κατάσταση 6. q acc Q είναι η κατάσταση αποδοχής 7. q rej Q είναι η κατάσταση απόρριψης Περιγραφή μηχανής: 1. Κατ αρχάς, αν η λέξη είναι κενή, η μηχανή αποδέχεται τη λέξη. 2. Στη συνέχεια, σε πρώτη φάση, η μηχανή διαβάζει τη συμβολοσειρά abab και τη διαγράφει/σημειώνει υπογραμμίζοντας τα σχετικά σύμβολα). 3. Στη συνέχεια προχωρεί δεξιά προσπερνώντας τα επόμενα ab και στο πρώτο b που ακολουθεί (και δεν είναι διαγραμμένο) το διαγράφει μετατρέποντάς το σε Β. Επιστρέφει αριστερά μέχρι να συναντήσει το πρώτο b κατά την κίνησή της (δηλαδή, το τελευταίο b διαβάζοντας τη λέξη από αριστερά προς δεξιά) και επαναλαμβάνει το Βήμα 2. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2019 Σελίδα 1

2 4. Αν τα ab έχουν εξαντληθεί, τότε η μηχανή προχωρεί στη δεύτερη φάση της λειτουργίας της, κατά την οποία στόχος της είναι να διαγράψει όσα ba στο τρίτο σκέλος της λέξης όσα και τα b στο μεσαίο σκέλος της λέξης. 5. Κινείται στο πρώτο Β και το μετατρέπει σε b. Προσπερνά τα Β και a, b, που ακολουθούν, μέχρι να βρει μια ακολουθία ba την οποία και διαγράφει μετατρέποντάς την σε b a. Επιστρέφει πίσω στο πρώτο (από αριστερά) Β και επαναλαμβάνει το βήμα. 6. Αν τα Β εξαντληθούν ελέγχει το υπόλοιπο της ταινίας. Αν αυτό περιέχει μόνο a και b τότε η μηχανή αποδέχεται. Διαφορετικά απορρίπτει. b Δ a Δ 5 b Δ B A b A a A 0 a a, Δ b b, Δ a a, Δ b b, Δ b B, A 7 Δ 6 B b, Δ B Δ qacc B Δ b Δ a Δ 8 b b, Δ a a, A b Δ B A b A a A b Δ a Δ Δ Ότι λείπει q rej (β) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q, Σ, Γ, δ,,, όπου 1. Το σύνολο καταστάσεων Q αποτελείται από τις καταστάσεις που εμφανίζονται στο πιο κάτω σχήμα 2. Το αλφάβητο εισόδου Σ είναι το {1} 3. Το αλφάβητο ταινίας Γ είναι το Σ {a,x, } 4. Η συνάρτηση μετάβασης δ είναι όπως απεικονίζεται στο πιο κάτω σχήμα 5. q o = 0 Q είναι η εναρκτήρια κατάσταση 6. q acc Q είναι η κατάσταση αποδοχής 7. q rej Q είναι η κατάσταση απόρριψης Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2019 Σελίδα 2

3 a a, Δ 0 a a, Δ a Δ x Δ 1 b Δ 2 x A b b, Α 3 4 a A a A #, Δ b b, Α 5 6 a b, Δ x A x a, Δ x A a Δ b Δ Δ x Δ 7 8 qacc x Δ a,b Δ A 13 9 #,a,b Δ 10 #,a,b Δ x A x b, Δ Ότι λείπει x, A Περιγραφή μηχανής: 1. Ξεκινώντας η μηχανή υπογραμμίζει το πρώτο a, αν υπάρχει. Εντοπίζει το πρώτο σύμβολο μετά από την υποσυμβολοσειρά a k b, και αφού γράψει στη θέση του x, το αντιγράφει στην πρώτη θέση. 2. Επιστρέφει στην αρχή της ταινίας και, αν υπάρχει επόμενο a το οποίο δεν έχει τύχει της συγκεκριμένης επεξεργασίας, εντοπίζει το επόμενο σύμβολο (που βρίσκεται μετά από τα x που έχουν καταγραφεί σε προηγούμενα βήματα) και το μεταφέρει στο αρχικό τμήμα της ταινίας. 3. Όταν εξαντληθούν τα αρχικά a, η ταινία θα περιέχει τη λέξη w 1 w kbx k w k+1 w n. Επομένως, η κεφαλή μεταφέρεται πριν από την ομάδα από τα x και μετατρέπει το b σε #. 4. Στη συνέχεια, η μηχανή εντοπίζει το πρώτο σύμβολο μετά από τα x, και αφού γράψει στη θέση του x, το αντιγράφει στη θέση του πρώτου x. 5. Επαναλαμβάνει το Βήμα 4, μέχρι να εξαντληθούν τα σύμβολα μετά από τα x. q rej Άσκηση 2 Να παρουσιάσετε λεπτομερείς περιγραφές (i) μιας απλής μηχανής Turing και (ii) μιας πολυταινιακής μηχανής Turing οι οποίες να διαγιγνώσκουν τη γλώσσα { www w {0,1}* } Να συγκρίνετε τις δύο μηχανές ως προς τη χρονική τους πολυπλοκότητα. [ Υπόδειξη: Εκτός από την ταινία στην οποία θα είναι αποθηκευμένη η είσοδος, χρησιμοποιήστε ακόμα τρεις ταινίες για διαχωρισμό της λέξης εισόδου σε τρία ίσα τμήματα (ή να προσδιορίζει ότι αυτό δεν είναι δυνατό). ] Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2019 Σελίδα 3

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

5 τοποθετεί στη δεύτερη ταινία. Τέλος τα τελευταία n/3 στοιχεία τα τοποθετεί στην τρίτη ταινία. 3_Tape = Με δεδομένο εισόδου μια λέξη x: 1. Αν η x είναι κενή τότε αποδέξου. Αν περιέχει 1 ή 2 στοιχεία, τότε απόρριψε. 2. Διαφορετικά, διάσχισε την ταινία και αντίγραψε από κάθε τριάδα στοιχείων της λέξης το δεύτερο στοιχείο στη δεύτερη ταινία και το τρίτο στοιχείο στην τρίτη ταινία. Αν περισσέψει κάποιο στοιχείο τότε απόρριψε τη λέξη. 3. Επίστρεψε στην αρχή των τριών ταινιών. 4. Διάσχισε την πρώτη ταινία και: a. Προσπέρασε τόσα στοιχεία της πρώτης ταινίας όσα και τα στοιχεία της δεύτερης ταινίας. Επίστρεψε στην αρχή της δεύτερης ταινίας. b. Αντίγραψε στη δεύτερη ταινία τόσα στοιχεία της πρώτης ταινίας όσα και τα στοιχεία της τρίτης ταινίας. c. Αντίγραψε στην τρίτη ταινία τα εναπομείναντα στοιχεία της πρώτης ταινίας. Επίστρεψε στην αρχή και των τριών ταινιών. 5. Ξεκίνα μια διάσχιση των ταινιών συγκρίνοντας τα αντίστοιχα στοιχεία τους όπου a. Αν τα στοιχεία των τριών ταινιών συμπίπτουν, τότε προχώρα στο επόμενο στοιχείο, διαφορετικά, απόρριψε. b. Όταν τα στοιχεία της δεύτερης και της τρίτης ταινίας εξαντληθούν, αποδέξου την είσοδο. Η ΤΜ 3_Tape θα χρειαστεί Ο(n) χρόνο για κάθε ένα από τα Βήματα 1 5, επομένως, η χρονική πολυπλοκότητας της 3_Tape ανήκει στην τάξη Ο(n 2 ). Άσκηση 3 Δώστε αφ υψηλού περιγραφές μηχανών Turing που να διαγιγνώσκουν τις ακόλουθες γλώσσες. Σε περίπτωση που θα χρησιμοποιήσετε μηχανές από τις διαλέξεις να τις περιγράψετε. (α) { Μ,k το Μ είναι μια μηχανή Turing επί του αλφάβητου {0,1} η οποία αποδέχεται κάποια λέξη μέσα στις k πρώτες κινήσεις της } H διάγνωση του προβλήματος βασίζεται στην εξής ιδέα: Για να αποφασίσουμε κατά πόσο η μηχανή Μ μπορεί να αποδεχθεί μια λέξη μέσα στις k πρώτες κινήσεις της, μπορούμε να τρέξουμε την Μ σε όλες τις λέξεις και μόλις βρούμε την πρώτη λέξη για την οποία η μηχανή αποδέχεται σε k το πολύ κινήσεις να τερματίσουμε και να αποδεχτούμε. Το πρόβλημα με αυτή την προσέγγιση είναι ότι το σύνολο των δυνατών λέξεων δυνατόν να είναι μη πεπερασμένο. Από τη στιγμή όμως που μας ενδιαφέρουν μόνο οι k πρώτες κινήσεις είναι αρκετό να δοκιμάσουμε τις λέξεις που έχουν k το πολύ σύμβολα. Το πλήθος αυτών των λέξεων είναι x k όπου x το μέγεθος του αλφάβητου της μηχανής μας. Η ζητούμενη μηχανή έχει ως εξής: G = Για είσοδο M όπου το M είναι μια ΤΜ με αλφάβητο Σ: 1. Δημιουργούμε το σύνολο Α όλων των λέξεων του αλφάβητου Σ που έχουν μήκος το πολύ k. 2. Για κάθε λέξη w Α i. Εκτέλεσε την w στην Μ μετρώντας τα βήματα που εκτελούνται. ii. Αν στα πρώτα k βήματα η μηχανή αποδεχθεί τότε αποδέξου. iii. Διαφορετικά προχώρησε στην επόμενη λέξη. 3. Αν εξαντλήσουμε τις λέξεις του συνόλου Α τότε απορρίπτουμε. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2019 Σελίδα 5

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

7 Για την αντίθετη κατεύθυνση, ας υποθέσουμε ότι M είναι μια μηχανή Turing. Θα δείξουμε ότι η λειτουργία της M μπορεί να τύχει προσομοίωσης από μια 2 3ΤΜ, έστω Μ. M Μ a b, A a b, Δ - Α q 1 q 2 q 1 q 2 a b, Δ a b, Δ - Δ - Α q 1 q 2 q q 1 2 Επομένως, για προσομοίωση μετακίνησης μίας θέσης προς τα αριστερά, η 2 3ΤΜ θα εκτελέσει πρώτα μια κίνηση προς τα δεξιά (μετακίνηση δύο θέσεων δεξιά) και στη συνέχεια μια κίνηση προς τα αριστερά (μετακίνηση τριών θέσεων αριστερά). Παρατηρούμε ότι αν η κεφαλή της ταινίας βρίσκεται στην πρώτη θέση, τότε το αποτέλεσμα αυτής της προσομοίωσης θα είναι η κεφαλή να παραμείνει στην πρώτη θέση (που είναι και το ζητούμενο). Από την άλλη, για προσομοίωση μετακίνησης μίας θέσης προς τα δεξιά, η 2 3ΤΜ θα εκτελέσει πρώτα δύο κινήσεις προς τα δεξιά (μετακίνηση τεσσάρων θέσεων δεξιά) και στη συνέχεια μια κίνηση αριστερά (μετακίνηση τριών θέσεων αριστερά). (β) Παρατηρούμε ότι για να είναι ισοδύναμη μια k mtm με την αυθεντική μηχανή Turing, θα πρέπει να είναι δυνατόν να προσομοιώσουμε με μια ακολουθία κινήσεων της μηχανής αυτής τη μετακίνηση της αυθεντικής ΤΜ κατά μία θέση προς τα δεξιά και κατά μία θέση στα αριστερά. Θα πρέπει δηλαδή μια επανάληψη κάποιων α κινήσεων δεξιά και κάποιων β κινήσεων αριστερά να έχει ως αποτέλεσμα την μετακίνηση μίας θέσης δεξιά. Τυπικά, πρέπει να υπάρχουν ακέραιοι α και β τέτοιοι ώστε αk βm = 1 (κίνηση δεξιά) και αk βm = 1 (ή βm αk = 1 κίνηση αριστερά) Μπορούμε να αποδείξουμε ότι για ακέραιους k και m: Υπάρχουν α, β τέτοιοι ώστε αk + βm = 1 αν και μόνο αν οι k και m είναι σχετικά πρώτοι μεταξύ τους, δηλαδή, δεν έχουν κοινούς παράγοντες. Αυτό μας οδηγεί στο συμπέρασμα ότι μια k mtm είναι ισοδύναμη με μια αυθεντική ΤΜ αν και μόνο αν οι τιμές k και m είναι ακέραιοι αριθμοί σχετικά πρώτοι μεταξύ τους. Άσκηση 5 Θεωρήστε το αλφάβητο Σ και τρεις διαγνώσιμες γλώσσες L 1, L 2 και L 3 επί του αλφάβητου Σ. (α) Να αποδείξετε ότι η γλώσσα L 1 L 2 L 3 είναι επίσης μια διαγνώσιμη γλώσσα. (β) Ισχύει το ίδιο για την κλάση των αναγνωρίσιμων γλωσσών; Αιτιολογήστε την απάντησή σας. (α) Έστω διαγνώσιμες γλώσσες L 1, L 2 και L 3 επί του αλφάβητου Σ. Ας υποθέσουμε ότι Μ 1, Μ 2 και Μ 3 αποτελούν μηχανές Turing που τις διαγιγνώσκουν. Για να δείξουμε ότι η Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2019 Σελίδα 7

8 γλώσσα L 1 L 2 L 3 είναι επίσης μια διαγνώσιμη γλώσσα πρέπει να κατασκευάσουμε μια μηχανή Turing Μ που τη διαγιγνώσκει. Ακολουθεί μια τέτοια μηχανή: Μ = Για λέξη w: 1. Τρέξε τη λέξη w στη μηχανή Μ 3. Αν αυτή απορρίψει προχώρησε στο Βήμα 2. Διαφορετικά, απόρριψε. 2. Δημιούργησε όλα τα δυνατά σπασίματα της w σε δύο υπολέξεις uv, τέτοιες ώστε w = uv. 3. Για κάθε σπάσιμο w = uv. a. Τρέξε τη λέξη u στη μηχανή Μ 1. Αν αυτή απορρίψει προχώρησε στο επόμενο σπάσιμο. Διαφορετικά... b. Τρέξε τη λέξη v στην μηχανή Μ 2. Αν αυτή απορρίψει προχώρησε στο επόμενο σπάσιμο. Διαφορετικά, αποδέξου 4. Αν τα σπασίματα εξαντληθούν τότε απόρριψε τη λέξη. Ορθότητα/Τερματισμός: Μια λέξη w ανήκει στη γλώσσα L 1L 2 L 3 αν (i) αποτελεί τη συναρμογή δύο λέξεων που ανήκουν στις γλώσσες L 1 και L 2 και (ii) η λέξη w δεν ανήκει στη γλώσσα L 3. Η πιο πάνω μηχανή ελέγχει το (i) στο Βήμα 3 τρέχοντας τις μηχανές M 1 και M 2, και το (ii) στο Βήμα 1 τρέχοντας τη μηχανή M 3. Αποδεχεται ακριβώς τις λέξεις που περνούν τους δύο αυτούς ελέγχους. Αφού οι M 1, M 2 και M 3 αποτελούν διαγνώστες, και η μηχανή Μ που ορίσαμε αποτελεί διαγνώστη. (β) Ισχύει το ίδιο για την κλάση των αναγνωρίσιμων γλωσσών; Αιτιολογήστε την απάντησή σας. Αναφορικά με το δεύτερο ερώτημα, μπορούμε να δείξουμε το αποτέλεσμα και στα πλαίσια των αναγνωρίσιμων γλωσσών. Η μηχανή όμως που ορίσαμε πιο πάνω δεν είναι κατάλληλη για τον στόχο αυτό διότι από τη στιγμή που οι L 1, L 2 και L 3 είναι αναγνωρίσιμες γλώσσες η ΤΜ Μ είναι δυνατόν να εγκλωβιστεί σε μια από τις λέξεις που τρέχουν οι μηχανές Μ 1, Μ 2 και Μ 3 στο Βήμα 3, γεγονός που δυνατόν να μας αποτρέψει από το να εντοπίσουμε το κατάλληλο σπάσιμο της w ως συναρμογή λέξεων των γλωσσών L 1 και L 2 και επομένως να μας αποτρέψει από το να αναγνωρίσουμε ότι μια λέξη w ανήκει στο L 1L 2 L 3. Για να αποφύγουμε το πρόβλημα θα πρέπει η ζητούμενη μηχανή να λειτουργήσει μη ντετερμινιστικα ως εξής: Ν = Για λέξη w: 1. Τρέξε τη λέξη w στη μηχανή Μ 3. Αν αυτή απορρίψει προχώρησε στο Βήμα 2. Διαφορετικά, απόρριψε. 2. Επίλεξε μη ντετερμινιστικά κάποιο σπάσιμο της w σε δύο υπολέξεις uv, τέτοιες ώστε w = uv. a. Τρέξε τη λέξη u στη μηχανή Μ 1. Αν αυτή απορρίψει τότε απόρριψε. Διαφορετικά... b. Τρέξε τη λέξη v στην μηχανή Μ 2. Αν αυτή αποδεχθεί αποδέξου διαφορετικά απόρριψε. Παρατηρούμε ότι αν η λέξη w ανήκει στο σύνολο L 1L 2 L 3 τότε η μηχανή Ν θα αποδεχθεί και επομένως αναγνωρίζει τη γλώσσα. Λύσεις Σειράς Προβλημάτων 4 Εαρινό Εξάμηνο 2019 Σελίδα 8

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {1010 2 10 3 10 n 1 10 n 1 n 1}. (β) Να διατυπώσετε

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { n 3 } (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q,

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w#z w, z {a,b}* και η z είναι υπολέξη της w}. Συγκεκριμένα,

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { a 2n b n c 3n n 2 } : H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει την ακόλουθη γλώσσα. { a n b n+2 c n 2 n 2 } Λύση: H ζητούμενη μηχανή Turing μπορεί να

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { ww rev w {a, b} * και w αποτελεί καρκινική λέξη } (α) H ζητούμενη μηχανή

Διαβάστε περισσότερα

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

Φροντιστήριο 8 Λύσεις Άσκηση 1 Φροντιστήριο 8 Λύσεις Θεωρήστε την πιο κάτω Μηχανή Turing όπου όλες οι μεταβάσεις που απουσιάζουν οδηγούν στην κατάσταση απόρριψης (q απόρριψης). Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία

Διαβάστε περισσότερα

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

Φροντιστήριο 8 Λύσεις Άσκηση 1 Θεωρήστε την πιο κάτω Μηχανή Turing. Φροντιστήριο 8 Λύσεις Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία των φάσεων τις οποίες διατρέχει η μηχανή όταν δέχεται τη διδόμενη λέξη. (α) 11 (β) 1#1

Διαβάστε περισσότερα

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

Φροντιστήριο 9 Λύσεις Άσκηση 1 Φροντιστήριο 9 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {a,b} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

Διαβάστε περισσότερα

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

Φροντιστήριο 10 Λύσεις Άσκηση 1 Φροντιστήριο 10 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {0,1} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { D το D είναι ένα DFA το οποίο αποδέχεται όλες τις λέξεις στο Σ * } (α) Για να διαγνώσουμε το πρόβλημα μπορούμε

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Πιο κάτω υπάρχει ένα σχεδιάγραμμα που τοποθετεί τις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών μέσα στο σύνολο όλων των γλωσσών. Ακολουθούν

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { R η R είναι μια κανονική έκφραση η οποία παράγει μια μη πεπερασμένη γλώσσα} (β) { G η G είναι μια CFG η οποία

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G 1, G 2 οι G 1 και G 2 είναι δύο CFG που παράγουν μια κοινή λέξη μήκους 144 } (β) { D,k το D είναι ένα DFA

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

Διαβάστε περισσότερα

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

Ασκήσεις από παλιές εξετάσεις Άσκηση 2 - Τελική εξέταση 2012 Ασκήσεις από παλιές εξετάσεις (α) [10 μονάδες] Να μετατρέψετε το πιο κάτω NFA σε ένα ισοδύναμο DFA χρησιμοποιώντας την κατασκευή που μελετήσαμε στο μάθημα. a a q 0 a, ε q

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις Σειρά Προβλημάτων Λύσεις Άσκηση Ορίζουμε τη συναρμογή δύο γλωσσών Α και Β ως ΑΒ = { uv u A, v B }. (α) Έστω Α = {α,β,γ} και Β =. Να περιγράψετε τη γλώσσα ΑΒ. (β) Θεωρήστε τις γλώσσες L, M και N. Να δείξετε

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) {0 n 1 n n > 0} {0 n 1 2n n > 0} (β) {w {a,b} * η w ξεκινά και τελειώνει με το ίδιο σύμβολο

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G,k η G είναι μια ασυμφραστική γραμματική η οποία παράγει κάποια λέξη 1 n όπου n k } (β) { Μ,k η Μ είναι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαγνώσιμες Γλώσσες (4.1) Επιλύσιμα Προβλήματα σχετικά με Κανονικές Γλώσσες Επιλύσιμα Προβλήματα

Διαβάστε περισσότερα

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

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1 Ασκήσεις Επανάληψης Άσκηση 1 (Τελική Εξέταση 5/015) Να δείξετε ότι η πιο κάτω γλώσσα δεν είναι διαγνώσιμη. { Μ L(M) {ΘΕΩΡΙΑ, ΥΠΟΛΟΓΙΣΜΟΥ} και L(M) 3} (Για την αναγωγή μπορείτε να χρησιμοποιήσετε τη γνωστή

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μηχανές Turing (3.1) Τυπικό Ορισμός Παραδείγματα Παραλλαγές Μηχανών Turing (3.2) Πολυταινιακές

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα) ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα) Τι θα κάνουμε σήμερα Εισαγωγή Επιλύσιμα Προβλήματα σχετικά με τις Κανονικές Γλώσσες (4.1.1) Επιλύσιμα Προβλήματα

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a m b n c p m,n,p 0 και είτε m + n = p είτε m = n + p } (β) { xx rev yy rev x, y {a,b}

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 12: Μηχανές Turing Τι θα κάνουμε σήμερα Εισαγωγή στις Μηχανές Turing (TM) Τυπικός Ορισμός Μηχανής Turing (3.1.1) 1 Τι είδαμε μέχρι στιγμής Πεπερασμένα

Διαβάστε περισσότερα

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

Φροντιστήριο 11 Λύσεις Άσκηση 1 Φροντιστήριο 11 Λύσεις Να αποδείξετε ότι η κλάση Ρ είναι κλειστή ως προς τις πράξεις της ένωσης, της συναρμογής και του συμπληρώματος. Θα πρέπει να δείξουμε ότι: (α) Ένωση: Αν οι Λ 1 και Λ 2 είναι

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { xyxy rev x {a, b}, y {a, b} * } (α) Μια γραμματική για τη γλώσσα έχει ως εξής: S as a

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { x x η τιμή της αριθμητικής έκφρασης 10 2n + 10 n + 1, n 1} (β) { a i b j c k d m i, j,

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ Τι θα κάνουμε σήμερα Επιλύσιμα Προβλήματα σχετικά με Ασυμφραστικές Γλώσσες (4.1.2) Το Πρόβλημα του Τερματισμού

Διαβάστε περισσότερα

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

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές Turing Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Παραδείγµατα Μηχανών Turing Παραλλαγές: Πολυταινιακές, Μη ντετερµινιστικές

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a i b j c k d m i, j, k, m 0 και i + j = k + m } (β) { uxvx rev u,v,x {0,1,2} + και όλα

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a k b m c n k < m ή m > 2n, όπου k,m,n 0 } Μια γραμματική για τη γλώσσα έχει ως εξής:

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Παρασκευή, 17 Μαρτίου 2017 Διάρκεια : 9.00 10.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6 Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { w {(, )} * οι παρενθέσεις στην w είναι ισοζυγισμένες } (β) { a k b m c 2m a k k > 0,

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις Σειρά Προβλημάτων Λύσεις Άσκηση Έστω αλφάβητο Σ και γλώσσες Λ, Λ επί του αλφάβητου αυτού. Να διερευνήσετε κατά πόσο ισχύει κάθε μια από τις πιο κάτω σχέσεις. Σε περίπτωση που μια σχέση ισχύει να το αποδείξετε,

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Έστω αλφάβητο Σ και γλώσσες Λ, Λ 2, Λ επί του αλφάβητου αυτού. Να διερευνήσετε κατά πόσο ισχύει κάθε μια από τις πιο κάτω σχέσεις.

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { xyw 1w 2 x, y {a, b}, w 1 = a n, w 2 = b 2n, όπου, αν x=y=a, τότε n = 2k, διαφορετικά

Διαβάστε περισσότερα

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

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Φεβρουάριος 2017 Διδάσκων: Στάθης Ζάχος ( CoReLab

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις Σειρά Προβλημάτων 1 Λύσεις Άσκηση 1 Έστω αλφάβητο Σ και γλώσσες Λ 1, Λ 2 επί του αλφάβητου αυτού. Να διερευνήσετε κατά πόσο ισχύει κάθε μια από τις πιο κάτω σχέσεις. Σε περίπτωση που μια σχέση ισχύει να

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Σάββατο, 15 Μαρτίου 2014 Διάρκεια : 9.30 11.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσ.h.m.μ.y. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές Στάθης Ζάχος Συνεργασία: Κωστής Σαγώνας Επιμέλεια:

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

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

Φροντιστήριο 2 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Άσκηση Φροντιστήριο 2 Λύσεις Ποια από τα πιο κάτω αυτόματα αποτελούν DFA επί του αλφάβητου {,}. Αιτιολογήστε τις απαντήσεις σας. (i) (ii) (iii) (iv) (v), (vi),

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Θεωρείστε τις γλώσσες Α = { n n } και Β = {w η w είναι λέξη επί του αλφαβήτου {,} τ.ώ. w }. (α) Για κάθε μια από τις πιο κάτω γλώσσες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή. Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 10: Αυτόματα Στοίβας II Τι θα κάνουμε σήμερα Ισοδυναμία αυτομάτων στοίβας με ασυμφραστικές γραμματικές (2.2.3) 1 Ισοδυναμία PDA με CFG Θεώρημα: Μια

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Να βρείτε το σφάλμα στην πιο κάτω απόδειξη. Ισχυρισμός: Όλα τα βιβλία που έχουν γραφτεί στη Θεωρία Υπολογισμού έχουν τον ίδιο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Φροντιστήριο 2 Λύσεις Άσκηση Φροντιστήριο 2 Λύσεις Ποια από τα πιο κάτω αυτόματα αποτελούν DFA επί του αλφάβητου {,}. Αιτιολογήστε τις απαντήσεις σας. (i) (ii) (iii) (iv) (v), (vi), (i) Όχι, δεν υπάρχει αρχική κατάσταση. (ii)

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Κυριακή, 15 Μαρτίου 2015 Διάρκεια : 15.00 17.00 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 8: Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Σχεδιασμός Ασυμφραστικών Γραμματικών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 16: Αναγωγές Τι θα κάνουμε σήμερα Το Πρόβλημα του Τερματισμού (4.2) Εισαγωγή στις Αναγωγές Ανεπίλυτα Προβλήματα από την Θεωρία των Γλωσσών (5.1) Απεικονιστικές

Διαβάστε περισσότερα

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

Λύσεις 4ης Σειράς Ασκήσεων Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής

Διαβάστε περισσότερα

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

Διαβάστε περισσότερα

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

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k )) Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 4. Πεπερασμένα Αυτόματα 6 Φεβρουαρίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μοντέλα Υπολογισμού 1930 : Μηχανή Turing : αφαιρετική μηχανή (μοντελοποίηση ενός υπολογιστή)

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 4. Μη Ντετερμινιστικά Πεπερασμένα Αυτόματα 9,19 Φεβρουαρίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μοντέλα Υπολογισμού Μη Ντετερμινιστικό Πεπερασμένα Αυτόματα: Διαφορά

Διαβάστε περισσότερα

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

Αλγόριθμοι για αυτόματα Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε

Διαβάστε περισσότερα

CSC 314: Switching Theory

CSC 314: Switching Theory CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 8: Πεπερασμένα Αυτόματα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις Σειρά Προβλημάτων Λύσεις Άσκηση Έστω αλφάβητο Σ και γλώσσες Α, Β επί του αλφάβητου αυτού. Για κάθε μια από τις πιο κάτω περιπτώσεις να διερευνήσετε κατά πόσο Γ Δ, ή, Δ Γ, ή και τα δύο. Σε περίπτωση, που

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μη Ασυμφραστικές Γλώσσες (2.3) Λήμμα Άντλησης για Ασυμφραστικές Γλώσσες Παραδείγματα

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες Τι θα κάνουμε σήμερα Εισαγωγικά (2.3) Το Λήμμα της Άντλησης για ασυμφραστικές γλώσσες (2.3.1) Παραδείγματα 1 Πότε μια

Διαβάστε περισσότερα

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1. Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα 2): Αυτόµατα Στοίβας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Μη Κανονικές Γλώσσες Το Λήµµα της Αντλησης για τις

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 1 /

Διαβάστε περισσότερα

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

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί); Μοντελοποίηση του Υπολογισµού Στοιχεία Θεωρίας Υπολογισµού (): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ποιές οι θεµελιώδεις δυνατότητες

Διαβάστε περισσότερα

Μηχανές Turing (T.M) I

Μηχανές Turing (T.M) I Μηχανές Turing (T.M) I Οι βασικές λειτουργίες μιας TM είναι: Διάβασε το περιεχόμενο του τρέχοντος κυττάρου Γράψε 1 ή 0 στο τρέχον κύτταρο Κάνε τρέχον το αμέσως αριστερότερο ή το αμέσως δεξιότερο κύτταρο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7)

ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7) ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7) Θέμα Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΙΑΚΡΙΤΕΣ ΜΕΘΟ ΟΙ ΓΙΑ ΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ η Γραπτή Εργασία-Ενδεικτικές Λύσεις Επιµέλεια:. Σούλιου Θέµα (Κανονικές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα Τι θα κάνουμε σήμερα Εισαγωγικά Χρονική Πολυπλοκότητα (7) Κλάση P (7.2) Κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4) Χωρική

Διαβάστε περισσότερα

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα (2) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Αυτόµατα Στοίβας Pushdown utomata Ισοδυναµία µε τις Γλώσσες χωρίς Συµφραζόµενα:

Διαβάστε περισσότερα

Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου)

Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου) Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου) Εισαγωγή. Αυτό το φυλλάδιο έχει στόχο να δώσει ένα ανάλογο αποτέλεσµα µε αυτό του linear speedup θεωρήµατος, εάν έχουµε µία µηχανή

Διαβάστε περισσότερα