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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 4-1

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

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

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

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

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

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

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

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

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

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ. Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα. ΑΡΧΗ Εντολές ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Ασκήσεις μελέτης της ενότητας «Συντακτική Ανάλυση»

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

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

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

f(t) = (1 t)a + tb. f(n) =

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

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

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

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

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

Αριθμητική Ανάλυση & Εφαρμογές

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

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

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Εισαγωγή στον Προγραμματισμό

CSC 314: Switching Theory

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

Γλώσσες Χωρίς Συμφραζόμενα

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

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

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

Δομές Δεδομένων. Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή. Καθηγήτρια Μαρία Σατρατζέμη

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

Ασκήσεις μελέτης της ενότητας «Συντακτική Ανάλυση»

Μαθηματικά Γ Γυμνασίου

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

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

ΜΑΘΗΜΑΤΙΚΑ - Γ ΓΥΜΝΑΣΙΟΥ

Μαθηματικά Γ Γυμνασίου. Επαναληπτικές Ασκήσεις στο Κεφάλαιο 1: Μονώνυμα - Πολυώνυμα - Ταυτότητες

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Transcript:

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { xyw 1w 2 x, y {a, b}, w 1 = a n, w 2 = b 2n, όπου, αν x=y=a, τότε n = 2k, διαφορετικά n = 2k + 1, για k 0 } [Παράδειγμα: Οι λέξεις aaaaaabbbbbbbb, abaaabbbbbb ανήκουν στη γλώσσα, ενώ οι λέξεις bbaabbbb και ababbb δεν ανήκουν στη γλώσσα.] (β) { a i b j c k i, j, k 0 και 2i = 3j ή 5i = 7k } (γ) { w w L(0 n 1*[ (0 11)*(1 00)* ]*0*1 n ), n 0 } (α) Μια γραμματική για τη γλώσσα έχει ως εξής: S aat abr bar bbr T arbb ε R aτbb H μεταβλητή S τοποθετεί τα δύο πρώτα σύμβολα και προσδιορίζει ότι στη συνέχεια η κατασκευή λέξεων θα ακολουθήσει τη μεταβλητή Τ, στην περίπτωση που η λέξη ξεκινά με aa, διαφορετικά η κατασκευή θα ακολουθήσει τη μεταβλητή R. Οι μεταβλητές Τ και R δημιουργούν λέξεις της μορφής a n b 2n, όπου n άρτιος και n περιττός, αντίστοιχα. (β) Μια γραμματική για τη γλώσσα έχει ως εξής: S TC R T aaatbb ε C cc ε R aaaaaaarccccc B B bb ε H μεταβλητή S δημιουργεί τους δύο τύπους λέξεων (2i = 3j ή 5i = 7k) ξεχωριστά μέσω των επιλογών TC και R. (γ) Μια γραμματική για τη γλώσσα έχει ως εξής: S 0S1 T T XYZ X 1X ε Z 0Z ε Y AΒY ε Α 0Α 11Α ε Β 1Β 00Β ε H μεταβλητή S τοποθετεί ζευγάρια από 0 και 1 στην αρχή και στο τέλος της κάθε λέξης. Στη συνέχεια, η μεταβλητή Τ δημιουργεί λέξεις της μορφής 1*[(0 11)*(1 00)*]*0*: το Χ δημιουργεί το τμήμα 1*, το Υ δημιουργεί το τμήμα [(0 11)*(1 00)*]* και το Ζ το τμήμα 0*. Με τη σειρά του το Υ χρησιμοποιεί τις μεταβλητές Α και Β για την κατασκευή των (0 11)* και (1 00)*, αντίστοιχα. Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2018 Σελίδα 1

