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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γνωριµία. Θεωρία Υπολογισµού: Εισαγωγικά. Αντικείµενο Μαθήµατος. Επικοινωνία.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. στο σύνολο Σ έχει ορισθεί η πράξη της πρόσθεσης ως προς την οποία το Σ είναι αβελιανή οµάδα, δηλαδή

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

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

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

Πιθανότητες Γεώργιος Γαλάνης Κωνσταντίνα Παναγιωτίδου

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

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

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

Αλγόριθµοι και Πολυπλοκότητα

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

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

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

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

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

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

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

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

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

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

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

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

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

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

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

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

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

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

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

Transcript:

Σύνοψη Προηγούµενου Κανονικές Γλώσσες () ιαδικαστικά του Μαθήµατος. Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Εισαγωγή: Υπολογισιµότητα και Πολυπλοκότητα. Βασικές έννοιες, ιστορικά στοιχεία. Κάτω ϕράγµα πολυπλοκότητας της ταξινόµησης. Το πρόβληµα του τερµατισµού. Προβλήµατα Απόφασης. Ο. Τελέλης Κανονικές Γλώσσες () / 48 Ο. Τελέλης Κανονικές Γλώσσες () 2 / 48 Σε αυτό το µάθηµα Προβλήµατα και Γλώσσες Μελετάµε Προβλήµατα Απόφασης. Ζητείται ο σχεδιασµός αλγορίθµου που αποφασίζει «ΝΑΙ» ή «ΟΧΙ». Αλφάβητα, λέξεις, γλώσσες. Η (κυρίως, µη) ύπαρξη αλγορίθµου είναι αντικείµενο της Υπολογισιµότητας. Εισαγωγή στις Κανονικές Γλώσσες Regulr Lnguges Πεπερασµένα Ντετερµινιστικά Αυτόµατα. Deterministic Finite Automt DFAs Εισαγωγή στα Μη Ντετερµινιστικά Πεπερασµένα Αυτόµατα. Non-deterministic Finite Automt Οι ελάχιστες απαιτήσεις σε πόρους των δυνατών αλγορίθµων είναι αντικείµενο της Πολυπλοκότητας. Παράδειγµα: Κύκλος Hmilton σε γράφηµα. Πρόβληµα Εύρεσης: Να περιγραφεί αλγόριθµος που υπολογίζει έναν κύκλο Hmilton, σε γράφηµα εισόδου, G(V, E), αν αυτός ο κύκλος υπάρχει. 2 Πρόβληµα Απόφασης: Να περιγραφεί αλγόριθµος που, για είσοδο ένα γράφηµα G(V, E), να απαντά «ΝΑΙ» ή «ΟΧΙ», αν το G έχει, ή δεν έχει κύκλο Hmilton, αντιστοίχως. Αν λύσουµε το, αυτοµάτως έχουµε λύσει και το 2. Ο. Τελέλης Κανονικές Γλώσσες () 3 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 4 / 48

