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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Απαρίθµηση Μονοπατιών. Στοιχεία Θεωρίας Γραφηµάτων (3) Μονοπάτια και Κυκλώµατα Euler. Ορέστης Τελέλης

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

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

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

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

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

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

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

Σχέσεις, Ιδιότητες, Κλειστότητες

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

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

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

Σύνοψη Προηγούµενου. Ισοδυναµίες, Μερικές ιατάξεις. Σχέσεις Ισοδυναµίας. Σχέσεις, Ιδιότητες, Αναπαράσταση. Ανακλαστικές (a, a) R

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

Βασικές Προτάσεις. έντρα. υαδικά έντρα Αναζήτησης ( Α) Ισοζυγισµένα έντρα και Υψος. Κάθε δέντρο µε n κόµβους έχει n 1 ακµές.

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

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

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

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

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

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

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

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

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

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

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

Γνωριµία. ιακριτά Μαθηµατικά. Βιβλία Μαθήµατος. Επικοινωνία. ιδάσκων: Ορέστης Τελέλης. Ωρες γραφείου (502, Γρ.

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

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

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης.

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

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

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

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

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

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

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

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

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

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

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

Παράδειγµα (4) Στοιχεία Θεωρίας Γραφηµάτων (2) Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς. v 2. u 3.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

Επιπλέον Ασκήσεις. Μαθηµατική Επαγωγή. ιαιρετότητα. Προβλήµατα ιαιρετότητας.

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

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

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

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

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

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

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

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

1 Ανάλυση αλγορίθµων. 2 Συµβολισµοί O, Ω και Θ. 3 Αναδροµικές εξισώσεις

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

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Transcript:

Σύνοψη Προηγούµενου Κανονικές Γλώσσες (3) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς (Ντετερµινιστική) Κλειστότητα Κανονικών Γλωσσών ως προς Ενωση. Κατασκευή: DFA M από δύο DFAs, M 1, M, ώστε L(M) = L(M 1 ) L(M ). Ισοδυναµία NFAs και DFAs. Κατασκευή: Μετατροπή NFA σε DFA. Κλειστότητα των Κανονικών Γλωσσών ως προς Κανονικές Πράξεις. Κατασκευή ενός NFA N από δύο NFAs, N 1, N ώστε: L(N) = L(N 1 ) L(N ). L(N) = L(N 1 ) L(N ). L(N) = [L(N 1 )]. Κανονικές Εκφράσεις. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 1 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) / 4 Παραδείγµατα µε Κανονικές Εκφράσεις Σε αυτό το µάθηµα Να γραφεί κανονική έκφραση για καθεµία από τις ακόλουθες γλώσσες: 1. L 1 = { w {, } : η w αρχίζει µε ή τελειώνει µε }.. L = { w {, } : η w έχει το πολύ δύο }. Ισοδυναµία Κανονικών Εκφράσεων µε DFAs/NFAs. Γενικευµένα Μη ντετερµινιστικά Πεπερασµένα Αυτόµατα. Μη Κανονικές Γλώσσες. 3. L 3 = { w {, } : w είναι (ακέραιο) πολλαπλάσιο του 3. }. 4. L 4 = { w {, } : η w δεν έχει τρία ή περισσότερα συνεχόµενα }. Το Λήµµα της Αντλησης. Παραδείγµατα µη Κανονικών Γλωσσών. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 3 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 4 / 4

