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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

Ασκήσεις Επανάληψης Λύσεις

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

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

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

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

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

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

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

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

Ασκήσεις Επανάληψης Λύσεις

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

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

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

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

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

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

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

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

Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις

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

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

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

Transcript:

Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { xyxy rev x {a, b}, y {a, b} * } (α) Μια γραμματική για τη γλώσσα έχει ως εξής: S as a bs b S a as a a bs a b a S b as b a bs b b b Σύμφωνα με τη γραμματική αυτή στην αρχή τοποθετείται το πρώτο σύμβολο και ανάλογα προχωρούμε σε μια καινούρια μεταβλητή η οποία θα δημιουργήσει τη συνέχεια της λέξης, δηλαδή, το yxy rev όπου x είναι το σύμβολο που τοποθετήθηκε στον πρώτο κανόνα. (β) { r η r είναι μια κανονική έκφραση που παράγεται από το αλφάβητο {0,1} } (β) Μια γραμματική για τη γλώσσα έχει ως εξής: S 0 1 ε (S) * (S S) (SS) Θεωρούμε ότι χρησιμοποιούνται πλήρως οι παρενθέσεις για να δηλώσουν τη σειρά με την οποία εφαρμόζονται οι πράξεις. (γ) { w {a,b} * w a = 2 w b } Σημείωση: Γράφουμε w a για το πλήθος των εμφανίσεων του a στο w. (Για παράδειγμα abbabaaba a = 5 και abbabaaba b = 4.) (γ) Μια γραμματική για τη γλώσσα έχει ως εξής: S SS aasb bsaa asbsa ε Άσκηση 2 Να κτίσετε αυτόματα στοίβας για τις πιο κάτω γλώσσες: (α) { xyxy rev x {a, b}, y {a, b} * } Ακολουθεί το ζητούμενο αυτόματο. Παρατηρούμε ότι από την αρχική κατάσταση το αυτόματο γράφει το $ στη στοίβα και στη συνέχεια σπάζει σε δύο μονοπάτια ανάλογα με το αν το πρώτο σύμβολο που διαβάστηκε είναι το a ή το b. Στα δύο αυτά μονοπάτια, προχωρεί γράφοντας στη στοίβα κάθε σύμβολο που εμφανίζεται στην είσοδο. Μη ντετερμινιστικά από τις καταστάσεις 2 και 4 μπορεί να αλλάξει κατάσταση όταν διαβάσει ένα a και ένα b αντίστοιχα. Το σύμβολο αυτό παίζει τον ρόλο του ενδιάμεσου x. Επομένως, από τις καταστάσεις 3 και 5 το αυτόματο διαβάζει σύμβολα από την είσοδο εφόσον αυτά Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2015 Σελίδα 1

συμπίπτουν με το στοιχείο κορυφής της στοίβας το οποίο και αφαιρείται από τη στοίβα σε κάθε βήμα. Αν με την ολοκλήρωση της ανάγνωσης της λέξης η στοίβα αδειάσει, το αυτόματο θα αποδεχθεί τη λέξη. a,ε a b,ε b a,a ε b,b ε ε,ε $ a,ε a 2 a,ε ε 3 ε,$ ε 0 1 b,ε b a,ε a b,ε b 4 b,ε ε a,a ε b,b ε 5 ε,$ ε 6 (β) { w {a,b} * w a 2 w b } Ακολουθεί το ζητούμενο αυτόματο: 3 b,$ $ b,b B ε,ε B 1 ε,ε $ a,b ε b,a ε 2 ε,a ε ε,a ε 6 a,$ $ a,a A ε,ε A 4 ε,ε A 5 Η βασική ιδέα του αυτόματου είναι ότι ανά πάσα στιγμή η στοίβα κρατά είτε Α, αν έχουν μέχρι στιγμής διαβαστεί περισσότερα a, είτε Β, αν μέχρι στιγμής έχουν διαβαστεί περισσότερα b. Η ποσότητα των αποθηκευμένων στοιχείων αντιπροσωπεύει τον αριθμό των αντίθετων στοιχείων που πρέπει να διαβαστούν για να ισχύει ότι w a = 2 w b. Αρχικά το αυτόματο γράφει στη στοίβα το $ για να αναγνωρίζει την κενή στοίβα. Στη συνέχεια για κάθε b που διαβάζει αν η στοίβα είναι κενή ή περιέχει Β, επανατοποθετεί σε αυτή το $ ή το Β και στη συνέχεια εισάγει ακόμα ένα Β. Αν όμως το στοιχείο κορυφής της στοίβας είναι το Α, τότε διαγράφει το α και συνεχίζει με το επόμενο σύμβολο. Η επεξεργασία των a γίνεται με παρόμοιο τρόπο αλλά αντί ενός Α γράφονται 2 Α στη στοίβα. Το αυτόματο τερματίζει αν στη στοίβα παραμείνει τουλάχιστον ένα Α ή ένα Β. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2015 Σελίδα 2