Προβλήµατα και Γλώσσες Αλφάβητο και Λέξεις Τα προβλήµατα απόφασης µπορούν να περιγραφούν µε τυπικές γλώσσες. Οι γλώσσες είναι σύνολα λέξεων. Μια λέξη είναι µια ακολουθία συµβόλων από ένα δεδοµένο αλφάβητο. Χρησιµοποιούµε λέξεις για να περιγράψουµε την είσοδο µηχανές των υπολογιστικών µας µοντέλων. εδοµένης µιας λέξης, οι µηχανές ϑα απαντούν: «ΝΑΙ», αν η λέξη ανήκει στη γλώσσα. «ΟΧΙ», διαφορετικά. Εποµένως: Γλώσσα Πρόβληµα (απόφασης) και Λέξη Είσοδος. Αλφάβητο: πεπερασµένο, µη κενό σύνολο από σύµβολα. Π.χ., Σ = {, }, Σ = {,, c }. Η ακόµα: Σ = { while, void, int, for, if... } Λέξη/Συµβολοσειρά: πεπερασµένη ακολουθία συµβόλων του αλφαβήτου Σ. Π.χ.,, c, ή ένα πρόγραµµα σε C (ή Jv, ή C++,... ) Μήκος λέξης: πλήθος συµβόλων της λέξης, συµβ. µε w. Κενή Λέξη: Λέξη µηδενικού µήκους, συµβολίζεται µε ɛ. Σ k : σύνολο λέξεων µήκους k που αποτελούνται από σύµβολα του Σ. {, } 2 = {,,, }. {,, c }2 = {, c, c, c, c, }. Σ : σύνολο όλων των λέξεων επί του Σ: Σ = k N Σk Π.χ., {, } = { ɛ,,,,,,,,,... }. Ο. Τελέλης Κανονικές Γλώσσες () 5 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 6 / 48 Πράξεις µε Λέξεις Τυπικές Γλώσσες Παράθεση των x και y: x y ή απλώς xy. Π.χ., παράθεση των και δίνει. Επανάληψη της λέξης w k ϕορές: w k = k ϕορές {}}{ w w w. Αντίστροφη w R της λέξης w: προκύπτει γράφοντας την w από το τέλος προς την αρχή. Π.χ., () R =, (cc) R = cc. Παλινδροµική λέξη w αν w = w R : π.χ., () R =. Για κάθε δύο λέξεις x και y είναι (x y) R = y R x R. Η x είναι υπολέξη της w αν w = y x z. Μπορεί να είναι y = ɛ ή z = ɛ (ή και τα δύο). Τυπική Γλώσσα L επί του αλφαβήτου Σ: Ενα συγκεκριµένο υποσύνολο του Σ. Με άπειρο ή πεπερασµένο πλήθος συµβολοσειρών (λέξεων) - αριθµήσιµο. Μερικά παραδείγµατα γλωσσών επί του αλφαβήτου Σ = {,, 2 }: L = { 2, 2, 2, 2, 2, 2 } = Σ 3 L 2 = { ɛ,,,,... } L 3 = { w Σ : το τελευταίο ψηφίο του w είναι }. L 4 = { } = (η κενή γλώσσα). L 5 = { ɛ } η γλώσσα που περιέχει µόνο την κενή λέξη. L 6 = { w : w συντακτικά ορθό πρόγραµµα σε C } = Γλώσσα C Κάθε συντακτικά ορθό πρόγραµµα είναι µία λέξη της γλώσσας. Ο. Τελέλης Κανονικές Γλώσσες () 7 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 8 / 48

Πράξεις µε Γλώσσες Πράξεις Συνόλων: ένωση, τοµή, διαφορά, συµπλήρωµα. Παράθεση γλωσσών L και L 2 επί του αλφαβήτου Σ : L L 2 = { w Σ : w = x x 2, για x L και x 2 L 2 } = L L2 Π.χ., αν L = {,, } και L 2 = { ɛ, }: L L 2 = {,,,,, } Παράθεση Γλώσσας µε την ίδια: L 2 = { w Σ : w = x x 2, για x L και x 2 L } Παράθεση Γλώσσας k φορές: L k = { w Σ : w = x x 2 x k, για x, x 2,..., x k L } Ο. Τελέλης Κανονικές Γλώσσες () 9 / 48 Πράξεις µε Γλώσσες Παράθεση οποιουδήποτε (πεπερασµένου) πλήθους λέξεων της L: L = L k (Παρατήρηση: k.) k N Παράδειγµα: αν L = {, }, τότε: L = { ɛ,,,,,,,,... } Αν L = { ɛ }, τότε L = { ɛ }. Αν L =, τότε L = { ɛ }. Παράθεση ϑετικού πεπερασµένου πλήθους λέξεων της L: L + = L k (Παρατήρηση: k.) k Z + Πότε είναι L = L + ; Ο. Τελέλης Κανονικές Γλώσσες () / 48 Αναπαράσταση Γλωσσών Με απλή απαρίθµηση των λέξεών τους, όταν είναι πεπερασµένες. Μέσω κοινής χαρακτηριστικής ιδιότητας που έχουν οι λέξεις: Π.χ., L = { w {, } : w έχει άρτιο πλήθος από } Π.χ., L 2 = { n n : n }. Κανονικές Γλώσσες Μέσω συνολοθεωρητικών πράξεων επί άλλων γλωσσών, π.χ., L L 2. Μέσω γραµµατικών, που αποτελούν µηχανισµούς παραγωγής λέξεων της γλώσσας. Μέσω υπολογιστικών µηχανών (ισοδύναµα: αλγορίθµων) που αποφασίζουν αν µια λέξη ανήκει στη γλώσσα ή όχι. Π.χ., ένας συντακτικός αναλυτής που αποφασίζει αν ένα πρόγραµµα C είναι ορθό ή όχι. Ο. Τελέλης Κανονικές Γλώσσες () / 48 Ο. Τελέλης Κανονικές Γλώσσες () 2 / 48

Πεπερασµένα Αυτόµατα Παράδειγµα: Αυτόµατη Πόρτα Μονής Κατεύθυνσης Deterministic Finite Automt (DFA ) Υπολογιστές µε πολύ µικρή µνήµη. Τα συναντάµε συχνά στην καθηµερινότητά µας. Αποτελούν τη ϐάση λειτουργίας ηλετροµηχανικών συσκευών...... και πολλών άλλων διεπαφών µε τις οποίες έχουµε εκτεταµένη εµπειρία. Προδιαγραφές Λειτουργίας Η πόρτα ανοίγει προς τα µέσα (δεν είναι συρόµενη). Ανοίγει όταν: εν είναι ανοιχτή. Ανιχνεύεται παρουσία έξω. εν ανιχνεύεται παρουσία µέσα (ώστε να µην χτυπήσει ο µέσα). Κλείνει όταν: Είναι ανοιχτή. εν ανιχνεύεται παρουσία πουθενά (µέσα ή έξω). Ο. Τελέλης Κανονικές Γλώσσες () 3 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 4 / 48 Παράδειγµα: Αυτόµατη Πόρτα Μονής Κατεύθυνσης Παράδειγµα: Αυτόµατη Πόρτα Μονής Κατεύθυνσης ΜΕΣΑ, ΠΑΝΤΟΥ, ΠΟΥΘΕΝΑ ΕΞΩ Ενας τυποποιηµένος τρόπος αναπαράστασης της πόρτας. Ενας υπολογιστής µε µνήµη it (ΑΝΟΙΚΤΑ ΚΛΕΙΣΤΑ ). ΚΛΕΙΣΤΑ ΠΟΥΘΕΝΑ ΑΝΟΙΚΤΑ ΕΞΩ, ΜΕΣΑ, ΠΑΝΤΟΥ Ενας ανελκυστήρας χρειάζεται λίγη περισσότερη µνήµη. Αλλα παραδείγµατα: οικιακές συσκευές, τµήµατα αριθµοµηχανών, ψηφιακών ϱολογιών. Πιθανοτικό αντίστοιχο των πεπερασµένων αυτοµάτων: Αλυσίδες Mrkov Ο. Τελέλης Κανονικές Γλώσσες () 5 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 6 / 48

Παράδειγµα Πεπερασµένου Αυτοµάτου Παράδειγµα Πεπερασµένου Αυτοµάτου q q 2 q 3 q q 2 q 3,, Παράδειγµα Εκτέλεσης για Είσοδο : ιάγραµµα Καταστάσεων Τρεις καταστάσεις, q, q 2, q 3. Αρχική Κατάσταση: q. Κατάσταση Αποδοχής: q 2. Μεταβάσεις µεταξύ καταστάσεων. q q 2 q 2 q 3 q 2 Παράδειγµα Εκτέλεσης για Είσοδο : (αποδοχή) q q q 2 q 3 q 2 q 3 q 2 Μερικές ενδεικτικές δοκιµές ακόµα: (αποδοχή),,,,, Ο. Τελέλης Κανονικές Γλώσσες () 7 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 8 / 48 Παράδειγµα Πεπερασµένου Αυτοµάτου Πεπερασµένα Αυτόµατα q q 2 q 3, Παράδειγµα Εκτέλεσης για Είσοδο : Ορισµός Μια πεντάδα (Q, Σ, δ, q, F), όπου: Q είναι ένα πεπερασµένο σύνολο καταστάσεων. 2 Σ είναι ένα πεπερασµένο σύνολο που ονοµάζεται αλφάβητο. q q 2 q 2 q 3 q 2 (αποδοχή) 3 δ : Q Σ Q είναι η συνάρτηση µεταβάσεων. Παράδειγµα Εκτέλεσης για Είσοδο : q q q 2 q 3 q 2 q 3 q 2 Μερικές ενδεικτικές δοκιµές ακόµα: (αποδοχή) 4 q Q είναι η αρχική κατάσταση. 5 F Q είναι το σύνολο των καταστάσεων αποδοχής.,,,,, Αποδέχεται τις λέξεις που τελειώνουν σε: ακολουθούµενο από άρτιο πλήθος. Ο. Τελέλης Κανονικές Γλώσσες () 8 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 9 / 48

Παράδειγµα Γλώσσες Αυτοµάτων q q 2 q 3, Ενα πεπερασµένο αυτόµατο M (Q, Σ, δ, q, F), όπου: Q = { q, q 2, q 3 }. 2 Σ = {, }. 3 Αρχική κατάσταση, q. 4 Καταστάσεις αποδοχής, F = {q 2 }. Συνάρτηση Μεταβάσεων, δ: δ q q q 2 q 2 q 3 q 2 q 3 q 2 q 2 Εάν A είναι το σύνολο των λέξεων που αποδέχεται το αυτόµατο M, λέµε ότι το A είναι η γλώσσα του M και γράφουµε L(M) = A. Επίσης λέµε ότι το M αποδέχεται ή αναγνωρίζει την A. Ενα αυτόµατο αναγνωρίζει / αποδέχεται την A αν αποδέχεται όλες τις λέξεις που ανήκουν στην A και µόνον αυτές. Ενα αυτόµατο αποδέχεται πολλές λέξεις, αλλά αναγνωρίζει µία µόνο γλώσσα. Αν δεν αποδέχεται καµία λέξη, τότε αναγνωρίζει την κενή γλώσσα,. Ο. Τελέλης Κανονικές Γλώσσες () 2 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 2 / 48 Παραδείγµατα () Παραδείγµατα () q q 2 Τυπική Περιγραφή: q q 2 Τυπική Περιγραφή: M 2 = ( Q = { q, q 2 }, Σ = {, }, δ, q, F = { q 2 } ) δ q q q 2 q 2 q q 2 Ποια γλώσσα αναγνωρίζει το M 2 ; Ενδεικτικές δοκιµές:,. ιαπιστώνουµε πειραµατικά ότι: L(M 2 ) = { w w τελειώνει σε }. Ο. Τελέλης Κανονικές Γλώσσες () 22 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 22 / 48

Παραδείγµατα (2) Παραδείγµατα (2) q q 2 q q 2 Τυπική Περιγραφή: Τυπική Περιγραφή: M 3 = ( Q = { q, q 2 }, Σ = {, }, δ, q, F = { q } ) δ q q q 2 q 2 q q 2 Ποια γλώσσα αναγνωρίζει το M 3 ; Ενδεικτικές δοκιµές:,. Ο. Τελέλης Κανονικές Γλώσσες () 23 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 23 / 48 Παραδείγµατα (2) Παραδείγµατα (ΙΙ) q q 2 s q r Τυπική Περιγραφή: M 3 = ( Q = { q, q 2 }, Σ = {, }, δ, q, F = { q } ) δ q q q 2 q 2 q q 2 q 2 r 2 Τυπική Περιγραφή: Ποια γλώσσα αναγνωρίζει το M 3 ; Ενδεικτικές δοκιµές:,. ιαπιστώνουµε πειραµατικά ότι: L(M 3 ) = { w w = ή w τελειώνει σε }. Παρατήρηση: Το M 3 αποδέχεται την κενή λέξη, ɛ. Ο. Τελέλης Κανονικές Γλώσσες () 23 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 24 / 48

Παραδείγµατα (ΙΙ) Παραδείγµατα (ΙΙ) s q r q 2 r 2 δ s q r q q q 2 q 2 q q 2 r r 2 r r 2 r 2 r s q r q 2 r 2 δ s q r q q q 2 q 2 q q 2 r r 2 r r 2 r 2 r Τυπική Περιγραφή: M 4 = ( Q = { s, q, q 2, r, r 2 }, Σ = {, }, δ, s, F = { q, r } ) Ποια γλώσσα αναγνωρίζει το M 4 ; Ενδεικτικές δοκιµές:,,,,,,, Τυπική Περιγραφή: M 4 = ( Q = { s, q, q 2, r, r 2 }, Σ = {, }, δ, s, F = { q, r } ) Ποια γλώσσα αναγνωρίζει το M 4 ; Ενδεικτικές δοκιµές:,,,,,,, L(M 4 ) = { w η w αρχίζει και τελειώνει µε: ή µε }. Ο. Τελέλης Κανονικές Γλώσσες () 24 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 24 / 48 Παραδείγµατα (ΙΙΙ) Παραδείγµατα (ΙΙΙ) q Τυπική Περιγραφή: M 5 = ( Q = {q, q, q 2 }, Σ = {,, 2, RESET }, δ q, F = { q } ) Αλφάβητο: Σ == {,, 2, RESET }. 2, RESET 2 Προσοχή: το RESET είναι ένα σύµβολο. Συνάρτηση µεταβάσεων, δ: q 2 q 2, RESET, RESET Ποιά είναι η τυπική περιγραφή του αυτοµάτου; Ποιά γλώσσα αναγνωρίζει; Γλώσσα που αναγνωρίζει το M 5 : δ 2 RESET q q q q 2 q q q q 2 q q q 2 q 2 q q q L(M 5 ) = { w w τελειώνει σε RESET ή ( i w i ) mod 3 = } Ο. Τελέλης Κανονικές Γλώσσες () 25 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 26 / 48

Ορισµός Υπολογισµού Σχεδίαση Πεπερασµένων Αυτοµάτων Εστω M = (Q, Σ, δ, q, F) πεπερασµένο αυτόµατο και w = w w 2... w n µια συµβολοσειρά εισόδου, όπου w i Σ, για i =,..., n. Το M αποδέχεται την w αν υπάρχει ακολουθία καταστάσεων r, r,..., r n Q που ικανοποιεί τις συνθήκες: r = q. 2 δ(r i, w i+ ) = r i+. 3 r n F. Ορισµός Μια γλώσσα λέγεται κανονική εάν υπάρχει πεπερασµένο αυτόµατο που την αναγνωρίζει. Υποθέτουµε ότι πρέπει να αποφασίσουµε αν µια δεδοµένη λέξη ανήκει ή όχι σε δεδοµένη γλώσσα. Μετά από κάθε σύµβολο, πρέπει να αποφαινόµαστε αν το τµήµα της λέξης που διαβάσαµε ως τώρα ανήκει ή όχι στη γλώσσα. εν µπορούµε να ϑυµόµαστε όλα τα σύµβολα που έχουµε διαβάσει. Αρκεί να ϑυµόµαστε τις κρίσιµες πληροφορίες, που εξαρτώνται από την εκάστοτε γλώσσα. Ο. Τελέλης Κανονικές Γλώσσες () 27 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 28 / 48 Παράδειγµα Σχεδίασης (α) Παράδειγµα Σχεδίασης (β) εδοµένα: Αλφάβητο εισόδου: {, }. Ζητούµενη Γλώσσα: όλες οι λέξεις µε περιττό πλήθος από. Σκεπτικό: ε µπορούµε ούτε χρειάζεται να ϑυµόµαστε το ακριβές πλήθος των. Αρκεί να ϑυµόµαστε δύο περιπτώσεις:. Εχουµε διαβάσει άρτιο πλήθος από µέχρι στιγµής. Αρχική είναι η q α : αρχικά έχουµε διαβάσει µηδέν (άρτιο) πλήθος : q α q π 2. Εχουµε διαβάσει περιττό πλήθος από µέχρι στιγµής. Εποµένως, δύο καταστάσεις: q α q π Ο. Τελέλης Κανονικές Γλώσσες () 29 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 3 / 48

Παράδειγµα Σχεδίασης (β) Παράδειγµα Σχεδίασης (β) Αποδοχής είναι η q π : όπου ϑα έχουµε διαβάσει περιττό πλήθος : Ανάγνωση µας αφήνει στην ίδια κατάσταση: δε µεταβάλλει το πλήθος των : q α q π q α q π Ο. Τελέλης Κανονικές Γλώσσες () 3 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 3 / 48 Παράδειγµα Σχεδίασης (β) Παράδειγµα Σχεδίασης (2α) Ανάγνωση προκαλεί µετάβαση από την κάθε κατάσταση στην άλλη: q α q π εδοµένα: Αλφάβητο εισόδου: {, }. Ζητούµενη Γλώσσα: όλες οι λέξεις που περιέχουν την υπολέξη. Ο. Τελέλης Κανονικές Γλώσσες () 3 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 3 / 48

Παράδειγµα Σχεδίασης (2β) Παράδειγµα Σχεδίασης (2γ) Σκεπτικό: Ολα τα που προηγούνται πρέπει να «αγνοηθούν». Αρχική κατάσταση q, στην οποία «αγνοούνται» τα. Το πρώτο που διαβάζεται ίσως είναι το πρώτο του. Μία κατάσταση q για το πρώτο που διαβάζουµε. Το δεύτερο που διαβάζεται ίσως είναι το δεύτερο του. Κατάσταση q όπου µεταβαίνουµε από την q µε ανάγνωση. Αν στην q διαβάσουµε, τότε αποδεχόµαστε: Κατάσταση αποδοχής q, όπου µεταβαίνουµε από την q µε ανάγνωση. Ανάγνωση στην q αποκλείει το που προηγήθηκε να ανήκει σε. q q q q Θέλουµε να αγνοήσουµε όλα τα επόµενα που µπορεί να διαβάσουµε. q q q q Ο. Τελέλης Κανονικές Γλώσσες () 32 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 33 / 48 Παράδειγµα Σχεδίασης (2γ) Παράδειγµα Σχεδίασης (2γ) Ανάγνωση στην q δε µας πειράζει (παρότι είναι το τρίτο τουλάχιστον): q q q q Ισως αυτό να είναι το «δεύτερο» της που ψάχνουµε. Εφόσον έχουµε δεί, παραµένουµε σε κατάσταση αποδοχής q :, q q q q Η λέξη ανήκει στη δεδοµένη γλώσσα, ό,τι σύµβολο κι αν ακολουθεί τα. Ο. Τελέλης Κανονικές Γλώσσες () 33 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 33 / 48

Παραδείγµατα Σχεδιασµού Αυτοµάτων Παραδείγµατα Σχεδιασµού Αυτοµάτων (/2) Για καθεµία από τις ακόλουθες γλώσσες, να σχεδιαστεί ένα πεπερασµένο αυτόµατο. Το σύνολο των δυαδικών συµβολοσειρών που: (α) αρχίζουν µε. (β) περιέχουν δύο συνεχόµενα. (γ) δεν περιέχουν δύο συνεχόµενα. (δ) τελειώνουν µε. (ε) περιέχουν τουλάχιστον δύο. s 3,, (α) s s s 2, (β) s s s 2, (γ) s s s 2 Ο. Τελέλης Κανονικές Γλώσσες () 34 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 35 / 48 Παραδείγµατα Σχεδιασµού Αυτοµάτων (2/2) Κανονικές Πράξεις (δ) s s s 2 Ορισµός Εστω δύο γλώσσες A και B. Ορίζουµε τις κανονικές πράξεις: Ενωση: A B = { x x A ή x B }. Παράθεση: A B = { xy x A και y B }. (ε), s s s 2 Σώρευση: A = { x x 2... x k k και κάθε x i A}. Μας ενδιαφέρει η κλειστότητα των κανονικών γλωσσών ως προς τις κανονικές πράξεις. ηλαδή, ότι αν αυτές εφαρµοστούν σε κανονικές γλώσσες, δίνουν κανονικές γλώσσες. Ο. Τελέλης Κανονικές Γλώσσες () 36 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 37 / 48

Κανονικές Πράξεις Θεώρηµα Αν L, L 2 κανονικές γλώσσες, η L L 2 είναι κανονική. ΑΠΟ ΕΙΚΤΙΚΗ Ι ΕΑ ίνονται κανονικές γλώσσες A, A 2. Θα δείξουµε ότι A A 2 κανονική. Για τις A, A 2 υπάρχει ένα αυτόµατο, M, M 2, που την αναγνωρίζει. Θα κατασκευάσουµε ένα αυτόµατο, M, που αναγνωρίζει την A A 2. ΑΠΟ ΕΙΚΤΙΚΗ Ι ΕΑ (συνέχεια) Πώς «ακολουθούµε» την εκτέλεση και των δύο µε πεπερασµένη µνήµη; Θα πρέπει να ϑυµόµαστε Ϲεύγη καταστάσεων. Συνεπώς, το M ϑα πρέπει να έχει Q = Q Q 2 καταστάσεις. Οι µεταβάσεις του M ϑα οδηγούν από ένα Ϲεύγος σε ένα άλλο. Καταστάσεις αποδοχής: Ϲεύγη που περιλαµβάνουν κατάσταση αποδοχής του M, ή του M 2. Θα κατασκευάσουµε το M από τα M, M 2, που προσοµοιώνει τα M, M 2. Ο. Τελέλης Κανονικές Γλώσσες () 38 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 39 / 48 Παράδειγµα Παράδειγµα q q 2, q 3 M M 2 r r 2 Ζητείται αυτόµατο M που αναγνωρίζει τη γλώσσα L(M ) L(M 2 ). Ποιές είναι οι L(M ) και L(M 2 ); Το M ϑα πρέπει να αποδέχεται µια λέξη w αν και µόνο αν: Το M ϑα έχει Q Q 2 καταστάσεις: r q r q 2 r q 3 r 2 q r 2 q 2 r 2 q 3 Μία κατάσταση για κάθε Ϲευγάρι καταστάσεων από τα M, M 2. είτε w L(M ) είτε w L(M 2 ) (είτε ανήκει και στις δύο). Ο. Τελέλης Κανονικές Γλώσσες () 4 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 4 / 48

Παράδειγµα Παράδειγµα Αρχική κατάσταση του M είναι το Ϲεύγος αρχικών καταστάσεων των M, M 2 : r q r q 2 r q 3 r q r q 2 r q 3 r 2 q r 2 q 2 r 2 q 3 Κατ/σεις Αποδοχής του M: Ϲεύγη µε κατ. αποδοχής είτε του M είτε του M 2. r 2 q r 2 q 2 r 2 q 3 Ο. Τελέλης Κανονικές Γλώσσες () 4 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 4 / 48 Τυπική Σύνοψη Κατασκευής Κλειστότητα ως προς Παράθεση; Σύνολο καταστάσεων: Q = Q Q 2, δηλαδή: Q = { (q, q ) q Q και q Q 2 } Συνάρτηση µεταβάσεων: Για κάθε (q, q ) Q, και Σ: ( ) ( ) δ (q, q ), = δ (q, ), δ 2 (q, ) Αρχική Κατάσταση: (q, q 2 ) (αρχικές των M, M 2 αντίστοιχα). { Καταστάσεις αποδοχής: F = (q, q ) q F ή q F 2 }: Ισοδύναµα: F = (F Q 2 ) (Q F 2 ) ( ιαφορετικό από F = F F 2 : τι δίνει αυτό;) Θεώρηµα Αν L, L 2 κανονικές γλώσσες, η L L 2 είναι κανονική. ΑΠΟ ΕΙΚΤΙΚΗ Ι ΕΑ οκιµάζουµε την προηγούµενη τεχνική (από την περίπτωση της ένωσης). Πώς να «στήσουµε» το M, από τα M, M 2, ώστε να αποδέχεται µια λέξη όταν: ένα πρώτο τµήµα της γίνεται αποδεκτό από το M, το υπόλοιπο γίνεται αποδεκτό από το M 2 ; Πρόβληµα: το M δε γνωρίζει «που να χωρίσει» την είσοδό του. Χρειαζόµαστε πιο «ισχυρό» ορισµό υπολογισµού για να συνεχίσουµε. Ο. Τελέλης Κανονικές Γλώσσες () 42 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 43 / 48

Μη ντετερµινισµός Εώς τώρα εξετάσαµε µόνο ντετερµινιστικά (αιτιοκρατικά) αυτόµατα. Μη ντετερµινιστικά Πεπερασµένα Αυτόµατα Non-deterministic Finite Automt NFA Κάθε µετάβαση ενός DFA καθορίζεται µονοσήµαντα µέσω της δ από: - Την τρέχουσα κατάσταση, r i, του αυτοµάτου, - το επόµενο σύµβολο εισόδου, α i+ Σ. Σε ένα NFA, η τρέχουσα κατάσταση και το επόµενο σύµβολο εισόδου µπορεί να οδηγούν ταυτόχρονα σε περισσότερες από µία µεταβάσεις!!! Κάθε ντετερµινιστικό αυτόµατο είναι τετριµένα και µη ντετερµινιστικό. Ο. Τελέλης Κανονικές Γλώσσες () 44 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 45 / 48 Παράδειγµα NFA Μη Ντετερµινιστικός Υπολογισµός Ενα NFA:,,, ɛ q q 2 q 3 q 4 ιαφορές µε τα ντετερµινιστικά πεπερασµένα αυτόµατα: Ιδιο σύµβολο σε ίδια κατάσταση = διαφορετικές µεταβάσεις. Η κενή λέξη, ɛ, µπορεί επίσης να ενεργοποιεί µεταβάσεις. Από την ίδια κατάσταση: µηδέν, µία, ή περισσότερες ɛ-µεταβάσεις. Από οποιαδήποτε κατάσταση, για οποιοδήποτε σύµβολο: µπορεί «να µην υπάρχουν» µεταβάσεις. Ενα NFA ακολουθεί από µια κατάσταση παράλληλα όλες τις µεταβάσεις, που αντιστοιχούν στο τρέχον σύµβολο εισόδου. Το NFA «διασπάται» σε πολλαπλά αντίγραφα του εαυτού του και ακολουθεί όλες τις δυνατότητες παράλληλα. Τα προηγούµενα ισχύουν και για την περίπτωση που µία ή περισσότερες µεταβάσεις από την τρέχουσα κατάσταση επιγράφονται µε το σύµβολο ɛ. Το NFA αποδέχεται την είσοδό του εάν στο τέλος της ανάγνωσης της εισόδου υπάρχει έστω και ένα αντίγραφο που ϐρίσκεται σε κατάσταση αποδοχής. Ο. Τελέλης Κανονικές Γλώσσες () 46 / 48 Ο. Τελέλης Κανονικές Γλώσσες () 47 / 48

Μη Ντετερµινιστικός Υπολογισµός,, NFA:, ɛ q q 2 q 3 q 4 Παράδειγµα Εκτέλεσης για Είσοδο : q q q 3 q 2 q q 3 q q 4 q 3 q 2 q q 4 q 4 q 3 q 2 q q 4 q 4 q 3 q Ο. Τελέλης Κανονικές Γλώσσες () 48 / 48