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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

ΕΠΛ 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

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

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

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

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

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

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

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

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

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

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

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

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

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

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

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

Θέματα υπολογισμού στον πολιτισμό

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

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

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

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

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

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

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία

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

Θέματα υπολογισμού στον πολιτισμό

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

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

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

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

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

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

Λύσεις 4ης Σειράς Ασκήσεων

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

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

Transcript:

Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 4. Πεπερασμένα Αυτόματα 6 Φεβρουαρίου 2007 Δρ. Παπαδοπούλου Βίκη 1

Μοντέλα Υπολογισμού 1930 : Μηχανή Turing : αφαιρετική μηχανή (μοντελοποίηση ενός υπολογιστή) τι μπορεί και τι δεν μπορεί να επιλύσει μια υπολογιστική μηχανή 1940-1950 Πεπερασμένα Αυτόματα: αφαιρετική μηχανή για την αναγνώριση και παραγωγή γλωσσών Εφαρμογές Λογισμικό για την κατασκευή ψηφιακών κυκλωμάτων Ο λεκτικός αναλυτής ενός τυπικού μεταγλωττιστή Λογισμικό για τη σάρωση μεγάλης ποσότητας κειμένου 2

Πεπερασμένο Αυτόματο Αποτελείται από: Κεντρική μονάδα επεξεργασίας προκαθορισμένης χωρητικότητας Δέχεται είσοδο μια συμβολοσειρά μέσω μιας μαγνητικής ταινίας εισόδου Δεν έχει μνήμη Δεν παράγει έξοδο, παρά μόνο μια ένδειξη αν η είσοδος έγινε αποδεκτή 3

Ντετερμινιστικό Πεπερασμένο Αυτόματο Αρχική κατάσταση 0 Τελική κατάσταση 3 1 Πεπερασμένες καταστάσεις 2 Μια λέξη είναι αποδεκτή για το αυτόματο αν όταν ολοκληρωθεί η ανάγνωση της λέξης το αυτόματο βρίσκεται σε μια από τις τελικές καταστάσεις. Η γλώσσα που δέχεται το αυτόματο είναιτοσύνολοτωναποδεκτών λέξεων. 4

Ορισμός Ντετερμινιστικό Πεπερασμένο Αυτόματο περιλαμβάνει Q = πεπερασμένο σύνολο καταστάσεων Σ = αλφάβητο Συνάρτηση μετάβασης δ : Q Σ Q Όταν το αυτόματο είναι στην κατάσταση q Q και διαβάσει το σύμβολο a Σ μεταβιβάζεται στην κατάσταση q Q q o Q = αρχική κατάσταση F Q = τελικές καταστάσεις Π.χ. δ (q 0,b )=q 1 5

Επεκταμένη Συνάρτηση Μεταβίβασης Επεκταμένη Συνάρτηση μετάβασης : δ : Q Σ Q Παίρνει είσοδο ολόκληρη τη λέξη εισόδου και δίνει την κατάσταση στην οποία θα μεταβεί το αυτόματο όταν διαβάσει τη λέξη. Ορισμός (Επαγωγικά) Βάση: Έστω ότι w = 0 (w = ε) για κάθε κατάσταση q Q, δ (q, w) = q. Επαγωγική Υπόθεση: Για οποιοδήποτε ακέραιο k 0, έστω ότι έχουμε ορίσει την δ (q, w) για όλες τις καταστάσεις q και όλες τις λέξεις w Σ με μήκος w = k. Για οποιαδήποτε κατάσταση q και λέξη w = u σ όπου u Σ με μήκος w = k+1 και σ Σ, δ (q, w) = δ (δ (q, u), σ). 6

Παράδειγμα 1. Q={q 0, q 1 } Σ={a,b} S={q 0 } F={q 0 } (q 0, aabba) `M (q 0, abba) `M (q 0, bba) `M (q 1, ba) `M (q 0, a) `M (q 0, e) (q 0, aabba) `M* (q 0, e) q σ q 0 a q 0 q 0 b q 1 q 1 a q 1 q 1 b δ(q,σ) q 0 7

