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

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

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

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

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

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

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

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

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

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

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

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

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

Γραµµατικές για Κανονικές Γλώσσες

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

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

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

Ανω Φράγµα στην Τάξη των Συναρτήσεων. Ρυθµός Αύξησης (Τάξη) των Συναρτήσεων. Παράδειγµα (1/2) O( g(n) ) είναι σύνολο συναρτήσεων:

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

Μαθηµατικά για Πληροφορική

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

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

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

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

Αρχή Εγκλεισµού-Αποκλεισµού (3 σύνολα) Αρχή Εκλεισµού-Αποκλεισµού Η Τάξη των Συναρτήσεων. Εφαρµογές. Παράδειγµα 1.

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

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;

Στοιχεία Θεωρίας Γλωσσών. (συνέχεια) (συνέχεια) Πέμπτη 27 Οκτωβρίου 2016 Θεόδωρος Τζουραμάνης Επίκουρος Καθηγητής

3 Αναδροµή και Επαγωγή

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

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

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

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

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

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

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

f (x) = l R, τότε f (x 0 ) = l. = lim (0) = lim f(x) = f(x) f(0) = xf (ξ x ). = l. Εστω ε > 0. Αφού lim f (x) = l R, υπάρχει δ > 0

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008

Μαθηµατική Επαγωγή. Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 7

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

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

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

1 Ορισµός ακολουθίας πραγµατικών αριθµών

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

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

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

- εξίσωση που εκφράζει τον n-οστό όρο a n της ακολουθίας, - µέσω ενός ή περισσότερων όρων από τους a 0, a 1,..., a n 1, - για κάθε n n 0, όπου n 0 N.

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

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing

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

Εισαγωγή στην Τοπολογία

< 1 για κάθε k N, τότε η σειρά a k συγκλίνει. +, τότε η η σειρά a k αποκλίνει.

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 2

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

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

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

Προηγούµενο: Ανω Φράγµα στην Τάξη των Συναρτήσεων. Ρυθµός Αύξησης (Τάξη) των Συναρτήσεων. Σύνοψη Ιδιοτήτων

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

Κρυπτογραφία και Πολυπλοκότητα

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

11 Το ολοκλήρωµα Riemann

Κεφάλαιο 2: Τυπικές γλώσσες

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 3

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

Στοιχεία Θεωρίας Γραφηµάτων (1)

ιαιρετότητα Στοιχεία Θεωρίας Αριθµών «Ο Αλγόριθµος της ιαίρεσης» Αριθµητική Υπολοίπων 0 r < d και a = d q +r

Αριθµοί Liouville. Ιωάννης Μπαρµπαγιάννης

Γραµµική Αλγεβρα Ι. Ενότητα: ιανυσµατικοί χώροι. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

Κεφάλαιο 7 Βάσεις και ιάσταση

Ισοδυναµίες, Μερικές ιατάξεις

Όρια συναρτήσεων. ε > υπάρχει ( ) { } = ± ορίζονται αναλόγως. Η διατύπωση αυτών των ορισµών αφήνεται ως άσκηση. x y = +. = και για κάθε (, ) ( 0,0)

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

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

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

ιδασκοντες: x R y x y Q x y Q = x z Q = x z y z Q := x + Q Τετάρτη 10 Οκτωβρίου 2012

Μαθηµατική Επαγωγή. Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς

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

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 5

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

Κεφάλαιο 6. Πεπερασµένα παραγόµενες αβελιανές οµάδες. Z 4 = 1 και Z 2 Z 2.

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

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 1

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Επιλυση Ασκησεων - Φυλλαδιο 2

