Τυπικές Γραμματικές και Άλλα Αυτόματα

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Τυπικές Γραμματικές και Άλλα Αυτόματα"

Transcript

1 Κεφάλαιο 8 Τυπικές Γραμματικές και Άλλα Αυτόματα 8.1 Εισαγωγή Στο κεφάλαιο αυτό θα ασχοληθούμε με μη κανονικές γλώσσες και γραμματικές, καθώς και τα αντίστοιχα αυτόματα που τις αναγνωρίζουν. Πιο συγκεκριμένα για: γλώσσες και γραμματικές χωρίς συμφραζόμενα (context free), γλώσσες και γραμματικές με συμφραζόμενα (context sensitive), και αναδρομικά αριθμήσιμες (recursively enumerble) γλώσσες και γενικές γραμματικές. 8.2 Κανονικές Γραμματικές Στις κανονικές γραμματικές όλοι οι κανόνες παραγωγής είναι της μορφής: 1. δεξιογραμμικοί (rightliner): A wb, A w, όπου w T, ή 2. αριστερογραμμικοί (leftliner): A Bw, A w, όπου w T. Θεώρημα 8.1. Τα κανονικά σύνολα παράγονται από κανονικές (δεξιο- ή αριστερογραμμικές γραμματικές) Ιδέα απόδειξης. Περιοριζόμαστε σε δεξιογραμμικές γραμματικές: Έστω G 1 δεξιογραμμική. Κατασκευάζουμε ισοδύναμη γραμματική G 2 σε μεταβατική μορφή, δηλαδή σε μορφή κανόνων A B ή A (ή ε). Ιδέα για μετατροπή: A 1... n B αντικαθίσταται από τους κανόνες: A 1 A 1, A 1 2 A 2,..., A n 1 n B, όπου 1,..., A n 1 νέα μη τερματικά σύμβολα. 119

2 120 Κεφάλαιο 8. Τυπικές Γραμματικές και Άλλα Αυτόματα Μετά κατασκευάζουμε ένα NFA ε με Q = V {ε }, Σ =, q 0 =, F = {ε } και: B δ(a, ) ανν (A B) P ε δ(a, ) ανν (A ) P ε δ(a, ε) ανν (A ε) P Έστω DFA. Κατασκευάζουμε γραμματική με V = Q, T = Σ, = q 0 και παραγωγές: (q i q j ) P ανν δ(q i, ) = q j, (q i ) P ανν δ(q i, ) F Παράδειγμα 8.2. (b) δεξιογραμμικά b αριστερογραμμικά R, R Rb ε Για να κατασκευάσουμε F.A. που αποδέχεται την κανονική γλώσσα που παράγεται από τη δεξιογραμμική γραμματική ( b ) πρώτα την απλοποιούμε σε μεταβατική μορφή ( ba, A ) και μετά: b A ε Για να κατασκεύασουμε F.A. που αποδέχεται την κανονική γλώσσα που παράγεται από την αριστερογραμμική γραμματική ( R, R Rb ε) πρώτα απλοποιείται σε μεταβατική μορφή ( R, R N ε, N Rb) και μετά: ε ε R b N

3 8.3 Γραμματικές χωρίς συμφραζόμενα και αυτόματα στοίβας 121 Κατασκευή δεξιογραμμικής γραμματικής από αυτόματο. Έστω M: q 0 q f, b q j b b, b q 1 q 0 bq 1 q f q 1 q 0 bq j q f q j bq j q j q j bq j Απαλοιφή σύμβολων που δεν παράγουν τίποτα (non yielding) q j, q f και παραγωγών που σχετίζονται με αυτά. Τότε έχουμε: { q0 bq 1 q 1 q 0 Κατασκευή αριστερογραμμικής γραμματικής από αυτόματο. ( := q f ) q f q 0 q 0 q 1 ε q 1 q 0 b q j q j b q j q f b q f q 1 b Απαλοιφή συμβόλων στα οποία δεν φθάνουμε ποτέ (unrechble) q j καθώς και παραγωγών που σχετίζονται με αυτά. Τότε έχουμε: q f q 0 q 0 q 1 ε q 1 q 0 b 8.3 Γραμματικές χωρίς συμφραζόμενα και αυτόματα στοίβας Όπως είδαμε στην ενότητα περί ιεραρχίας Chomsky, μια γραμματική G = (V, T, P, ) λέγεται χωρίς συμφραζόμενα (context free - c.f.) αν οι κανόνες παραγωγής στο P έχουν τη μορφή A β όπου β (V T ) και A V. Παρακάτω δίνουμε μερικά παραδείγματα γραμματικών χωρίς συμφραζόμενα:

4 122 Κεφάλαιο 8. Τυπικές Γραμματικές και Άλλα Αυτόματα Παράδειγμα 8.3. Έστω η γραμματική G 1 : V = {}, T = {, b}, P = { ε, b} Μια πιθανή ακολουθία παραγωγών είναι η: b bb bbb bbb H γλώσσα που παράγεται από την G 1 είναι η L(G 1 ) = { n b n n N }. Παράδειγμα 8.4. G 2 = (V, T, P, ) με T = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, }, V = {} και το P περιέχει τους κανόνες: +,, Tόσο στο πιο πάνω παράδειγμα, όσο και στο παράδειγμα 8.3, είναι εύκολο να καταλάβουμε ποιες είναι οι γλώσσες που παράγονται από τις γραμματικές G 1, G 2. Εν γένει, το να βρούμε την L(G) δεν είναι πάντοτε τόσο προφανές, όπως φαίνεται από το επόμενο παράδειγμα. Παράδειγμα 8.5. G 3 = (V, T, P, ), V = {, A, B}, T = {, b} και το P περιέχει τους κανόνες: B ba, A baa, B b b BB Μια πιθανή ακολουθία παραγωγών της πιο πάνω γραμματική είναι: B b bba bb Αν και δεν είναι προφανές, L(G 3 ) = {w T + w έχει ίσο αριθμό και b} Συντακτικά δένδρα Ένας άλλος τρόπος να να περιγράψουμε πως με μια γραμματική προκύπτει μια συμβολοακολουθία, εκτός από τις ακολουθίες παραγωγών μέσω των, είναι τα συντακτικά δένδρα (prse trees). Ορισμός 8.6. Έστω G = {V, T, P, } μια c.f. γραμματική. Ένα δένδρο είναι συντακτικό δένδρο της G αν 1. Κάθε κόμβος του δένδρου έχει μια επιγραφή, η οποία είναι ένα σύμβολο στο V T {ε}. 2. Η επιγραφή της ρίζας είναι το. 3. Αν ένας κόμβος είναι εσωτερικός και έχει επιγραφή A, τότε το πρέπει να είναι στοιχείο του V. 4. Αν ο κόμβος n έχει επιγραφή A και οι κόμβοι n 1, n 2,..., n k είναι παιδιά του n, σε διάταξη από αριστερά προς τα δεξιά, με επιγραφές X 1, X 2,..., X k αντίστοιχα, τότε ο A X 1 X 2... X k πρέπει να είναι κανόνας παραγωγής στο P.