Συνολικές Καταστάσεις Συνολική Κατάσταση = (τρέχουσα κατάσταση, υπολέξη που δεν έχει διαβαστεί ακόμα). Π.χ. (q 0, aabba) `M : δυαδική σχέση μεταξύ δύο συνολικών καταστάσεων q 0, q 1, του Μ εάν και μόνο αν η μηχανή μπορεί να περάσει από την q 0 κατάσταση στην q 1 με μόνο μια κίνηση. (q, w) `M (q,w ) εάν και μόνο αν w=σ w, σ Σ και δ (q, σ) = q. Π.χ. (q 0, aabba) `M (q 0, abba) 8

Γλώσσες Αυτομάτων `M* : ανακλαστική, μεταβατική θήκη της `M (q, w) παράγει την (q,w ) μετά από ένα αριθμό βημάτων. Π.χ. (q 0, aabba) `* M (q 0, e) Ηλέξηw Σ * είναι δεκτή από το Μ αν και μόνο αν υπάρχει μια τελική κατάσταση q F, τέτοια ώστε (s, w) `* M (q, e). Π.χ. (q 0, aabba) `M* (q 0, e) Η γλώσσα που δέχεται το Μ, L(M), είναι το σύνολο όλων των λέξεων που δέχεται το Μ. 9

Γλώσσες Ντετερμινιστικών Πεπερασμένων Αυτομάτων Ορισμός: Έστω το ντετερμινιστικό πεπερασμένο αυτόματο Μ =hq, Σ, δ, q 0, Fi. Η γλώσσα του ντετερμινιστικού πεπερασμένου αυτομάτου M, είναι: L(M) = { w Σ δ (q 0, w) F}. Μία γλώσσα L είναι γλώσσα ντετερμινιστικού πεπερασμένου αυτομάτου αν υπάρχει ντετερμινιστικό πεπερασμένο αυτόματο M τέτοιο ώστε L = L(M). 10

Παράδειγμα 1. Q={q 0, q 1 } Σ={a,b} S={q 0 } F={q 0 } q σ q 0 a q 0 q 0 b q 1 q 1 a q 1 q 1 b δ(q,σ) q 0 (q 0, aabba) `M (q 0, abba) `M (q 0, bba) `M (q 1, ba) `M (q 0, a) `M (q 0, e) Διάγραμμα Καταστάσεων Ποιαείναιηγλώσσαπουαποδέχεταιτοαυτόματο? 11

Παραδείγματα 2. L= L={e} L={a,b}* 12

Παραδείγματα 3. L=άρτιο αριθμό a και άρτιο αριθμό b L=άρτιο αριθμό a και περιττό αριθμό b 13

Παραδείγματα 4. L(M)= {w {a,b}* : η w δεν περιέχει 3 συνεχόμενα b} Είναι στην (τελική) κατάσταση i (i=0,1,2) όταν έχει διαβάσει i συνεχόμενα b 3 συνεχόμενα b οδηγούν στην κατάσταση q 3 που δεν είναι τελική. Q={q 0, q 1, q 2, q 3 } Σ={a,b} S={q 0 } F={q 0,q 1, q 2 } q σ q 0 a q 0 q 0 b q 1 q 1 a q 0 q 1 b q 2 q 2 a q 0 q 2 b q 3 q 3 a q 3 q 3 b δ(q,σ) q 3 14

Παραδείγματα 5. L= {το σύνολο των λέξεων που δεν περιέχουν ούτε την λέξη aa ούτε την λέξη bb} q 1 κατάσταση μόλις διαβάσει την a Θα πρέπει να πάει σε μη τελική κατάσταση (q 3 ) αν διαβάζει a 2 η φορά q 2 κατάσταση b μόλις διαβάσει την b Θα πρέπει να πάει σε μη τελική κατάσταση (q 3 ) αν διαβάζει b 2 η φορά 15