Άσκηση 2 Να κατασκευάσετε αυτόματα στοίβας για τις γλώσσες της Άσκησης 1. (Να κτίσετε τα αυτόματα κατευθείαν και όχι μέσω μετατροπής των γραμματικών από την Άσκηση 1.) (α) { xyw 1w 2 x, y {a, b}, w 1 = a n, w 2 = b 2n, όπου, αν x=y=a, τότε n = 2k, διαφορετικά n = 2k + 1, για k 0 } : 3 6 a,ε X a,ε X b,ε ε b,χ ε a,ε ε ε,$ ε 4 7 9 a,ε $ 0 1 b,ε $ b,ε ε a,ε X 2 a,ε ε b,ε ε 5 a,ε X 8 Το ζητούμενο αυτόματο φαίνεται πιο πάνω. Το αυτόματο ξεκινά με την ανάγνωση των 2 πρώτων συμβόλων, γράφει το $ στον πάτο της στοίβας, και καθορίζει την εξέλιξή του, προχωρώντας στην κατάσταση 4 αν τα δύο πρώτα σύμβολα ήταν aa, διαφορετικά προχωρώντας στην κατάσταση 5. Στη συνέχεια, από την κατάσταση 4 διαβάζει ένα άρτιο αριθμό από a και για κάθε ένα από αυτά τοποθετεί ένα Χ στη στοίβα. Στη συνέχεια διαβάζει b και για κάθε δύο b που διαβάζει αφαιρεί ένα Χ από τη στοίβα, με αυτό τον τρόπο επιθυμώντας να διασφαλίσει ότι ο αριθμός των b που θα διαβαστεί θα είναι διπλάσιος από τον αριθμό των α που προηγήθηκαν. Αν η στοίβα αδειάσει και η ανάγνωση της λέξης ολοκληρωθεί, τότε το αυτόματο αποδέχεται τη λέξη. Στην κατάσταση 5, η λειτουργία είναι παρόμοια με μόνη διαφορά ότι το αυτόματο επιδιώκει να διαβάσει περιττό αριθμό από a πριν προχωρήσει στην ανάγνωση των b. (β) { a i b j c k i, j, k 0 και 2i = 3j ή 5i = 7k } Το ζητούμενο αυτόματο διακλαδώνεται σε δύο τμήματα. Το άνω τμήμα ελέγχει κατά πόσο η λέξη έχει τη μορφή a i b j c k, όπου 2i = 3j, ενώ το κάτω τμήμα ελέγχει κατά πόσο η λέξη έχει τη μορφή a i b j c k, όπου 5i = 7k. Προς αυτό τον στόχο, στο πάνω τμήμα του αυτομάτου, το αυτόματο τοποθετεί ένα Χ στη στοίβα για κάθε 3 a που διαβάζει και αφαιρεί ένα Χ για κάθε 2 b που θα ακολουθήσουν. Παρόμοια, στο κάτω τμήμα, τοποθετεί ένα Χ στη στοίβα για κάθε 7 a που διαβάζει και αφαιρεί ένα Χ για κάθε 5 c που θα ακολουθήσουν. Σημειώστε ότι για συντομία, στο αυτόματο χρησιμοποιούνται ως συντομογραφίες τα 7a,ε X (και 5c,X ε ) που δηλώνουν την ακολουθία μεταβάσεων κατά την οποία Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2018 Σελίδα 2

διαβάζονται 7 a και γράφεται ένα Χ στη στοίβα (διαβάζονται 5c και αφαιρείται ένα Χ από τη στοίβα). Η συντομογραφία μπορείς να υλοποιηθεί σε όρους αυτομάτων στοίβας όπως περιγράφεται στις διαφάνειες 5 22 μέχρι και 5 24. 2 a,ε ε 3 5 a,ε ε a,ε X b,ε ε b,χ ε c,ε ε ε,ε $ 1 4 ε,$ ε 6 0 ε,ε $ 7 8 9 ε,$ ε 10 7a,ε X b,ε ε 5c, X ε (γ) { w w L(0 n 1*[ (0 11)*(1 00)* ]*0*1 n ), n 0 } Το ζητούμενο αυτόματο φαίνεται πιο κάτω. Οι κύκλοι στις καταστάσεις 1 και 8 διασφαλίζουν ότι το πλήθος των 0 στην αρχή της λέξης είναι ίσο με το πλήθος των 1 στο τέλος της. Το ενδιάμεσο τμήμα της λέξης κτίζεται βήμα με βήμα στις καταστάσεις 2 7. 0, ε x 1,ε ε 0,ε ε 1,ε ε 0,ε ε 1, x ε 0 ε,ε $ 1 2 3 5 7 8 ε,$ ε 9 1,ε ε 1,ε ε 0,ε ε 0,ε ε 4 6 Άσκηση 3 Θεωρήστε τη γραμματική G = (V, S, Ρ, ), όπου V = {, integer, nonzero_digit, digit, digits }, S = { 0, 1,, 9, +,^, (, ) }, και R οι πιο κάτω κανόνες. ^ integer integer nonzero_digit digits digit nonzero_digit 1 9 digit 0 nonzero_digit Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2018 Σελίδα 3