(γ) { w {a,b,c} * w a + w b = w c και δεν υπάρχει κανένα c μετά από κάποιο b } Ακολουθεί το ζητούμενο αυτόματο: 4 b,1 1 ε,ε $ b,$ $ ε,ε 1 1 2 5 6 a,0 ε c,1 ε a,$ $ a,1 1 ε,ε 0 3 ε,ε 1 c,$ $ c,0 0 b,0 ε a,0 ε b,0 ε ε,$ ε 7 Η βασική ιδέα του αυτόματου είναι ότι ανά πάσα στιγμή η στοίβα κρατά είτε 1, αν έχουν μέχρι στιγμής διαβαστεί περισσότερα a και b είτε 0, αν μέχρι στιγμής έχουν διαβαστεί περισσότερα c. Η ποσότητα των αποθηκευμένων στοιχείων αντιπροσωπεύει τον αριθμό των αντίθετων στοιχείων που πρέπει να διαβαστούν για να ισχύει ότι w a + w b = w c. Αρχικά το αυτόματο γράφει στη στοίβα το $ για να αναγνωρίζει την κενή στοίβα. Στη συνέχεια για κάθε a που διαβάζει αν η στοίβα είναι κενή ή περιέχει 1, επανατοποθετεί σε αυτή το $ ή το 1 και στη συνέχεια εισάγει ακόμα ένα 1. Αν όμως το στοιχείο κορυφής της στοίβας είναι το 0, τότε διαγράφει το 0 και συνεχίζει με το επόμενο σύμβολο. Η επεξεργασία των c γίνεται με παρόμοιο τρόπο αλλά αντί ενός 1 γράφονται ένα 0 στη στοίβα. Ειδική επεξεργασία γίνεται αν διαβάσουμε το σύμβολο b στην είσοδο. Αυτό οφείλεται στο γεγονός ότι μετά από κάποιο b δεν μπορεί να εμφανιστεί άλλο c. Για τον λόγο αυτό στην κατάσταση 2 γίνεται επεξεργασία του b ανάλογη με αυτή του a αλλά μας οδηγεί σε μία καινούρια κατάσταση, την 6, από όπου μπορούμε να διαβάσουμε μόνο a και b. Το αυτόματο οδηγείται σε τελική κατάσταση αν αδειάσει η στοίβα. Άσκηση 3 Να μεταγάγετε την πιο κάτω ασυμφραστική γραμματική σε Κανονική Μορφή Chomsky. R XRX S S atb bta T XTX X ε Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2015 Σελίδα 3

Ξεκινούμε εισάγοντας μια καινούρια αρχική μεταβλητή. Η καινούρια γραμματική είναι η: S 0 R R XRX S S T atb bta XTX X ε Απαλείφουμε τον κανόνα Χ ε : S 0 R R XRX S XR RX R S T atb bta XTX X XT ΤX Τ ε Απαλείφουμε τον νεοδημιουργηθέντα κανόνα Τ ε και τους κανόνες R R, T T: S 0 R R XRX S XR RX S atb bta ab ba T XTX X XT ΤX ΧΧ Απαλείφουμε τους μοναδιαίους κανόνες: Κανόνας Τ Χ S 0 R R XRX S XR RX S atb bta ab ba T XTX XT ΤX ΧΧ a b Κανόνας R S S 0 R R XRX XR RX atb bta ab ba S atb bta ab ba T XTX XT ΤX ΧΧ a b Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2015 Σελίδα 4