Transcript:

Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό σηµαίνει πως δεν υπάρχει NFA/DFA που να τις αναγνωρίζει. Ισοδύναµα, δεν υπάρχει κανονική έκφραση για τις γλώσσες αυτές: η περιγραφή της B (παραπάνω) δεν είναι κανονική έκφραση. Για τη B ϕαίνεται διαισθητικά ότι οποιοδήποτε αυτόµατο ϑα πρέπει να ϑυµάται πόσα έχει διαβάσει ως τώρα. Το γεγονός ότι «δε µπορούµε να ϐρούµε» κανονική έκφραση ή NFA για µια γλώσσα δεν αποτελεί απόδειξη µη κανονικότητας. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 2 / 53 Το Λήµµα της Αντλησης Θεώρηµα: Για κάθε κανονική γλώσσα A: Υπάρχει αριθµός p, το «µήκος άντλησης της γλώσσας», τέτοιος ώστε, κάθε λέξη s A µε µήκος s p µπορεί να χωριστεί σε τρία τµήµατα: s = x y z που ικανοποιούν τις ακόλουθες συνθήκες:. για κάθε i, ισχύει x y i z A, 2. y >, Χρήση του Λήµµατος Αντλησης Θέλουµε να δείξουµε ότι η γλώσσα B δεν είναι κανονική. Υποθέτουµε ότι η B είναι κανονική, µε στόχο να καταλήξουµε σε άτοπο. Από το Λήµµα της Αντλησης, ϑα υπάρχει µήκος άντλησης, p, τέτοιο ώστε όλες οι λέξεις x B µε x p να «επιδέχονται άντληση». Βρίσκουµε λέξη s B µε µήκος s p, που να µην επιδέχεται άντληση. Αποδεικνύουµε ότι η s δεν επιδέχεται άντληση: Εξετάζουµε όλες τις δυνατές διαιρέσεις της σε x, y, z. 3. x y p. Χρησιµοποιώντας, αν χρειάζεται, και τη συνθήκη x y p του Λήµµατος. Σηµείωση: Επιτρέπονται x = ɛ, z = ɛ, αλλά πάντα y ɛ. Βρίσκουµε για κάθε δυνατή διαίρεση της s µια τιµή i τέτοια ώστε: x y i z B. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 3 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 4 / 53

Παραδείγµατα Παράδειγµα (α) Να αποδειχθεί ότι καθεµία από τις γλώσσες είναι µη κανονική:. B = { n n n }. 2. C = { w η w έχει ίδιο πλήθος από και }. 3. F = { w w w {, } }. 4. D = { n2 n }. 5. E = { i j i > j } Να αποδειχθεί ότι η γλώσσα B = { n n n } είναι µη κανονική. Ας υποθέσουµε ότι η B είναι κανονική. Εστω p το µήκος άντλησης που προβλέπεται από το Λήµµα. Εξετάζουµε τη λέξη s = p p B (για την οποία ισχύει s > p) Η s ϑα µπορεί να χωριστεί σε τρία µέρη s = x y z, τέτοια ώστε: y >, x y i z B, για κάθε i. Εξετάζουµε τρεις περιπτώσεις: Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 5 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 6 / 53 Παράδειγµα (ϐ) Παράδειγµα 2 (α) Ν Ο η C = { w η w έχει ίδιο πλήθος από και } είναι µη κανονική.. Η y περιέχει µόνο. Τότε όµως x y y z B, διότι: είναι y ɛ, άρα διπλασιάζουµε το πλήθος µερικών (τουλ. ενός), εποµένως έχουµε > p, ενώ µόνο p. 2. Η y περιέχει µόνο. Τότε όµως x y y z B, για παρόµοιο λόγο µε προηγουµένως. 3. Η y περιέχει και και. Τότε όµως x y y z B, διότι κάποια εµφανίζονται πριν από κάποια. Ας υποθέσουµε ότι η C είναι κανονική. Εστω p το µήκος άντλησης που προβλέπεται από το Λήµµα. Επιλέγουµε τη λέξη s = p p, όπως και προηγουµένως, µε s = 2p > p. Σηµείωση: είναι C B. Αρα αν C κανονική, ϑα ήταν και η B. Η s µπορεί να χωριστεί σε τρία µέρη, s = x y z, τέτοια ώστε: y >, x y i z B, για κάθε i, x y p. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 7 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 8 / 53