digits digit digit digits (α) Να κατασκευάσετε παραγωγές και τα αντίστοιχα συντακτικά δέντρα για τις λέξεις (i) ((1+2)^3)^8 (ii) (1+2) + (2^(1+3)) (i) Συντακτικό Δέντρο: ^ ( ) integer digit ( ) ^ integer nonzero_digit + digit 8 integer integer nonzero_digit digit digit 3 nonzero_digit nonzero_digit 1 2 Παραγωγή: ^ ()^ (^)^ (()^)^ ((+)^)^ 4 ((integer+ integer)^ integer)^ integer 4 ((digit + digit)^ digit)^ digit 4 ((nonzero_digit + nonzero_digit)^ nonzero_digit)^ nonzero_digit 4 ((1 + 2)^ 3)^ 8 (ii) Παραλείπεται. Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2018 Σελίδα 4

(β) Να εντοπίσετε έκφραση E που να παράγεται από τη γραμματική G μέσω δύο διαφορετικών συντακτικών δέντρων, Τ 1 και Τ 2, τέτοια ώστε η αποτίμηση της Ε με κάθε ένα από τα συντακτικά δένδρα να δίνει διαφορετικές τιμές. Θεωρούμε τη λέξη 1+2^3. Η λέξη αυτή θα μπορούσε να ερμηνευθεί τόσο ως την πρόταση 1 + (2^3) (η οποία έχει αποτίμηση 9) όσο και την πρόταση (1+2)^3 (η οποία έχει αποτίμηση 27). Οι σχετικές παραγωγές φαίνονται πιο κάτω. 1. + + ^ 3 integer + integer^integer 3 digit + digit^digit 3 nonzero_digit + nonzero_digit ^ nonzero_digit 3 1 + 2^3 2. ^ + ^ 3 integer + integer^integer 3 digit + digit^digit 3 nonzero_digit + nonzero_digit ^ nonzero_digit 3 1 + 2^3 Επομένως η γραμματική είναι πολύτροπη. (γ) Να προτείνετε μια καινούρια γραμματική που να παράγει την ίδια γλώσσα με τη G αλλά να είναι μονότροπη. Εξηγήστε σύντομα την απάντησή σας. oros oros oros oros^paragontas paragontas paragontas integer integer nonzero_digit digits digit nonzero_digit 1 9 digit 0 nonzero_digit digits digit digit digits H πιο πάνω γραμματική εξαναγκάζει, κάθε φορά που θέλουμε να εφαρμόσουμε κάποια δύναμη σε μια σύνθετη έκφραση (π.χ. πρόταση που να περιέχει άθροισμα) να χρησιμοποιούνται παρενθέσεις. Με αυτό τον τρόπο επιτρέπει την παραγωγή 1 από το σκέλος (β) αλλά όχι την παραγωγή 2. Άσκηση 4 Να δείξετε ότι οι πιο κάτω γλώσσες δεν είναι ασυμφραστικές χρησιμοποιώντας το Λήμμα της Άντλησης για Ασυμφραστικές Γλώσσες. (α) Λ 1 = {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m είναι το πλήθος των εμφανίσεων του 0 και 1, αντίστοιχα, στη λέξη w 1}. Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η Λ 1 είναι ασυμφραστική. Τότε, σύμφωνα με το Λήμμα της Άντλησης, υπάρχει p, το μήκος άντλησης της γλώσσας, τέτοιο ώστε κάθε Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2018 Σελίδα 5