Ισοδυναµία µε τα Πεπερασµένα Αυτόµατα Λήµµα 1 (Απόδειξη 1/) Θεώρηµα Μια γλώσσα είναι κανονική αν και µόνο αν γράφεται ως κανονική έκφραση. Αποδεικνύουµε το ϑεώρηµα σε δύο µέρη: Λήµµα 1 Αν µια γλώσσα περιγράφεται από κανονική έκφραση, τότε είναι κανονική. Μετατρέπουµε µια κανονική έκφραση R σε NFA N, ώστε L(N) = L(R). Για καθεµία από τις 6 περιπτώσεις ορισµού των κανονικών εκφράσεων: 1. R = α για κάποιο α Σ. Τότε L(R) = { α } και το ισοδύναµο NFA είναι: Σηµείωση. Αυτό δεν είναι ντετερµινιστικό αυτόµατο: γιατί;. R =. Τότε L(R) = { } και το ισοδύναµο NFA είναι: α Λήµµα Αν µια γλώσσα είναι κανονική, τότε περιγράφεται από κανονική έκφραση. 3. R =. Τότε L(R) = και το ισοδύναµο NFA είναι: Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 5 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 6 / 4 Λήµµα 1 (Απόδειξη /) Παράδειγµα Μετατροπή της Κανονικής Εκφρασης ( ) σε NFA. 4. R = R 1 R. Τότε χρησιµοποιούµε την κατασκευή µας για την κλειστότητα ως προς ένωση. 5. R = R 1 R. Τότε χρησιµοποιούµε την κατασκευή µας για την κλειστότητα ως προς παράθεση. 6. R = R 1. Τότε χρησιµοποιούµε την κατασκευή µας για την κλειστότητα ως προς σώρευση. Για το σύµβολο : Για το σύµβολο : Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 7 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 8 / 4

Παράδειγµα Παράδειγµα Μετατροπή της Κανονικής Εκφρασης ( ) σε NFA. Για την έκφραση : Μετατροπή της Κανονικής Εκφρασης ( ) σε NFA. Το τελικό NFA: Για την έκφραση : Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 9 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 10 / 4 Παραδείγµατα Λήµµα (Σύνοψη Απόδειξης) Για καθεµία από τις κανονικές εκφράσεις να δοθεί ισοδύναµο NFA. 1. ( 0 1 0 0 1 0 1 0 ).. ( 0 1) 0 0 0 ( 0 1 ). 3. ( ( ( 0 0 ) ( 1 1 ) ) 0 1 ). 4. 0 + 1 + 0. Εστω A οποιαδήποτε κανονική γλώσσα που αναγνωρίζεται από DFA. Θα δείξουµε ότι περιγράφεται από κάποια κανονική έκφραση. ιαδικασία που µετατρέπει ένα DFA σε κανονική έκφραση. Εισάγουµε το Γενικευµένο Μη Ντετερµινιστικό Πεπερασµένο Αυτόµατο (Generlized Non-deterministic Finite Automton -- GNFA). Η αποδεικτική µας µέθοδος ϑα: 1 Μετατρέπει σε GNFA, το DFA που αναγνωρίζει την A. Μετατρέπει το GNFA σε κανονική έκφραση. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 11 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 1 / 4

GNFAs Οι µεταβάσεις επιγράφονται µε κανονικές εκφράσεις αντί µε σύµβολο. Σε ένα ϐήµα υπολογισµού διαβάζεται (υπο-)λέξη, αντί για σύµβολο. Μετάβαση συµβαίνει όταν η (υπο-)λέξη περιγράφεται από την κανονική έκφραση της µετάβασης. 0 1 ( ) 3 Ορισµός GNFAs GNFA (Q, Σ, δ, 0, ˆ) 1. Q είναι το πεπερασµένο σύνολο καταστάσεων.. Σ είναι το αλφάβητο εισόδου. 3. δ : ( Q { ˆ } ) ( Q { 0 } ) R είναι η συνάρτηση µεταβάσεων. 4. 0 είναι η αρχική κατάσταση, ˆ είναι η κατάσταση αποδοχής. όπου R είναι το σύνολο όλων των κανονικών εκφράσεων επί του αλφαβήτου Σ. Παρατηρήσεις: Υπάρχει µόνο µία κατάσταση αποδοχής. Η συνάρτηση µετάβασης ορίζεται πάνω σε Ϲεύγη καταστάσεων, 1,, και δίνει την κανονική έκφραση που αντιστοιχεί στη µετάβαση 1. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 13 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 14 / 4 Προδιαγραφές GNFA. Μετατροπή DFA σε GNFA (1/3). Για απλοποίηση, απαιτούµε τα GNFAs να έχουν τις εξής προδιαγραφές: 1. Η αρχική κατάσταση µεταβαίνει σε όλες τις άλλες καταστάσεις, αλλά καµία άλλη κατάσταση δε µεταβαίνει στην αρχική.. Μόνο µία κατάσταση αποδοχής, διαφορετική από την αρχική. Προσθέτουµε νέα αρχική κατάσταση µε -µετάβαση προς την παλιά. Προσθέτουµε νέα κατάσταση αποδοχής µε -µεταβάσεις από τις παλιές. Παράδειγµα: Με εισερχόµενες µεταβάσεις από όλες τις άλλες καταστάσεις. 1 Χωρίς εξερχόµενη µετάβαση. 3. Εκτός της αρχικής κατάστασης και της κατάστασης αποδοχής, κάθε άλλη έχει εξερχόµενες µεταβάσεις προς όλες τις άλλες και προς τον εαυτό της. (α), (β), Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 15 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 16 / 4

