HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

p (R 1 (R 2 R 3 )) q pr 1 r 1, r 1 R 2 r 2, r 2 R 3 q p (R 1 R 2 ) r 2 και r 2 R 3 q p ((R 1 R 2 ) R 3 ) q άρα R 1 (R 2 R 3 ) (R 1 R 2 ) R 3

CSC 314: Switching Theory

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

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

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

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

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

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

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

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

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

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

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

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

Πεπερασμένος έλεγχος καταστάσεων

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

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

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

Μηχανές Turing (T.M) I

f(t) = (1 t)a + tb. f(n) =

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

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

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

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

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

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

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

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

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

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

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

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

Παράδειγμα δομικής επαγωγής Ορισμός δομικής επαγωγής Συμβολοσειρές Γλώσσες Δυαδικά δένδρα Μαθηματικά Πληροφορικής 3ο Μάθημα Αρχικός συγγραφέας: Ηλίας

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

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

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

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

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

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

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

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

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

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

Παράδειγμα δομικής επαγωγής Ορισμός δομικής επαγωγής Συμβολοσειρές Γλώσσες Δυαδικά δένδρα Μαθηματικά Πληροφορικής 3ο Μάθημα Τμήμα Πληροφορικής και Τηλ

CSC 314: Switching Theory. Chapter 3: Turing Machines

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

ΑΝΑΛΥΣΗ 2. Μ. Παπαδημητράκης.

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

Chapter 7, 8 : Time, Space Complexity

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

Θεωρία Υπολογισμού Αλφάβητα, Γλώσσες, Κανονικές Εκφράσεις

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

ΑΝΑΛΥΣΗ 2. Μ. Παπαδημητράκης.

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

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

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

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

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

Transcript:

Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου από αριστερά προς τα δεξιά. Κάθε σύμβολο προκαλεί αλλαγή της εσωτερικής κατάστασης. HEAD INPUT q4 q q CONTROL UNIT q3 q2

Ορισμός Πεπερασμένων Αυτομάτων Ενα πεπερασμένο αυτόματο M είναι μια πεντάδα M(K, Σ, δ, s, F ), όπου: K είναι ένα πεπερασμένο σύνολο, το σύνολο καταστάσεων. Σ είναι ένα πεπερασμένο σύνολο, το αλφάβητο. s είναι μία κατάσταση, s K, που ονομάζεται αρχική κατάσταση. F είναι υποσύνολο του K, F K, που ονομάζεται σύνολο τελικών καταστάσεων. δ είναι μία συνάρτηση, δ : K Σ K και ονομάζεται συνάρτηση μετάβασης. Η συνάρτηση μετάβασης δ καθορίζει ουσιαστικά τη λειτουργία του αυτομάτου. Αν q είναι η κατάστασή του και το επόμενο σύμβολο της εισόδου είναι σ, τότε δ(q, σ) είναι η επόμενη κατάσταση του αυτομάτου.

Διάγραμμα καταστάσεων ΠΑ q q q2 >: αρχική κατάσταση. : τελική κατάσταση. Το διάγραμμα δείχνει ένα ΠΑ με K = {q, q, q 2 }, Σ = {, }, s = q, F = {q } και δ q σ δ(q, σ) q q q q q q q q 2 q 2 q 2 q 2 q

Γλώσσες και Πεπερασμένα Αυτόματα Λέμε ότι ένα ΠΑ M(K, Σ, δ, s, F ) δέχεται τη συμβολοσειρά w, αν ξεκινώντας από την αρχική κατάσταση s, αφού «καταναλώσει» την είσοδο, καταλήγει σε κάποια κατάσταση του F. Για να ορίσουμε πιο αυστηρά την έννοια «δέχεται» χρειάζεται να ορίσουμε τη σχέση «παράγει». Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ q = δ(q, σ) Η M είναι μια συνάρτηση M : K Σ + K Σ Τα στοιχεία του K Σ τα ονομάζουμε συνολικές καταστάσεις ή εναλλακτικά φάσεις (configurations).

q q Παράδειγμα: Με είσοδο το αυτόματο δουλεύει ως εξής: (q, ) M (q, ) (q, ) M (q, ) (q, ) M (q, ) (q, ) M (q, ε)

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

p r s Παράδειγμα: (p, ) M (p, ) M (p, ) M (p, ) (s, ) (p, ε) Παρατηρειστε οτι η M δεν είναι συνάρτηση αλλά σχέση (γιατί δεν προκαθορίζει πόσα βήματα θα γίνουν).

Λέμε ότι το M δέχεται τη συμβολοσειρά w ή ότι η w είναι αποδεκτή από το M, αν και μόνο αν (s, w) M (q, ε), για κάποιο q F Ορίζουμε τη γλώσσα L(M) ενός ΠΑ M(K, Σ, δ, s, F ) σαν το σύνολο των συμβολοσειρών που είναι αποδεκτές από M. L(M) = {w : w είναι αποδεκτό από το M}

q q L(M) = {w : w περιέχει άρτιο αριθμό από }

Παράδειγμα: Σχεδιάστε ΠΑ που να δέχεται τη γλώσσα L = {w : w δεν περιέχει }, Απάντηση: Παράδειγμα: Σχεδιάστε ΠΑ που να δέχεται τη γλώσσα L = {w : w περιέχει }, Απάντηση: Σχεδόν το ίδιο αυτόματο. Οι τελικές καταστάσεις του ενός είναι οι μη τελικές καταστάσεις του άλλου.