5 8.3 Γραμματικές χωρίς συμφραζόμενα και αυτόματα στοίβας 123 b B b b b b A ε i ii Σχήμα 8.1: Παραδείγματα συντακτικών δένδρων 5. Αν ένας κόμβος έχει επιγραφή ε, τότε είναι φύλλο και είναι το μοναδικό παιδί του γονέα του. Για παράδειγμα, τα συντακτικά δένδρα των ακολουθιών παραγωγών των παραδειγμάτων 8.3 και 8.5 φαίνονται στο σχήμα 8.1. Ονομάζουμε φύλλωμα (lef string) τη συμβολοακολουθία που προκύπτει από τα φύλλα ενός δένδρου, αν τα διατρέξουμε από το αριστερότερο προς το δεξιότερο. Ορίζουμε ως A-δένδρο ενός συντακτικού δέντρου ένα υποδέντρο το οποίο περιλαμβάνει ως ρίζα έναν κόμβο με επιγραφή A καθώς και όλους τους απογόνους αυτού του κόμβου και τις μεταξύ τους ακμές. Θεώρημα 8.7. Έστω G(V, T, P, ) μια c.f. γραμματική. Τότε α ανν υπάρχει συντακτικό δένδρο με φύλλωμα το α. Η απόδειξη της κατεύθυνσης γίνεται με επαγωγή ως προς τον αριθμό των εσωτερικών κόμβων, ενώ της με επαγωγή ως προς των αριθμό των βημάτων της ακολουθίας παραγωγών (άσκηση). Διφορούμενες γραμματικές (mbiguous grmmrs) Ορισμός 8.8. Μια γραμματική G ονομάζεται διφορούμενη (mbiguous) αν υπάρχουν δύο συντακτικά δένδρα που να έχουν ως φύλλωμα ένα w L(G). Για παράδειγμα, η συμβολοακολουθία ανήκει στην L(G 2 ), του παραδείγματος 8.4, σελίδα 122 και υπάρχουν δύο συντακτικά δένδρα που αντιστοιχούν σε αυτήν, όπως φαίνεται στο σχήμα 8.2. Παρ όλα αυτά, μπορούμε να κατασκευάσουμε μια γραμματική που είναι ισοδύναμη με την G 2 και η οποία δεν είναι διφορούμενη (άσκηση). Υπάρχουν όμως και γλώσσες χωρίς συμφραζόμενα, για τις οποίες όλες οι γραμματικές που τις παράγουν είναι αναγκαστικά διφορούμενες:

6 124 Κεφάλαιο 8. Τυπικές Γραμματικές και Άλλα Αυτόματα Σχήμα 8.2: Συντακτικά δένδρα διφορούμενης γραμματικής Ορισμός 8.9. Μια γλώσσα χωρίς συμφραζόμενα ονομάζεται εγγενώς διφορούμενη (inherently mbiguous) αν όλες οι γραμματικές που την παράγουν είναι διφορούμενες. Παράδειγμα Η γλώσσα χωρίς συμφραζόμενα { i b j c k i = j j = k} είναι εγγενώς διφορούμενη.

