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

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού. Ασκήσεις. Δρ. Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών. Τμ. Μηχανικών Πληροφορικής Τ.Ε.

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

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

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

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

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

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

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

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

[(W V c ) (W c V c )] c \ W = [(W V c ) (W c V c )] c \ W = [(W V c ) c (W c V c ) c ] \ W = [(W c W ) V ] \ W

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

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

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

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

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

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

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

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

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

ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ. Μάθηµα 3.2: ηµήτρης Ψούνης

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

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

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

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

n = r J n,r J n,s = J

CSC 314: Switching Theory

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Παρασκευή, 17 Μαρτίου 2017 Διάρκεια : 9.00 10.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο: ΠΡΟΧΕΙΡΕΣ ΛΥΣΕΙΣ Αριθμός Ταυτότητας: Οδηγίες: Να διαβάσετε προσεχτικά και να απαντήσετε σε όλες τις ερωτήσεις. Να γράψετε τις απαντήσεις σας (καθαρά) στον χώρο που σας δίνεται στο εξεταστικό δοκίμιο. Αν χρειάζεστε επιπρόσθετο χώρο μπορείτε να χρησιμοποιήσετε την τελευταία σελίδα του δοκιμίου. Σε τέτοια περίπτωση δηλώστε καθαρά το σημείο στο οποίο βρίσκεται η συνέχεια της άσκησης. Αν βρεθείτε σε αδιέξοδο εξηγήστε τι προσπαθείτε να κάνετε ώστε, ενδεχομένως, να κερδίσετε κάποιες μονάδες. Ο πιο κάτω πίνακας δηλώνει την κατανομή των μονάδων στα θέματα. Το πλήθος των μονάδων δεν αποτελεί μέτρο δυσκολίας: είναι δυνατό δυσκολότερο πρόβλημα να αποφέρει λιγότερες μονάδες. Καλή Επιτυχία! Πρόβλημα Μονάδες Βαθμός 1 30 2 20 3 35 4 15 Σύνολο 100

Πρόβλημα 1 [30 μονάδες] Θεωρήστε το μη ντετερμινιστικό αυτόματο (Q, Σ, δ, q0, F) με σύνολο καταστάσεων το Q = {q0, q1, q2, q3, q4}, αλφάβητο το Σ = {,}, σύνολο τελικών καταστάσεων το F = {q2, q3}, και συνάρτηση μεταβάσεων δ όπως ορίζεται στον πίνακα που ακολουθεί: δ ε q0 {q1} {q4} q1 {q0} {q2,q3} q2 {q2} q3 {q3} q4 {q4} (α) [6 μονάδες] Να παρουσιάσετε το αυτόματο γραφικά μέσω ενός διαγράμματος μεταβάσεων και να δείξετε ότι το αυτόματο αποδέχεται τη λέξη παρουσιάζοντας τη σχετική ακολουθία καταστάσεων που οδηγεί σε αποδοχή. ε q 0 q 1 q 2 ε ε q 4 q 3 Αποδοχή :

(β) [9 μονάδες] Να μετατρέψετε το NFA αυτόματο από το μέρος (α) σε ένα ισοδύναμο ντετερμινιστικό αυτόματο χρησιμοποιώντας την κατασκευή που μελετήσαμε στο μάθημα. (γ) [6 μονάδες] Να κατασκευάσετε αυτόματο που να αποδέχεται το συμπλήρωμα της γλώσσας L, όπου L η γλώσσα του αυτόματου από το μέρος (β). Αντιστρέφουμε τις τελικές με τις μη-τελικές καταστάσεις στο αυτόματο από το μέρος (β).

(δ) [9 μονάδες] Να κατασκευάσετε αυτόματο (DFA ή NFA) που να αποδέχεται τη γλώσσα L R, όπου L η γλώσσα του αυτόματου από το μέρος (β). (Υπενθύμιση: Για οποιαδήποτε γλώσσα Α ορίζουμε Α R = { R A} όπου R η ανάστροφη της λέξης.) Αντιστρέφουμε τις ακμές. Η αρχική κατάσταση γίνεται τελική. Δημιουργούμε καινούρια αρχική κατάσταση η οποία με ε-μεταβάσεις οδηγεί στις αρχικά τελικές.