Παράδειγµα 2(ϐ) Παράδειγµα 2(γ) Ν Ο η C = { w η w έχει ίδιο πλήθος από και } είναι µη κανονική. Ν Ο η C = { w η w έχει ίδιο πλήθος από και } είναι µη κανονική. Επειδή x y p και s = x y z = p p : ϑα πρέπει η y να περιέχει µόνο, εποµένως ϑα είναι x y y z C (ΑΤΟΠΟ), διότι ϑα έχει περισσότερα από. Παρατήρηση : Χρησιµοποιήσαµε την τρίτη συνθήκη του λήµµατος ( x y p). ιότι, για s = p p δε µπορούµε να αρνηθούµε τη δεύτερη: Για x = z = ɛ, y = p p ( p p ) i C για κάθε i! Παρατήρηση 2: Η επιλογή της λέξης s έχει µεγάλη σηµασία. Π.χ., αν επιλέξουµε s = ( ) p C, δε ϑα καταλήξουµε σε άτοπο: υπάρχει «διαίρεση», x = ɛ, y =, z = ( ) p ικανοποιεί όλες τις συνθήκες του λήµµατος. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 9 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα / 53 Παράδειγµα 3(α) Παράδειγµα 3(ϐ) Ν Ο η γλώσσα F = { w w w {, } } είναι µη κανονική. Ας υποθέσουµε ότι η F είναι κανονική. Εστω p το µήκος άντλησης που προβλέπεται από το Λήµµα. Επιλέγουµε να αντλήσουµε από τη λέξη s = p p (είναι s > p). Η s ϑα µπορεί να χωριστεί σε τρία µέρη, s = x y z, τέτοια ώστε: y >, x y i z F, για κάθε i, Ν Ο η γλώσσα F = { w w w {, } } είναι µη κανονική. Για να έχουµε επιπλέον x y p, ϑα πρέπει η (υπο-)λέξη y να αποτελείται µόνο από. Τότε όµως x y y z F, διότι δε µπορεί να γραφεί στη µορφή w w, όπου w {, } ΑΤΟΠΟ. Η 3η συνθήκη ήταν και πάλι σηµαντική: χωρίς αυτήν µπορούσαµε να επιλέξουµε x = z = ɛ και να αντλήσουµε από την s = y. x y p. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 2 / 53

Παράδειγµα 4 (α) Παράδειγµα 4 (ϐ) Ν Ο η γλώσσα D = { n2 n } είναι µη κανονική. Ας υποθέσουµε ότι η D είναι κανονική. Εστω p το µήκος άντλησης που προβλέπεται από το Λήµµα. Επιλέγουµε να αντλήσουµε από τη λέξη s = p2 (είναι προφανώς s p). Η s ϑα µπορεί να χωριστεί σε τρία µέρη, s = x y z, τέτοια ώστε: y >, x y i z D, για κάθε i. Παρατηρούµε την ακολουθία των τέλειων τετραγώνων, που αντιστοιχούν στα µήκη των λέξεων της γλώσσας:,, 4, 9, 6, 25, 36, 49,... Το «χάσµα» µεταξύ των διαδοχικών τέλειων τετραγώνων αυξάνει. Εξετάζουµε τις δύο λέξεις, s = x y z και s = x y 2 z: ιαφέρουν µεταξύ τους κατά µία επανάληψη της y: s s = y. Από τη συνθήκη 3 του Λήµµατος Αντλησης, x y p, άρα y p. Επειδή s = p 2, έχουµε x y 2 z p 2 + p. Οµως: p 2 + p < p 2 + 2p + = (p + ) 2. Από τη συνθήκη 2 του Λήµµατος Αντλησης y ɛ, άρα x y 2 z > p 2. Αρα p 2 < x y 2 z < (p + ) 2 x y 2 z D ΑΤΟΠΟ. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 3 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 4 / 53 Παράδειγµα 5(α) Παράδειγµα 5(ϐ) Ν Ο η γλώσσα E = { i j i > j } είναι µη κανονική. Ας υποθέσουµε ότι η D είναι κανονική. Εστω p το µήκος άντλησης που προβλέπεται από το Λήµµα. Επιλέγουµε να αντλήσουµε από τη λέξη s = p+ p. Επειδή s > p, το Λήµµα µας λέει ότι η s µπορεί να χωριστεί σε τρία µέρη, s = x y z, τέτοια ώστε: y >, Ν Ο η γλώσσα E = { i j i > j } είναι µη κανονική. Επειδή x y p, η y ϑα πρέπει να περιλαµβάνει µόνο. Αν επαναλάβουµε την y τουλάχιστον µία ϕορά ακόµα, το πλήθος των αυξάνει και αυτό δε µπορεί να µας δώσει µια λέξη εκτός E. Οµως: το Λήµµα της Αντλησης προβλέπει ότι και η x y z = x z E. Αυτό είναι ΑΤΟΠΟ, διότι η x z έχει το πολύ τόσα, όσα. x y i z D, για κάθε i. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 5 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 6 / 53