Κανόνας S 0 R S 0 XRX XR RX atb bta ab ba R XRX XR RX atb bta ab ba S atb bta ab ba T XTX XT ΤX ΧΧ a b Μεταγράφουμε όσους κανόνες οδηγούν σε λέξεις με μήκος μεγαλύτερο από δύο εισάγοντας καινούριες μεταβλητές και σχετικούς κανόνες: S 0 XU AV BW AB BA XR RX R XU AV BW AB BA XR RX S AV BW AB BA T XZ XT ΤX ΧΧ a b U RX V TB W TA Z TX B b A a Αυτό ολοκληρώνει τη διαδικασία. Άσκηση 4 Να δείξετε ότι οι πιο κάτω γλώσσες δεν είναι ασυμφραστικές αιτιολογώντας με ακρίβεια τις απαντήσεις σας. (α) Λ 1 = { 01 i 01 i 01 i 01 i 1 i 0 } Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η Λ 1 είναι ασυμφραστική. Τότε, σύμφωνα με το Λήμμα της Άντλησης, υπάρχει p, το μήκος άντλησης της γλώσσας, τέτοιο ώστε κάθε λέξη της γλώσσας με μήκος μεγαλύτερο από p να ικανοποιεί την ιδιότητα που περιγράφεται στο λήμμα. Ας επιλέξουμε τη λέξη w = 01 p 01 p 01 p 01 p 1. Τότε, σύμφωνα με το λήμμα, w = uvxyz έτσι ώστε η υπολέξη vxy περιέχει το πολύ p σύμβολα ( vxy p), τουλάχιστον μία από τις v και y είναι μη κενή ( vy > 0) και οποιαδήποτε ταυτόχρονη επανάληψη των υπολέξεων v και y διατηρεί την προκύπτουσα λέξη εντός της γλώσσας (uv i xy i z Λ 1, i 0). Αφού vxy p, τότε η λέξη αυτή δεν μπορεί να εκτείνεται σε περισσότερα από δύο τμήματα της λέξης. Διακρίνουμε τις πιο κάτω περιπτώσεις. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2015 Σελίδα 5

