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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

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

HEAD INPUT. q0 q1 CONTROL UNIT

771 Η - Θεωρία Υπολογισμών και Αλγορίθμων

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

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

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

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

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

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

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

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

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

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

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

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

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

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

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

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

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

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

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

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

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

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

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

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

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

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

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

➂ 6 P 3 ➀ 94 q ❸ ❸ q ❼ q ❿ P ❿ ➅ ➅ 3 ➁ ➅ 3 ➅ ❾ ❶ P 4 ➀ q ❺ q ❸ ❸ ➄ ❾➃ ❼ 2 ❿ ❹ 5➒ 3 ➀ 96 q ➀ 3 2 ❾ 2 ❼ ❸ ➄3 q ❸ ➆ q s 3 ➀ 94 q ➂ P ❺ 10 5 ➊ ➋➃ ❸ ❾ 3➃ ❼

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

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

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

Μοντελοποίηση υπολογισμού. Θέματα Υπολογισμού στον Πολιτισμό Πεπερασμένα αυτόματα

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

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

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

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

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

Θέματα υπολογισμού στον πολιτισμό

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

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

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

Μεταγλωττιστές. Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

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

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

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

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

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

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

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

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

Τυπικές Γραμματικές και Άλλα Αυτόματα

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

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

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

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

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

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

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

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

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

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

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

q 0 q 0.2 q 0.1 q 0.05 q 0.05 q 0.25 q 0.15 q 0.1 q 0.2 q 0.25 q 0.25 q 0.25

Περιεχόμενα Τι περιγράφει ένα ΣΔ ΣΔ και παραγωγές Θεωρία Υπολογισμού Ενότητα 15: Συντακτικά Δέντρα Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Π.

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

Transcript:

Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 7. Αυτόματα Στοίβας 9,13 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1

Γιατί τα πεπερασμένα αυτόματα δεν μπορούν να αναπαραστήσουν οποιαδήποτε κατηγορηματική γλώσσα? Ποια είναι τα επιπλέον χαρακτηριστικά απαιτούνται για να μπορούν να αναπαραστήσουν μια κατηγορηματική γλώσσα? Π.χ. την a n b n Αν μπορούσε θυμάται πόσα a είδε όταν δει το πρώτο b να αφαιρέσει ένα a και να συνεχίσει να αφαιρεί a για κάθε επόμενο b βλέπει. Στο τέλος, θα πρέπει να έχει 0 a. Χρήση μιας της στοίβας (stack)! προσθέτει στην κορυφή a της στοίβας (όσο διαβάζει) a και αφαιρεί από την κορυφή της στοίβας a όσο διαβάζει b. 2

Αυτόματο Στοίβας Ορισμός. Το αυτόματο στοίβας είναι μια εξάδα Μ=(Q, Σ, Γ, δ, s, F): Q = πεπερασμένο σύνολο καταστάσεων Σ = αλφάβητο συμβόλων εισόδου Γ = αλφάβητο συμβόλων στοίβας ( \in Γ (αρχικό)) q o Q = αρχική κατάσταση F Q = τελικές καταστάσεις Σχέση μεταβίβασης δ : Q (Σ e} Γ* 2 Q Γ*. δ(p, α, β) = {(q 1, γ 1 ),..((q i, γ i ))} Όταν το αυτόματο είναι στην κατάσταση p Q, το σύμβολο β Γ* είναι στην κορυφή της στοίβας και διαβάσει το a Σ, αντικαταστά το β στην κορυφή της στοίβας με το γ i και μεταβιβάζεται στην κατάσταση q i Q. 3

Μεταβιβάσεις και Συνολικές Καταστάσεις δ(p, u, e) = (q, a) : εισάγει το a στην κορυφή της στοίβας δ(p,u,a)= (q,e): εξάγει το a από την κορυφή της στοίβας Συνολική κατάσταση: (p, u, w) Q (Σ e}* Γ* p: τρέχουσα κατάσταση u: τμήμα λέξης που δεν έχει διαβάσει ακόμα w: περιεχόμενα στοίβας από πάνω προς τα κάτω. Π.χ. (q, u, abc) Η (p,x,z)παράγει ή `M (p, y, w) σε ένα βήμα αν: Υπάρχει δ( p,α, β )= (q,γ ) τέτοιο ώστε: x = α y z = β Z w = γ Ζ 4

Παράδειγμα M=(Q, Σ, Γ, δ, s, F),όπου Q = {q,p}, Σ ={a,b,c}, Γ={a,b}, F = f, και δ: 1. δ(s, a, ε) = {(s, a)} 2. δ(s, b, ε) = {(s, b)} 3. δ(s, c, ε) = {(f, ε)} 4. δ(f,a,a) = {(f, e)} 5. δ(f, b, b) = {(f, e)} Δώστε την παραγωγή της λέξης abbcbba. (s, abbcbba, ε) ` (s, bbcbba, a) (1) ` (s, bcbba, ba) (2) ` (s, cbba, bba) (2) ` (f, bba, bba) (3) ` (f, ba, ba) (5) ` (f, a, a) (4) ` (f, e, e) (4) 5

