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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση

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

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

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

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

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

Σειρά Προβλημάτων 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

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216

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

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

ΜΑΘΗΜΑ: Μεταγλωττιστές

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

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

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

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

Παραδείγµατα. Τάξη των Συναρτήσεων (1) Παράδειγµα (2) Να δειχθεί ότι 7n 2 = O(n 3 ). Ορέστης Τελέλης

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

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

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

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

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

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

Θεωρία Υπολογισμού. Ενότητα 7 : Ντετερμινιστικά Πεπερασμένα Αυτόματα, Κανονικές Πράξεις. Αλέξανδρος Τζάλλας

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

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

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

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

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

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

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

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

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

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

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

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

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

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

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

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

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

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

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

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

Transcript:

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού / 24

Μηχανές Πεπερασµένων Καταστάσεων Πεπερασµένα Αυτόµατα Απλοϊκές µηχανές που δέχονται σαν είσοδο µία συµβολοσειρά. Σε κάθε βήµα υπολογισµού:. ιαβάζουν το επόµενο σύµβολο της συµβολοσειράς εισόδου. 2. Ανάλογα µε την κατάσταση στην οποία ϐρίσκονται... 3.... και ανάλογα µε το σύµβολο που διαβάζουν, µεταβαίνουν σε νέα κατάσταση. Εχουν πεπερασµένο πλήθος καταστάσεων. Εχουν µία αρχική κατάσταση από την οποία εκκινούν. Εχουν µία ή περισσότερες καταστάσεις αποδοσχής. Αποδέχονται την είσοδο, αν στο τέλος του υπολογισµού ϐρίσκονται σε κάποια από αυτές τις καταστάσεις. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 2 / 24

Παράδειγµα Σύνολο Καταστάσεων: S = { s, s, s 2, s 3 }. Αλφάβητο Εισόδου: Σ = {, }. Αρχική Κατάσταση: s. Σύνολο Καταστάσεων Αποδοχής: F = { s, s 3 }. Συνάρτηση Μεταβάσεων: δ : S Σ S, όπως απεικονίζεται παρακάτω. δ s s s s s s 2 s 2 s s s 3 s 2 s s s, s 2 s 3 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 3 / 24

Πεπερασµένα Αυτόµατα - Αναγνωριστές Γλώσσας Ενα αυτόµατο πεπερασµένων καταστάσεων (πεπερασµένο αυτόµατο): αποτελείται από: M = (S, Σ, δ, s, F) Πεπερασµένο Σύνολο Καταστάσεων Πεπερασµένο Αλφάβητο Εισόδου Συνάρτηση Μεταβάσεων Αρχική Κατάσταση Σύνολο Καταστάσεων Αποδοχής S Σ δ : S Σ S s S F S Κάθε λέξη εισόδου που αποδέχεται το αυτόµατο ανήκει στη γλώσσα που αναγνωρίζει. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 4 / 24

Παράδειγµα () Ποιά γλώσσα αναγνωρίζει το παρακάτω πεπερασµένο αυτόµατο;, s s Μερικές δοκιµές µε εισόδους: : s s (αποδοχή) : s s s s s (µη αποδοχή) : s s s s s (µη αποδοχή) : s s s s s (αποδοχή) Αποδέχεται τη γλώσσα { k : k N } (όσο η είσοδος αποτελείται από τερµατίζει σε κατάσταση αποδοχής). Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 5 / 24

Παράδειγµα (2) Ποιά γλώσσα αναγνωρίζει το παρακάτω πεπερασµένο αυτόµατο; s s s 2, s 3, Αν η είσοδος είναι απλώς, µεταβαίνει στην s 2 και αποδέχεται. Αν όµως το ακολουθείται από οποιαδήποτε υπολέξη, µεταβαίνει και «παγιδεύεται» στην s 3. Αν η είσοδος είναι, µεταβαίνει στην s, κατόπιν στην s 2 και αποδέχεται. εν αποδέχεται οποιαδήποτε άλλη λέξη εισόδου, άρα L(M) = {, }. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 6 / 24

Παράδειγµα (3) Ποιά γλώσσα αναγνωρίζει το παρακάτω πεπερασµένο αυτόµατο; s s s 2 s 3,, Τερµατίζει σε κατάσταση αποδοχής όσο «καταναλώνει» στην είσοδο. Εφόσον διαβάσει, µεταβαίνει σε άλλες καταστάσεις που δεν είναι αποδοχής, χωρίς επιστροφή. Εποµένως, L(M) = { k : k N } = {}. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 7 / 24

Παράδειγµα (4) Ποιά γλώσσα αναγνωρίζει το αυτόµατο; q q 2 q 3 Τη γλώσσα των λέξεων που περιέχουν τουλάχιστον ένα και τερµατίζουν µε άρτιο πλήθος. (επαληθεύστε το), Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 8 / 24

Παραδείγµατα Σχεδιασµού Αυτοµάτων Για καθεµία από τις ακόλουθες γλώσσες, να σχεδιαστεί πεπερασµένο αυτόµατο που την αναγνωρίζει. Γλώσσα: Το σύνολο των δυαδικών συµβολοσειρών που: (α) αρχίζουν µε. (β) περιέχουν δύο συνεχόµενα. (γ) δεν περιέχουν δύο συνεχόµενα. (δ) τελειώνουν µε. (ε) περιέχουν τουλάχιστον δύο. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 9 / 24

Παραδείγµατα Σχεδιασµού Αυτοµάτων (/2) (α) s 3,, s s s 2, (β) s s s 2, (γ) s s s 2 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού / 24

Παραδείγµατα Σχεδιασµού Αυτοµάτων (2/2) (δ) s s s 2 (ε), s s s 2 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού / 24