7 8.3 Γραμματικές χωρίς συμφραζόμενα και αυτόματα στοίβας Απλοποίηση και κανονικές μορφές Είναι δυνατόν να απλοποιήσουμε μία γραμματική χωρίς συμφραζόμενα ως εξής: Κρατάμε μόνον τα σύμβολα που χρειάζονται (για παράδειγμα εξαλείφουμε όλα τα μη τερματικά που δεν παράγουν συμβολοακολουθίες με τερματικά και όλα τα σύμβολα που δεν μπορούν να εμφανισθούν σε καμία παραγωγή που ξεκινάει από το αρχικό σύμβολο). Επίσης, μπορούμε να εξαλείψουμε κανόνες του τύπου A B (unit productions). Επιπλέον, αν το ε δεν ανήκει στην L, δεν χρειάζονται κανόνες παραγωγής της μορφής A ε (ε-productions). Μάλιστα, αν το ε δεν ανήκει στην L, μπορούμε να κατασκευάσουμε την G με τέτοιο τρόπο ούτως ώστε κάθε κανόνας παραγωγής να έχει είτε τη μορφή A BC είτε την A, όπου οι A, B και C είναι μεταβλητές και το είναι τερματικό σύμβολο. Εναλλακτικά, μπορούμε να μετατρέψουμε κάθε κανόνα παραγωγής του G στη μορφή A, όπου το α είναι μια συμβολοακολουθία από μεταβλητές (μπορεί και κενή). Αυτές οι δύο ειδικές μορφές ονομάζονται κανονική μορφή Chomsky και κανονική μορφή Greibch, οπότε έχουμε τα παρακάτω δύο θεωρήματα κανονικών μορφών: Θεώρημα 8.11 (Κανονικής μορφής Chomsky, CNF). Κάθε c.f. γλώσσα χωρίς το ε παράγεται από μια γραμματική στην οποία όλες οι παραγωγές είναι της μορφής A BC ή A. όπου,, C μεταβλητές και τερματικό. Θεώρημα 8.12 (Κανονικής μορφής Greibch, GNF). Κάθε c.f. γλώσσα χωρίς το ε παράγεται από μια γραμματική στην οποία όλες οι παραγωγές είναι της μορφής A, όπου α V, T. Από γραμματικές στις παραπάνω κανονικές μορφές, προκύπτουν σχετικά απλούστερα συντακτικά δένδρα: για την CNF τα συντακτικά δένδρα έχουν πάντοτε διακλάδωση βαθμού δύο αν προκύπτουν μεταβλητές, αλλιώς από μία μεταβλητή προκύπτει ένα μόνον φύλλο (τερματικό σύμβολο), ενώ για την GNF, τα αριστερά παιδιά κάθε κόμβου είναι πάντοτε τερματικά σύμβολα. Μπορούμε να εκμεταλλευτούμε αυτές τις ιδιότητες των συντακτικών δένδρων για να επιλύσουμε ταχύτερα ορισμένα προβλήματα όπως αν κάποια συμβολοσειρά x ανήκει στην γλώσσα που παράγει μία γραμματική: Δεδομένης γραμματικής χωρίς συμφραζόμενα G, όχι απαραίτητα σε κανονική μορφή, υπάρχει μηχανιστικός αλγόριθμος ο οποίος για οποιαδήποτε συμβολοσειρά x αποκρίνεται αν x L(G) ή όχι. Π.χ. αν συστηματικά κατασκευάσουμε όλες τις παραγόμενες συμβολοσειρές κατά αύξουσα σειρά μήκους, τότε μπορούμε να αποφασίσουμε εάν x L(G). Ο αλγόριθμος όμως είναι εκθετικού χρόνου ως προς το μήκος της συμβολοσειράς εισόδου. Αν όμως η γραμματική δίνεται σε κανονική μορφή Chomsky, τότε υπάρχει ταχύτερος αλγόριθμος, πολυπλοκότητας O( x 3 ), ο λεγόμενος αλγόριθμος CYK (από τους Cocke, Younger, Ksmi). function CYK(x: string): boolen (* ssumes Chomsky n.f. *) begin n := x for i := 1 to n do Vi 1 := {A (A ) P (x) i = }; for j := 2 to n do for i := 1 to n j + 1 do