λέξη της γλώσσας με μήκος μεγαλύτερο από p να ικανοποιεί την ιδιότητα που περιγράφεται στο λήμμα. Ας επιλέξουμε τη λέξη w = 0 p 1 p 0 p 1 p και ας ονομάσουμε τα τμήματα της λέξης ως Α, Β, Γ, Δ όπου Α=0 p, Β=1 p, Γ = 0 p, Δ = 1 p, w = ABΓΔ Τότε, σύμφωνα με το λήμμα, w = uvxyz έτσι ώστε η υπολέξη vxy περιέχει το πολύ p σύμβολα ( vxy p), τουλάχιστον μία από τις v και y να είναι μη κενή ( vy > 0) και οποιαδήποτε ταυτόχρονη επανάληψη ή αφαίρεση των υπολέξεων v και y να διατηρεί την προκύπτουσα λέξη εντός της γλώσσας (uv i xy i z Λ 1, i 0). Αφού vxy p, τότε η λέξη αυτή δεν μπορεί να εκτείνεται σε περισσότερα από δύο τμήματα της λέξης. Διακρίνουμε τις πιο κάτω περιπτώσεις. Αν τα v και y εκτείνονται στο τμήμα Α τότε αν αφαιρέσουμε τα τμήματα v και y, η λέξη που θα προκύψει θα έχει τη μορφή 0 p λ μ 1 p 0 p 1 p, όπου v = 0 λ και y = 0 μ. Προφανώς η λέξη δεν ανήκει στη γλώσσα αφού το πλήθος των 0 στο πρώτο σκέλος της λέξης δεν είναι ίσο με το πλήθος των 0 στο δεύτερο σκέλος της λέξης. Παρόμοια μπορούμε να χειριστούμε τις περιπτώσεις όπου τα v και y εκτείνονται σε ένα μόνο από τα τμήματα Β, Γ και Δ. Αν τα v και y εκτείνονται στα τμήματα Α και Β τότε, αν αφαιρέσουμε τα τμήματα v και y η λέξη uv 0 xy 0 z θα ικανοποιεί ένα από τα πιο κάτω: o Αν v = 0 λ και y = 1 μ τότε η λέξη θα έχει τη μορφή μορφή 0 p λ 1 p μ 0 p 1 p. Προφανώς η λέξη δεν ανήκει στη γλώσσα αφού τα 0 και τα 1 στο πρώτο σκέλος της λέξης δεν είναι ίσα με αυτά στο δεύτερο σκέλος της λέξης. o Αν v = 0 λ 1 μ και y = 1 ν τότε η λέξη θα έχει τη μορφή μορφή 0 p λ 1 p μ ν 0 p 1 p. Προφανώς η λέξη δεν ανήκει στη γλώσσα αφού τα 0 και τα 1 στο πρώτο σκέλος της λέξης δεν είναι ίσα με αυτά στο σκέλος 0 p 1 p. o Αν v = 0 λ και y = 0 μ 1 ν τότε η λέξη θα έχει τη μορφή μορφή 0 p λ μ 1 p ν 0 p 1 p. Προφανώς η λέξη δεν ανήκει στη γλώσσα αφού τα 0 και τα 1 στο πρώτο σκέλος της λέξης δεν είναι ίσα με αυτά στο σκέλος 0 p 1 p. Σε κάθε περίπτωση η προκύπτουσα λέξη δεν ανήκει στη γλώσσα. Παρόμοια μπορούμε να χειριστούμε τις περιπτώσεις όπου τα v και y εκτείνονται στα τμήματα Β και Γ, ή Γ και Δ. Αυτό μας οδηγεί σε αντίφαση και επομένως η υπόθεσή μας ότι η γλώσσα Λ 1 είναι ασυμφραστική ήταν εσφαλμένη. Συμπέρασμα: Η Λ 1 είναι μη ασυμφραστική. (β) Λ 2 = Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η Λ 2 είναι ασυμφραστική. Τότε, σύμφωνα με το Λήμμα της Άντλησης, υπάρχει p, το μήκος άντλησης της γλώσσας, τέτοιο ώστε κάθε λέξη της γλώσσας με μήκος μεγαλύτερο από p να ικανοποιεί την ιδιότητα που περιγράφεται στο λήμμα. Ας επιλέξουμε τη λέξη w =. Τότε, σύμφωνα με το λήμμα, w = uvxyz έτσι ώστε η υπολέξη vxy περιέχει το πολύ p σύμβολα ( vxy p), τουλάχιστον μία από τις v και y να είναι μη κενή ( vy > 0) και Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2018 Σελίδα 6

