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



Σχετικά έγγραφα
HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

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

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

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

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

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

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

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

ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Πτυχιακή εργασία ΑΣΤΡΟΠΕΚΑΚΗ ΔΕΣΠΟΙΝΑ

Κυψελλικό αυτόματο: (A, N, f ), όπου

Transcript:

Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου από αριστερά προς τα δεξιά. Κάθε σύμβολο προκαλεί αλλαγή της εσωτερικής κατάστασης. q4 q HEAD q INPUT CONTROL UNIT Ορισμός Πεπερασμένων Αυτομάτων Ενα πεπερασμένο αυτόματο M είναι μια πεντάδα M(K, Σ, δ, s, F ), όπου K είναι ένα πεπερασμένο σύνολο, το σύνολο καταστάσεων. Σ είναι ένα πεπερασμένο σύνολο, το αλφάβητο. s είναι μία κατάσταση, s K, που ονομάζεται αρχική κατάσταση. F είναι υποσύνολο του K, F K, που ονομάζεται σύνολο τελικών καταστάσεων. δ είναι μία συνάρτηση, δ K Σ K και ονομάζεται συνάρτηση μετάβασης. Η συνάρτηση μετάβασης δ καθορίζει ουσιαστικά τη λειτουργία του αυτομάτου. Αν q είναι η κατάστασή του και το επόμενο σύμβολο της εισόδου είναι σ, τότε δ(q, σ) είναι η επόμενη κατάσταση του αυτομάτου. q3 q2 Διάγραμμα καταστάσεων ΠΑ 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 Ορίζουμε τη σχέση M εξής ( «παράγει σε μηδέν ή περισσότερα βήματα» ) ως Παράδειγμα (q, w) M (q, w ) αν και μόνο αν υπάρχουν q,..., q n Kκαι σ, σ 2,..., σ n Σ τέτοια ώστε Με είσοδο το αυτόματο δουλεύει ως εξής (q, ) M (q, ) (q, ) M (q, ) (q, ) M (q, ) (q, ) M (q, ε) 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 Λέμε ότι το M δέχεται τη συμβολοσειρά w ή ότι η w είναι αποδεκτή από το M, αν και μόνο αν (s, w) M (q, ε), για κάποιο q F Παράδειγμα (p, ) M (p, ) M (p, ) M (p, ) (s, ) (p, ε) Ορίζουμε τη γλώσσα L(M) ενός ΠΑ M(K, Σ, δ, s, F ) σαν το σύνολο των συμβολοσειρών που είναι αποδεκτές από M. L(M) = {w w είναι αποδεκτό από το M} Παρατηρειστε οτι η 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 Λέμε ότι «το M δέχεται το w», αν υπάρχει κάποια ακολουθία μεταβάσεων που καταλήγει σε τελική κατάσταση του F. ε q Παράδειγμα Το 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.

Εστω M (K, Σ,, s, F ) το αποτέλεσμα του Βήματος. q p Βήμα 2. Θα μετασχηματίσουμε το M σε ένα ντετερμινιστικό πεπερασμένο αυτόματο M (K, Σ, δ, s, F ). Καθώς το M επεξεργάζεται την είσοδο, σε ένα δεδομένο βήμα, η κάθε του «ενσάρκωση» μπορεί να βρίσκεται σε διαφορετική κατάσταση. Θέλουμε το M να βρίσκεται «ταυτόχρονα» σε όλες αυτές τις πιθανές καταστάσεις. Αλλά, ανά πάσα στιγμή, ένα ντετερμινιστικό αυτόματο βρίσκεται σε μία μόνο κατάσταση. Επομένως οι καταστάσεις του M πρέπει να κωδικοποιούν σύνολα από πιθανές καταστάσεις. Οι καταστάσεις του M πρέπει να είναι τα υποσύνολα του K. q r2 r Η μετάβαση (Q, σ, Q ) επιτρέπεται αν το τρέχον πιθανό σύνολο καταστάσεων είναι το Q και αφού διαβαστεί το σύμβολο σ το νέο σύνολο όλων των πιθανών καταστάσεων είναι το Q. Ορίζουμε το M (K, Σ, δ, s, F ) ως εξής K = 2 K, το σύνολο όλων των υποσυνόλων του K. Η συνάρτηση δ ορίζεται ως δ (Q, σ) = {E(p) (q, a, p) για κάποιο q Q} Q K, σ Σ. s = {q (s, ɛ) M (q, ɛ)}. F = {Q Q K, Q F }. Υπολείπεται μια απόδειξη πως L(M) = L(M ) Με επαγωγή στο μήκος της συμβολοσειράς εισόδου...