Αναπαράσταση Γλωσσών Με απλή απαρίθµηση των λέξεών τους, όταν είναι πεπερασµένες. Μέσω κοινής χαρακτηριστικής ιδιότητας που έχουν οι λέξεις: Γραµµατικές Π.χ., L = { w {, } : w έχει άρτιο πλήθος από } Π.χ., L 2 = { n n : n }. Μέσω συνολοθεωρητικών πράξεων επί άλλων γλωσσών, π.χ., L L 2. Μέσω υπολογιστικών µηχανών (ισοδύναµα: αυτοµάτων/αλγορίθµων) που αποφασίζουν αν µια λέξη ανήκει στη γλώσσα ή όχι. Συντακτικός αναλυτής που αποφασίζει αν ένα πρόγραµµα C είναι ορθό ή όχι. Μέσω γραµµατικών, που είναι µηχανισµοί παραγωγής λέξεων της γλώσσας. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 7 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 8 / 53 Παράδειγµα Παραγωγή Λέξεων Μια γραµµατική χωρίς συµφραζόµενα (Context Free Grammar CFG), G : Συστατικά: A A A B B # Κανόνες Αντικατάστασης (Παραγωγικοί Κανόνες). 2 Μεταβλητές: τα σύµβολα αριστερά των κανόνων (µη τερµατικά σύµβολα). 3 Τερµατικά Σύµβολα: όλα τα υπόλοιπα σύµβολα. Συµβάσεις: Κεφαλαία για τις µεταβλητές. Πεζά ή ειδικά σύµβολα για τα τερµατικά σύµβολα. Η Εναρκτήρια Μεταβλητή ϐρίσκεται αριστερά του ου κανόνα. Γράφουµε την εναρκτήρια µεταβλητή (εκτός αν έχει οριστεί διαφορετικά, είναι αυτή που ϐρίσκεται στο αριστερό µέλος του ου κανόνα). 2 Επιλέγουµε µία από τις µεταβλητές που έχουµε γράψει και έναν κανόνα που να ξεκινά µε αυτήν. Αντικαθιστούµε τη µεταβλητή µε το δεξί µέλος του κανόνα. 3 Επαναλαµβάνουµε το ϐήµα 2 µέχρι να εξαντληθούν όλες οι µεταβλητές. Παράδειγµα Παραγωγής Λέξης: A = A = A = A = B = # Την ίδια πληροφορία (την παραγωγή) µπορούµε να αναπαραστήσουµε µε συντακτικό δέντρο. Το σύνολο των λέξεων που παράγονται µε τον τρόπο αυτόν είναι η Γλώσσα της Γραµµατικής. Με µερικές δοκιµές, µπορούµε να διαπιστώσουµε ότι η γλώσσα της γραµµατικής G είναι η L(G ) = { n # n n }. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 9 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 2 / 53