Αν η vxy εκτείνεται μόνο σε κάποιο από τα τμήματα 1 p, τότε τα v και y θα αποτελούνται μόνο από 1. Επομένως, αν αφαιρέσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας. Για παράδειγμα αν το vxy εκτείνεται μόνο στο πρώτο τμήμα από 1, τότε w = uv 0 xy 0 z = 01 i λ μ 01 i 01 i 01 i 1 όπου λ = v, μ = y και προφανώς w Λ 1. Αν η vxy εκτείνεται σε δύο συνεχόμενα τμήματα 0 και 1, τότε αν το v είναι μη κενό η λέξη w = uv 2 xy 2 z θα περιέχει το τμήμα 01 λ 01 λ όπου λ = v < p και προφανώς w Λ 1. Αν η vxy εκτείνεται σε δύο τμήματα 1 p, τότε, αν αφαιρέσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας διότι τουλάχιστον ένα από τα τμήματα με 1 θα μειωθεί σε μήκος. Αυτό μας οδηγεί σε αντίφαση και επομένως η υπόθεσή μας ότι η γλώσσα Λ 1 είναι ασυμφραστική ήταν εσφαλμένη. Συμπέρασμα: Η Λ 1 είναι μη ασυμφραστική. (β) Λ 2 = { ww rev w {a, b} * και w αποτελεί καρκινική λέξη } Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η Λ 2 είναι ασυμφραστική. Τότε, σύμφωνα με το Λήμμα της Άντλησης, υπάρχει p, το μήκος άντλησης της γλώσσας, τέτοιο ώστε κάθε λέξη της γλώσσας με μήκος μεγαλύτερο από p να ικανοποιεί την ιδιότητα που περιγράφεται στο λήμμα. Ας επιλέξουμε τη λέξη s = 0 p 1 p 0 p 0 p 1 p 0 p = 0 p 1 p 0 2p 1 p 0 p. Τότε, σύμφωνα με το λήμμα, w = uvxyz έτσι ώστε η υπολέξη vxy περιέχει το πολύ p σύμβολα ( vxy p), τουλάχιστον μία από τις v και y είναι μη κενή ( vy > 0) και οποιαδήποτε ταυτόχρονη επανάληψη των υπολέξεων v και y διατηρεί την προκύπτουσα λέξη εντός της γλώσσας (uv i xy i z Λ 2, i 0). Αφού vxy p, τότε η λέξη αυτή δεν μπορεί να εκτείνεται σε περισσότερα από δύο τμήματα της λέξης. Διακρίνουμε τις πιο κάτω περιπτώσεις. Αν η vxy εκτείνεται μόνο σε κάποιο από τα τμήματα 1 p, τότε τα v και y θα αποτελούνται μόνο από 1. Επομένως, αν αφαιρέσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας γιατί η λέξη που θα προκύψει δεν θα έχει πια τη μορφή ww rev. Παρόμοια, αν η vxy εκτείνεται μόνο στο πρώτο ή στο τελευταίο τμήμα από τα τμήματα 0 p, τότε τα v και y θα αποτελούνται μόνο από 0. Επομένως, αν αφαιρέσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας γιατί η λέξη που θα προκύψει δεν θα έχει πια τη μορφή ww rev. Κάτι αντίστοιχο ισχύει στις περιπτώσεις όπου η vxy ξεκινά από το πρώτο τμήμα με 0 και συνεχίζει στο πρώτο τμήμα με 1, ή ξεκινά από το πρώτο τμήμα με 1 και συνεχίζει στο δεύτερο τμήμα από 0, ή ξεκινά από το δεύτερο τμήμα από 0 και εκτείνεται στο δεύτερο τμήμα από 1 ή τέλος ξεκινά από το δεύτερο τμήμα από 1 και συνεχίζει στο τελευταίο τμήμα από 0. Τέλος, αν η vxy εκτείνεται στο μεσαίο τμήμα από 0 p, τότε τα v και y θα αποτελούνται μόνο από 0. Παρατηρούμε ότι, αν αφαιρέσουμε τα τμήματα v και y, η λέξη που θα προκύψει και πάλι δεν θα ανήκει στη γλώσσα μας γιατί η λέξη που θα προκύψει δεν θα έχει πια τη μορφή ww rev όπου επιπρόσθετα η w είναι καρκινική λέξη. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2015 Σελίδα 6