Μη Ντετερμινιστικά Πεπερασμένα Αυτόματα Γενίκευση των ντετερμινιστικών ΠΑ. Αντί για συνάρτηση μετάβασης δ που καθορίζει απολύτως την επόμενη κατάσταση, τα μη ντετερμινιστικά ΠΑ έ- χουν κάποια σχέση μετάβασης Δ που επιτρέπει,, 2 ή περισσότερες επόμενες καταστάσεις. Καθώς το μη ντετερμινιστικό ΠΑ υπολογίζει, συνυπάρχουν πολλές διαφορετικές «ενσαρκώσεις» του. Γιατί μελετάμε μη ντετερμινιστικές μηχανές; Γιατί διευκολύνουν τις αποδείξεις. Γιατί αποτελούν τον πιο φυσικό και σύντομο τρόπο για να περιγράψουμε κάποιες γλώσσες.

Ορισμός μη Ντετερμινιστικών ΠΑ Ενα μη ντετερμινιστικό ΠΑ είναι μια πεντάδα M(K, Σ,, s, F ), όπου K Σ s F : : : : σύνολο καταστάσεων αλφάβητο αρχική κατάσταση σύνολο τελικών καταστάσεων και : η σχέση μετάβασης Οπως ακριβώς και στον ορισμό των ντετερμινιστικών ΠΑ. K Σ K (σύμφωνα με το βιβλίο Lewis-Papadimitriou K Σ {ε} K)

Παραδείγματα μη Ντετερμινιστικών ΠΑ ε q q q2 q3 ε q

Μπορούμε να επεκτείνουμε όλους τους ορισμούς που αφορούν ντετερμινιστικά ΠΑ. Η βασική διαφορά είναι η εξής: Λέμε ότι «το M δέχεται το w», αν υπάρχει κάποια ακολουθία μεταβάσεων που καταλήγει σε τελική κατάσταση του F. Παράδειγμα: Το q δέχεται τη συμβολοσειρά }{{} }{{}.

Ο ορισμός της σχέσης M για μη ντετερμινιστικά ΠΑ είναι (q, w) M (q, w ), αν και μόνο αν υπάρχει u Σ, τέτοιο ώστε ) w = uw και 2) (q, u, q ) Οι άλλοι ορισμοί είναι ίδιοι για ντετερμινιστικά και μη ντετερμινιστικά ΠΑ. Θα χρειαστούμε και τον εξής συμβολισμό για q K: E(q) = {p K (q, ε) M (p, ε)}.

Ισοδυναμία ντετερμινιστικών και μη ντετερμινιστικών πεπερασμένων αυτομάτων Θεώρημα: Για κάθε μη ντετερμινιστικό πεπερασμένο αυτόματο M υπάρχει ένα ντετερμινιστικό πεπερασμένο αυτόματο M τέτοιο ώστε L(M) = L(M ). Απόδειξη: αυτόματο. Εστω M(K, Σ, s,, F ) ένα μη ντετερμινιστικό πεπερασμένο Βήμα. θα το μετατρέψουμε έτσι ώστε κάθε μετάβαση να γίνεται με το πολύ ένα σύμβολο. Αντικαθιστούμε κάθε μετάβαση (q, σ σ 2 σ k, q ) όπου k > με τις μεταβάσεις (q, σ, p ), (p, σ 2, p 2 ),..., (p k, σ k, q ), και προσθέτουμε νέες καταστάσεις p, p 2,..., p k.

q p q r2 r

Εστω M (K, Σ,, s, F ) το αποτέλεσμα του Βήματος. Βήμα 2. Θα μετασχηματίσουμε το M σε ένα ντετερμινιστικό πεπερασμένο αυτόματο M (K, Σ, δ, s, F ). Καθώς το M επεξεργάζεται την είσοδο, σε ένα δεδομένο βήμα, η κάθε του «ενσάρκωση» μπορεί να βρίσκεται σε διαφορετική κατάσταση. Θέλουμε το M να βρίσκεται «ταυτόχρονα» σε όλες αυτές τις πιθανές καταστάσεις. Αλλά, ανά πάσα στιγμή, ένα ντετερμινιστικό αυτόματο βρίσκεται σε μία μόνο κατάσταση. Επομένως οι καταστάσεις του M πρέπει να κωδικοποιούν σύνολα από πιθανές καταστάσεις. Οι καταστάσεις του M πρέπει να είναι τα υποσύνολα του K. Η μετάβαση (Q, σ, Q ) επιτρέπεται αν το τρέχον πιθανό σύνολο καταστάσεων είναι το Q και αφού διαβαστεί το σύμβολο σ το νέο σύνολο όλων των πιθανών καταστάσεων είναι το Q.

Το σύνολο των καταστάσεων που είναι προσιτές από την q χωρίς να διαβαστεί κανένα σύμβολο: E(q) := {p K : (q, ɛ) M (p, ɛ)}. Ορίζουμε τώρα το M (K, Σ, δ, s, F ) ως εξής: K = 2 K, το σύνολο όλων των υποσυνόλων του K. Η συνάρτηση δ ορίζεται ως δ (Q, σ) = E(p) p next Q,σ Q K, σ Σ όπου next Q,σ = {p K : (q, σ, p) για κάποιο q Q}. s = E(s ). F = {Q : Q K, Q F }. Υπολείπεται μια απόδειξη πως L(M) = L(M ) : Με επαγωγή στο μήκος της συμβολοσειράς εισόδου...