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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

Στοίβες με Δυναμική Δέσμευση Μνήμης

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

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

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

Περιεχόμενα. 1 Υπολογισιμότητα. Ιστορία - Εισαγωγή. Μαθηματικό Υπόβαθρο. LOOP: Μια απλή γλώσσα προγραμματισμού

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

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

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

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

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

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

Transcript:

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

Τι θα κάνουμε σήμερα Εισαγωγή στα Αυτόματα Στοίβας Τυπικός Ορισμός Αυτομάτου Στοίβας (2.2.1) Παραδείγματα (2.2.2) 1

Αυτόματα Στοίβας (PDA) Τι είναι το αυτόματο στοίβας; Ντετερμινιστικό Πεπερασμένο Αυτόματο με επιπλέον «εξάρτημα» - ΣΤΟΙΒΑ Τι παρέχει η στοίβα; Επιπρόσθετη μνήμη - Πέραν της πεπερασμένης μνήμης που προσφέρουν οι καταστάσεις του αυτόματου Επιτρέπει στα αυτόματα να αναγνωρίζουν μη κανονικές γλώσσες Ισοδύναμα με ασυμφραστικές γραμματικές Επιτρέπουν την αναγνώριση ασυμφραστικών γλωσσών. 2

FA vs PDA Σχηματική Αναπαράσταση πεπερασμένου αυτόματου Ελεγκτής: Καταστάσεις και Μεταβάσεις Καταστάσεων Ταινία: Λέξη Εισόδου Βέλος : Κεφαλή Εισόδου ελεγκτής καταστάσεων a a b b είσοδος 3

FA vs PDA Σχηματική Αναπαράσταση πεπερασμένου αυτόματου Ελεγκτής: Καταστάσεις και Μεταβάσεις Καταστάσεων Ταινία: Λέξη Εισόδου Βέλος : Κεφαλή Εισόδου Στοίβα: Εγγραφή και διάβασμα συμβόλων ελεγκτής καταστάσεων x y z στοίβα a a b b είσοδος 4

Στοίβα: Εγγραφή και Ανάγνωση Είδος αποθήκευσης LIFO: last in first out Εγγραφή: Βάζει το νέο σύμβολο στην κορυφή και πιέζει τα υπόλοιπα σύμβολα προς τα κάτω. απόθεση push Ανάγνωση: Επιστρέφει το σύμβολο που βρίσκεται στην κορυφή και το αφαιρεί από την στοίβα. ανάληψη pop Απεριόριστος αποθηκευτικός χώρος 5

Παράδειγμα Γλώσσα L={1 n 0 n n 0} Δεν μπορεί να αναγνωριστεί από κανένα πεπερασμένο αυτόματο Λόγω πεπερασμένου αριθμού καταστάσεων Αναγνωρίζεται από αυτόματα στοίβας Διαβάζουμε σύμβολα από την είσοδο Αν το σύμβολο είναι 0 το αποθέτουμε στη στοίβα Μόλις δούμε το πρώτο 1 βγάζουμε ένα 0 από την στοίβα για κάθε 1 που διαβάζουμε Εαν όταν φτάσουμε στο τέλος τησ εισόδου η στοίβα είναι κενή τότε το αυτόματο αποδέχεται την λέξη. 6

Σημείωση Τα ντετερμινιστικά αυτόματα στοίβας δεν είναι ισοδύναμα με τα μη ντετερμινιστικά αυτόματα στοίβας Τα μη ντετερμινιστικά αναγνωρίζουν γλώσσες που δεν μπορούν να αναγνωρίσουν τα ντετερμινιστικά Θα μελετήσουμε μόνο τα ΜΗ ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΑ αυτόματα στοίβας 7