οποιαδήποτε ταυτόχρονη επανάληψη/αφαίρεση των υπολέξεων v και y να διατηρεί την προκύπτουσα λέξη εντός της γλώσσας (uv i xy i z Λ 2, i 0). Διακρίνουμε τις πιο κάτω περιπτώσεις: Αν οι λέξεις u και v περιέχουν μόνο a, τότε πρέπει να ισχύει ότι v = a λ, y = a μ και λ+μ p. Επίσης, από το λήμμα, πρέπει να ισχύει ότι uv 2 xy 2 z Λ 2. Έχουμε ότι uv 2 xy 2 z =a αλλά η λέξη προφανώς δεν ανήκει στο Λ 2, αφού (p+λ+μ) 2 p 2. Αν οι λέξεις u και v περιέχουν μόνο b, τότε πρέπει να ισχύει ότι v = b λ, y = b μ και λ+μ p. Επίσης, από το λήμμα, πρέπει να ισχύει ότι uv 2 xy 2 z Λ 2. Έχουμε ότι uv 2 xy 2 z =a αλλά η λέξη προφανώς δεν ανήκει στο Λ 2, αφού (p+λ+μ) 2 p 2. Αν η λέξη v = α λ, y = b μ τότε uv 2 xy 2 z =a. Παρατηρούμε ότι αφού λ +μ p p 2 +μ p 2 + p λ < p 2 + 2pλ + λ 2 = (p+λ) 2 Συμπεραίνουμε και πάλι ότι η λέξη δε ανήκει στη γλώσσα. Αυτό μας οδηγεί σε αντίφαση και επομένως η υπόθεσή μας ότι η γλώσσα Λ 2 είναι ασυμφραστική ήταν εσφαλμένη. Συμπέρασμα: Η Λ 2 είναι μη ασυμφραστική. (γ) Λ 3 = { a i b j c k i, j, k 0, 2i = 3j και 5i = 7k } Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η Λ 3 είναι ασυμφραστική. Τότε, σύμφωνα με το Λήμμα της Άντλησης, υπάρχει p, το μήκος άντλησης της γλώσσας, τέτοιο ώστε κάθε λέξη της γλώσσας με μήκος μεγαλύτερο από p να ικανοποιεί την ιδιότητα που περιγράφεται στο λήμμα. Ας επιλέξουμε τη λέξη w = a 21p b 14p c 15p και ας ονομάσουμε τα τμήματα της λέξης ως Α, Β, Γ, όπου Α=a 21p, b 14p, Γ = c 15p. Τότε, σύμφωνα με το λήμμα, w = uvxyz έτσι ώστε η υπολέξη vxy περιέχει το πολύ p σύμβολα ( vxy p), τουλάχιστον μία από τις v και y να είναι μη κενή ( vy > 0) και οποιαδήποτε ταυτόχρονη επανάληψη/αφαίρεση των υπολέξεων v και y να διατηρεί την προκύπτουσα λέξη εντός της γλώσσας (uv i xy i z Λ 1, i 0). Αφού vxy p, τότε η λέξη αυτή δεν μπορεί να εκτείνεται σε περισσότερα από δύο τμήματα της λέξης. Διακρίνουμε τις πιο κάτω περιπτώσεις. Αν η vxy εκτείνεται μόνο στο τμήμα Α, τότε τα v και y θα αποτελούνται μόνο από a. Επομένως, αν αφαιρέσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας για τον λόγο ότι τα a δεν έχουν ποια τη ζητούμενη σχέση με τα b και τα c. Αν η vxy εκτείνεται μόνο στο τμήμα Β ή μόνο στο τμήμα Γ, τότε τα v και y θα αποτελούνται μόνο από b ή μόνο από c. Επομένως, αν αφαιρέσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας για τον λόγο ότι τα a δεν έχουν ποια τη ζητούμενη σχέση με τα b και τα c. Αν η vxy εκτείνεται τόσο ανάμεσα στα a όσο και ανάμεσα στα b τότε, και εφόσον τα v και y είναι μη κενά, η λέξη w = uv 0 xy 0 z = a 21p λ b 14p μ c 15p, όπου λ το πλήθος των a στα u και v, και μ πλήθος των b στα u και v. Τότε, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας για τον λόγο ότι τα a δεν θα έχουν ποια τη ζητούμενη σχέση με τα c. Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2018 Σελίδα 7