Μετατροπή DFA σε GNFA (/3). Αν υπάρχουν: είτε µία µετάβαση µε πολλαπλές επιγραφές, είτε > 1 µεταβάσεις (ίδιας ϕοράς) µεταξύ δύο καταστάσεων, την (τις) αντικαθιστούµε µε µία µετάβαση που επιγράφεται µε την ένωση των προηγούµενων επιγραφών. Μετατροπή DFA σε GNFA (3/3). Αν από κάποια κατάσταση προς κάποια άλλη δεν υπάρχει µετάβαση, εισάγουµε µία µε επιγραφή. Αυτή η µετάβαση δε µπορεί να πραγµατοποιηθεί ποτέ. Παράδειγµα: Παράδειγµα: (β), (γ) (γ) (δ) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 17 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 18 / 4 Μετατροπή GNFA σε Κανονική Εκφραση (1/) Μετατροπή GNFA σε Κανονική Εκφραση (/) Σχηµατική Αναπαράσταση της Μετατροπής Εστω ότι το GNFA έχει k καταστάσεις. Θεωρούµε τη «διαγραφή» της κατάστασης στα αριστερά. Ισχύει k : έχει ακριβώς µία αρχική και µία (διαφορετική) αποδοχής. R 4 Αν k =, τότε η επιγραφή της µοναδικής µετάβασης αποτελεί τη Ϲητούµενη κανονική έκφραση. i R 1 j (R 1 ) (R ) (R 3 ) (R 4 ) i j R 3 Αν k > εξαλείφουµε επαναληπτικά µία κατάσταση τη ϕορά, ϕτιάχνοντας µια ακολουθία ισοδύναµων GNFAs. «Αφαιρούµε» πάντα κατάσταση διαφορετική της αρχικής και της αποδοχής. R Για όλες τις µεταβάσεις i j (απευθείας ή µέσω ) και για τους «ϐρόχους» της, εισάγεται νέα µετάβαση i j, µε επιγραφή µια κανονική έκφραση, που περιγράφει όλες τις λέξεις για τις µεταβάσεις αυτές. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 19 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 0 / 4

Παράδειγµα Μετατροπής (1/) Παράδειγµα Μετατροπής (/) «Αποµάκρυνση» της κατάστασης : «Αποµάκρυνση» της κατάστασης 1 : s ( ) ( ) ( ) (δ) (ε) (ε) (στ) Τελική Κανονική Εκφραση: ( ) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 1 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) / 4 Τυπική Σύνοψη Μετατροπής Ενδεικτική Υλοποίηση Αλγόριθµος ΜΕΤΑΤΡΟΠΗ(G) 1. Εστω k το πλήθος των καταστάσεων του GNFA G.. Αν k =, τότε Q = { 0, ˆ } και επιστρέφουµε δ( 0, ˆ). 3. Αν k > : επιλέγουµε Q { 0, ˆ }, ϑέτουµε G = ( Q, Σ, δ, 0, ˆ ), όπου: Q = Q { }. Για κάθε i Q { ˆ } και j Q { 0 }: Σε γλώσσα Python, από τον Απόστολο Ντόκο, διαθέσιµη εδώ: http://githu.com/ntok33/dfa-to-regulr-expression Εκτέλεση σε commnd line (cmd σε Windows) µε: python df_to_regex.py δ ( i, j ) = (R 1 )(R ) (R 3 ) (R 4 ), όπου: R 1 = δ( i, ), R = δ(, ), R 3 = δ(, j ), R 4 = δ( i, j ). 4. Συνεχίζουµε αναδροµικά, επιστρέφοντας ΜΕΤΑΤΡΟΠΗ(G ). Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 3 / 4 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Κανονικές Γλώσσες (3) 4 / 4