Αλφάβητα PDA Δύο Αλφάβητα Σ e = Σ[{e}: αλφάβητο εισόδου Γ e = Γ[{e}: αλφάβητο στοίβας Η στοίβα μπορεί να χρησιμοποιεί διαφορετικά σύμβολα από αυτά της εισόδου. 8

Μεταβάσεις PDA Πεδίο Ορισμού: Q Σ e Γ e Τρέχουσα Κατάσταση καθορίζεται από Σύμβολο που διαβάζεται από την είσοδο Σύμβολο που βρίσκεται στην κορυφή της στοίβας Μπορεί τα πιο πάνω να είναι το κενό σύμβολο Είσοδο: Αυτόματο δεν θα διαβάσει κανένα σύμβολο από την είσοδο Στοίβα: Αυτόματο δεν θα διαβάσει κανένα σύμβολο από την στοίβα Πεδίο Τιμών: P(Q Γ e ) Μεταβαίνουμε σε κάποια νέα κατάσταση Πιθανόν γράφουμε νέο σύμβολο στην στοίβα Μη ντετερμινιστικό: Μπορεί να έχουμε ένα σύνολο τέτοιων καταστάσεων. 9

Τυπικός ορισμός PDA Ορισμός Αυτόματο στοίβας είναι μια εξάδα 1. Q = πεπερασμένο σύνολο καταστάσεων 2. Σ e = αλφάβητο εισόδου 3. Γ e = αλφάβητο στοίβας 4. Συνάρτηση μετάβασης δ : Q Σ e Γ e! P(Q Γ e ) Όταν το αυτόματο είναι στην κατάσταση q 2 Q και διαβάσει το σύμβολο a2 Σ και υπάρχει σύμβολο γ2 Γ μεταβιβάζεται σε ένα υποσύνολο καταστάσεων με αντίστοιχα σύμβολα στην κορυφή της στοίβας π.χ. δ (q,α,γ)={(q,γ ), (q,γ )} 5. q o 2 Q = εναρκτήρια κατάσταση 6. F µ Q = σύνολο τελικών καταστάσεων 10

Ορισμός του υπολογισμού To αυτόματο στοίβας M αποδέχεται μια λέξη w εάν: M =(Q, Σ, Γ,δ,q 0,F) w = w 1 w 2...w n, w i Σ και υπάρχει ακολουθία καταστάσεων r 0 r 1...r n, r i Q και ακολουθία λέξεων s 0,s 1,...,s n Γ που να ικανοποιεί τις συνθήκες: 1. r 0 = q 0 και s 0 = e 2. (r i+1,b) δ(r i,w i+1,a), for i =0,...,n 1, where s i = at and s i+1 = bt, for a, b Γ e and t Γ 16-Oct-11 3. r n F 11

Περιγραφή Αυτομάτου Στοίβας Πίνακας Μεταβάσεων Είσοδος 0 1 e Στοίβα 0 $ e 0 $ e 0 $ e q1 q2 Σχεδιάγραμμα Καταστάσεων Επιγραφή Βέλων: «α, β à γ» α: σύμβολο στην είσοδο α=e: το αυτόματο εκτελεί την μετάβαση χωρίς να διαβάσει σύμβολο από την είσοδο β: σύμβολο στην κορυφή της στοίβας β=e: το αυτόματο εκτελεί την μετάβαση χωρίς να διαβάσει σύμβολο από την στοίβα γ: σύμβολο με το οποίο αντικαθιστούμε το β γ=e: το αυτόματο εκτελεί την μετάβαση χωρίς να αποθέσει σύμβολο στην στοίβα 12

Παράδειγμα 1 Γλώσσα L={1 n 0 n n 0} Q = {q 1,q 2,q 3,q 4 }, Σ={0, 1}, Γ={0, $},F = {q 1,q 4 } q1 e, eà $ q2 1, 0à e 0,e à 0 q4 e, $à e q3 1, 0à e Το σύμβολο $ μας βοηθά να εντοπίσουμε τον «πάτο» της στοίβας 13

Παράδειγμα 1 Πίνακας μεταβάσεων Είσοδος 0 1 e Στοίβα 0 $ e 0 $ e 0 $ e q1 {(q2,$)} q2 {(q2,0)} {(q3,e)} q3 {(q3,e)} {(q4,e)} q4 e, e!$!"#!$# 0,e!0 1, 0!e!&# e, $!e!%# 1, 0!e 14

Παράδειγμα 2 Γλώσσα L={ww R w2{0,1}*} w R : ανάστροφη π.χ. w = 0111 => w R = 1110 q1 e, eà $ q2 0,e à 0 1,e à 1 q4 e, $à e q3 e, eà e 1, 1à e 0, 0à e 15

Ερωτήσεις; 16