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

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

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

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

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

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

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

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

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

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

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

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

Κατηγορικές Γραµµατικές

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

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

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

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

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

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

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

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

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

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

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

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

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

Απάντηση: (func endfunc)-([a-za-z])+

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

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

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

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

f(n) = a n f(n + m) = a n+m = a n a m = f(n)f(m) f(a n ) = b n f : G 1 G 2, f(a n a m ) = f(a n+m ) = b n+m = b n b m = f(a n )f(a m )

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών

Βασική Εφικτή Λύση. Βασική Εφικτή Λύση

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

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

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

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

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

4 Συνέχεια συνάρτησης

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

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

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

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

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

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

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

ΠΕΡΙ ΜΕΤΑΒΑΣΗΣ ΑΠΟ ΤΑ ΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ ΙΑΓΡΑΜΜΑΤΑ ΟΜΗΣ Ε ΟΜΕΝΩΝ

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Ασκησεις - Φυλλαδιο 6

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

Γλώσσες που περιγράφονται από Κανονικές Εκφράσεις

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

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

Μηχανές Πεπερασµένων Καταστάσεων

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

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

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

HY118- ιακριτά Μαθηµατικά

2.3. Ασκήσεις σχ. βιβλίου σελίδας Α ΟΜΑ ΑΣ

Κεφάλαιο 6. Εισαγωγή στη µέθοδο πεπερασµένων όγκων επίλυση ελλειπτικών και παραβολικών διαφορικών εξισώσεων

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

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

