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

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

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

Transcript

1 Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m είναι το πλήθος των εμφανίσεων του 0 και 1, αντίστοιχα, στη λέξη w 1}. (β) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία με δεδομένο εισόδου στην ταινία της μια λέξη επί του αλφάβητου {a,b} να αφαιρεί τις συνεχόμενες επαναλήψεις στοιχείων. Για παράδειγμα, με δεδομένο εισόδου τη λέξη aaabbaaaaabba στο τέλος της εκτέλεσης της μηχανής να παραμείνει στην ταινία η λέξη ababa. Και στις δύο πιο πάνω περιπτώσεις να παρουσιάσετε το αλφάβητο εισόδου και το αλφάβητο ταινίας της μηχανής σας καθώς και το σύστημα μεταβάσεών της, γραφικά, και να εξηγήσετε σύντομα τη λειτουργία της. (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q, Σ, Γ, δ,,, όπου 1. Το σύνολο καταστάσεων Q αποτελείται από τις καταστάσεις που εμφανίζονται στο πιο κάτω σχήμα 2. Το αλφάβητο εισόδου Σ είναι το {0,1} 3. Το αλφάβητο ταινίας Γ είναι το Σ {0, 1, 0, 1, x, x, w, } 4. Η συνάρτηση μετάβασης δ είναι όπως απεικονίζεται στο πιο κάτω σχήμα 5. q 1 Q είναι η εναρκτήρια κατάσταση 6. q acc Q είναι η κατάσταση αποδοχής 7. q rej Q είναι η κατάσταση απόρριψης Η περιγραφή της ζητούμενης ΤΜ έχει ως εξής: M = Με δεδομένο w: 1. Αν w = ε, τότε αποδέξου τη λέξη. 2. Διαφορετικά, σημάδεψε το πρώτο στοιχείο και προσπέρασε τα όποια 0 μέχρι να βρεις το πρώτο 1 το οποίο να μετατρέψεις σε x (ή x αν είναι το πρώτο στοιχείο της λέξης). Αν δεν υπάρχουν 1, τότε προχώρησε στο Βήμα 4 (μετάβαση q 2 q 6). 3. Προχώρησε δεξιά μέχρι να βρεις το τελευταίο 1. Μετάτρεψέ το σε w και επέστρεψε στην αρχή της ταινίας. Συνέχισε από το Βήμα Προχώρησε δεξιά μέχρι να βρεις το πρώτο 0. Αν δεν βρεις κάποιο 0 και η ταινία περιέχει μόνο x και w τότε αποδέξου τη λέξη. 5. Προχώρησε δεξιά μέχρι να βρεις το πρώτο 0. Διάγραψε το 0 (μετατρέποντάς το σε x ή x αν είναι το πρώτο στοιχείο της λέξης), και προχώρησε δεξιά για να βρεις το τελευταίο 0 (το οποίο, υπό κανονικές συνθήκες, βρίσκεται μια θέση αριστερά από το πρώτο w που θα συναντήσουμε). Μετάτρεψε το 0 σε w. 6. Επέστρεψε στην αρχή της ταινίας και συνέχισε από το Βήμα 4. Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2018 Σελίδα 1

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

3 a x,δ 8 0 a a, Α b b,a 1 b Δ 2 a Δ a,b,x A a,b Δ x Δ a,b Δ x Δ A a,b Δ 7 x A 3 A 9 a,b Δ x Α b x,δ a,b A A qacc x,a Ότι λείπει q rej Άσκηση 2 Να παρουσιάσετε λεπτομερείς περιγραφές (i) μιας απλής μηχανή Turing και (ii) μιας πολυταινιακής μηχανής Turing οι οποίες να διαγιγνώσκουν τη γλώσσα { n 2 } Να συγκρίνετε τις δύο μηχανές ως προς την χρονική τους πολυπλοκότητα. (i) Περιγραφή μηχανής: 1_Tape = Με δεδομένο εισόδου μια λέξη x 1. Αν η λέξη περιέχει λιγότερα από 4 a απόρριψε. 2. Σημάδεψε και διάγραψε τα επόμενα δύο a, ένα b και ένα c. 3. Επέστρεψε στην αρχή της ταινίας και διέγραψε τα επόμενα δύο a, ένα b και ένα c χωρίς να σημαδέψεις τα a. Επανέλαβε το βήμα μέχρι να μην υπάρχουν άλλα a. Αν υπάρχει μόνο ένα a ή κάποιο από τα b, c, εξαντληθεί, τότε απόρριψε τη λέξη. 4. Επανάφερε τα a, χωρίς όμως να αφαιρέσεις τα σημάδια. 5. Εφόσον υπάρχουν a που δεν είναι σημαδεμένα, σημάδεψε και διάγραψε τα επόμενα δύο a και ένα b. Αν υπάρχει μόνο ένα a ή τα b εξαντληθούν, τότε απόρριψε τη λέξη. Επέστρεψε στην αρχή της ταινίας και διέγραψε τα επόμενα δύο a και ένα b χωρίς όμως αυτή τη φορά να σημαδέψεις τα a. Επανέλαβε μέχρι να μην υπάρχουν άλλα a. 6. Επανάφερε τα a, χωρίς όμως να αφαιρέσεις τα σημάδια. Επανάλαβε από το Βήμα 5. Αν δεν υπάρχουν άλλα μη σημαδεμένα a τότε επέστρεψε στην αρχή της ταινίας. Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2018 Σελίδα 3

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

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

6 Η γλώσσα, έστω Λ, που περιέχει όλες τις λέξεις στις οποίες το πλήθος των 1 είναι μεγαλύτερο από το πλήθος των 0, είναι ασυμφραστική. Στόχος του πιο κάτω αλγόριθμου/μηχανής Τuring, είναι να ελέγξει κατά πόσο η τομή της γλώσσας Λ με τη γλώσσα L=(M) είναι μη κενή. Αν και η κλάση των ασυμφραστικών γλωσσών δεν είναι κλειστή ως προς την πράξη της τομής, η τομή μιας ασυμφραστικής γλώσσας και μιας κανονικής γλώσσας μπορεί να αναγνωριστεί μέσω αυτόματου PDA που προκύπτει από τον συνδυασμό του αυτομάτου DFA και του αυτομάτου PDA που αναγνωρίζουν τις δύο γλώσσες, όπως φαίνεται πιο κάτω. S = Για είσοδο Μ, όπου το Μ είναι ένα DFA: 1. Δημιουργούμε ένα PDA, έστω Ρ, το οποίο αποδέχεται τη γλώσσα που περιέχει όλες τις λέξεις στις οποίες το πλήθος των 1 είναι μεγαλύτερο από το πλήθος των Στη συνέχεια φτιάχνουμε ένα PDA το οποίο αναγνωρίζει την τομή των γλωσσών των Μ και Ρ. Συγκεκριμένα, αν Ρ = Q 1, Σ, Γ, δ 1, q 1, F 1 και < = Q 2, Σ, δ 2, q 2, F 2 κατασκευάζουμε το G = Q, Σ, Γ, δ, q 0, F ως εξής: i. Καταστάσεις του G, είναι οι καταστάσεις (x,y) όπου x Q 1 και y Q 2 ii. q0 = (q1, q2) iii. Τελικές καταστάσεις του G, είναι οι καταστάσεις (x,y) όπου η x είναι τελική κατάσταση του P και η y είναι τελική κατάσταση του M. iv. Στο αυτόματο G η μετάβαση ((x,y ),b ) δ((x,y),a,b) είναι εφικτή εφόσον η μετάβαση (x,b ) δ 1(x,a,b) είναι εφικτή στο P και η μετάβαση y = δ 2(y,a) είναι εφικτή στο αυτόματο M. 3. Μετατρέπουμε το G σε μια ισοδύναμη ασυμφραστική γραμματική, έστω H. 4. Εφαρμόζουμε την ΤΜ R, διαφάνεια 8 18 (ΚΕΝΟΤΗΤΑCFG), με δεδομένη τη γραμματική Η. Αν η R απορρίψει αποδεχόμαστε, διαφορετικά απορρίπτουμε. Άσκηση 4 Μια μηχανή 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. Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2018 Σελίδα 6

7 Είναι εύκολο να δούμε ότι κάθε αυθεντική μηχανή Turing μπορεί να τύχει προσομοίωσης από μια μηχανή Turing με δύο κεφαλές απλά η ισοδύναμη μηχανή δεν θα χρησιμοποιεί τη δεύτερή της κεφαλή. Για την αντίθετη κατεύθυνση, ας υποθέσουμε ότι Μ είναι μια μηχανή Turing με δύο κεφαλές. Θα δείξουμε ότι η λειτουργία της Μ μπορεί να τύχει προσομοίωσης από μια αυθεντική μηχανή Turing Μ. Κατ αρχή θα πρέπει να επινοήσουμε μια μέθοδο μέσω της οποίας να αρχικοποιείται η ταινία της μηχανής Μ. Αυτό μπορεί να επιτευχθεί ως εξής: Αν η αρχική φάση της ταινίας της Μ έχει τη μορφή (όπου Κ 1 και Κ 2 οι δύο κεφαλές) Κ 1aabaΚ 2abb τότε ξεκινούμε τη μηχανή Μ στη φάση Κ#a 1 abaa 2 bb (όπου Κ η κεφαλή της Μ ). Με άλλα λόγια χρησιμοποιούμε τους υπερδείκτες 1 και 2 για να σημειώσουμε τις θέσεις των δύο κεφαλών. Αν σε κάποια στιγμή οι δύο κεφαλές δείχνουν στην ίδια θέση τότε το στοιχείο που βρίσκεται σε αυτή τη θέση θα φέρει και τους δύο υπερδείκτες, π.χ. Κ#aab 12 aabb Στη συνέχεια πρέπει να ορίσουμε πως κάθε δυνατή μετάβαση της ΤΜ Μ μπορεί να προσομοιωθεί από την ΤΜ Μ. Συγκεκριμένα, ας υποθέσουμε ότι βρισκόμαστε στην κατάσταση q από όπου στην ΤΜ Μ υπάρχει η μετάβαση δ(q, x, y) = (q, x, y, K 1, K 2). Τότε στην καινούρια μηχανή θα εκτελέσουμε την πιο κάτω συμπεριφορά. 1. Εντόπισε την πρώτη κεφαλή. Αν εκεί υπάρχει το στοιχείο x τότε προχώρησε στο επόμενο βήμα, διαφορετικά δοκίμασε να εφαρμόσεις κάποια άλλη μετάβαση που αναφέρεται στην κατάσταση q. 2. Εντόπισε τη δεύτερη κεφαλή (αν χρειαστεί, μετακινήσου στην αρχή της ταινίας και ξεκίνα από εκεί το ψάξιμο). Αν εκεί υπάρχει το στοιχείο y τότε μετάτρεψέ το σε y και μετακίνησε την κεφαλή στην κατεύθυνση Κ 2. Επέστρεψε στην αρχή της ταινίας και εντόπισε την πρώτη κεφαλή, αντικατάστησε το στοιχείο της με το στοιχείο x και μετακίνησε την κεφαλή στην κατεύθυνση Κ Μετακίνησε την ΤΜ Μ στην κατάσταση q. (β) Ένα πρόβλημα που μπορεί να διαγνωστεί ευκολότερα σε μια 2ΤΜ από μια αυθεντική ΤΜ είναι το πρόβλημα στο οποίο με δεδομένο εισόδου w στην ταινίας μιας ΤΜ επιθυμούμε να γράψουμε στην ταινία τη λέξη ww (αφού μετακινήσουμε τη δεύτερη κεφαλή στην πρώτη κενή θέση της ταινίας και έχοντας σημειώσει το τέλος της λέξης w, αντιγράφουμε ένα προς ένα τα σύμβολα της w). Άσκηση 5 Θεωρήστε το αλφάβητο Σ και δύο γλώσσες L 1 και L 2 επί του αλφάβητου Σ. Ορίζουμε ως Merge(L 1, L 2) την πιο κάτω γλώσσα επί του αλφάβητου Σ: Merge(L 1, L 2) = { w w = u 1v 1u 2v 2 u nv n όπου u = u 1 u n L 1 και v = v 1 v n L 2 και u 1,, u n, v 1,, v n Σ*} (α) Να αποδείξετε ότι η κλάση των διαγνώσιμων γλωσσών είναι κλειστή ως προς την πράξη Merge. Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2018 Σελίδα 7

8 Για να δείξουμε ότι η κλάση των διαγνώσιμων γλωσσών είναι κλειστή ως προς την πράξη Merge πρέπει να δείξουμε ότι αν L 1 και L 2 είναι δύο διαγνώσιμες γλώσσες, τότε υπάρχει μέθοδος διάγνωσης της γλώσσας Merge(L 1,L 2). Ας υποθέσουμε ότι L 1, L 2 διαγνώσιμες γλώσσες και Μ 1, Μ 2 δύο ΤΜ που τις διαγιγνώσκουν, αντίστοιχα. Έστω λέξη w. Θα διαγνώσουμε κατά πόσο w TA(L 1,L 2) ως εξής: Μ = Για είσοδο w 1. Θεωρούμε όλα τα δυνατά σπασίματα της w σε υπολέξεις u 1,v 1,, u n, v n όπου μόνο η v n μπορεί να είναι κενή. 2. Για κάθε σπάσιμο δημιουργούμε τις λέξεις w 1 = u 1 u n και w 2 = v 1 v n. 3. Τρέχουμε τη w 1 στη μηχανή Μ 1. Αν η Μ 1 αποδεχθεί τότε προχωρούμε στο Βήμα 4, διαφορετικά προχωρούμε στο επόμενο σπάσιμο. 4. Τρέχουμε τη w 2 στη μηχανή Μ 2. Αν η Μ 2 αποδεχθεί τότε αποδεχόμαστε, διαφορετικά προχωρούμε στο επόμενο σπάσιμο. 5. Αν τα σπασίματα εξαντληθούν απορρίπτουμε. Ορθότητα/Τερματισμός: Σύμφωνα με τον ορισμό της πράξης Merge(L 1,L 2), μια λέξη w ανήκει στο TA(L 1,L 2) αν αποτελεί τη συγχώνευση ανάμεσα σε δύο λέξεις από τις γλώσσες L 1 και L 2. Η πιο πάνω μηχανή θεωρεί όλες τις δυνατές συγχωνεύσεις και τρέχει την πρώτη λέξη, w 1, στη μηχανή Μ 1, και τη δεύτερη λέξη, w 2, στη Μ 2. Η μηχανή αποδέχεται αν και μόνο αν αποδεχθούν αμφότερες οι Μ 1, Μ 2 που θα το πράξουν αν και μόνο αν w 1 L 1 και w 2 L 2. Αφού οι Μ 1 και Μ 2 αποτελούν διαγνώστες και η μηχανή που ορίσαμε αποτελεί διαγνώστη. (β) Αναφορικά με το δεύτερο ερώτημα, μπορούμε να δείξουμε την κλειστότητα της πράξης Merge και στα πλαίσια των αναγνωρίσιμων γλωσσών χρησιμοποιώντας μια παραλλαγή της μηχανής από το σκέλος (α). Συγκεκριμένα, χρειάζεται να λάβουμε υπόψη μας το γεγονός ότι σε κάποιες εισόδους οι μηχανές Μ 1 και Μ 2 δυνατό να εγκλωβιστούν. Ως εκ τούτου, δεν αναλύουμε τα σπασίματα «σειριακά» αλλά μη ντετερμινιστικά. Η εισαγωγή της μη ντετερμινιστικής επιλογής ανάμεσα στα δυνατά σπασίματα, μας εγγυάται ότι αν υπάρχει έστω και ένα σπάσιμο που να ικανοποιεί τις απαιτήσεις μας θα υπάρχει και εκτέλεση της μηχανής που θα το εντοπίσει. Ο αλγόριθμος έχει ως εξής: Ν = Για είσοδο w 1. Επέλεξε μη ντετερμινιστικά ένα σπάσιμο της λέξης w σε δύο υπολέξεις w 1 = u 1 u n και w 2 = v 1 v n έτσι ώστε w = u 1v 1u 2v 2 u nv n 2. Τρέξε την Μ 1 στο w 1. Αν η Μ 1 αποδεχθεί τότε τρέξε την Μ 2 στο w 2. Διαφορετικά απόρριψε. 3. Αν η Μ 2 αποδεχθεί τότε αποδέξου. Διαφορετικά απόρριψε. Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2018 Σελίδα 8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 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 Θεωρήστε την πιο κάτω Μηχανή 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 στη δεύτερη της ταινία.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 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 η Μ είναι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 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} + και όλα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα Κανονικές Γλώσσες Κανονικές Γλώσσες Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Κανονική γλώσσα αν παράγεται από κανονική γραμματική. Παραγωγές P (V Σ) Σ * ((V Σ) ε) Παραγωγές μορφής:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 7. Κατηγορηματικές Γραμματικές 27,2 Φεβρουαρίου, 9 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Κατηγορηματικές Γραμματικές Ή Γραμματικές Χωρίς Συμφραζόμενα Παράδειγμα.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 19 December 2008 1 1 Κλάση NP 2 Μη-Ντετερμινιστικές Μηχανές Turing: Eίναι δυνατόν σε μια συνολική κατάσταση να υπάρχουν πολλές δυνατές επόμενες

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

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (3) Παραδείγµατα µε Κανονικές Εκφράσεις. Σε αυτό το µάθηµα. Σύνοψη Προηγούµενου Κανονικές Γλώσσες (3) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς (Ντετερµινιστική) Κλειστότητα Κανονικών Γλωσσών ως προς Ενωση. Κατασκευή: DFA

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

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

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

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

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

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

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