Τέλος, αν η vxy εκτείνεται τόσο ανάμεσα στα b όσο και ανάμεσα στα c, και εφόσον τα v και y είναι μη κενά η λέξη w = uv 0 xy 0 z = a 21p b 14p λ c 15p μ, όπου λ το πλήθος των a στα u και v, και μ πλήθος των b στα u και v. Τότε, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας και πάλι για τον λόγο ότι τα a δεν θα έχουν ποια τη ζητούμενη σχέση με τα c. Αυτό μας οδηγεί σε αντίφαση και επομένως η υπόθεσή μας ότι η γλώσσα Λ 3 είναι ασυμφραστική ήταν εσφαλμένη. Συμπέρασμα: Η Λ 3 είναι μη ασυμφραστική. Άσκηση 5 Ένας ασυμφραστικός μετατροπέας είναι ένα αυτόματο στοίβας, το οποίο έχει στη διάθεσή του μια ταινία στην οποία μπορεί να γράφει δεδομένα σε κάθε βήμα του υπολογισμού του. Τυπικά, ένας ασυμφραστικός μετατροπέας ορίζεται ως μια πλειάδα (Q, Σ, Γ, q 0, F, δ) όπου (1) Q είναι το σύνολο καταστάσεων, (2) Σ είναι το αλφάβητο εισόδου και εξόδου (αλφάβητο ταινίας), (3) Γ είναι το αλφάβητο της στοίβας, (4) q 0 είναι η εναρκτήρια κατάσταση, (5) F είναι το σύνολο των καταστάσεων αποδοχής, και (6) δ είναι η συνάρτηση μεταβάσεων η οποία έχει τύπο δ: Q Σ ε Γ ε Ρ(Q Γ ε Γ ε), όπου αν (s, a, b) δ(q, x, y), τότε από την κατάσταση q, με σύμβολο εισόδου το x και σύμβολο κορυφής της στοίβας το y, το αυτόματο μπορεί να προχωρήσει στην κατάσταση s, να γράψει στην κορυφή της στοίβας το σύμβολο a και στην αμέσως επόμενη θέση της ταινίας εξόδου το σύμβολο b. Να δημιουργήσετε έναν ασυμφραστικό μετατροπέα με αλφάβητο εισόδου το Σ = { 0, 1,..., 9, +, x, (, ) } ο οποίος να μετατρέπει αριθμητικές εκφράσεις (οι οποίες μπορούν να περιέχουν θετικούς ακέραιους, παρενθέσεις, και τις πράξεις της πρόσθεσης και του πολλαπλασιασμού) από ένθετη μορφή (infix notation) σε επιθεματική μορφή (postfix notation, Αντίστροφος Πολωνικός Συμβολισμός). Παραδείγματα Ένθετη μορφή Επιθεματική μορφή 123 + 5 123 5 + (2 + 12) x 5 +3 2 12 + 5 x 3 + 60+((5+3)*(2+4)) 60 5 3 + 2 4 + * + Η ζητούμενη διαδικασία μπορεί να υλοποιηθεί μέσω του πιο κάτω αλγόριθμου Γράψε $ στη στοίβα για να αναγνωρίζεις τον πάτο της Για κάθε σύμβολο c που διαβάζεις { αν ο c είναι ακέραιος: τύπωσέ τον στην ταινία ( : γράψε τον στη στοίβα ) : ανέτρεξε στη στοίβα αφαιρώντας και τυπώνοντας στην ταινία όλα τα στοιχεία μέχρι την πρώτη ( που θα Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2018 Σελίδα 8

} συναντήσεις την οποία αφαίρεσε χωρίς να τυπώσεις + : αφαίρεσε και τύπωσε όλα τα + και * που βρίσκονται στη στοίβα μέχρι να συναντήσεις μια ( ή να αδειάσει η στοίβα και στη συνέχεια πρόσθεσε το + στη στοίβα * : αφαίρεσε και τύπωσε όλα τα * που βρίσκονται στη στοίβα μέχρι να συναντήσεις μια ( ή ένα + ή να αδειάσει η στοίβα και στη συνέχεια πρόσθεσε το * αφαίρεσε και τύπωσε όλα τα στοιχεία που παραμένουν στη στοίβα. Ο αλγόριθμος μπορεί να κωδικοποιηθεί ως το πιο κάτω αυτόματο στοίβας. Χρησιμοποιούμε τον συμβολισμό a, b c, d, για να δηλώσουμε ότι για είσοδο a και στοιχείο κορυφής της στοίβας το b γράφουμε το c στη στοίβα και το d στην ταινία. Επίσης γράφουμε λ για να συμβολίσουμε τους ακέραιους 0 9. ε,+ ε, + ε,* ε,* 3 ),ε ε,ε b,b B ε,( ε,ε ε,+ ε, + ε,* ε,* 1 ε,ε $,ε ε,+ ε, + ε,* ε,* λ,ε ε, λ (,ε (,ε +,ε ε,ε 4 2 ε,( +,ε ε,$ $+,ε *,ε ε,ε,ε ε,( *,ε ε,$ $*,ε ε,+ +*,ε 5 ε,* ε,* 6 ε,$ ε,ε 7 Λύσεις Σειράς Προβλημάτων 3 Χειμερινό Εξάμηνο 2018 Σελίδα 9