8 126 Κεφάλαιο 8. Τυπικές Γραμματικές και Άλλα Αυτόματα begin V j i := ; for k := 1 to j 1 do V j i := V j i {A (A BC) P B Vi k end ; CYK := V1 n end C V j k i+k } Ο αλγόριθμος ουσιαστικά ελέγχει όλα τα δυνατά συντακτικά δένδρα, αρχίζοντας από τα τερματικά σύμβολα στα φύλλα και αποδίδοντας σε αυτά πιθανά μη τερματικά σύμβολα που τα παραγάγουν. Ο αλγόριθμος συνεχίζει αποδίδοντας πιθανά μη τερματικά σύμβολα σε κάθε υποσυμβολοσειρά της συμβολοσειράς εισόδου και τέλος ελέγχει αν στην συμβολοσειρά εισόδου έχει αποδοθεί το αξίωμα. Παράδειγμα Έστω γραμματική σε κανονική μορφή Chomsky: AB BC, A BA, B CC b, C AB Στο σχήμα 8.3 δίνουμε την εκτέλεση του αλγορίθμου και το αντίστοιχο συντακτικό δένδρο για είσοδο x = bb. Με τα βέλη, δείχνουμε την ακολουθία υπολογισμού για j = 4 (μήκος substring) και για τo substring (x) 2..5 (αρχίζει, δηλαδή, από την θέση i = 2): Μέσα σε κύκλο και με τον ίδιο αριθμό συμβολίζουμε τα δύο substrings (συνολικού μήκους 4) που συνδυάζονται για να δώσουν το (x) x = b b j = 1 B A, C 1 A, C B A, C 3 j = 2, A B 2, C, A 2 j = 3 B 3 B 1 j = 4, A, C j = 5, A, C B b A A A Σχήμα 8.3: Εκτέλεση αλγορίθμου CYK C B b B C Αυτόματα στοίβας Ένα αυτόματο στοίβας (push down utomton ή για συντομία PDA) αποτελείται από μία ταινία εισόδου, αλλά επιπλέον, σε σχέση με τα FA, έχει και μία στοίβα (μη φραγμένη σε μέγεθος μνήμη,

9 8.3 Γραμματικές χωρίς συμφραζόμενα και αυτόματα στοίβας 127 αλλά με περιορισμένες δυνατότητες πρόσβασης σε αυτήν). Η πρόσβαση στην στοίβα γίνεται μόνον στην κορυφή αυτής με τις εξής δύο λειτουργίες: 1. push: Τοποθετεί ένα στοιχείο που δίνεται στην κορυφή της στοίβας. 2. pop: Αφαιρεί ένα στοιχείο για χρήση από την κορυφή της στοίβας. Είναι προφανές ότι αν κάποιο στοιχείο βρίσκεται βαθιά μέσα στην στοίβα, δηλαδή αφού έχει μπει στην στοίβα με push, έχουν επίσης μπει με push άλλα στοιχεία πάνω από αυτό, προκειμένου να έχουμε πρόσβαση σε αυτό θα πρέπει να κάνουμε pop σε όλα τα στοιχεία που είναι από πάνω του. Θεωρήστε την γλώσσα L = {wcw R w (0 + 1) }. Για παράδειγμα 110c011 L. Να πώς μπορούμε να αναγνωρίσουμε την παραπάνω γλώσσα με ένα PDA: 1. push() στην στοίβα για κάθε 0 που συναντάς στην είσοδο, push(b) στην στοίβα για κάθε 1 που συναντάς στην είσοδο, μέχρι να συναντήσεις το c 2. διάβασε το c, κάνε pop τα στοιχεία της στοίβας και διάβαζε παράλληλα την είσοδο, αποδέξου αν υπάρχει συμφωνία των στοιχείων εισόδου με τα στοιχεία της στοίβας ( με 0, b με 1). Δίνουμε παρακάτω τον τυπικό ορισμό: Ορισμός Ένα αυτόματο στοίβας (push down utomton ή για συντομία PDA) είναι μία πλειάδα M = (Q, Σ, Γ, δ, q 0, Z 0, F ), όπου: Q: πεπερασμένο σύνολο καταστάσεων, Σ: αλφάβητο εισόδου, Γ: αλφάβητο στοίβας, δ: Q (Σ {ε}) Γ P ow(q Γ ) (πεπερασμένα υποσύνολα), η συνάρτηση μετάβασης (επιτρέπονται ε-κινήσεις και μη ντετερμινισμός), q 0 Q: αρχική κατάσταση, Z 0 Γ: αρχικό σύμβολο στην στοίβα, F Q: τελικές καταστάσεις. Υπάρχουν δύο είδη PDA ως προς το αποδέχεσθαι: 1. αποδέξου όταν βρίσκεσαι σε τελική κατάσταση αφού έχεις διαβάσει όλη την ταινία εισόδου, ανεξάρτητα από το τι υπάρχει στην στοίβα, ή,

10 128 Κεφάλαιο 8. Τυπικές Γραμματικές και Άλλα Αυτόματα 2. αποδέξου όταν η στοίβα είναι άδεια αφού έχεις διαβάσει όλη την ταινία εισόδου, ανεξάρτητα από την κατάσταση στην οποία ευρίσκεσαι (σύμβαση: F = ). Αντίστοιχα ορίζουμε και την γλώσσα που αποδέχεται ένα PDA: 1. Γλώσσα που αποδέχεται σε τελική κατάσταση L f (M) 2. Γλώσσα που αποδέχεται με κενή στοίβα L e (M) Προκειμένου να γίνει αποδεκτή η L 1 = {ww R w (0+1) } χωρίς το σημάδι c στην μέση της συμβολοσειράς χρειαζόμαστε απαραιτήτως ένα μη ντετερμινιστικό PDA. Τα μη ντετερμινιστικά PDA είναι γνησίως πιο ισχυρά από τα ντετερμινιστικά. Τελικά ισχύει το παρακάτω θεώρημα: Θεώρημα Τα παρακάτω είναι ισοδύναμα για μία γλώσσα L: 1. L = L f (M 2 ), M 2 είναι PDA. 2. L = L e (M 1 ), M 1 είναι PDA. 3. Η L είναι γλώσσα χωρίς συμφραζόμενα (context free). Παραλείπεται η λεπτομερής απόδειξη. 8.4 Γενικές γραμματικές Τύπου 0: γενικές γραμματικές (generl or unrestricted grmmrs), semi-thue, phrse structure Παραγωγές: α β, με α ε Παράδειγμα L = { 2n n N} ACB CB E DB E E AE ε D D AD AC C C

