ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Σάββατο, 15 Μαρτίου 2014 Διάρκεια : 9.30 11.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο: Αριθμός Ταυτότητας: Οδηγίες: Να διαβάσετε προσεχτικά και να απαντήσετε σε όλες τις ερωτήσεις. Να γράψετε τις απαντήσεις σας (καθαρά) στον χώρο που σας δίνεται στο εξεταστικό δοκίμιο. Αν χρειάζεστε επιπρόσθετο χώρο μπορείτε να χρησιμοποιήσετε τις τελευταίες σελίδες του δοκιμίου. Σε τέτοια περίπτωση δηλώστε καθαρά το σημείο στο οποίο βρίσκεται η συνέχεια της άσκησης. Αν βρεθείτε σε αδιέξοδο εξηγήστε τι προσπαθείτε να κάνετε ώστε, ενδεχομένως, να κερδίσετε κάποιες μονάδες. Ο πιο κάτω πίνακας δηλώνει την κατανομή των μονάδων στα θέματα. Το πλήθος των μονάδων δεν αποτελεί μέτρο δυσκολίας: είναι δυνατό δυσκολότερο πρόβλημα να αποφέρει λιγότερες μονάδες. Καλή Επιτυχία! Πρόβλημα Μονάδες Βαθμός 1 30 2 20 3 15 4 25 5 15 Σύνολο 105
Πρόβλημα 1 [30 μονάδες] Να βάλετε σε κύκλο τη σωστή απάντηση στις πιο κάτω ερωτήσεις πολλαπλής επιλογής. 1. Ποια από τις πιο κάτω κανονικές εκφράσεις περιγράφει τη γλώσσα Λ = {w {a,b} * το πλήθος των a στη w είναι άρτιο}; α. b * ab * ab * β. (a b) * a(a b) * a(a b) * γ. (b * aab * ) * δ. (b * ab * ab * ) * 2. Ποια από τις πιο κάτω γλώσσες δεν είναι κανονική; α. { 1 n 1 n 1 n n 0 } β. { w η w έχει περιττό μήκος και το μεσαίο της σύμβολο είναι το 0 } γ. { a i b j c k 1 i j k, i + j = k, k = 100 } δ. Δύο από τις πιο πάνω 3. Έστω L 1, L 2 δύο τυχαίες γλώσσες επί του αλφάβητου {0,1}. Ποια από τις πιο κάτω προτάσεις είναι αληθής; α. Αν η L 1 είναι μια μη κανονική γλώσσα τότε το συμπλήρωμα της L 1,, είναι απαραίτητα μια μη κανονική γλώσσα. β. Αν η L 1 L 2 είναι μια κανονική γλώσσα τότε οι L 1 και L 2 είναι απαραίτητα και αυτές κανονικές γλώσσες. γ. Αν η L 1 είναι μια κανονική γλώσσα και L 2 L 1, τότε η L 2 είναι απαραίτητα μια κανονική γλώσσα. δ. Αν η L 1 είναι μια κανονική γλώσσα και η L 2 είναι μια μη κανονική γλώσσα τότε η L 1 L 2 είναι απαραίτητα μια μη κανονική γλώσσα. 4. Θεωρήστε το μη ντετερμινιστικό αυτόματο (Q, Σ, δ, q 0, F) με Q = {q 0, q 1, q 2, q 3 }, Σ = {a,b}, F={q 3 }, και συνάρτηση μεταβάσεων δ όπως ορίζεται στον πίνακα που ακολουθεί: Ποια από τις πιο κάτω λέξεις δεν είναι αποδεκτή από το αυτόματο; α. abab β. abba γ. baba δ. bbb δ a b ε q 0 {q 1 } {q 2 } q 1 {q 0 } {q 0 } q 2 {q 0,q 3 } {q 2 } {q 3 } q 3
5. Θεωρήστε το μη ντετερμινιστικό αυτόματο (Q, Σ, δ, q 0, F) με Q = {q 0, q 1 }, Σ = {a,b}, F = {q 0 }, και συνάρτηση μεταβάσεων δ όπως ορίζεται στον πίνακα που ακολουθεί: Ποια από τις πιο κάτω κανονικές εκφράσεις περιγράφει τη γλώσσα του αυτομάτου. α. a * b * β. (a * b * ) * γ. (aa * bb * ) * a * δ. a + (b + a * ) * δ a b ε q 0 {q 0,q 1 } q 1 {q 0,q 1 } 6. Θεωρήστε την πιο κάτω ασυμφραστική γραμματική με εναρκτήρια μεταβλητή S. S as aa b A aa b Ποιο από τα πιο κάτω σύνολα περιγράφει τη γλώσσα που παράγει η γραμματική; α. {w {a,b} * η λέξη w περιέχει τουλάχιστον ένα a} β. {w {a,b} * η λέξη w περιέχει ακριβώς ένα b} γ. {w {a,b} * η λέξη w περιέχει τουλάχιστον ένα b} δ. Κανένα από τα πιο πάνω 7. Θεωρήστε την πιο κάτω ασυμφραστική γραμματική με εναρκτήρια μεταβλητή S: S a b ab ba B b ba A a ab Ποια από τις πιο κάτω κανονικές εκφράσεις περιγράφουν τη γλώσσα που παράγει η γραμματική; α. (ba) * (ab) * β. a(ba) * a(ba) * b b(ab) * b(ab) * a γ. a(ba) * b(ab) * δ. a(ba) * ab(ab) * 8. Θεωρήστε την πιο κάτω ασυμφραστική γραμματική με εναρκτήρια μεταβλητή S: S aabb A aab ε B c cb Ποιο από τα πιο κάτω περιγράφει ορθά τη γλώσσα που παράγει η γραμματική; α. { a i b j c k i, j, k > 0, i < j } β. { a i b j c k i, j, k > 0, i = j } γ. { a i b j c k i, j, k > 0, j = k } δ. { a i b j c k i, j, k > 0 }
9. H κανονική έκφραση (abε) * * ( ε a b)ba αναγνωρίζει (ανάμεσα σε άλλες) τη λέξη: α. ababba β. aaba γ. δ. ε 10. Θεωρήστε την πιο κάτω ασυμφραστική γραμματική με εναρκτήρια μεταβλητή S. S AS ε Α Α1 0Α1 01 Ποιο από τα πιο κάτω ισχύει για τη γραμματική; α. Η γραμματική είναι μονότροπη. β. Η γραμματική είναι πολύτροπη αφού παράγει τη λέξη 01 μέσω δύο διαφορετικών συντακτικών δέντρων. γ. Η γραμματική είναι πολύτροπη αφού παράγει τη λέξη 00111 μέσω δύο διαφορετικών συντακτικών δέντρων. δ. Δεν ισχύει κανένα από τα πιο πάνω.
Πρόβλημα 2 [20 μονάδες] (α) [8 μονάδες] Να μετατρέψετε το πιο κάτω NFA σε ένα ισοδύναμο DFA χρησιμοποιώντας την κατασκευή που μελετήσαμε στο μάθημα. b q 0 a, ε q 1 b,ε a,ε q 3 b q 2 b a, b
(β) [4 μονάδες] Να μετατρέψετε το DFA αυτόματο που κατασκευάσατε στο μέρος (α) σε ένα καινούριο αυτόματο έτσι ώστε το καινούριο αυτόματο να αποδέχεται το συμπλήρωμα της γλώσσας του αρχικού αυτομάτου. (γ) [8 μονάδες] Να μετατρέψετε το DFA αυτόματο που κατασκευάσατε στο μέρος (α) στην κανονική έκφραση που το περιγράφει χρησιμοποιώντας τη διαδικασία που μελετήσαμε στις διαλέξεις. Να δείξετε όλα τα στάδια της εργασίας σας.
Πρόβλημα 3 [15 μονάδες] Να κατασκευάσετε ένα αυτόματο στοίβας (σχεδιάγραμμα καταστάσεων) για την πιο κάτω γλώσσα: Λ = { x#yx rev z x, y, z {0,1} * } Να εξηγήσετε τη λειτουργία του αυτομάτου σας άτυπα αλλά με σαφήνεια.
Πρόβλημα 4 [25 μονάδες] Θεωρήστε τη γλώσσα L = { ww rev w {a,b} + και το πλήθος των a στη w είναι πολλαπλάσιο του 3}. Για παράδειγμα aabaabaa L αλλά abaaba, aaabaaa L. (α) [15 μονάδες] Να αποδείξετε ότι η γλώσσα L δεν είναι κανονική.
(β) [10 μονάδες] Να αποδείξετε ότι η γλώσσα L είναι ασυμφραστική επιδεικνύοντας μια ασυμφραστική γραμματική που να την παράγει. Αιτιολογήστε σύντομα την απάντησή σας.
Πρόβλημα 5 [15 μονάδες] Έστω δύο λέξεις w 1 και w 2. Οι δύο λέξεις ονομάζονται γείτονες αν διαφέρουν σε ακριβώς ένα σύμβολο. Για παράδειγμα, η λέξη 101 έχει γείτονες τις λέξεις 001, 100 και 111. Με βάση αυτή τη σχέση, δοσμένης μιας γλώσσας Λ ορίζουμε Γείτονες(Λ) = {w η λέξη w είναι γείτονας μιας λέξης v όπου v Λ} (α) [4 μονάδες] Έστω η κανονική έκφραση Χ = (10) * 011 * ε. Δώστε κανονική έκφραση Χ Γ η οποία να περιγράφει τη γλώσσα που περιέχει όλες τις λέξεις επί του αλφάβητου {0,1} * οι οποίες αποτελούν γείτονες των λέξεων που περιγράφει η Χ. (β) [8 μονάδες] Γενικεύστε το προηγούμενο σκέλος για να δείξετε την πιο κάτω πρόταση: Για κάθε κανονική έκφραση Χ επί του αλφάβητου {0,1}, υπάρχει κανονική έκφραση Χ Γ που περιγράφει ακριβώς τις λέξεις που αποτελούν γείτονες των λέξεων που περιγράφει η Χ. Συγκεκριμένα, να ορίσετε το Χ Γ για κάθε δυνατή μορφή του Χ. Δεν χρειάζεται να αποδείξετε την ορθότητα της κατασκευής σας.
(γ) [3 μονάδες] Με βάση το σκέλος (β) επιχειρηματολογήστε ότι η κλάση των κανονικών γλωσσών είναι κλειστή ως προς την πράξη Γείτονες.
ΕΠΙΠΡΟΣΘΕΤΟΣ ΧΩΡΟΣ 1
ΕΠΙΠΡΟΣΘΕΤΟΣ ΧΩΡΟΣ 2