Γραµµατική οµής Φράσεως Phrase-tructure Grammar G = (V, T,, P) Αλφάβητο V: περιλαµβάνει όλα τα σύµβολα της γραµµατικής. Σύνολο Τερµατικών Συµβόλων: T V. Οι λέξεις της γλώσσας αποτελούνται µόνο από τερµατικά σύµβολα. Σύνολο Μη Τερµατικών Συµβόλων: N = V \ T. Παίζουν το ϱόλο «µεταβλητών»: µια υπολέξη που περιέχει µη τερµατικό σύµβολο µπορεί να αντικατασταθεί από άλλη λέξη του V. Αρχικό (µη τερµατικό) Σύµβολο: N. Η παραγωγή λέξεων εκκινεί από το και ακολουθεί κανόνες παραγωγής. Σύνολο Παραγωγών (Κανόνων Παραγωγής) P: P (V N V ) V. Παράδειγµα Γραµµατική G = (V, T,, P) µε: V = { a, b, A, B, }, T = { a, b }, αρχικό σύµβολο και σύνολο κανόνων παραγωγής P: P = { ABa, A BB, B ab, AB b } Λέξεις που παράγονται από τη G: b a ABa, AB b a b a b a b a ABa, A BB, B ab (3 ϕορές) a b a b a b a ABa, B ab, A BB, B ab (2 ϕορές) Γλώσσα που παράγεται από τη G: L(G) = { ba, abababa }. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 2 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 22 / 53 Σχέσεις Παραγωγής Παραδείγµατα Για µια γραµµατική G = (V, T,, P): Εστω w = l z r και w = l z r λέξεις στο V. Αν z z είναι παραγωγή της G, τότε: λέµε ότι η w παράγεται άµεσα από την w, γράφουµε w w. Αν w, w,..., w n είναι λέξεις στο V και: w i w i+, για i =,..., n, είναι παραγωγές της G, τότε η w n παράγεται από την w και γράφουµε w w n (παραγωγή n ϐηµάτων). Ποιά γλώσσα παράγει η γραµµατική G = (V, T,, P) µε: { { V = {, A, a, b }, T = { a, b} V = {,, }, T = {, } () (2) P = { aa, b, A aa} P = {, } Να δοθεί γραµµατική δοµής ϕράσεως που παράγει τη γλώσσα: (3) { n n : n =,, 2,... } (4) { m n : m και n είναι µη αρνητικοί ακέραιοι } (5) { n n 2 n : n N } Γλώσσα Γραµµατικής G: L(G) = { w T : w } Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 23 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 24 / 53

Παράδειγµα () Παράδειγµα (2) Ποιά γλώσσα παράγει η γραµµατική G = (V, T,, P) µε: V = {, A, a, b }, T = { a, b}, P = { aa, b, A aa} Με δοκιµές: Ξεκινώντας από το αρχικό σύµβολο,, έχουµε δύο δυνατές παραγωγές: aa και b Η δεύτερη παραγωγή µας δίνει τη λέξη b. Συνεχίζοντας από την πρώτη, µε τον κανόνα A aa λαµβάνουµε aaa. Ποιά γλώσσα παράγει η γραµµατική G = (V, T,, P) µε: V = {,, }, T = {, }, P = {, } Με δοκιµές: Ξεκινώντας έχουµε, εποµένως L(G). Εχουµε επίσης. Στη συνέχεια, χρησιµοποιώντας, συµπεραίνουµε L(G). Μπορούµε επίσης να συνεχίσουµε µε και να λάβουµε. Συνεχίζοντας µε, συµπεραίνουµε L(G). ιαισθητικά συµπεραίνουµε ότι L(G) = {,,,,... } Εποµένως, είναι L(G) = { aaa, b}. Οι λέξεις µε άρτιο πλήθος από και ένα µοναδικό στο τέλος. Αυτό αποδεικνύεται επαγωγικά. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 25 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 26 / 53 Παράδειγµα (3) Παράδειγµα (4α) Να δοθεί γραµµατική δοµής ϕράσεως που παράγει τη γλώσσα: { n n n =,, 2,... } Παρατηρούµε ότι ɛ L(G) (για n = ). Εισάγουµε έναν κανόνα ɛ. Επειδή «πλήθος» = «πλήθος των», εισάγουµε τον κανόνα. Αποδεικνύεται επαγωγικά ότι η γραµµατική αυτή είναι ορθή. G = ( V = {,, }, T = {, },, P = { ɛ, } ) Να δοθεί γραµµατική δοµής ϕράσεως που παράγει τη γλώσσα: { m n m και n είναι µη αρνητικοί ακέραιοι } Μια γραµµατική G = (V, T,, P) που παράγει τη γλώσσα είναι ως εξής: Αλφάβητο Γραµµατικής G : V = {,, }. Τερµατικά Σύµβολα της G : T = {, }. Μη τερµατικά Σύµβολα της G : N = { }. Παραγωγές της G : P = { ɛ,, }. Παρατηρούµε ότι παράγεται η λέξη ɛ και επιπλέον για κάθε άλλη παραγωγή πεπερασµένου πλήθους ϐηµάτων έχουµε ένα διαθέσιµο για αντικατάσταση, είτε µε, είτε µε (όσες ϕορές επιθυµούµε). Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 27 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 28 / 53

Παράδειγµα (4β) Να δοθεί γραµµατική δοµής ϕράσεως που παράγει τη γλώσσα: { m n m και n είναι µη αρνητικοί ακέραιοι } Μια δεύτερη γραµµατική G 2 = (V, T,, P) που παράγει τη γλώσσα: Αλφάβητο Γραµµατικής G 2 : V = {,,, A }. Τερµατικά Σύµβολα της G 2 : T = {, }. Μη τερµατικά Σύµβολα της G 2 : N = {, A }. Παραγωγές της G 2 : P = { ɛ,, A,, A A, A } Παράγει ακριβώς την ίδια Ϲητούµενη γλώσσα µε την G που παρουσιάστηκε προηγουµένως. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 29 / 53 Παράδειγµα (5) Να δοθεί γραµµατική δοµής ϕράσεως που παράγει τη γλώσσα: { n n 2 n : n N } Παράγεται από τη γραµµατική G = (V, T,, P), µε: Αλφάβητο: V = {,, 2,, A, B, C }. Τερµατικά Σύµβολα: T = {,, 2 }. Μη τερµατικά Σύµβολα: N = {, A, B, C }. Σύνολο Παραγωγών: P = { C, C CAB, ɛ, BA AB, A, A, B 2, 2B 22 } Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 3 / 53 Τύποι Γραµµατικών οµής Φράσεως Γραµµατικές Τύπου 3 (Κανονικές) Ιεράρχηση των γραµµατικών (και των γλωσσών που παράγουν), ανάλογα µε τη δοµή των κανόνων παραγωγής (Noam Chomsky). Τύπου 3: Κανονικές Γραµµατικές. (regular grammars) Τύπου 2: Γραµµατικές Χωρίς Συµφραζόµενα. (context-free grammars) Τύπου : Γραµµατικές µε Συµφραζόµενα. (context sensitive grammars) Σύνολο Κανόνων Παραγωγής: P N T (N {ɛ}) Της µορφής A w και A wb, όπου w T, A, B N. Ισοδύναµα: της µορφής A w και A Bw. Μια γλώσσα είναι κανονική αν παράγεται από κανονική γραµµατική. Τύπου : Γραµµατικές χωρίς Περιορισµούς (unrestricted grammars) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 3 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 32 / 53

Γραµµατικές Τύπου 2 (Χωρίς Συµφραζόµενα) Γραµµατικές Τύπου και Τύπου Context-Free Grammars - CFG Σύνολο Κανόνων Παραγωγής: Γραµµατικές Τύπου (Με Συµφραζόµενα / Context-ensitive): Για κάθε παραγωγή w w 2 είναι w 2 w (non-contracting). P N V. Παραγωγές της µορφής A w, όπου w V. Παραγωγές της µορφής w w 2, όπου: { w = l A r w 2 = l w r Αντικατάσταση µη τερµατικών ανεξάρτητα από τα συµφραζόµενά τους. όπου: l, r V, w V \ {ɛ}. Γλώσσες Χωρίς Συµφραζόµενα: Παράγονται από Γραµµατικές Τύπου 2. Οι Κανονικές (Τύπου ) Γλώσσες είναι Χωρίς Συµφραζόµενα. Π.χ., οι { n n n N } και { ww R w {a, b} }. Επιτρέπεται ɛ, µόνο αν το δεν εµφανίζεται στα δεξιά άλλου κανόνα. Γραµµατικές Τύπου : επιτρέπονται όλων των ειδών οι παραγωγές. Στο αριστερό µέλος κάθε κανόνα να υπάρχει µη τερµατικό σύµβολο. Π.χ., τύπου είναι η γραµµατική του Παραδείγµατος (5) προηγουµένως. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 33 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 34 / 53 Τύποι Γραµµατικών οµής Φράσεως Τύπος Επιτρεπτά Είδη Κανόνων Περιορισµοί Ολα τα είδη l A r l w r, ɛ l, r V, w V + Αν υπάρχει ɛ, το να µην εµφανίζεται στα δεξιά άλλου κανόνα. 2 A w A V \ T, w V Γλώσσες χωρίς Συµφραζόµενα Context-Free Languages 3 A a B, A a, ɛ A, B V \ T, a T Γλώσσα Τύπου 3: { m n : m, n N }. Γλώσσα Τύπου 2: { n n : n N }. Γλώσσα Τύπου : { n n 2 n : n N }. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 35 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 36 / 53

Οι Κανονικές Γλώσσες είναι Χωρίς Συµφραζόµενα Παραδείγµατα Σχεδιασµού Γραµµατικών (/2) Αναγνωρίζονται από DFA M = (Q, Σ, δ, q, F). Μετατρέπουµε το αυτόµατο σε γραµµατική Τύπου. Αλφάβητο: V = Q Σ. Σύνολο Τερµατικών: T = Q. Αρχικό Σύµβολο: = q. Για καθεµία από τις ακόλουθες γλώσσες, να δοθεί κανονική γραµµατική. το σύνολο των δυαδικών συµβολοσειρών που: (α) αρχίζουν µε. (β) περιέχουν δύο συνεχόµενα. (γ) δεν περιέχουν δύο συνεχόµενα. Κανόνες: R = {q a p δ(q, a) = p } {q ɛ q F} (δ) τελειώνουν µε. (ε) περιέχουν τουλάχιστον δύο. Κάθε Γραµµατική Τύπου είναι χωρίς Συµφραζόµενα (Τύπου 2) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 37 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 38 / 53 Παραδείγµατα Σχεδιασµού Γραµµατικών (/2) Παραδείγµατα Σχεδιασµού Γραµµατικών (2/2) (α) (β) (γ) C,, A B, A B, A B A C B B B ɛ A B B B ɛ A ɛ B B B A B C C C C A B A B ɛ (δ) (ε) A B, A B A B B ɛ A B B B ɛ A B A A B Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 39 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 4 / 53

Παραδείγµατα Σχεδιασµού Γραµµατικών (2/2) Παραδείγµατα CFG () Η γλώσσα των «ισοζυγισµένων» παρενθέσεων: Για καθεµία από τις ακόλουθες γλώσσες, να δοθεί κανονική γραµµατική.. L = { w {a, b} : η w αρχίζει µε a ή τελειώνει µε b }. 2. L 2 = { w {a, b} : η w έχει το πολύ δύο b }. 3. L 3 = { w {a, b} : w είναι (ακέραιο) πολλαπλάσιο του 3. }. 4. L 4 = { w {a, b} : η w δεν έχει τρία ή περισσότερα συνεχόµενα b }. G = ( {, (, ) }, { (, ) }, R, ), όπου: R = { ɛ,, ( ) } ή, πιο συνοπτικά: ( ) ɛ. ύο ενδεικτικές παραγωγές: ( ) ( ( ) ) ( ( ) ) ( ) ( ( ) ) ( ) ( ) ( ) ( ) ( ( ) ) ( ) ( ( ) ) Παρατήρηση: η ίδια λέξη µπορεί να έχει διαφορετικές παραγωγές. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 4 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 42 / 53 Παραδείγµατα CFG (2) Παραδείγµατα Σχεδιασµού CFG Εστω η γραµµατική G 4 = ( V, Σ, R, ΕΚΦΡΑΣΗ ), όπου: V = { ΕΚΦΡΑΣΗ, ΟΡΟΣ, ΠΑΡΑΓΟΝΤΑΣ, (, ), a, +, }. Το σύνολο κανόνων, R, περιλαµβάνει τους ακόλουθους κανόνες: ΕΚΦΡΑΣΗ ΕΚΦΡΑΣΗ + ΟΡΟΣ ΟΡΟΣ ΟΡΟΣ ΟΡΟΣ ΠΑΡΑΓΟΝΤΑΣ ΠΑΡΑΓΟΝΤΑΣ ΠΑΡΑΓΟΝΤΑΣ ( ΕΚΦΡΑΣΗ ) a Ενδεικτικές λέξεις παραγόµενες από την G 4 : a + a a, (a + a) a. Να δοθεί CFG για καθεµία από τις γλώσσες: (α) { w c w R w { a, b } } (ϐ) { w w R w in { a, b } } (γ) { w { a, b } w = w R } 2. Να δοθεί CFG για όλες τις κανονικές εκφράσεις επί του { a, b }, όπου: T = { a, b, (, ),,, } 3. Να δοθεί CFG για καθεµία από τις γλώσσες: (α) { a m b n m n } (ϐ) { w {a, b} η w έχει διπλάσιο πλήθος b από a } Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 43 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 44 / 53

Συντακτικά έντρα (Parse Trees) Για τη γραµµατική µε V = {A, B,,, #}, T = {,, #} και κανόνες: A A B, B # Συντακτικά έντρα (Parse Trees) Για τη γραµµατική της γλώσσας των «ισοζυγισµένων» παρενθέσεων: ( ) ɛ Θεωρούµε τις δύο «διαφορετικές» παραγωγές µε ίδιο συντακτικό δέντρο: Α ( ) ( ) ( ) ( ) ( ) ( ) Α Α Α Β Συντακτικό δέντρο για την παραγωγή: A = A = A = A = B = # ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) # ɛ ɛ Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 45 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 46 / 53 Οµοιες Παραγωγές Οµοιες Παραγωγές Υπάρχουν παραγωγές για τη λέξη ( ( ) ) ( ): Για τις προηγούµενες παραγωγές: Αλλο δέντρο, ίδια λέξη: ( ) ( ( ) ) ( ( ) ) ( ( ) ) ( ) ( ( ) ) ( ) ( ) ( ( ) ) ( ( ) ) ( ) ( ( ) ) ( ) ( ( ) ) ( ) ( ) ( ( ) ) ( ( ) ) ( ) ( ( ) ) ( ) ( ( ) ) ( ).............................. Ολες έχουν το ίδιο συντακτικό δέντρο! Οµοιες: ιαφέρουν µόνο στη σειρά εφαρµογής των (ίδιων) κανόνων ( ( ) ) ɛ Το δεξιά δέντρο αντιστοιχεί στην παραγωγή: ( ɛ ) ( ) ( ( ) ) ( ( ) ) ( ( ) ) ( ) ( ( ) ) ( ) ( ( ) ) ( ) ɛ ( ( ɛ ) ) ( ɛ ) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 47 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 48 / 53

ιφορούµενες Γραµµατικές Παράδειγµα (/2) Θεωρούµε τη γραµµατική: Μερικές ϕορές, µια CFG έχει τη δυνατότητα παραγωγής της ίδιας λέξης µε παραπάνω από έναν διαφορετικούς τρόπους. Σε µια τέτοια λέξη αντιστοιχούν περισσότερα από ένα συντακτικά δέντρα. Αρα, µπορούν να αντιστοιχηθούν διαφορετικές σηµασίες (στην ίδια λέξη). Αυτό το ϕαινόµενο είναι ανεπιθύµητο εν γένει: π.χ., στις γλώσσες προγραµµατισµού, ϑέλουµε κάθε πρόγραµµα να έχει µοναδική ερµηνεία. Μια γραµµατική που παράγει την ίδια λέξη µε περισσότερους του ενός τρόπους λέγεται διφορούµενη (ή ασαφής). Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 49 / 53 + ( ) a Παράγει τη λέξη a + a a µε δύο διαφορετικούς τρόπους: + a + a a + + a + a a εν εκφράζει τις συνήθεις σχέσεις προτεραιότητας µεταξύ των και +. ύο διαφορετικά συντακτικά δέντρα για την ίδια λέξη. Αντιθέτως, είδαµε γραµµατική προηγουµένως, που παράγει ακριβώς την ίδια γλώσσα και κάθε λέξη µε µοναδικό τρόπο. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 5 / 53 Παράδειγµα (2/2) ιφορούµενες Γραµµατικές Μία λέξη να παράγεται από δύο διαφορετικά συντακτικά δέντρα. + ύο παραγωγές της ίδιας λέξης µπορεί απλώς να διαφέρουν στη σειρά αντικατάστασης των µεταβλητών (δε συνιστά διφορούµενη γραµµατική). α + α α α α α Προκειµένου να διαπιστώνουµε διφορούµενη συµπεριφορά, ορίζουµε παραγωγές που αντικαθιστούν τις µεταβλητές µε συγκεκριµένη σειρά. ύο διαφορετικά δέντρα για την ίδια έκφραση, αντίστοιχα προς τις δύο διαφορετικές παραγωγές που συζητήθηκαν προηγουµένως. Μια παραγωγή ονοµάζεται αριστερότερη, εάν σε κάθε ϐήµα αντικαθιστά την αριστερότερη από τις εναποµείνασες µεταβλητές. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 5 / 53 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 52 / 53

ιφορούµενες Γραµµατικές Ορισµός Μια CFG είναι διφορούµενη αν έχει τουλάχιστον δύο αριστερότερες παραγωγές για κάποια λέξη. Μερικές ϕορές, µπορούµε να ϐρούµε ισοδύναµη µη διφορούµενη γραµµατική. Μερικές CFL παράγονται µόνο από διφορούµενες γραµµατικές. (εγγενώς διφορούµενες γλώσσες) Παράδειγµα εγγενώς διφορούµενης γλώσσας: { a i b j c k i = j ή j = k }. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Γλώσσες χωρίς Συµφραζόµενα 53 / 53