11 8.5 Γραμματικές με συμφραζόμενα 129 Θεώρημα Τα ακόλουθα είναι ισοδύναμα: 1. η L γίνεται αποδεκτή από μία Turing μηχανή (βλέπε κεφάλαιο??, ενότητα??) 2. L = L(G), όπου G είναι γενική γραμματική Χωρίς απόδειξη. Μία τέτοια γλώσσα λέγεται και αναδρομικά αριθμήσιμη (recursively enumerble) βλέπε ορισμό 11.3 στην σελίδα Γραμματικές με συμφραζόμενα Τύπου 1: γραμματικές με συμφραζόμενα (context sensitive grmmrs, c.s.) Παραγωγές: α β, με α ε, α β (noncontrcting grmmr, non-decresing, not ε string) Η ονομασία context sensitive οφείλεται στην παρακάτω εναλλακτική περιγραφή αυτών των γραμματικών: Κάθε c.s. γραμματική μπορεί να τεθεί σε κανονική μορφή στην οποία όλοι κανόνες παραγωγής είναι της μορφής: α 1 Aα 2 context α 1 βα 2, Παράδειγμα n 0 n 1 n. C.s. γραμματική: 1Z1 Z 0 1Z0A A0 0A A1 11 όπου A: μη τερματικό και β ε Αλλα παραδείγματα τέτοιων γλωσσών: { n b n c n }, { i b j c k 0 i j k}, {ww w Σ }, 0 n 1 n 0 n 1 n. Γραμμικά φραγμένο αυτόματο (Linerly bounded utomton (LBA)): Είναι μία μη-ντετερμινιστική μηχανή Turing (T.M.) της οποίας η κεφαλή είναι περιορισμένη να κινείται μόνον στο τμήμα της ταινίας που περιέχει την είσοδο. Θεώρημα Τα ακόλουθα είναι ισοδύναμα (L χωρίς ε): 1. η L γίνεται αποδεκτή από LBA 2. η L είναι c.s. Χωρίς απόδειξη. Ένα ανοιχτό ερώτημα είναι το εξής: Είναι ισοδύναμη η ντετερμινιστική και η μη ντετερμινιστική εκδοχή του LBA;

12 130 Κεφάλαιο 8. Τυπικές Γραμματικές και Άλλα Αυτόματα 8.6 Διαδραστικό υλικό - Σύνδεσμοι Το JFLAP, που μπορείτε να βρείτε εδώ: είναι ένα πλήρες πακέτο για την προσομοίωση και υπολογισμό αυτομάτων και γραμματικών. Μπορεί να εκτελέσει όλους τους αλγόριθμους που αναφέρθηκαν στα Κεφάλαια 8 και 9, όπως μετατροπή NFA σε DFA, ελαχιστοποίηση DFA, μετατροπή DFA σε κανονική έκφραση/γραμματική κλπ. 8.7 Ασκήσεις 1. Έστω η γραμματική χωρίς συμφραζόμενα G = ({, A, B}, {, b}, P, ), με κανόνες παραγωγής P : ABA A bb B b ε Ποια γλώσσα αναγνωρίζει η γραμματική G; 2. Αποδείξτε ή ανταποδείξτε τις ιδιότητες κλειστότητας της κλάσης των γλωσσών με συμφραζόμενα (context-sensitive) ως προς ένωση, παράθεση, τομή και άστρο του Kleene. Τι συμπέρασμα προκύπτει για την πράξη του συμπληρώματος; 3. Βρείτε γραμματική χωρίς συμφραζόμενα που να υπολογίζει την γλώσσα L = {x {, b} x = x R } 4. Κατατάξτε τις παρακάτω γλώσσες στην Ιεραρχία Chomsky με όσο μεγαλύτερη ακρίβεια μπορείτε (με απόδειξη ή εξήγηση, όσο καλύτερα μπορείτε): (i) {0 k 1 k+1 0 k k N} (i) {0 3k+1 k N} (ii) { k b m c n k, m, n N, k < m n} (i) {w {, b} wπεριέχει 1101 } 5. Δείξτε ότι κάθε συμβολοσειρά στην γλώσσα L έχει περισσότερα από b, όπου L η γλώσσα που παράγεται από την γραμματική: b b b 6. Δώστε περιγραφή υψηλού επιπέδου (όσο καλύτερα μπορείτε) ενός LBA για τις παρακάτω γλώσσες: (i) L = { p : p είναι δύναμη του 2 }.

