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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

L mma thc 'Antlhshc. A. K. Kapìrhc

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

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

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

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

Transcript:

Άσκηση 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} + και όλα τα στοιχεία του v είναι μικρότερα από αυτά του x } (γ) { x#y x, y {a,b} * και η x rev είναι υπολέξη της y } (α) Μια γραμματική για τη γλώσσα έχει ως εξής: S asd axc byd bzc ε Χ axc Ζ Υ byd Ζ Z bzc ε H γραμματική δημιουργεί λέξεις που ξεκινούν με a ή b και τελειώνουν σε c ή d. Μόλις τοποθετηθεί ένα b στο πρώτο μισό κάποιας λέξης τότε δεν είναι δυνατό να ακολουθήσουν άλλα a (μεταβλητές Υ και Ζ) και, παρόμοια, μόλις τοποθετηθεί κάποιο c στο δεύτερο μισό της λέξης δεν μπορούν να προηγηθούν άλλα d (μεταβλητές Χ και Ζ). Οι κανόνες επίσης υλοποιούν το ζητούμενο i + j = k + m αφού για κάθε a ή b τοποθετείται ένα c ή ένα d. (β) Μια γραμματική για τη γλώσσα έχει ως εξής: S AB A 0 1 2 0A 1A 2A B 2B2 1C1 2D2 C 2C2 1C1 E D 0 1 0D 1D E 0 0E H γραμματική ξεκινά κτίζοντας το κομμάτι u της λέξης, χρησιμοποιώντας τα σύμβολα 0, 1 και 2 μέσω της μεταβλητής Α. Στη συνέχεια κατασκευάζει το τμήμα xvx rev μέσω της μεταβλητής Β. Διακρίνουμε δύο περιπτώσεις: Το τμήμα x περιέχει μόνο το σύμβολο 2: Τότε το τμήμα v μπορεί να περιέχει τα σύμβολα 0 και 1 και κατασκευάζεται μέσω της μεταβλητής D. To τμήμα x περιέχει τα σύμβολα 1 και 2: Τότε το τμήμα v μπορεί να περιέχει μόνο το σύμβολο 0 και κατασκευάζεται μέσω της μεταβλητής Ε. (γ) Μια γραμματική για τη γλώσσα έχει ως εξής: S ΧT Χ aχa bxb #T T aτ bτ ε Για να πετύχουμε ότι η x rev είναι υπολέξη της y, κατασκευάζουμε τη λέξη έτσι ώστε κάθε σύμβολο της x να τοποθετείται σε αντίστροφη σειρά στο δεύτερο μισό της λέξης, ενώ τόσο πριν από το x rev όσο και μετά από αυτό είναι δυνατόν να υπάρχουν και άλλα σύμβολα, τα οποία τοποθετούνται μέσω της μεταβλητής Τ. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2017 Σελίδα 1

Άσκηση 2 Να κατασκευάσετε αυτόματα στοίβας για τις γλώσσες της Άσκησης 1. (Να κτίσετε τα αυτόματα κατευθείαν και όχι μέσω μετατροπής των ασυμφραστικών γραμματικών από την Άσκηση 1 σε αυτόματα.) (α) { a i b j c k d m i, j, k, m 0 και i + j = k + m } Ακολουθεί το ζητούμενο αυτόματο. Aπό την αρχική κατάσταση το αυτόματο γράφει $. Στη συνέχεια διαβάζει 0 ή περισσότερα a και ακολούθως 0 ή περισσότερα b. Για κάθε τέτοιο σύμβολο τοποθετεί ένα 1 μέσα στη στοίβα. Συνεχίζει διαβάζοντας 0 ή περισσότερα c και στην συνέχεια 0 ή περισσότερα d. Κάθε φορά αφαιρεί ένα 1 από τη στοίβα. Αποδέχεται αν ολοκληρωθεί η ανάγνωση της εισόδου και ταυτόχρονα αδειάσει η στοίβα. a,ε 1 b,ε 1 c,1 ε d,1 ε 0 ε,ε $ 1 2 3 4 5 (β) { uxvx rev u,v,x {0,1,2} + και όλα τα στοιχεία του v είναι μικρότερα από αυτά του x } Ακολουθεί το ζητούμενο αυτόματο. Από την αρχική κατάσταση το αυτόματο γράφει $. Στη συνέχεια διαβάζει μια ακολουθία από σύμβολα και προχωρά μη ντετερμινιστικά για να διαβάσει το τμήμα x της λέξης(κατάσταση 2). Αν το x αποτελείται μόνο από 2 τότε μη ντετερμινιστικά προχωρεί να διαβάσει το τμήμα v το οποίο μπορεί να αποτελείται από 0 και 1 (κατάσταση 3). Στη συνέχεια προχωρεί για να διαβάσει το τμήμα x rev (κατάσταση 4) όπου αναμένει να διαβάσει όσα a φύλαξε στην κατάσταση προτού αποδεχθεί τη λέξη. Εναλλακτικά, αν η λέξη x περιλαμβάνει ένα 1, το αυτόματο θα προχωρήσει από την κατάσταση 2 στην κατάσταση 5. Από εκεί θα συνεχίσει να διαβάζει και επιπρόσθετα 2 και 1 ενώ στη συνέχεια θα διαβάσει το τμήμα v (το οποίο μπορεί να αποτελείται από 0) στην κατάσταση 6. Τέλος, διαβάζει όσα 2 και 1 διάβασε όντας στην κατάσταση 7, και αποδέχεται εφόσον τα σύμβολα διαβαστούν σε αντίστροφη σειρά από αυτήν στην οποία γράφτηκαν μέσω των καταστάσεων 2 και 5. Το αυτόματο αποδέχεται αν αδειάσει η στοίβα με την ολοκλήρωση της ανάγνωσης της λέξης. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2017 Σελίδα 2

0 0,ε ε 1,ε ε 2,ε ε ε,ε $ 0,ε ε 1,ε ε 0,ε ε 2,ε 2 1,ε ε 2,ε ε 2,ε 2 1 2 3 0,ε ε 1,ε ε 2,2 ε 4 1,ε 1 8 5 6 7 2,ε 2 1,ε 1 0,ε ε 2,2 ε 1,1 ε (γ) { x#y x, y {a,b} * και η x rev είναι υπολέξη της y } Ακολουθεί το ζητούμενο αυτόματο. Από την αρχική κατάσταση το αυτόματο γράφει $. Στη συνέχεια διαβάζει μια ακολουθία από σύμβολα και τα αποθηκεύει στη στοίβα. Στην κατάσταση 1 διαβάζει το # και μη ντετερμινιστικά διαβάζει 0 ή περισσότερα σύμβολα προτού να προχωρήσει στην κατάσταση 3 από την οποία θα αρχίσει να διαβάζει σύμβολα κάνοντας τα pop από τη στοίβα, εφόσον το σύμβολο στην είσοδο συμπίπτει με το σύμβολο κορυφής της στοίβας. Από την κατάσταση 3 είναι σε θέση να προχωρήσει στην κατάσταση 4 από όπου δυνατόν να διαβάσει και επόμενα σύμβολα ενώ, όταν αδειάσει η στοίβα, το αυτόματο προχωρεί στην κατάσταση 5, από όπου θα αποδεχθεί τη λέξη εφόσον δεν απομένουν άλλα σύμβολα στην είσοδο προς ανάγνωση. a,ε a b,ε b a,ε ε b,ε ε a,a ε b,b ε a,ε ε b,ε ε 0 ε,ε $ #,ε ε 1 2 3 4 5 Άσκηση 3 Κατά τη διαδικασία της κωδικοποίησης, ένα μήνυμα (μια λέξη) από κάποιο αλφάβητο μετασχηματίζεται σε μια καινούρια λέξη, στο ίδιο ή κάποιο άλλο αλφάβητο (συνήθως το αλφάβητο {0,1}). Θεωρήστε το αλφάβητο Σ={A,C,G,T} και την κωδικοποίηση που προκύπτει μέσω της συνάρτησης: Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2017 Σελίδα 3

01, if x A 10, if x C code( x) 11, if x G 001, if x T Με αυτή τη συνάρτηση, για παράδειγμα, το μήνυμα ΑΤΤGCA θα κωδικοποιηθεί ως 01 001 001 11 10 01. (α) Η πιο πάνω στρατηγική κωδικοποίησης μπορεί να αναπαρασταθεί μέσω της γραμματικής που ακολουθεί: Μ ΑΜ CM GM TM ε A 01 C 10 G 11 T 001 Να κατασκευάσετε παραγωγές και τα αντίστοιχα συντακτικά δέντρα για τις λέξεις (ι) 001011001 και (ιι) 0110110010111. M TM 001M 001AM 00101M 00101CM 0010110M 0010110AM 001011001M 001011001ε = 001011001 M ΑM 01M 01CM 0110M 0110GM 011011M 011011TM 011011001M 011011001AM 01101100101M 01101100101GM 0110110010111M 0110110010111ε = 0110110010111 Τα συντακτικά δέντρα παραλείπονται. (β) Ένα χαρακτηριστικό που πρέπει να διαθέτει μια κωδικοποίηση είναι ότι κάθε λέξη πρέπει να έχει μια μοναδική κωδικοποίηση. Δηλαδή, κάθε κωδικός πρέπει να μπορεί να αποκωδικοποιηθεί με ακριβώς ένα τρόπο. Στην ορολογία των γραμματικών, μια γραμματική κωδικοποίησης πρέπει να είναι μονότροπη, δηλαδή, δεν πρέπει να υπάρχουν περισσότερες από μια εξ αριστερών παραγωγές για μια λέξη. Να αποφασίσετε κατά πόσο η γραμματική από το σκέλος (α) είναι μονότροπη αιτιολογώντας την απάντησή σας. Η γραμματική είναι μονότροπη. Ας θεωρήσουμε οποιαδήποτε λέξη στο {0,1} * που να ανήκει στο γλώσσα. Παρατηρούμε ότι τα δύο πρώτα σύμβολα της λέξης καθορίζουν και το πρώτο σύμβολο της συμβολοσειράς. Για παράδειγμα, αν αυτά είναι τα 01, τότε η λέξη που αντιστοιχεί στην συγκεκριμένη κωδικοποίηση πρέπει να ξεκινά με Α. Δεν υπάρχει κανένας άλλος κωδικός ο οποίος να ξεκινά με τα δύο σύμβολα. Παρατηρήστε επίσης ότι, αν η λέξη ξεκινά με 00, τότε το επόμενο σύμβολο πρέπει να είναι το 1 και ο μοναδικός τρόπος για να αποκωδικοποιηθούν είναι ως Τ. Με τον ίδιο τρόπο παρατηρούμε ότι και το υπόλοιπο της λέξης μπορεί να αποκωδικοποιηθεί με ένα και μοναδικό τρόπο. (γ) Να δείξετε ότι η πιο κάτω γραμματική είναι πολύτροπη επιδεικνύοντας κάποια λέξη w στο {0,1}* η οποία να μπορεί να παραχθεί από την γραμματική μέσω δύο διαφορετικών εξ αριστερών παραγωγών και να παρουσιάσετε τις σχετικές παραγωγές και τις λέξεις από το αλφάβητο Σ που κωδικοποιούνται ως w. S ΑS CS GS TS ε Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2017 Σελίδα 4

A 00 C 10 G 01 T 001 Θεωρούμε τη λέξη 001001. Η λέξη αυτή θα μπορούσε να είναι η κωδικοποίηση τόσο της λέξης ΑCG όσο και της λέξης ΤΤ. Οι σχετικές παραγωγές φαίνονται πιο κάτω. 1. M ΑM 00M 00CM 0010M 0010GM 001001M 0010010ε = 001001 2. M ΤM 001M 001ΤM 001001M 0010010ε = 001001 Επομένως η γραμματική είναι πολύτροπη. Άσκηση 4 Να δείξετε ότι οι πιο κάτω γλώσσες δεν είναι ασυμφραστικές χρησιμοποιώντας το Λήμμα της Άντλησης για Ασυμφραστικές Γλώσσες. (α) Λ 1 = { uxvx rev u,v,x {0,1,2} + και u = v } Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η Λ 1 είναι ασυμφραστική. Τότε, σύμφωνα με το Λήμμα της Άντλησης, υπάρχει p, το μήκος άντλησης της γλώσσας, τέτοιο ώστε κάθε λέξη της γλώσσας με μήκος μεγαλύτερο από p να ικανοποιεί την ιδιότητα που περιγράφεται στο λήμμα. Ας επιλέξουμε τη λέξη w = 2 p 1 p 0 p 1 p και ας ονομάσουμε τα τμήματα της λέξης ως Α, Β, Γ, Δ, όπου Α=2 p, Β = 1 p, Γ=0 p, Δ=1 p. Τότε, σύμφωνα με το λήμμα, 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 θα αποτελούνται μόνο από 2. Επομένως, αν αντλήσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας: uv 2 xy 2 z = 2 p+λ+μ 1 p 0 p 1 p Λ 1, για μ = v, λ = y. Το ίδιο επιχείρημα μπορεί να εφαρμοστεί για να δείξουμε ότι, αν η vxy εκτείνεται σε ένα από τα τμήματα Β, Γ και Δ τότε, και πάλι, η λέξη δεν επιδέχεται άντλησης. Αν η vxy ξεκινά από το τμήμα Α και εκτείνεται πέραν αυτού, τότε άντληση των τμημάτων v και y θα έχει ως αποτέλεσμα τη μεταβολή του πλήθους των συμβόλων 2 που υπάρχουν στο Α και τη μεταβολή του πλήθους των 1 στο τμήμα Β. Σε κάθε περίπτωση η προκύπτουσα λέξη δεν θα ανήκει στη γλώσσα αφού το μέγεθος των τμημάτων Γ και Δ θα παραμείνει σταθερό. Το ίδιο επιχείρημα μπορεί να εφαρμοστεί για να δείξουμε ότι, αν η vxy ξεκινά από το τμήμα Β εκτείνεται πέραν αυτού τότε, και πάλι, η λέξη δεν επιδέχεται άντλησης όπως επίσης και για την περίπτωση που η vxy ξεκινά από το τμήμα Γ εκτείνεται πέραν αυτού. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2017 Σελίδα 5

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

Τότε, σύμφωνα με το λήμμα, w = uvxyz έτσι ώστε η υπολέξη vxy περιέχει το πολύ p σύμβολα ( vxy p), τουλάχιστον μία από τις v και y να είναι μη κενή ( vy > 0) και οποιαδήποτε ταυτόχρονη επανάληψη των υπολέξεων v και y να διατηρεί την προκύπτουσα λέξη εντός της γλώσσας (uv i xy i z Λ 3, i 0). Έστω u = 0 κ, v = 0 λ, x = 0 μ, y = 0 ν, w = 0 ξ όπου κ+λ+μ+ν+ξ = q. Από το λήμμα, πρέπει να ισχύει ότι uv κ+ξ+μ xy κ+ξ+μ z L 3. Αλλά, uv κ+μ+ξ xy κ+μ+ξ z = 0 κ 0 λ(κ+μ+ξ) 0 μ 0 ν(κ+μ+ξ) 0 ξ = 0 κ+λ(κ+μ+ξ)+μ+ν(κ+μ+ξ)+ξ = 0 (λ+ν+1)(κ+μ+ξ) και, προφανώς ο αριθμός (λ+ν+1)(κ+μ+ξ) δεν είναι πρώτος αριθμός. Επομένως η λέξη uv κ+μ+ξ xy κ+μ+ξ z δεν ανήκει στη γλώσσα L 3. Αυτό μας οδηγεί σε αντίφαση και επομένως η υπόθεσή μας ότι η γλώσσα Λ 3 είναι ασυμφραστική ήταν εσφαλμένη. Συμπέρασμα: Η Λ 3 είναι μη ασυμφραστική. Άσκηση 5 (α) Έστω μια ασυμφραστική γλώσσα Α και μια κανονική γλώσσα Β. Να δείξετε ότι η γλώσσα Α Β είναι ασυμφραστική. (β) Έστω μια ασυμφραστική γλώσσα Α. Να δείξετε ότι το συμπλήρωμα της Α,, δεν είναι απαραίτητα ασυμφραστική γλώσσα. (α) Η απόδειξη είναι κατασκευαστική. Συγκεκριμένα θα δείξουμε ότι αν υπάρχουν DFA που αναγνωρίζει τη γλώσσα Α και PDA που αναγνωρίζει τη γλώσσα Β τότε υπάρχει ΡDA που αναγνωρίζει τη γλώσσα Α Β. Ας υποθέσουμε ότι τα αυτόματα Μ 1 = (Q 1, Σ, δ 1, q 1, F 1) και Μ 2 = (Q 2, Σ, Γ, δ 2, q 2, F 2) αναγνωρίζουν τις γλώσσες Α και Β αντίστοιχα. Κατασκευάζουμε το αυτόματο Μ = (Q, Σ, Γ δ, q 0, F) που αναγνωρίζει τη γλώσσα Α Β ως εξής: Q = {(r 1, r 2) r 1 Q 1, r 2 Q 2} Σ: το αλφάβητο είναι το ίδιο με αυτό των Μ 1 και Μ 2. Για κάθε (r 1, r 2) Q, a Σ και b Γ, θέτουμε δ((r 1, r 2), a, b) = ( (δ 1(r 1, a), s), c), όπου δ 2(r 2, a, b) = (s, c) q 0 = (q 1, q 2) F = {(r 1, r 2) Q r 1 F 1 και r 2 F 2} Με λόγια, το πιο πάνω αυτόματο που έχουμε κατασκευάσει, παρακολουθεί ταυτόχρονα τις μεταβάσεις των δύο επιμέρους αυτομάτων. Μετά από την ανάγνωση οποιασδήποτε λέξης w, και καθώς βρίσκεται σε κάποια κατάσταση (s,s ), οι s και s αντιπροσωπεύουν τις καταστάσεις στην οποία θα βρισκόταν το κάθε ένα από τα επιμέρους αυτόματα μετά από την ανάγνωση της συγκεκριμένης λέξης. Το αυτόματο χρησιμοποιεί τη στοίβα αποκλειστικά για την επεξεργασία του δεύτερου αυτόματου, που είναι το μόνο αυτόματο που χρειάζεται τη στοίβα. Το αυτόματο αποδέχεται εφόσον και τα δύο επιμέρους αυτόματα αποδέχονται, δηλαδή F = F 1 F 2. (β) Κατάλληλο αντιπαράδειγμα προσφέρεται από τη γλώσσα: Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2017 Σελίδα 7

A = { a k b m c n είτε k m είτε m n } H γλώσσα αυτή είναι η ένωση των γλωσσών A 1 = { a k b m c n k m } και A 2 = { a k b m c n m n } οι οποίες είναι ασυμφραστικές. Η κλάση των ασυμφραστικών γλωσσών είναι κλειστή ως προς την πράξη της ένωσης, επομένως και η γλώσσα Α είναι ασυμφραστική. Εντούτοις, η γλώσσα η οποία ορίζεται ως = { a k b m c n k=m και m = n } δεν είναι ασυμφραστική γλώσσα, κάτι που μπορούμε να αποδείξουμε χρησιμοποιώντας το Λήμμα της Άντλησης για Ασυμφραστικές Γλώσσες. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2017 Σελίδα 8