Πρόβλημα 2 [20 μονάδες] Θεωρήστε τη γλώσσα L = { i j i, j 0, j = 2i }. Να κατασκευάσετε ασυμφραστική γραμματική η οποία να παράγει όλες τις λέξεις επί του αλφάβητου {,} που ΔΕΝ ανήκουν στη γλώσσα L. Να εξηγήσετε τη λειτουργία της γραμματικής σας άτυπα αλλά με σαφήνεια. Λέξεις με τουλάχιστον ένα πριν από κάποιο Α ΧXX X Χ X ε Λέξεις της μορφής i j, j > 2i B B Y Y Y Λέξεις της μορφής i j, j < 2i C C W Z Z Z W ε Z Ζητούμενη γραμματική S Α Β C

Πρόβλημα 3 [35 μονάδες] Θεωρήστε τη γλώσσα L = { uxvx u,v {0,1,2} *, u = v, x {0,1,2}, και όλα τα στοιχεία του v είναι μικρότερα από το x } (α) [20 μονάδες] Να αποδείξετε ότι η γλώσσα L δεν είναι κανονική συμπληρώνοντας κατάλληλα τα κενά στην πιο κάτω ελλιπή απόδειξη: Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η L είναι κανονική. Από το Λήμμα της Άντλησης, συνεπάγεται ότι υπάρχει ακέραιος p, το μήκος άντλησης της γλώσσας, τέτοιος ώστε κάθε λέξη w L, με μήκος w p, μπορεί να γραφτεί ως w = xyz έτσι ώστε (i) xy p, (ii) y > 0 και (iii) για κάθε ακέραιο i 0, η λέξη xy i z L. Επιλέγουμε τη λέξη w =. Προφανώς w = p. Από τις συνθήκες (i) και (ii) έπεται ότι x =, y =, z =, όπου. Επιλέγουμε i =. Τότε xy i z =. Παρατηρούμε ότι Αυτό μας οδηγεί σε αντίφαση και επομένως η γλώσσα L είναι μη κανονική.

(β) [15 μονάδες] Να αποδείξετε ότι η γλώσσα L είναι ασυμφραστική επιδεικνύοντας ένα αυτόματο στοίβας που να την αναγνωρίζει. Να εξηγήσετε τη λειτουργία του αυτομάτου σας άτυπα αλλά με σαφήνεια.

Πρόβλημα 4 [15 μονάδες] Έστω δύο γλώσσες Α και Β. Ορίζουμε ως την πιο κάτω γλώσσα: ΑΒ = { xy x A, y B, x = y R } Με λόγια, η γλώσσα ΑΒ περιέχει όλες τις λέξεις που αποτελούν τη συναρμογή μίας λέξης από το Α με μία λέξη από το Β, όπου η πρώτη λέξη είναι η ανάστροφη της δεύτερης. Για παράδειγμα, για Α = {0, 10, 01, 010} και Β = {0, 01, 11, 010} έχουμε ΑΒ = {00, 1001, 010010}. (α) [7 μονάδες] Θεωρήστε τα πιο κάτω αυτόματα Μ1 και Μ2. Να παρουσιάσετε αυτόματο στοίβας Μ το οποίο να αποδέχεται τη γλώσσα L(Μ1)L(Μ2) όπου L(Μ1) η γλώσσα του αυτόματου Μ1 και L(Μ2) η γλώσσα του αυτόματου Μ2., q 1 q 3 q 4 q 5 Μ 1 q 2 Μ 2 To ζητούμενο αυτόματο έχει ως εξής:, ε, ε ε, ε$, ε, ε, ε, ε q 0 q 1 q 3, ε, ε q 2, ε q 4, ε q 5 ε, $ε q 6