Αυτό μας οδηγεί σε αντίφαση και επομένως η υπόθεσή μας ότι η γλώσσα Λ 2 είναι ασυμφραστική ήταν εσφαλμένη. Συμπέρασμα: Η Λ 2 είναι μη ασυμφραστική. (γ) Λ 3 = {a i b i c j i, j 0, j 2 i } Υποθέτουμε για να φτάσουμε σε αντίφαση ότι η Λ 3 είναι ασυμφραστική. Τότε, σύμφωνα με το Λήμμα της Άντλησης, υπάρχει p, το μήκος άντλησης της γλώσσας, τέτοιο ώστε κάθε λέξη της γλώσσας με μήκος μεγαλύτερο από p να ικανοποιεί την ιδιότητα που περιγράφεται στο λήμμα. Ας επιλέξουμε τη λέξη s = a p b p c k, k = 2 p. Τότε, σύμφωνα με το λήμμα, w = uvxyz έτσι ώστε η υπολέξη vxy περιέχει το πολύ p σύμβολα ( vxy p), τουλάχιστον μία από τις v και y να είναι μη κενή ( vy > 0) και οποιαδήποτε ταυτόχρονη επανάληψη των υπολέξεων v και y να διατηρεί την προκύπτουσα λέξη εντός της γλώσσας (uv i xy i z Λ 3, i 0). Αφού vxy p, τότε η λέξη αυτή δεν μπορεί να εκτείνεται σε περισσότερα από δύο τμήματα της λέξης. Διακρίνουμε τις πιο κάτω περιπτώσεις. Αν η vxy εκτείνεται μόνο σε κάποιο από τα τμήματα a, τότε τα v και y θα αποτελούνται μόνο από a. Επομένως, αν αφαιρέσουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας για τον λόγο ότι τα a δεν θα είναι πια ίσα σε πλήθος με τα b. Έστω ότι η vxy εκτείνεται τόσο ανάμεσα στα a όσο και ανάμεσα στα b. Σε αυτή την περίπτωση και εφόσον τα v και y είναι μη κενά η λέξη w = uv 0 xy 0 z = a p λ b p μ c k, όπου v = λ και x = m και k = 2 p. Τότε αφού k = 2 p > 2 p μ, 2 p λ έχουμε ότι w Λ 3. Κάτι αντίστοιχο ισχύει αν η vxy εκτείνεται τόσο ανάμεσα στα b όσο και ανάμεσα στα c. Τέλος, αν η vxy εκτείνεται μόνο στο τμήμα με τα c, τότε τα v και y θα αποτελούνται μόνο από c. Επομένως, αν επαναλάβουμε τα τμήματα v και y, η λέξη που θα προκύψει δεν θα ανήκει στη γλώσσα μας για τον λόγο ότι τα c θα ξεπερνούν σε πλήθος την τιμή 2 p. Αυτό μας οδηγεί σε αντίφαση και επομένως η υπόθεσή μας ότι η γλώσσα Λ 3 είναι ασυμφραστική ήταν εσφαλμένη. Συμπέρασμα: Η Λ 3 είναι μη ασυμφραστική. Άσκηση 5 Έστω L μια γλώσσα επί κάποιου αλφάβητου Σ. Ορίζουμε ως Prefix(L) τη γλώσσα που περιέχει όλες τις λέξεις που αποτελούν προθέματα λέξεων της L: Prefix(L) = {w wx L, x Σ * } Να αποδείξετε με ακρίβεια ότι η κλάση των ασυμφραστικών γλωσσών είναι κλειστή ως προς την πράξη Prefix. Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2015 Σελίδα 7

Για να δείξουμε ότι η κλάση των ασυμφραστικών γλωσσών είναι κλειστή ως προς την πράξη Prefix θα δείξουμε ότι για οποιαδήποτε ασυμφραστική γλώσσα L υπάρχει ασυμφραστική γραμματική που παράγει τη γλώσσα Prefix(L). Αρχικά παρατηρούμε ότι, αφού η γλώσσα L είναι ασυμφραστική υπάρχει ασυμφραστική γραμματική σε κανονική μορφή Chomsky που την περιγράφει. Θα μετατρέψουμε αυτή τη γραμματική σε μια καινούρια γραμματική η οποία θα παράγει την γλώσσα Prefix(L) ως εξής: Για κάθε κανόνα της μορφής S AB θα προσθέσουμε τους δύο κανόνες S AB pref και S A pref όπου για κάθε κανόνα Α a θα προσθέσουμε τον κανόνα Α pref a Τέλος θα προσθέσουμε τον κανόνα S ε. Με αυτό τον τρόπο δίνουμε τη δυνατότητα, κατά την παραγωγή μιας λέξης να τερματίσουμε την παραγωγή στην καινούρια γραμματική πριν να ολοκληρωθεί η παραγωγή σύμφωνα με την αρχική γραμματική. Άσκηση 6 Να παρουσιάσετε τρεις εφαρμογές των κανονικών γλωσσών και τρεις εφαρμογές των ασυμφραστικών γλωσσών. Ψάξτε στο Διαδίκτυο! Λύσεις Σειράς Προβλημάτων 3 Εαρινό Εξάμηνο 2015 Σελίδα 8