13 8.7 Ασκήσεις 131 (ii) L = { p : p είναι πρώτος αριθμός}. 7. Δείξτε ότι η γραμματική χωρίς συμφραζόμενα G που παράγεται από τους κανόνες: A A BA B b c είναι μη-διφορούμενη. 8. Κατατάξτε τις παρακάτω γλώσσες σε κλάσεις της Ιεραρχίας Chomsky (στην μικρότερη κλάση που ανήκουν) και αποδείξτε τον ισχυρισμό σας δίνοντας κατάλληλα αυτόματα και γραμματικές (όσο καλύτερα μπορείτε). Για όσες θεωρείτε ότι δεν είναι κανονικές, αποδείξτε το γεγονός αυτό με χρήση του Pumping Lemm. u {0, 1} }, όπου u R η ανάστροφη συμβολο- L 1 = {w {0, 1} w = u100u R, σειρά της u. L 2 = {w {0, 1} w παριστάνει δυαδικό αριθμό που είναι πολλαπλάσιο του 2 αλλά όχι του 4 } L 3 = {w {, b, c} w = k b m c l, k, m, l N, k < m < l} 9. Κατασκευάστε αυτόματο στοίβας (PDA) που να αποδέχεται την γλώσσα: L = { i b j 2i 3j} 10. Κατασκευάστε αυτόματο στοίβας (PDA) που να αποδέχεται την γλώσσα που παράγεται από την γραμματική G με κανόνες παραγωγής: ε b

14 .

15 Βιβλιογραφία [1] Mrtin D. Dvis, Ron igl, Eline J. Wyuker, Computbility, Complexity, nd Lnguges, 2nd edition, Acdemic Press Professionl, Inc. n Diego, CA, UA, [2] M. Hrrison. Introduction to witching nd Automt Theory, McGrw-Hill Book Compny, New York, [3] J.E. Hopcroft nd J.D. Ullmn. Introduction to Automt Theory, Lnguges nd Computtion, Addison Wesley Longmn, [4] D. C. Kozen. Automt nd Computbility (Undergrdute Texts in Computer cience), pringer-verlg New York, Inc. ecucus, NJ, UA, [5] Μ. ipser. Introduction to the Theory of Computtion, Interntionl Thomson Publishing,

16 .

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6 Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

Διαβάστε περισσότερα

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

Περιεχόμενα. 1 Υπολογισιμότητα. Ιστορία - Εισαγωγή. Μαθηματικό Υπόβαθρο. LOOP: Μια απλή γλώσσα προγραμματισμού Αυτόματα και Τυπικές Γλώσσες Περιεχόμενα 1 Υπολογισιμότητα Ιστορία - Εισαγωγή Μαθηματικό Υπόβαθρο LOOP: Μια απλή γλώσσα προγραμματισμού LOOP-υπολογίσιμες και πρωταρχικές αναδρομικές συναρτήσεις Σταθερά

Διαβάστε περισσότερα

Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις

Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις Κεφάλαιο 7 Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις 7.1 Εισαγωγή Στο κεφάλαιο αυτό θα ασχοληθούμε με τυπικές γλώσσες που μπορούν να περιγράψουν υπολογιστικά προβλήματα και επίσης χρησιμεύουν στον

Διαβάστε περισσότερα

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσ.h.m.μ.y. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές Στάθης Ζάχος Συνεργασία: Κωστής Σαγώνας Επιμέλεια:

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

Διαβάστε περισσότερα

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ 4η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/focs

Διαβάστε περισσότερα

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνοσεμφε 4η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Διδάσκοντες Θεωρία: Στάθης Ζάχος, Άρης Παγουρτζής Εργαστήριο: Δώρα Σούλιου Βοηθός διδασκαλίας:

Διαβάστε περισσότερα

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών Θεμελιώδη Θέματα Επιστήμης Υπολογιστών ΣΗΜΜΥ ΣΕΜΦΕ ΕΜΠ 1η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής 1 Μηχανές πεπερασμένων καταστάσεων (FSM) Τρόπος

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

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

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Φεβρουάριος 2017 Διδάσκων: Στάθης Ζάχος ( CoReLab

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 3η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει την ακόλουθη γλώσσα. { a n b n+2 c n 2 n 2 } Λύση: H ζητούμενη μηχανή Turing μπορεί να

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 8: Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε

Διαβάστε περισσότερα

Γλώσσες Χωρίς Συμφραζόμενα

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

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 7. Αυτόματα Στοίβας 9,13 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Γιατί τα πεπερασμένα αυτόματα δεν μπορούν να αναπαραστήσουν οποιαδήποτε κατηγορηματική γλώσσα?

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 1 η : Parsers Συντακτική Ανάλυση για ΓΧΣ Οι τεχνικές συντακτικής ανάλυσης κατηγοριοποιούνται με βάση διάφορα κριτήρια: Κατεύθυνση ανάλυσης μη τερματικών συμβόλων Σειρά επιλογής

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w#z w, z {a,b}* και η z είναι υπολέξη της w}. Συγκεκριμένα,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί); Μοντελοποίηση του Υπολογισµού Στοιχεία Θεωρίας Υπολογισµού (): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ποιές οι θεµελιώδεις δυνατότητες

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 1 /

Διαβάστε περισσότερα

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης. Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 1 η : Parsers Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Συντακτική Ανάλυση για ΓΧΣ Οι τεχνικές συντακτικής ανάλυσης κατηγοριοποιούνται

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { a 2n b n c 3n n 2 } : H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Σχεδιασμός Ασυμφραστικών Γραμματικών

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {1010 2 10 3 10 n 1 10 n 1 n 1}. (β) Να διατυπώσετε

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 7. Κατηγορηματικές Γραμματικές 27,2 Φεβρουαρίου, 9 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Κατηγορηματικές Γραμματικές Ή Γραμματικές Χωρίς Συμφραζόμενα Παράδειγμα.

Διαβάστε περισσότερα

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

Ασκήσεις από παλιές εξετάσεις Άσκηση 2 - Τελική εξέταση 2012 Ασκήσεις από παλιές εξετάσεις (α) [10 μονάδες] Να μετατρέψετε το πιο κάτω NFA σε ένα ισοδύναμο DFA χρησιμοποιώντας την κατασκευή που μελετήσαμε στο μάθημα. a a q 0 a, ε q

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { ww rev w {a, b} * και w αποτελεί καρκινική λέξη } (α) H ζητούμενη μηχανή

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Σάββατο, 15 Μαρτίου 2014 Διάρκεια : 9.30 11.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:

Διαβάστε περισσότερα

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

Φροντιστήριο 9 Λύσεις Άσκηση 1 Φροντιστήριο 9 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {a,b} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { n 3 } (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q,

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 14: Γραμματικές Χωρίς Συμφραζόμενα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

CSC 314: Switching Theory

CSC 314: Switching Theory CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2

Διαβάστε περισσότερα

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

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216 Κεφάλαιο 2: Τυπικές γλώσσες Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 13 / 216 Τυπικές γλώσσες (i) Βασικές έννοιες Αλφάβητο Σύμβολο Συμβολοσειρά Μήκος συμβολοσειράς Σύνολο συμβολοσειρών

Διαβάστε περισσότερα

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

Φροντιστήριο 10 Λύσεις Άσκηση 1 Φροντιστήριο 10 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {0,1} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Πιο κάτω υπάρχει ένα σχεδιάγραμμα που τοποθετεί τις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών μέσα στο σύνολο όλων των γλωσσών. Ακολουθούν

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 25: Γραμματικές Χωρίς Περιορισμούς Τμήμα Πληροφορικής ΘΥ 25: Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1. Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα 2): Αυτόµατα Στοίβας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Μη Κανονικές Γλώσσες Το Λήµµα της Αντλησης για τις

Διαβάστε περισσότερα

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

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή. Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 10: Αυτόματα Στοίβας II Τι θα κάνουμε σήμερα Ισοδυναμία αυτομάτων στοίβας με ασυμφραστικές γραμματικές (2.2.3) 1 Ισοδυναμία PDA με CFG Θεώρημα: Μια

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Κυριακή, 15 Μαρτίου 2015 Διάρκεια : 15.00 17.00 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:

Διαβάστε περισσότερα

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

Αλγόριθμοι για αυτόματα Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε

Διαβάστε περισσότερα

HEAD INPUT. q0 q1 CONTROL UNIT

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

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 1: Εισαγωγή Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { R η R είναι μια κανονική έκφραση η οποία παράγει μια μη πεπερασμένη γλώσσα} (β) { G η G είναι μια CFG η οποία

Διαβάστε περισσότερα

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

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - ΕΜΠ Φεβρουάριος 2017 Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA)

Διαβάστε περισσότερα

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

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - ΕΜΠ Φεβρουάριος 2017 Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA)

Διαβάστε περισσότερα

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

Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις Μοντελοποίηση Υπολογισμού Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις Προβλήματα - Υπολογιστές Δεδομένου ενός προβλήματος υπάρχουν 2 σημαντικά ερωτήματα: Μπορεί να επιλυθεί με χρήση υπολογιστή;

Διαβάστε περισσότερα

Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι. Εαρινό Εξάμηνο Lec 05 & & 26 /02/2019 Διδάσκων: Γεώργιος Χρ.

Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι. Εαρινό Εξάμηνο Lec 05 & & 26 /02/2019 Διδάσκων: Γεώργιος Χρ. Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι Εαρινό Εξάμηνο 2018-2019 Lec 05 & 06 25 & 26 /02/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Φάσεις μεταγλώττισης Αρχικό Πρόγραμμα Λεκτική Ανάλυση λεκτικές μονάδες

Διαβάστε περισσότερα

Υπολογίσιμες Συναρτήσεις

Υπολογίσιμες Συναρτήσεις Υπολογίσιμες Συναρτήσεις Σ Π Υ Ρ Ι Δ Ω Ν Τ Ζ Ι Μ Α Σ Δ Τ Ο Μ Ε Α Σ Τ Μ Η Μ Α Μ Α Θ Η Μ Α Τ Ι Κ Ω Ν Σ Χ Ο Λ Η Θ Ε Τ Ι Κ Ω Ν Ε Π Ι Σ Τ Η Μ Ω Ν Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Ι Ω Α Ν Ν Ι Ν Ω Ν Υπολογίσιμες Συναρτήσεις

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού Αλφάβητα, Γλώσσες, Κανονικές Εκφράσεις 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 6 : Αλφάβητα, Γλώσσες, Κανονικές Εκφράσεις Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο Τμήμα Μηχανικών

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαγνώσιμες Γλώσσες (4.1) Επιλύσιμα Προβλήματα σχετικά με Κανονικές Γλώσσες Επιλύσιμα Προβλήματα

Διαβάστε περισσότερα

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

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα Κανονικές Γλώσσες Κανονικές Γλώσσες Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Κανονική γλώσσα αν παράγεται από κανονική γραμματική. Παραγωγές P (V Σ) Σ * ((V Σ) ε) Παραγωγές μορφής:

Διαβάστε περισσότερα

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

Μηχανές Turing (T.M) I Μηχανές Turing (T.M) I Οι βασικές λειτουργίες μιας TM είναι: Διάβασε το περιεχόμενο του τρέχοντος κυττάρου Γράψε 1 ή 0 στο τρέχον κύτταρο Κάνε τρέχον το αμέσως αριστερότερο ή το αμέσως δεξιότερο κύτταρο

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μηχανές Turing (3.1) Τυπικό Ορισμός Παραδείγματα Παραλλαγές Μηχανών Turing (3.2) Πολυταινιακές

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες

Διαβάστε περισσότερα

Περιεχόμενα Τι περιγράφει ένα ΣΔ ΣΔ και παραγωγές Θεωρία Υπολογισμού Ενότητα 15: Συντακτικά Δέντρα Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Π.

Περιεχόμενα Τι περιγράφει ένα ΣΔ ΣΔ και παραγωγές Θεωρία Υπολογισμού Ενότητα 15: Συντακτικά Δέντρα Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Π. Θεωρία Υπολογισμού νότητα 15: Συντακτικά Δέντρα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 21η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: «Artificial Intelligence A Modern Approach» των. Russel

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 12: Μηχανές Turing Τι θα κάνουμε σήμερα Εισαγωγή στις Μηχανές Turing (TM) Τυπικός Ορισμός Μηχανής Turing (3.1.1) 1 Τι είδαμε μέχρι στιγμής Πεπερασμένα

Διαβάστε περισσότερα

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

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων 771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 4 ο ιδάσκων: Α. Ντελόπουλος Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και

Διαβάστε περισσότερα

aab aabb aaabb aaaabb aaaabb aaaabb

aab aabb aaabb aaaabb aaaabb aaaabb Κεφάλαιο 4 Γλώσσες & Γραμματικές Χωρίς Συμφραζόμενα Σύνοψη Η κλάση των Γλωσσών Χωρίς Συμφραζόμενα (ΓΧΣ) είναι εκφραστικά αρκετά ισχυρή, ώστε να επιτρέπει την περιγραφή γλωσσών, όπως οι γλώσσες προγραμματισμού,

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a k b m c n k < m ή m > 2n, όπου k,m,n 0 } Μια γραμματική για τη γλώσσα έχει ως εξής:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a i b j c k d m i, j, k, m 0 και i + j = k + m } (β) { uxvx rev u,v,x {0,1,2} + και όλα

Διαβάστε περισσότερα

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος. Σύνοψη Προηγούµενου Κανονικές Γλώσσες () ιαδικαστικά του Μαθήµατος. Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Εισαγωγή: Υπολογισιµότητα και Πολυπλοκότητα. Βασικές

Διαβάστε περισσότερα

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

771 Η - Θεωρία Υπολογισμών και Αλγορίθμων 771 Η - Θεωρία Υπολογισμών και Αλγορίθμων Σημειώσεις Μέρος 3 ο Διδάσκων: Το παρόν αποτελεί σημειώσεις που αντιστοιχούν σε μέρος των διαλέξεων για το μάθημα 771 Η - Θεωρία Υπολογισμών και Αλγορίθμων του

Διαβάστε περισσότερα

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

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - ΕΜΠ Απρίλιος 2019 Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA)