(β) [8 μονάδες] Γενικεύστε τις παρατηρήσεις σας από το μέρος (α) για να επιχειρηματολογήσετε ότι αν δύο γλώσσες Α και Β είναι κανονικές τότε η γλώσσα ΑΒ είναι ασυμφραστική. Για να δείξουμε το ζητούμενο υποθέτουμε ότι Μ 1 = (Q 1, Σ, δ 1, q 1, F 1 ) είναι ένα DFA αυτόματο που αναγνωρίζει τη γλώσσα Α και Μ 2 = (Q 2, Σ, δ 2, q 2, F 2 ) είναι ένα DFA αυτόματο που αναγνωρίζει τη γλώσσα Β. Θα δείξουμε ότι υπάρχει αυτόματο στοίβας που αναγνωρίζει τη γλώσσα ΑΒ. Το αυτόματο αυτό είναι το αυτόματο P = (Q 1 Q 2 {q 0, q f }, Σ{$}, δ, q 0, {q f }), όπου,$,,,,,,,,,,,,,, $ Με λόγια, το αυτόματο αυτό ξεκινά γράφοντας το σύμβολο $ για να αναγνωρίζει τον πάτο της στοίβας. Στη συνέχεια διαβάζει την είσοδο και τη χειρίζεται σύμφωνα με το αυτόματο Μ 1 και τη συνάρτηση μεταβάσεων δ 1 με τη διαφορά ότι σε κάθε ανάγνωση συμβόλου τοποθετεί το σύμβολο μέσα στη στοίβα για να γνωρίζει τη λέξη που έχει διαβαστεί. Όταν φτάσει σε τελική κατάσταση του αυτομάτου Μ 1 υπάρχει η δυνατότητα χωρίς να διαβάσει σύμβολο από την είσοδο και χωρίς να διαβάσει ή να γράψει στη στοίβα να προχωρήσει στην αρχική κατάσταση του αυτομάτου που αναγνωρίζει τη γλώσσα Β. Από τις καταστάσεις αυτές χειρίζεται την είσοδο σύμφωνα με το δεύτερο αυτόματο με τη διάφορα ότι με κάθε σύμβολο που διαβάζει πρέπει το ίδιο σύμβολο μα εμφανίζεται στην κορυφή της στοίβας το οποίο και αφαιρεί. Αν καταλήξει σε τελική κατάσταση του αυτομάτου Β και η στοίβα αδειάσει τότε το αυτόματο οδηγείται στην κατάσταση q f οπόταν θα αποδεχθεί τη λέξη. Μπορούμε να αποδείξουμε ότι το αυτόματο στοίβας Ρ αποδέχεται μια λέξη w αν και μόνο αν w ΑΒ: Ας υποθέσουμε λοιπόν ότι w L(T). Τότε η w μπορεί να γραφτεί στη μορφή w = w 1 w 2 w m όπου κάθε w i Σ ε, και υπάρχει ακολουθία καταστάσεων r 0, r 1,, r m και ακολουθία λέξεων s 0, s 1,, s m Γ * που να ικανοποιούν τις συνθήκες: r 0 = και s 0 = ε Για κάθε i = 0,,m 1,, δ,,, όπου s i = t και s i+1 =t για κάποια, Γ ε και t Γ *, και r m = q f Τότε, από τον ορισμό του Ρ, r 1,, r k Q 1, r k+1,, r m 1 Q 2, r 1 η αρχική κατάσταση του αυτόματου Μ 1 και r k F 1, r k+1 η αρχική κατάσταση του αυτόματου Μ 2 και r m 1 F 2 ενώ οι δύο ακολουθίες πρέπει να είναι ανάστροφες η μια της άλλης αφού στην πρώτη ακολουθία εισάγουμε τα στοιχεία στη στοίβα, ενώ στη δεύτερη ακολουθία

αφαιρούμε τα ίδια στοιχεία σε αντίστροφη σειρά. Συνεπώς, w = εαβε, όπου α = β R. Συμπεραίνουμε ότι w ΑΒ. Η αντίθετη κατεύθυνση, σύμφωνα με την οποία αν w ΑΒ τότε w L(P) ακολουθεί όμοια επιχειρήματα.