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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

Άσκησηη 1. (α) Το αυτόματο. (γ) Να δείξετε όλα aabbb. Λύση. λέξεις. αυτόματο. (β) Τυπικά. μεταβάσεων δ. ορίζεται. (γ) Θα δείξουμε τα.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την

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

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

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

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

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

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

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

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

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

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

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

Χρονικά Συστήματα και Σχέσεις Ισοδυναμίας

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

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

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

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

Transcript:

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

Τι θα κάνουμε σήμερα Ισοδυναμία αυτομάτων στοίβας με ασυμφραστικές γραμματικές (2.2.3) 1

Ισοδυναμία PDA με CFG Θεώρημα: Μια γλώσσα είναι ασυμφραστική εάν και μόνο εάν υπάρχει αυτόματο στοίβας που την αναγνωρίζει. Λήμμα 1: Εάν μια γλώσσα είναι ασυμφραστική τότε υπάρχει αυτόματο στοίβας που την αναγνωρίζει. Λήμμα 2: Κάθε γλώσσα που αναγνωρίζεται από ένα αυτόματο στοίβας είναι ασυμφραστική. 2

CFL => PDA που την αναγνωρίζει Εξ ορισμού για κάθε ασυμφραστική γλώσσα υπάρχει ασυμφραστική γραμματική που την περιγράφει. Ιδέα Απόδειξης: Να βρούμε κάποιο τρόπο να μετατρέπουμε μια ασυμφραστική γραμματική G σε ένα ισοδύναμο αυτόματο στοίβας P. Δυσκολία: Πως μπορούμε να γνωρίζουμε ποια είναι η σωστή αντικατάσταση για τα μη- τερματικά σύμβολα; Σε κάθε βήμα της παραγωγής διαλέγουμε μη- ντετερμινιστικά κάποιον από τους κανόνες για κάποια μεταβλητή. Αρα το αυτόματο «μαντεύει» τις σωστές αντικαταστάσεις και ελέγχει αν «μάντεψε» σωστά. 3

Η κατασκευή περιγραφικά ελεγκτής καταστάσεων 0 1 1 0 Ιδέα: Γράφε ενδιάμεσες λέξεις στη στοίβα Αντικατέστησε τα μη- τερματικά της στοίβας με ενδιάμεσες λέξεις Δυσκολία: Πως θα αντικαταστήσουμε μη- τερματικά που δεν βρίσκονται στην κορυφή της στοίβας; Α 1 Α 0 $ 4

Η κατασκευή περιγραφικά Το αυτόματο μιμείται μια αριστερή παραγωγή της συμβολοσειράς εισόδου Βήμα 1: Αποθέτουμε στην στοίβα το ειδικό σύμβολο $ και την εναρκτήρια μεταβλητή Βήμα 2: Επαναλαμβάνουμε τα ακόλουθα Εάν στην κορυφή της στοίβας έχουμε μη- τερματικό σύμβολο Α, επιλέγουμε μη- ντετερμινιστικά έναν από τους κανόνες του Α και αντικαθιστούμε το μη- τερματικό με την λέξη στο δεξί μέρος του κανόνα Εάν στην κορυφή της στοίβας είναι ένα τερματικό σύμβολο α, διαβάζουμε το επόμενο σύμβολο από την είσοδο και συγκρίνουμε με το α. Τα σύμβολα συμπίπτουν => συνεχίζουμε Τα σύμβολα δεν συμπίπτουν απορρίπτουμε (σε αυτό το μονοπάτι) Εάν στην κορυφή της στοίβας είναι το $ πάμε στην κατάσταση αποδοχής. Αν η λέξη εισόδου έχει εξαντληθεί γίνετε αποδεκτή. 5

Αντικατάσταση συμβόλου με λέξη Έστω q και r δύο καταστάσεις του αυτόματου Θέλουμε να μεταβούμε από την q στην r όταν διαβάσουμε a στην είσοδο και ένα σύμβολο S στη στοίβα, και να αποθέσουμε στη στοίβα τη λέξη u=u 1 u n Βήμα 1: Εισάγουμε νέες καταστάσεις q 1 q n- 1 Βήμα 2: Τροποποιούμε την συνάρτηση μεταβάσεων Προσθέτουμε στο δ(q,a,s) το μέλος (q 1,u n ) Εισάγουμε τι μεταβάσεις δ(q 1,e,e)={(q 2,u n- 1 )} δ(q n- 1,e,e)= {(r,u 1 )} 6

Αντικατάσταση συμβόλου με λέξη q r a, Sà xyz q r a, Sà z e, eà x q1 q2 e, eà y Συντοµογραφία: (r,xyz)2δ(q,a,s) 7

Τυπική Περιγραφή Κατασκευής Θέλουμε P =(Q, Σ, Γ,δ,q 0,F) Q = {q start,q loop,q end } E E είναι το σύνολο των καταστάσεων που απαιτούνται για τις αντικαταστάσεις των μεταβλητών με λέξεις Η συνάρτηση μεταβάσεων είναι η εξής: δ(q start,e,e)={(q loop,s$)} Περίπτωση 1: δ(q loop,e,a)={(q loop,w) A w R} Περίπτωση 2: δ(q loop,a,a)={(q loop,e)} 8 Περίπτωση 3: δ(q loop,e,$) = {(q end,e)}

Τυπική Περιγραφή Κατασκευής q start e, eà S$ q loop e, $à e e, Aà w a, aà e q end 9

Παράδειγμα Κατασκευή αυτομάτου στοίβας από γραμματική S at b b T Ta e δ(q start, e, e)=(q, S$) δ(q loop, e, S)=(q, atb) δ(q loop, e, S)=(q, b) δ(q loop, e, T)=(q, Ta) δ(q loop, e, T)=(q, e) δ(q loop, a, a)=(q, e) δ(q loop, b, b)=(q, e) δ(q loop, e, $)=(q end, e) 10

Παράδειγμα 2 L={w#w R w2{a,b}*} S asa bsb # δ(q start, e, e)=(q, S$) δ(q loop, e, S)=(q, asa) δ(q loop, e, S)=(q, bsb) δ(q loop, e, S)=(q, #) δ(q loop, a, a)=(q, e) δ(q loop, b, b)=(q, e) δ(q loop, #, #)=(q, e) δ(q loop, e, $)=(q end, e) 11

PDA(L) => L είναι ασυμφραστική Αποδεικτική Ιδέα: Να βρούμε μια κατασκευή που να μετατρέπουμε δεδομένο PDA σε ασυμφραστική γραμματική. Κατασκευαστική Ιδέα: Για κάθε ζεύγος καταστάσεων p, q του αυτόματου θα υπάρχει μια μεταβλητή A pq που να παράγει όλες τις λέξεις που μπορούν να οδηγήσουν το αυτόματο από την p με κενή στοίβα στην q με κενή στοίβα. Απόδειξη Παραλείπεται. 12

Πόρισμα Κάθε κανονική γλώσσα είναι και ασυμφραστική Αυτόματα στοίβας αναγνωρίζουν την κλάση των ασυμφραστικών γλωσσών Πεπερασμένα αυτόματα αναγνωρίζουν τις κανονικές γλώσσες Κάθε πεπερασμενο αυτόματο είναι αυτόματο στοίβας που αγνοεί την στοίβα. ασυμφραστικές γλώσσες κανονικές γλώσσες 13

Ερωτήσεις; 14