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

Σχετικά έγγραφα
771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Στοιχεία Θεωρίας Υπολογισµού (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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

110 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ - ΜΗ ΚΑΝ. ΓΛΩΣΣΕΣ 3.1 Ελάχιστα ΠΑ Οταν χρησιμοποιούμε ΠΑ σε διάφορες εφαρμογές και προβλήματα, μας ενδιαφέρει να βρούμε

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού. Ενότητα 5 : Λογικά Επιχειρήματα, Αλφάβητα & Γλώσσες (2/2) Αλέξανδρος Τζάλλας

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

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

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

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

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

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

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

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

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

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

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

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

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

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

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

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

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

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

Έχοντας υπόψιν το Λήμμα του Urysohn, είναι φυσικό να θέσουμε το ακόλουθο ερώτημα: Αν

➂ 6 P 3 ➀ 94 q ❸ ❸ q ❼ q ❿ P ❿ ➅ ➅ 3 ➁ ➅ 3 ➅ ❾ ❶ P 4 ➀ q ❺ q ❸ ❸ ➄ ❾➃ ❼ 2 ❿ ❹ 5➒ 3 ➀ 96 q ➀ 3 2 ❾ 2 ❼ ❸ ➄3 q ❸ ➆ q s 3 ➀ 94 q ➂ P ❺ 10 5 ➊ ➋➃ ❸ ❾ 3➃ ❼

Transcript:

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 2 ο ιδάσκων:

Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και Αλγορίθµων του Τµήµατος Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Αριστοτέλειου Πανεπιστήµιου Θεσσαλονίκης. Το υλικό των διαλέξεων και των σηµειώσεων στηρίζεται σε µεγάλο βαθµό στην ύλη του βιβλίου: Hrry R. Lewis nd Christos H. Ppdimitriou, Elements of the Theory of Computtion, 2nd edition, Prentice Hll, 1998.

Πεπερασµένα Αυτόµατα (υπολογιστικές µηχανές πεπερασµένων καταστάσεων) Ορισµοί, Ιδιότητες, Αντιστοιχία µε τις Κανονικές Γλώσσες

Πεπερασµένα αυτόµατα η κεντρική ιδέα Τα πεπερασµένα αυτόµατα είναι υπολογιστές µε τα ακόλουθα χαρακτηριστικά: Έχουν πεπερασµένη (σταθερού µεγέθους) µνήµη εντός της κεντρικής µονάδας επεξεργασίας έχονται ως είσοδο συµβολοσειρές τις οποίες διαβάζουν σειριακά το ένα σύµβολο µετά το άλλο δεν γυρίζουν προς τα πίσω παράγουν ως έξοδο µόνο µία ένδειξη για το άν η συµβολοσειρά εισόδου γίνεται αποδεκτή Το σύνολο των αποδεκτών συµβολοσειρών είναι η αποδεκτή γλώσσα του αυτόµατου

Πεπερασµένα αυτόµατα η κεντρική ιδέα Τα πεπερασµένα αυτόµατα αντιστοιχούν (1-1) σε κανονικές γλώσσες Υπάρχουν και πιό σύνθετες υπολογιστικές µηχανές που ακολουθούν... ύο βασικές κατηγορίες αιτιοκρατικά µη αιτιοκρατικά Θα δειχθεί ότι οι παραπάνω δύο κατηγορίες είναι ισοδύναµες (!) ώς προς τις γλώσσες που αποδέχονται

Αιτιοκρατικά Πεπερασµένα Αυτόµατα Αιτιοκρατικό Πεπερασµένο Αυτόµατο (ΑΠΑ): Μ = (K, Σ, δ, s, F) K : το πεπερασµένο σύνολο καταστάσεων Σ : αλφάβητο s K : αρχική κατάσταση F K: το σύνολο των τελικών καταστάσεων δ : η συνάρτηση µετάβασης από το Κ Σ στοκ Μία συµβολοσειρά (συµβόλων του Σ) γίνεται αποδεκτή όταν, διαβάζοντάς την, το Μ µεταβαίνει (σύµφωνα µε τη δ: Κ Σ Κ) από κατάσταση σε κατάσταση (ξεκινώντας από την s) και καταλήγει (εξαντλώντας τη συµβολοσειρά σε οποιαδήποτε τελική κατάσταση (εντός του F)

Αιτιοκρατικά Πεπερασµένα Αυτόµατα: αναπαράσταση µε γράφους Μ = (K, Σ, δ, s, F) K = {q 0, q 1, q 2, q 3 } Σ = {, } s = q 0 F = {q 1, q 3 } δ : υποδηλώνεται από τη σηµειολογία του γράφου δ(q 0,)=q 2, δ(q 0,)=q 1, δ(q 1,)=q 1, δ(q 1,)=q 2, δ(q 2,)=q 3, δ(q 2,)=q 0, δ(q 3,)=q 2, δ(q 3,)=q 0 q 0 q 1 q 3 q 2 αρχική κατάσταση τελική κατάσταση

Αιτιοκρατικά Πεπερασµένα Αυτόµατα: ολικές καταστάσεις Ολική κατάσταση (q,w) K Σ* = η τρέχουσα κατάσταση, q, µαζί µε την υποσυµβολοσειρά, w, που αποµένει να διαβαστεί Η (q,w) παράγει σε ένα βήµα την (q,w ) (γράφουµε (q,w) Μ (q,w )) άν και µόνο άν w=w για κάποιο Σκαι δ(q,) = q Η (q,w) παράγει την (q,w ) (γράφουµε (q,w) Μ * (q,w )) όταν από την (q,w) καταλήγουµε στην (q,w ) µετά από έναν αριθµό (δεκτό και το 0) βηµάτων Η σχέση Μ * είναι το ανακλαστικό µεταβατικό κλείσιµο της Μ Ησυµβολοσειρά w είναι αποδεκτή από το Μ όταν (s,w) Μ * (q,e), q F

Μη Αιτιοκρατικά Πεπερασµένα Αυτόµατα Μη Αιτιοκρατικό Πεπερασµένο Αυτόµατο (ΜΑΠΑ): Μ = (K, Σ,, s, F) K : το πεπερασµένο σύνολο καταστάσεων Σ : αλφάβητο s K : αρχική κατάσταση F K: το σύνολο των τελικών καταστάσεων : η σχέση µετάβασης είναι υποσύνολο του Κ (Σ {e}) Κ Βασικές διαφοροποιήσεις σε σχέση µε τα ΑΠΑ πολλαπλή επιλογή: από µία κατάσταση q το ίδιο σύµβολο ένδέχεται να οδηγεί σε περισσότερες της µιας καταστάσεις, q i κόλληµα : κάποιες καταστάσεις µπορεί να µη διαθέτουν νόµους µετάβασης για ορισµένα σύµβολα της εισόδου µετάβαση εν κενώ : επιτρέπεται η µετάβαση στην επόµενη κατάσταση χωρίς διάβασµα του επόµενου συµβόλου (δηλ. διαβάσµα του e)

Μη Αιτιοκρατικά Πεπερασµένα Αυτόµατα: αναπαράσταση µε γράφους Μ = (K, Σ,, s, F) K = {q 0, q 1, q 2, q 3 } Σ = {, } s = q 0 F = {q 1, q 3 } : υποδηλώνεται από τη σηµειολογία του γράφου ={ (q 0,,q 1 ), (q 1,,q 1 ), (q 1,,q 0 ), (q 1,,q 2 ), (q 2,,q 3 ), (q 2,,q 0 ), (q 3,e,q 2 )} q 0 q 1 q 3 e q 2

Μη Αιτιοκρατικά Πεπερασµένα Αυτόµατα Μη Αιτιοκρατικότητα = από την ίδια αρχική κατάσταση και για την ίδια συµβολοσειρά εισόδου το ΜΑΠΑ οδηγείται σε πολλές εναλλακτικές καταστάσεις Μια συµβολοσειρά, w, είναι αποδεκτή από το ΜΑΠΑ, M, όταν µε την ολοκλήρωση διαβάσµατος της w, το M καταλήγει σε τουλάχιστο µία τελική κατάσταση.

Μη Αιτιοκρατικά Πεπερασµένα Αυτόµατα: ολικές καταστάσεις Ολική κατάσταση (q,w) K Σ* :όπως και στα ΑΠΑ Η (q,w) παράγει σε ένα βήµα την (q,w ) (γράφουµε (q,w) Μ (q,w )) άν και µόνο άν w=w για κάποιο Σ {e} και (q,,q ) Η (q,w) παράγει την (q,w ) (γράφουµε (q,w) Μ * (q,w )) όταν από την (q,w) καταλήγουµε στην (q,w ) µετά από έναν αριθµό (δεκτό και το 0) βηµάτων Βεβαίως η (q, w ) είναι µία από τις εναλλακτικές Η σχέση Μ * είναι το ανακλαστικό µεταβατικό κλείσιµο της Μ Ησυµβολοσειρά w είναι αποδεκτή από το Μ όταν (s,w) Μ * (q,e), q F

ΜΑΠΑ: παράδειγµα Η γλώσσα L(M) = όλες οι συµβολοσειρές που περιέχουν το ή το (q 0, ) Μ (q 0, ) Μ (q 0, ) Μ (q 0, e) µη τελική αλλά επίσης (q 0, ) Μ (q 1, ) Μ (q 3, ) Μ (q 4, ) Μ (q 4, ) Μ (q 4, ) Μ (q 4, ) Μ (q 4, e) τελική, s=q 0 Γενικά για να µπορεί να φτάσει από την q 0 στην τελική q 4 πρέπει να υπάρχουν τα σύµβολα (πάνω µονοπάτι) ή (κάτω µονοπάτι) q 1 q 2 q 3 q 4 e,

Σχέση Αιτιοκρατικών Μη Αιτιοκρατικών Αυτοµάτων Κάθε ΑΠΑ είναι ΜΑΠΑ (q 1,, q 2 ) = (q 1,,δ(q 1,)) Κ Σ Κ Κ (Σ {e}) Κ Για κάθε ΜΑΠΑ υπάρχει ισοδύναµο (= που αποδέχεται την ίδια γλώσσα) ΑΠΑ Θεώρηµα: Έστω ΜΑΠΑ Μ=(Κ,Σ,,s,F) και ΑΠΑ Μ =(Κ,Σ,δ,s,F ), τότε L(M)=L(M ) αν Κ = 2 Κ, F = {Q/Q K και Q F }, s =E(s), δ (Q,)= {E(p): p K και (q,,p) γιακάποιοq Q} όπου E(q) {p K : (q,e) Μ * (p,e)} Απόδειξη: Στηρίζεται στο γεγονός ότι για w Σ* και p,q K, ισχύει ότι (q,w) Μ *(p,e) (E(q),w) Μ * (P,e) για κάποιο P p (δείξτε το µε επαγωγή). Τότε w L(M) (s,w) Μ *(f,e) µε f F (E(s),w) Μ *(Q,e) για κάποιο Q f (E(s),w) Μ *(Q,e) για κάποιο Q F w L(M ) ο.ε.δ.

Παράδειγµα ΜΑΠΑ ΑΠΑ q 1 q 3 e ΜΑΠΑ: Μ=(Κ,Σ,,s,F) µε e e e Κ={q 0, q 1, q 2, q 3, q 4 }, Σ = {, } s = q 0,F = {q 4 } και = όπως φαίνεται στο σχήµα s=q q 0 2 q 4 Τότε E(q 0 )={q 0,q 1,q 2,q 3 }, E(q 1 )={q 1,q 2,q 3 }, E(q 2 )={q 2 }, E(q 3 )={q 3 }, E(q 3 )={q 3,q 4 } Οπότε το ισοδύναµο ΑΠΑM =(Κ,Σ,δ,s,F ) µε Κ =2 Κ ={, {q 0,q 1,q 2,q 3 }, {q 0,q 1,q 2,q 3,q 4 }, {q 3, q 4 }, }, όπου Κ =2 5 =32 Σ = {, }, s = Q 0 = E(q 0 )={q 0,q 1,q 2,q 3 }, F ={{q 4 }, {q 0,q 4 }{q 1,q 4 },{q 2, q 4 },{q 3, q 4 },{q 0,q 1,q 4 }...} και συνάρτηση µετάβασης που υπολογίζεται σιγά-σιγά ώς εξής: δ (s,)= {E(p): p K και (q,,p) για κάποιο q s }= E(q 0 ) E(q 4 ) αφού όλες οι µεταβάσεις της µορφής (q,,p) µε q s είναι οι εξής τρεις: (q 1,,q 0 ), (q 1,,q 4 ) και (q 3,,q 4 ) και συνεπώς το p {q 0,q 4 }. Οµοίως δ (s,)= E(q 2 ) E(q 4 ), κ.λπ.

Πράξεις Γλωσσών Αποδεκτών από Πεπερασµένα Αυτόµατα - Κλειστότητα Θεώρηµα: Το σύνολο των γλωσσών που είναι αποδεκτές από πεπερασµένα αυτόµατα είναι κλειστό ως πρός τις (µεταξύ γλωσσών) πράξεις : 1. Ένωση 2. Παράθεση 3. Kleene Str 4. Συµπλήρωµα 5. Τοµή

Ένωση Αποδεκτών Γλωσσών Αν Μ 1, Μ 2 ΜΑΠΑ, µε το ίδιο αλφάβητο Σ, τότε L(Μ 1 ) L(Μ 2 )=L(M) όπου Μ=(Κ,Σ,,s,F) µε Κ= Κ 1 Κ 2 {s} ( s µία νέα κατάσταση) F= F 1 F 2 = 1 2 {(s,e,s 1 ), (s,e,s 2 )} (s 1, s 2 οι αρχικές καταστάσεις των Μ 1, Μ 2 ) Απόδειξη: w L(Μ 1 ) L(Μ 2 ) (s 1,w) *(f Μ 1 1,e) ή (s 2,w) *(f Μ 2 2,e) για κάποιο f 1 F 1 ή f 2 F 2 (s,w) (s,ew) Μ (s 1,w) Μ *(f 1,e) ή (s,w) (s,ew) Μ (s 2,w) Μ *(f 2,e) (s,w) Μ *(f,e) για κάποιο f (το f 1 ή f 2 ) F w L(Μ)

Παράθεση Αποδεκτών Γλωσσών Αν Μ 1, Μ 2 ΜΑΠΑ, µε το ίδιο αλφάβητο Σ, τότε L(Μ 1 )L(Μ 2 )=L(M) όπου Μ=(Κ,Σ,,s,F) µε Κ= Κ 1 Κ 2 F= F 2 = 1 2 {(f,e,s 2 ): f F 1 } s= s 1 όπου s 1, s 2 οι αρχικές καταστάσεις των Μ 1, Μ 2 Το M ξεκινά προσοµοιώνοντας το Μ 1 και σε αυθαίρετο σηµείο µεταπηδά από µία τελική κατάσταση του Μ 1 στην αρχική κατάσταση του Μ 2.

Kleen Str Αποδεκτών Γλωσσών Αν Μ 1 ΜΑΠΑ µε αλφάβητο Σ, τότε L(Μ 1 )*=L(M) όπου Μ=(Κ,Σ,,s,F) µε Κ= Κ 1 {s 1 } όπου s 1 µία νέα κατάσταση F= F 1 {s 1 } = 1 {(f,e,s 1 ): f F 1 } {(s 1,e,s 1 )} = 1 {(f,e,s 1 ): f F} s= s 1 Αφου s= s 1 F η συµβολοσειρά w=e είναι αποδεκτή Κάθε συµβολοσειρά, w, αποδεκτή από το Μ 1 είναι αποδεκτή και από το M. Όταν διαβαστεί µία υπο-συµβολοσειρά που είναι αποδεκτή από το Μ 1, είναι ενδεχόµενες µία ή περισσότερες τελικές καταστάσεις του Μ 1 όποτε από κεί το M (χωρίς να διαβάσει νέο σύµβολο) µπορεί να µεταπηδήσει στην αρχική κατάσταση του Μ 1 και να επαναλάβει τη διαδικασία.

Συµπλήρωµα Αποδεκτών Γλωσσών Αν το Μ είναι ΑΠΑ µε αλφάβητο Σ, τότε L(Μ c ) =Σ*-L(M) όπου Μ c = (Κ,Σ,δ,s,K-F) Το Μ c ταυτίζεται µε το M µόνο που οι τελικές καταστάσεις του ενός είναι µή τελικές καταστάσεις του άλλου

Τοµή Αποδεκτών Γλωσσών Αν Μ 1, Μ 2 ΜΑΠΑ, µε το ίδιο αλφάβητο Σ, τότε L(Μ 1 ) L(Μ 2 )=Σ* - ((Σ*-L(M 1 )) (Σ*-L(M 2 )) ) Κατά συνέπεια µε βάση τα προηγούµενα µπορεί να κατασκευαστεί ΜΑΠΑ M τέτοιο ώστε: L(Μ) =L(Μ 1 ) L(Μ 2 )

Κλειστότητα Αποδεκτών Γλωσσών Το σύνολο των γλωσσών που είναι αποδεκτές από πεπερασµένα αυτόµατα είναι κλειστό ώς προς τις πράξεις: Ένωση Παράθεση Kleen Str Συµπλήρωµα Τοµή Απόδειξη: Προκύπτει από τα προηγούµενα εφόσον για κάθε µία από τις παραπάνω πράξεις µπορούµε να κατασκευάσουµε ΠΑ που να υλοποιεί τη γλώσσα που προκύπτει

Σχέση Αποδεκτών και Κανονικών Γλωσσών Μία Γλώσσα είναι Κανονική αν και µόνο αν είναι αποδεκτή από κάποιο πεπερασµένο αυτόµατο! Απόδειξη: µόνο αν : Κάθε κανονική γλώσσα προκύπτει από τις γλώσσες {},{} (όπου Σ) µέσω των πράξεων Ένωση, Παράθεση, Kleen Str. Οι γλώσσες {},{} είναι αποδεκτές από απλά ΠΑ και συνεπώς λόγω της κλειστότητας (βλ. προηγούµενα) κάθε κανονική γλώσσα είναι αποδεκτή από κάποιο ΠΑ αν : Αν Μ=(Κ,Σ,,s,F) τότε υπάρχει ΚΕ R τέτοια ώστε L( R) = L(M). Συγκεκριµένα µπορεί να αποδειχτεί ότι L( R) = {w Σ*: (s,w) Μ *(f,e), f F} όπου κάθε ένα από αυτά τα σύνολα είναι κανονική γλώσσα

Έλεγχος Κανονικότητας Θεώρηµα: Έστω κανονική γλώσσα L. Υπάρχει n Z, n 1 τέτοιο που αν w L και w >n τότε το wµπορείναγραφείωςw=xyz όπου: y e xy n xy i z L για κάθε i 0 Απόδειξη: Έστω n ο αριθµός καταστάσεων του αντίστοιχου ΑΠΑ και w=w 1 w 2 w n w w. Τότε (q 0, w 1 w 2 w n ) Μ (q 1, w 2 w n ) Μ Μ (q n, e ), δηλαδή το M µεταπηδά διαδοχικά σε n+1 καταστάσεις. Με βάση την αρχή της φωλιάς των περιστεριών ανάµεσα σ αυτές θα υπάρχουν δύο ταυτόσηµες, έστω οι q i =q j συνεπώς η συµβολοσειρά y= w i w j είναι η ζητούµενη.

Ελαχιστοποίηση καταστάσεων Υπάρχουν καταστάσεις που δεν είναι επισκέψιµες είναι ισοδύναµες (p q) αν (p,w) Μ * (f,e) µε f F τότε (q,w) Μ *(f,e) µε f F και αντιστρόφως Η ελαχιστοποίηση του αυτοµάτου συναρτάται µε την ανίχνευση κλάσεων ισοδυναµίας στη γλώσσα που αυτό αποδέχεται...

Ισοδύναµες Συµβολοσειρές Ορισµός: Αν L Σ* και x,y Σ*(χωρίς να ανήκουν κατανάγκη στην L) τότε x L y όταν z Σ*, xz L yz L Ησχέση L είναι σχέση ισοδυναµίας και διαµερίζει το Σ*

Το Ελάχιστο Αυτόµατο Έστω κανονική γλώσσα L και Ν ο αριθµός των κλάσεων ισοδυναµίας L αυτής Τότε υπάρχει ΑΠΑ, M, µε ακριβώς Ν καταστάσεις που αποδέχεται την L (δηλ. L=L(M)) Το αυτόµατο αυτό χαρακτηρίζεται ως το πρότυπο αυτόµατο της γλώσσας L Αποδεικνύεται (αποδείξτε το...) ότι M=(K,Σ,δ,s,F) µε Κ={[x]/x Σ* } = το πεπερασµένο σύνολο των κλάσεων ισοδυναµίας ολόκληρου του Σ* s=[e] F = {[x]/x L} = το πεπερασµένο σύνολο των κλάσεων ισοδυναµίας της L Σ* K δ([x], ) = [x] εν υπάρχει ΑΠΑ µε λιγότερες καταστάσεις που να αποδέχεται την L

Πώς οµως βρίσκουµε τις κλάσεις ;... Ορισµοί: ύο καταστάσεις p,q λέγονται ισοδύναµες (p q) όταν: αν (p,w) Μ * (f,e) µε f F τότε (q,w) Μ *(f,e) µε f F και αντιστρόφως w Σ* ύο καταστάσεις p,q λέγονται n-ισοδύναµες (p n q) όταν: αν (p,w) Μ * (f,e) µε f F τότε (q,w) Μ *(f,e) µε f F και αντιστρόφως w Σ* µε w n Λήµµα: p n q αν και µόνο αν p n-1 q και δ(q,α) n-1 δ(p,α) α Σ

Πώς όµως βρίσκουµε τις κλάσεις... Αρχικά οι κλάσεις ισοδύναµίας των καταστάσεων ώς προς 0 είναι οι εξής δύο F και K-F repet for n:=1,2, υπολόγισε τις κλάσεις της n από αυτές της n-1 µε βάση το Λήµµα until οι κλάσεις τις n ταυτίζονται µε τις κλάσεις της n-1

Το Ελάχιστο Αυτόµατο - παράδειγµα q 1 q 2 q 3 q 8 q 5 Αποδεκτή γλώσσα: L(M) = ( )* (δείξτε το) q 4, q 1 q 2 q 4, q 5 q 6 q 7 q 3 q 6 -Οι καταστάσεις q 7 και q 8 είναι µή προσπελάσιµες -Τις εντοπίσαµε βρίσκοντας το κλείσιµο της {s} ως προς τη σχέση {(p,q)/δ(p,α)=q για κάποιο α Σ} -Τίς παραλείπουµε (κάτω σχήµα)

Το Ελάχιστο Αυτόµατο παράδειγµα (συνέχεια - χρήση του αλγορίθµου) n=0 K1=F={q 1, q 3 } K2=K-F={q 2, q 4, q 5, q 6 } n=1 K1.1=F={q 1, q 3 } K2.1={q 2 } K2.2={q 4, q 6 } K2.3={q 5 } n=2 K1.1.1=F={q 1, q 3 } K2.1.1={q 2 } Ιδια ----> STOP K2.2.1={q 4, q 6 } K2.3.1={q 5 }

Το Ελάχιστο Αυτόµατο παράδειγµα (συνέχεια-το αποτέλεσµα και οι αντίστοιχες κλάσεις της γλώσσας) Η αποδεκτή γλώσσα L(M) = ( )* έχει 4 κλάσεις ισοδυναµίας 1. [e]=l 2. []=L 3. []=L 4. []=L( )Σ* {q 1, q 3 } Κάθε συµβολοσειρά του Σ* ανήκει στις 1-4 Άρα το ελάχιστο (πρότυπο) ΑΠΑ έχει 4 καταστάσεις {q 4, q 6 } [e] [] [] [], {q 5 } {q 2 }

Αλγόριθµοι για Πεπερασµένα Αυτόµατα -1 1. ΜΑΠΑ (K,Σ,,s,F) ΑΠΑ Πολυπολοκότητα: O(2 K K 5 Σ ) 2. ΚΕ R ΜΑΠΑ Πολυπλοκότητα: O(4 R 2 ) = O( R 2 ) 3. ΜΑΠΑ (K,Σ,,s,F) ή ΑΠΑ (K,Σ,δ,s,F) ΚΕ Πολυπλοκότητα: Ο( K 3 3 K ) 4. ΑΠΑ (K,Σ,δ,s,F) Πρότυπο (ελάχιστο) ΑΠΑ Πολυπλοκότητα: O( Σ K 3 )

Αλγόριθµοι για Πεπερασµένα Αυτόµατα -2 1. Αν L είναι κανονική γλώσσα τότε ο αλγόριθµος που ελέγχει αν κάποιο w (w Σ*) ανήκει στην L έχει πολυπλοκότητα O( w ) όση χρειάζεται το αντίστοιχο ΑΠΑ για να διαβάσει το w 2. Έστω ΜΑΠΑ Μ=(K,Σ,,s,F) και w Σ*. Ο αλγόοριθµος που ελέγχει αν w L(M) έχει πολυπλοκότητα O( K 2 w )