Διαβάστε περισσότερα

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι Εαρινό Εξάμηνο 2018-2019 Lec 09 18 /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Φάσεις μεταγλώττισης Αρχικό Πρόγραμμα Λεκτική Ανάλυση λεκτικές μονάδες Πίνακας

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) {0 n 1 n n > 0} {0 n 1 2n n > 0} (β) {w {a,b} * η w ξεκινά και τελειώνει με το ίδιο σύμβολο

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 5: Μη κανονικές γλώσσες Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 8: Πεπερασμένα Αυτόματα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Τα Θεμέλια της Πληροφορικής

Τα Θεμέλια της Πληροφορικής Τα Θεμέλια της Πληροφορικής Στάθης Ζάχος Άρης Παγουρτζής . Περιεχόμενα Περιεχόμενα i 1 Εισαγωγή 1 1.1 Κλάδοι Επιστήμης των Υπολογιστών............... 2 1.2 Επανάληψη, επαγωγή, αναδρομή..................

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { x x η τιμή της αριθμητικής έκφρασης 10 2n + 10 n + 1, n 1} (β) { a i b j c k d m i, j,

Διαβάστε περισσότερα

Κεφάλαιο 2: Τυπικές γλώσσες

Κεφάλαιο 2: Τυπικές γλώσσες Κεφάλαιο 2: Τυπικές γλώσσες (μέρος 2ο) Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 47 / 216 Γλώσσες χωρίς συμφραζόμενα (i) Γραμματικές χωρίς συμφραζόμενα: Σε κάθε παραγωγή ένα μη τερματικό

Διαβάστε περισσότερα

Γλώσσες Χωρίς Συμφραζόμενα

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

Διαβάστε περισσότερα

Θεωρία Υπολογισμού. Ενότητα 5 : Λογικά Επιχειρήματα, Αλφάβητα & Γλώσσες (2/2) Αλέξανδρος Τζάλλας

Θεωρία Υπολογισμού. Ενότητα 5 : Λογικά Επιχειρήματα, Αλφάβητα & Γλώσσες (2/2) Αλέξανδρος Τζάλλας 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 5 : Λογικά Επιχειρήματα, Αλφάβητα & Γλώσσες (2/2) Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα Τμήμα Μηχανικών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα (2) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Αυτόµατα Στοίβας Pushdown utomata Ισοδυναµία µε τις Γλώσσες χωρίς Συµφραζόµενα:

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα) ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα) Τι θα κάνουμε σήμερα Εισαγωγή Επιλύσιμα Προβλήματα σχετικά με τις Κανονικές Γλώσσες (4.1.1) Επιλύσιμα Προβλήματα

Διαβάστε περισσότερα

Απάντηση: (func endfunc)-([a-za-z])+

Απάντηση: (func endfunc)-([a-za-z])+ Γλώσσες Προγραμματισμού Μεταγλωττιστές Ασκήσεις Επανάληψης ) Περιγράψτε τις κανονικές εκφράσεις που υποστηρίζουν (i) συμβολοσειρές που ξεκινούν με το πρόθεμα "func" ή "endfunc" ακολουθούμενο το σύμβολο

Διαβάστε περισσότερα

Context free γραμματικές και γλώσσες

Context free γραμματικές και γλώσσες Κεφάλαιο 9 Context free γραμματικές και γλώσσες Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 9.1 Ένας τρόπος περιγραφής απλών αριθμητικών εκφράσεων Ας υποθέσουμε

Διαβάστε περισσότερα