ΚΕΦΑΛΑΙΟ 5: Τανυστικά Γινόµενα

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Φυλλαδιο 4. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ΙΙ (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 5

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

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

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

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

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

παράγεται και οφείλεται στο σύνολο των δαπανών που καταβάλλονται στους σταθερούς συντελεστές παραγωγής

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

ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ

HEAD INPUT. q0 q1 CONTROL UNIT

Αρµονική Ανάλυση. Ενότητα: Μέτρο Lebesgue. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

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

Έτος Ετήσιος ιακινηθέντα Μερίδιο Τζίρος Κεφάλαια Αγοράς

2.6 ΟΡΙΑ ΑΝΟΧΗΣ. πληθυσµού µε πιθανότητα τουλάχιστον ίση µε 100(1 α)%. Το. X ονοµάζεται κάτω όριο ανοχής ενώ το πάνω όριο ανοχής.

Θεωρητικά Θέµατα. Ι. Θεωρία Οµάδων. x R y ή x R y ή x y(r) [x] R = { y X y R x } X. Μέρος Σχέσεις Ισοδυναµίας, ιαµερίσεις, και Πράξεις

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

Κώδικας σχεδίασης Λογισµικής ιαγραµµατικής Οντολογίας

Οδηγίες για την κατασκευή του αρχείου «Ταυτότητα (α+β) 2» 1. Αποκρύπτουµε τους άξονες και το παράθυρο άλγεβρας: Παράθυρο προβολή

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

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

Δ/νση Β /θµιας Εκπ/σης Φλώρινας Κέντρο ΠΛΗ.ΝΕ.Τ. Πολυώνυµα ΠΟΛΥΩΝΥΜΑ ΑΚΕΡΑΙΑ ΠΟΛΥΩΝΥΜΑ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ

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

ΣΤΟΧΑΣΤΙΚΕΣ ΙΑ ΙΚΑΣΙΕΣ

ΠΟΛΥΩΝΥΜΙΚΕΣ - ΡΗΤΕΣ ΑΝΙΣΩΣΕΙΣ P x = x+ 2 4 x x 3x x x x 3x

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

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

Ισοδυναµία τοπολογιών βρόχων.

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

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

Γραµµική Αλγεβρα. Ενότητα 3 : ιανυσµατικοί Χώροι και Υπόχωροι. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Κεφάλαιο 3β. Ελεύθερα Πρότυπα (µέρος β)

11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44.

ειγµατοληπτική κατανοµή

ΕΡΓΑΣΤΗΡΙΟ 11 - Απαντήσεις

Transcript:

Κανονικές Γραµµατικές Γραµµατικές για Κανονικές Γλώσσες Ταξινόµηση Γραµµατικών εξιά Παραγωγικές Γραµµατικές εξιά Παραγωγικές Γραµµατικές και NFA Αριστερά Παραγωγικές Γραµµατικές Κανονικές Γραµµατικές Γραµµατικές για Κανονικές Γλώσσες Όπως ήδη ξέρουµε: Η γλώσσα που περιγράφεται από ένα DFA ονοµάζεται κανονική γλώσσα. Κάθε DFA µπορεί να θεωρηθεί µία ειδική περίπτωση ενός NFA. Κάθε NFA µπορεί να µετατραπεί σε ένα ισοδύναµο DFA, έτσι, µία γλώσσα που περιγράφεται από ένα NFA είναι µία κανονική γλώσσα. Μία κανονική έκφραση µπορεί να µετατραπεί σε ένα ισοδύναµο NFA, έτσι, µία γλώσσα που περιγράφεται από µία κανονική έκφραση είναι µία κανονική γλώσσα. Ένα NFA µπορεί (µε κάποια προσπάθεια!) να µετατραπεί σε µία κανονική έκφραση. Έτσι τα DFA, NFA, και οι κανονικές εκφράσεις είναι όλα "ισοδύναµα", µε την έννοια ότι όποια γλώσσα περιγράφεται µε κάποιο από αυτά µπορεί να περιγραφεί και µε τα υπόλοιπα. Γνωρίζουµε επίσης ότι οι γλώσσες µπορούν να περιγραφούν από τις γραµµατικές. Παρακάτω θα ταξινοµήσουµε τις γραµµατικές. Το πρώτο είδος που θα µελετήσουµε είναι οι κανονικές γραµµατικές. Όπως θα περίµενε κανείς, οι κανονικές γραµµατικές είναι ισοδύναµες µε τα DFA, NFA, και τις κανονικές εκφράσεις. Ταξινόµηση Γραµµατικών

Υπενθυµίζουµε ότι µία γραµµατική αποτελείται από τέσσερα στοιχεία G = (V, T, S, P) όπου V είναι ένα πεπερασµένο σύνολο από (µετα) σύµβολα, ή µεταβλητές. T είναι ένα πεπερασµένο σύνολο από τερµατικά σύµβολα. S V είναι ένα ξεχωριστό στοιχείο του V που ονοµάζεται σύµβολο αρχής. P είναι ένα πεπερασµένο σύνολο κανόνων παραγωγής. Τα παραπάνω ισχύουν για όλες τις γραµµατικές. Χωρίζουµε τις γραµµατικές σε διάφορα είδη ανάλογα µε την µορφή των κανόνων παραγωγής. Αν οι κανόνες αυτοί ακολουθούν κάποια συγκεκριµένη διαδικασία, έχουµε ένα συγκεκριµένο είδος γραµµατικής. Αν οι κανόνες ταιριάζουν σε κάποια άλλη διαδικασία, έχουµε ένα διαφορετικό είδος γραµµατικής. Οι κανόνες παραγωγής έχουν την εξής µορφή: (V T)+ (V T)* ιαφορετικοί τύποι γραµµατικής µπορούν να περιγραφούν, αν βάλουµε περιορισµούς, είτε στο αριστερό µέλος των κανόνων, είτε στο δεξί µέλος, ή και στα δύο. εξιά Παραγωγικές Γραµµατικές Γενικά, οι κανόνες παραγωγής έχουν την εξής µορφή : (V T)+ (V T)* Σε µία δεξιά παραγωγική γραµµατική, όλοι οι κανόνες παραγωγής έχουν µία από τις δύο παρακάτω µορφές : ή V T*V V T* Αυτό επειδή, το αριστερό µέλος πρέπει να αποτελείται από µία µοναδική µεταβλητή, και το δεξί µέλος από οποιοδήποτε αριθµό τερµατικών συµβόλων

(που είναι µέλη του Σ) προαιρετικά ακολουθούµενα από µία µοναδική µεταβλητή. (Το "δεξιά" στην "δεξιά παραγωγική γραµµατική" αναφέρεται στο γεγονός ότι, σύµφωνα µε το βέλος, µία µεταβλητή µπορεί να προκύψει µόνο ως το δεξιότερο σύµβολο του κανόνα παραγωγής.) εξιά Παραγωγικές Γραµµατικές και NFA Υπάρχει µία απλή σχέση ανάµεσα στις δεξιά παραγωγικές γραµµατικές και στα NFA, όπως υποδεικνύεται από τα παρακάτω διαγράµµατα: A x B A x y z B A B A x Σαν παράδειγµα της αντιστοιχίας µεταξύ ενός NFA και µίας δεξιάς παραγωγικής γραµµατικής, βλέπουµε το παρακάτω αυτόµατο και την γραµµατική όπου και τα δύο αναγνωρίζουν το σύνολο συµβολοσειρών που απαρτίζονται από άρτιο αριθµό από 0 και άρτιο αριθµό από 1.

S ε S 0 B S 1 A A 0 C A 1 S B 0 S B 1 C C 0 A C 1 B Αριστερά Παραγωγικές Γραµµατικές Σε µια αριστερά παραγωγική γραµµατική, όλοι οι κανόνες παραγωγής έχουν τις εξής δύο µορφές: ή V VT* V T* Αυτό επειδή, το αριστερό µέλος πρέπει να αποτελείται από µία µοναδική µεταβλητή, και το δεξί µέλος από µια προαιρετική µοναδική µεταβλητή ακολουθούµενη από οποιοδήποτε αριθµό τερµατικών συµβόλων. Είναι το ίδιο µε την δεξιά παραγωγική γραµµατική εκτός από ότι, σύµφωνα µε το βέλος, µία µεταβλητή µπορεί να προκύψει µόνο στα αριστερά των τερµατικών συµβόλων, και όχι στα δεξιά. εν δίνουµε ιδιαίτερη προσοχή στις αριστερά παραγωγικές γραµµατικές, διότι όπως αποδεικνύεται είναι ισοδύναµες µε τις δεξιά παραγόµενες γραµµατικές. Αν έχουµε µία αριστερά παραγωγική γραµµατική για µια γλώσσα L, µπορούνε να κατασκευάσουµε µία δεξιά παραγόµενη γλώσσα ως εξής:

Βήµα Μέθοδος Κατασκευάζουµε µια δεξιά παραγόµενη γλώσσα για την (διαφορετική) γλώσσα L. Αντικαθιστούµε κάθε κανόνα παραγωγής A x της L µε τον κανόνα A x, και κάθε κανόνα A B x µε τον κανόνα A x B. Κατασκευάζουµε ένα NFA για την L από την δεξιά παραγόµενη γλώσσα. Αυτό το NFA θα πρέπει να έχει µοναδική τελική κατάσταση. Μιλήσαµε νωρίτερα για την παραγωγή ενός NFA από µία δεξιά παραγωγική γραµµατική σε προηγούµενη ενότητα. Αν το NFA έχει περισσότερες από µία τελικές καταστάσεις, µπορούµε να κάνουµε τις καταστάσεις αυτές µη τελικές, να προσθέσουµε µία νέα τελική κατάσταση, και ε µεταβάσεις για κάθε προηγούµενη τελική κατάσταση στην καινούργια τελική κατάσταση. Αντιστρέφουµε το NFA για την L για να πάρουµε ένα NFA για την L. 1. Κατασκευάζουµε ένα NFA που αναγνωρίζει την γλώσσα L. 2. Βεβαιωνόµαστε ότι το NFA έχει µία µόνο τελική κατάσταση. 3. Αντιστρέφουµε την φορά των βελών. 4. Κάνουµε την αρχική κατάσταση τελική και την τελική κατάσταση αρχική. Κατασκευάζουµε µια δεξιά παραγωγική γραµµατική για την L από το NFA για την L. Αυτή είναι η τεχνική για την οποία µιλήσαµε σε προηγούµενη ενότητα. Κανονικές Γραµµατικές Μία κανονική γραµµατική είναι είτε δεξιά παραγωγική γραµµατική είτε αριστερά παραγωγική γραµµατική. Για να είναι µία γραµµατική δεξιά παραγωγική, όλοι οι κανόνες παραγωγής της γραµµατικής πρέπει να έχουν µία από τις εξής µορφές:

V T*V ή V T* Για να είναι µία γραµµατική αριστερά παραγωγική, όλοι οι κανόνες παραγωγής της γραµµατικής πρέπει να έχουν µία από τις εξής µορφές: V VT* ή V T* εν πρέπει να ισχύουν και τα δύο. Για παράδειγµα, ας θεωρήσουµε µια γραµµατική µε τους παρακάτω κανόνες παραγωγής: S ε S a X X S b Η γραµµατική αυτή δεν είναι ούτε δεξιά παραγωγική, ούτε αριστερά παραγωγική, συνεπώς δεν είναι µία κανονική γραµµατική. εν υπάρχει λόγος να υποθέτουµε ότι η γλώσσα που παράγει, είναι µία κανονική γλώσσα (η αναγνωρίζεται από ένα DFA). Συγκεκριµένα, η γλώσσα που παράγει η πιο πάνω γραµµατική, είναι η γλώσσα της οποίας οι συµβολοσειρές είναι της µορφής a b. Αυτή η γλώσσα δεν αναγνωρίζεται από ένα DFA. (Γιατί;)