`* = είναι η μεταβατική, ανακλαστική κλειστότητα της `. Μια λέξη είναι αποδεχτή από το αυτόματο στοίβας εάν: Αρχίζοντας από την αρχική κατάσταση και την στοίβα άδεια, Όταν διαβαστεί όλη η λέξη Το αυτόματο είναι σε τελική κατάσταση και η στοίβα είναι άδεια. ή L(M) = { w Σ*: (s, w, e) `* (p, e, e), p F} Σημείωση. Οι μεταβιβάσεις είναι της μορφής: δ (p, a, β) =(p,w), όπου β Σ και w Γ* Δηλαδή αντικαταστούμε το σύμβολο β κορυφής της στοίβας με τη λέξη w 6

Παράδειγμα Ποια γλώσσα δέχεται το παρακάτω αυτόματο στοίβας? M=(Q, Σ, Γ, δ, s, F),όπου Q= {q,p}, Σ={a,b,c}, Γ={a,b}, F=f, και δ: 1. δ(s, a, ε) = {(s, a)} 2. δ(s, b, ε) = {(s, b)} 3. δ(s, c, ε) = {(f, ε)} 4. δ(f,a,a) = {(f, e)} 5. δ(f, b, b) = {(f, e)} Από την αρχική κατάσταση s βάζει ότι σύμβολο διαβάσει στην στοίβα Ώσπου να διαβάσει το c. Τότε πάει στην τελική κατάσταση f. Για κάθε νέο σύμβολο που διαβάζει αν είναι το ίδιο με την κορυφή της στοίβας το βγάζει από την στοίβα. Είναι η γλώσσα L= {wcw R : w {a,b}*}. 7

Παράδειγμα συνέχεια Σχεδιάστε το αυτόματο στοίβας για τη γλώσσα του προηγούμενου παραδείγματος. x, y/ z = όταν διαβάσει το σύμβολο x και στην κορυφή της στοίβας είναι το y, το αντικαθιστά με το z. 8

Παράδειγμα 2. Κατασκευάστε ένα αυτόματο στοίβας για τη γλώσσα L= {ww R : w {a,b}*}. Θα είναι οι ίδιοι κανόνες όπως πριν αλλά επειδή δεν ξέρουμε πότε είμαστε στη μέση της λέξης οπότε να αρχίσουμε να αφαιρούμε από τη στοίβα Θα υπάρχει μια μετάβαση, όπου θα μαντεύει ότι είναι στη μέση της στοίβας, οπότε και θα αλλάζει κατάσταση χωρίς να καταναλώσει είσοδο. δ(s, ε, ε) = {(f, ε)} δ(s, a, ε) = {(s, a)} 1. δ(s, b, ε) = {(s, b)} 2. δ(s, ε, ε) = {(f, ε)} 3. δ(f,a,a) = {(f, e)} 4. δ(f, b, b) = {(f, e)} Για κάθε w L(M), δεν οδηγούν όλες οι ακολουθίες μεταβάσεων σε τελικά κατάσταση αλλά υπάρχει μια ακολουθία που οδηγεί σε τελική κατάσταση. 9

Παράδειγμα 3. (Φροντιστήριο) Σχεδιάστε ένα αυτόματο στοίβας για τη γλώσσα που δέχεται τις λέξεις w {a,b}* με ίσο αριθμό a και b. Χρησιμοποιούμε ένα ειδικό σύμβολο c ως ένδειξης τέλους για τη στοίβα. Π.χ. (s, e, e ) = (q, c) Στη στοίβα καταχωρούμε ότι την περίσσια από a ή b που είδαμε μέχρι τώρα. M=(Q, Σ, Γ, δ, s, F), Q={s,q,f}, Γ={a,b,c}, F = {f} 1. δ(s, ε, ε) = (q, c) 2. δ(q, a, c) = (q, ac) 3. δ(q, a, a) = (q, aa) 4. δ(q, a, b) = (q, ε) 5. δ(q, b, c) = (q, bc) 6. δ(q, b, b) = (q, bb) 7. δ(q, b, a) = (q, ε) 8. δ(q, ε, c)= (f, ε) 10

Παράδειγμα 4. (Φροντιστήριο) Κατασκευάστε ένα αυτόματο στοίβας για τη γλώσσα {a i b j c k : i,j,k 0, i+k=j} Διαφορετικές καταστάσεις για τον έλεγχο διαδοχής συμβόλων a, b, c Χρησιμοποιούμε τη στοίβα για να ελέγχουμε αν i+k=j Πρέπει να διαβάζει αρχικά a καιναταθυμάταιπόσαa διάβασε. Όταν διαβάσει το πρώτο b να βγάζει a από την στοίβα για κάθε b που διαβάζει Αν έχει και άλλα b να διαβάσει κ η στοίβα είναι άδεια, να προσθέτει b για κάθε νέο b που διαβάζει. Όταν διαβάσει c να αφαιρεί b από την στοίβα για κάθε νέο c που διαβάζει 11

Παράδειγμα 4. (Φροντιστήριο) M=(Q, Σ, Γ, δ, s, F), Q={s, q, p}, Γ={a,b,c}, F = {p} Μεταβιβάσεις: 1. δ(s,a,e)= (s, a) (διόρθωση, σε σχέση με φροντιστήριο 22/3) Ημεταβίβασηδ(q, a, a)= (q, aa) δενπρέπειναυπάρχει. Καλύπτεται από την μεταβίβαση 1. 2. δ(s, e, e) = (q, e) 3. δ(q,b,e)= (q, b) 4. δ(q,b,a)= (q, e) 5. δ(q, e, e) = (p, e) 6. δ(p, c, b) = (p, e) 12

Αυτόματα Στοίβας και Κατηγορηματικές Γραμματικές Θεώρημα 1. Κάθε κατηγορηματική γραμματική γίνεται δεκτή από κάποιο αυτόματο στοίβας. Απόδειξη. Έστω G=(V, Σ, R, S) μια κατηγορηματική γραμματική. Κατασκευάζουμε το αυτόματο Μ=({p,q}, Σ, V, δ, p, q) με L(G)=L(M). Μεταβάσεις: 1. δ(p, e, e) = ( q, S ) 2. δ(q, e, A) = ( q, x ) για κάθε κανόνα A x R 3. δ(q, a, a) = ( q, e ) για κάθε a Σ Ξεκινά εισάγοντας S και μεταβαίνει στην q(μετάβαση 1). Μετά, είτε αντικαθιστά ένα μη τερματικό A με το δεξιό του μέλος x(μετ. 2) είτε διαβάζει ένα τερματικό που είναι το ίδιο με την κορυφή της στοίβας και το εξάγει από αυτή. (μετ. 3) 13

Θεώρημα 1 (συνέχεια) Το αυτόματο μιμείται μια αριστερή παραγωγή της συμβολοσειράς εισόδου: Εκτελεί ένα βήμα μιας παραγωγής (πχ. αντικαθιστά το Α με το x) Aν υπάρχει στην κορυφή της στοίβας τερματικό a διαβάζει ίδια είσοδο και το διώχνει από την στοίβα.. ώσπου να παρουσιαστεί στην κορυφή της στοίβας το επόμενο μη τερματικό A Αντικαθιστά το μη τερματικό της στοίβας A με το δεξιό του μέλος x και συνεχίζει 14

Παράδειγμα. G=(V, Σ, R, S) μια κατηγορηματική γραμματική. V={S, a, b, c}, Σ={a,b,c}, R- {S asa bsb c} που παράγει τη γλώσσα {wcw R : w {a,b} * } Κατασκευάζουμε το αυτόματο Μ=({p,q}, Σ, V, δ, p, q) τέτοιο ώστε L(G)=L(M). δ(p, e, e)=(q, S) δ(q, e, S)=(q, asa) δ(q, e, S)=(q, bsb) δ(q, e, S)=(q, c) δ(q, a, a)=(q, e) δ(q, b, b)=(q, e) δ(p, c, c)=(q, e) Με ποια ακολουθία κινήσεων η abbcbba γίνεται δεκτή? 15

Θεώρημα 1 (συνέχεια) Ισχυρισμός. Έστω w Σ * και a (V-Σ) * {e}. Τότε S L * wa εάν και μόνο εάν (q, w, S) `* (q, e, a) Απόδειξη. Με επαγωγή στο μήκος της w. Κάθε w L(M) εάν και μόνο αν υπάρχει μονοπάτι υπολογισμού (q, w, S) `* (q, e, e) (a=e) 16

Θεώρημα 2. Θεώρημα 2. Ανμιαγλώσσαείναιδεκτήαπόκάποιοαυτόματο στοίβας τότε είναι κατηγορηματική γραμματική. Απόδειξη. Παραλείπεται. 17