Μετατροπή Αυτοµάτου σε Γραµµατική Τύπου 3 Για κάθε κατάσταση s k εισάγουµε µη τερµατικό σύµβολο A k. Για την αρχική κατάσταση s : εισάγουµε αρχικό µη τερµατικό σύµβολο S. Αν η αρχική κατάσταση είναι και αποδοχής, εισάγουµε κανόνα S ɛ. Για κάθε µετάβαση από την s k στην s l µε ανάγνωση συµβόλου α: Αν η s l είναι αποδοχής, εισάγουµε κανόνες: A k α, A k αa l Αν η s l δεν είναι αποδοχής, εισάγουµε κανόνα: A k αa l Συµβολισµός: Για δύο ή περισσότερους κανόνες µε ίδιο αριστερό µέλος π.χ., A αb, A βb, γράφουµε: A αb βb Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 2 / 24

Παραδείγµατα Μετατροπής σε Γραµµατική Τύπου 3 (/2) C,, S A B S A C B B B A C B C C C, S A B, S A B S S A A S B B B B S A S ɛ A B S B B B Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 3 / 24

Παραδείγµατα Μετατροπής σε Γραµµατική Τύπου 3 (2/2) S A B S A S B S B A S B, S A B S S A A A B B B B Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 4 / 24

Κανονικές Γλώσσες Παράγονται από Κανονικές Γραµµατικές (Τύπου 3). Αναγνωρίζονται από Πεπερασµένα Αυτόµατα. εν αναγνωρίζουν µη κανονικές γλώσσες (π.χ., µε συµφραζόµενα). Περιγράφονται από Κανονικές Εκφράσεις. Αποδεικνύεται ότι οι τρεις αυτοί µηχανισµοί είναι ισοδύναµοι. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 5 / 24

Κανονικές Εκφράσεις Συντακτική περιγραφή Κανονικών Γλωσσών, µε Κανονικές Πράξεις: Παράθεση ( ): παράθεση συµβόλων/λέξεων/εκφράσεων Σώρευση ( ): «επανάληψη καµία ή περισσότερες ϕορές» Ενωση ( ): λογικό «ή» µεταξύ συµβόλων/λέξεων/εκφράσεων Παράδειγµα: Οι λέξεις που αρχίζουν µε ή και συνεχίζονται µε κανένα ή περισσότερα. ( ) Συνήθως παραλείπουµε το της παράθεσης: ( ). Πρακτική Αξία: αναζήτηση προτύπων (ptterns) κειµένου. Υποστηρίζονται από όλες τις σύγχρονες γλώσσες προγραµµατισµού. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 6 / 24

Κανονικές Εκφράσεις Ορισµός. Η R είναι κανονική έκφραση, αν είναι της µορφής: Μορφή Επεξήγηση Γλώσσα L(R) α, α σύµβολο ενός αλφαβήτου Σ, {α} ɛ, {ɛ}, R R 2, R, R 2 κανονικές εκφράσεις, L(R ) L(R 2 ) (R R 2 ), R, R 2 κανονικές εκφράσεις, L(R ) L(R 2 ) (R ), R κανονική έκφραση, [L(R )] Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 7 / 24

Κανονικές Εκφράσεις Επιπλέον Πράξεις για ιευκόλυνση Επανάληψη µιας έκφρασης µία ή περισσότερες ϕορές: Αν Σ = { α, α 2,..., α n }: (R) + = R(R) Προτεραιότητα Κανονικών Πράξεων: χρησιµοποιούµε Σ αντί της 2 n Υψηλότερη έχει η ( ), χαµηλότερη η. Χρησιµοποιούµε παρενθέσεις για οµαδοποίηση, όποτε χρειάζεται, ή όποτε αµφιβάλλουµε. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 8 / 24

Παραδείγµατα για αλφάβητο Σ = {, } = { w η w περιέχει ακριβώς ένα }. Σ Σ = { w η w περιέχει τουλάχιστον ένα }. Σ Σ = { w η w περιέχει ως υπολέξη τη }. ( + ) = { w τουλάχιστον ένα ακολουθεί κάθε στην w }. (Σ Σ) = { w : w είναι άρτιος }. (Σ Σ Σ) = { w : w είναι πολλαπλάσιο του 3 }. = {, }. Σ Σ = { w η w αρχίζει & τελειώνει µε το ίδιο σύµβολο }. ( ɛ) =. ( ɛ)(ɛ ) = { ɛ,,, }. =. = { ɛ }. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 9 / 24

Παραδείγµατα µε Κανονικές Γλώσσες Για καθεµία από τις γλώσσες, να σχεδιαστούν: αυτόµατο, κανονική γραµµατική, κανονική έκφραση.. L = { w {, } : η w αρχίζει µε ή τελειώνει µε }. 2. L 2 = { w {, } : η w έχει το πολύ δύο }. 3. L 3 = { w {, } : w αρχίζει και τελειώνει µε το ίδιο σύµβολο. }. 4. L 4 = { w {, } : η w δεν έχει τρία ή περισσότερα συνεχόµενα }. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 2 / 24

Παράδειγµα A, S B C Κανονική Γραµµατική: S A B A A A B B C C C B Κανονική Εκφραση: ({, } ) ({, } ) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 2 / 24

Παράδειγµα 2 S A B C, Κανονική Γραµµατική: S S A ɛ A A B B B C C C C Κανονική Εκφραση: ( ) ( ) ( ) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 22 / 24

Παράδειγµα 3 S A C B D Κανονική Γραµµατική: S A C A A B B A B C C D D C D Κανονική Εκφραση: ({, } ) ({, } ) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 23 / 24

Παράδειγµα 4 S A B C, Κανονική Γραµµατική: S S A ɛ A S B B S C C C C Κανονική Εκφραση: [ () ()] ( ɛ) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 24 / 24