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

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

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

Transcript

1 Κεφάλαιο 7 Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις 7.1 Εισαγωγή Στο κεφάλαιο αυτό θα ασχοληθούμε με τυπικές γλώσσες που μπορούν να περιγράψουν υπολογιστικά προβλήματα και επίσης χρησιμεύουν στον προγραμματισμό. Επίσης θα επιδιώξουμε να ταξινομήσουμε γλώσσες ανάλογα με το είδος του αυτομάτου (αφηρημένης υπολογιστικής συσκευής) που μπορεί να τις αναγνωρίσει. Ένα αυτόματο έχει μερικές εσωτερικές καταστάσεις: q 0, q 1, q 16, q 23,... και μία συνάρτηση δ που καθορίζει την επόμενη κατάσταση του αυτομάτου. Στις πιο απλές συσκευές, που ονομάζονται μηχανισμοί, η συνάρτηση μετάβασης (trnsition function) δ έχει ως όρισμα μία κατάσταση q i και ως τιμή μια άλλη κατάσταση q j. Δεν υπάρχει δηλαδή είσοδος και έξοδος. Υπολογιστική ακολουθία σε αυτήν την περίπτωση είναι μια ακολουθία από καταστάσεις: q i q j q k q l Αν επιπλέον η συσκευή διαβάζει μια συμβολοσειρά εισόδου, σύμβολο προς σύμβολο, από αριστερά προς τα δεξιά και ανάλογα αλλάζει καταστάσεις, τότε ονομάζεται αναγνωριστής πεπερασμένων καταστάσεων (FSA: finite stte cceptor). Η συνάρτηση μετάβασης είναι της μορφής δ : (q i, ) q j, όπου α Σ και το Σ το αλφάβητο εισόδου. Στο τέλος το FSA αποδέχεται ή απορρίπτει την είσοδό του. Αν προσθέσουμε έξοδο σε ένα FSA, δηλαδή δ : (q i, ) (q j, ), όπου και το αλφάβητο εξόδου, τότε έχουμε τη λεγόμενη μηχανή πεπερασμένων καταστάσεων (FSM: finite stte mchine). Οι FSA και FSM εμφανίζονται συχνά ως χρήσιμα εργαλεία στο λογικό, ψηφιακό σχεδιασμό. Προσθέτοντας στο αυτόματό μας μνήμη υπό μορφή στοίβας (stck) έχουμε πολύ περισσότερες δυνατότητες: το αυτόματο ονομάζεται τότε αυτόματο στοίβας (PDA: push-down utomton). Αν αντί στοίβας έχουμε απεριόριστη δυνατότητα μνήμης υπό μορφή ταινίας, τότε 99

2 100 Κεφάλαιο 7. Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις έχουμε τη γνωστή μηχανή Turing (TM). Γραμμικά περιορισμένο αυτόματο (LBA: linerly ounded utomton) είναι μια μηχανή Turing που όμως μπορεί να χρησιμοποιήσει ταινία που το μήκος της είναι μια γραμμική συνάρτηση του μήκους της εισόδου. Τα διαφορετικά αυτά αυτόματα αναγνωρίζουν κλάσεις γλωσσών που όμως μπορούν να περιγραφούν και με άλλους τρόπους π.χ. με αλγεβρικό τρόπο, ή με τυπικές γραμματικές. Οι γλώσσες προγραμματισμού είναι προφανώς τυπικές γλώσσες (forml lnguges) που έχουν αυστηρό συντακτικό ορισμό. Οι τυπικές γλώσσες μπορούν να ταξινομηθούν ανάλογα με τις τυπικές γραμματικές που τις παράγουν. Στη θεωρία τυπικών γλωσσών οι πρωταρχικές έννοιες είναι τα σύμβολα (ως αντικείμενα) και η παράθεση (ως πράξη). Ένα αλφάβητο Σ είναι ένα πεπερασμένο σύνολο συμβόλων. Μια λέξη ή πρόταση ή συμβολοσειρά ή string είναι μια πεπερασμένου μήκους ακολουθία συμβόλων. Το μήκος του string w συμβολίζεται με w. Το κενό string συμβολίζεται με ε. Η παράθεση των strings x και y συμβολίζεται με xy. Αλλοι χρήσιμοι όροι είναι πρόθεμα (prefix), υποσυμβολοσειρά (sustring), υπακολουθία (susequence), κατάληξη (suffix), αντίστροφη (reversl), παλινδρομική ή καρκινική (plindrome). Ισχύουν xε = εx = x για όλα τα strings x και ε = 0. To string x k μπορεί να οριστεί με πρωταρχική αναδρομή: { x 0 = ε x k+1 = x k x Ορισμός 7.1. Αν Σ είναι ένα αλφάβητο τότε Σ είναι το σύνολο όλων των strings από το Σ. Μια γλώσσα L από το Σ δεν είναι παρά κάποιο υποσύνολο του Σ. Παραδείγματα (με αλφάβητο Σ = {, }): L 1 = {w Σ w αρχίζει με } L 2 = {w Σ w περιέχει ζυγό αριθμό από } L 3 = {w Σ w είναι παλινδρομική } 7.2 Ντετερμινιστικά πεπερασμένα αυτόματα Θα περιγράψουμε πρώτα τα ντετερμινιστικά πεπερασμένα αυτόματα (deterministic finite utomt - DFA). Ένα DFA είναι ένα αυτόματο που αναγνωρίζει (δηλαδή αποδέχεται ή απορρίπτει) συμβολοακολουθίες που εμφανίζονται στην ταινία εισόδου του. Η κεφαλή 1 του DFA βρίσκεται αρχικά στο αριστερότερο σημείο της εισόδου. Μετακινείται δε προς τα δεξιά κατά ένα σύμβολο σε κάθε βήμα μέχρι να σταματήσει στο τέλος της ταινίας εισόδου. Από σύμβαση, η αρχική κατάσταση (initil stte) ονομάζεται q 0, κάποιες από τις καταστάσεις αποδέχονται και ονομάζονται τελικές (ccepting, finl sttes), και οι υπόλοιπες καταστάσεις απορρίπτουν (rejecting, nonfinl sttes). Αν το DFA βρίσκεται σε μια κατάσταση που αποδέχεται αφότου η κεφαλή έχει διαβάσει όλη την συμβολοακολουθία είσοδου, λέμε ότι το DFA αποδέχεται την είσοδο. Η γλώσσα L, την οποία αναγνωρίζει ένα DFA, είναι το σύνολο των συμβολοακολουθιών που αποδέχεται. 1 ώς κεφαλή ορίζουμε εκείνο το στοιχείο της ταινίας εισόδου που βρίσκεται την παρούσα στιγμή υπό εξέταση

3 7.2 Ντετερμινιστικά πεπερασμένα αυτόματα 101 Ορισμός 7.2. Τυπικά ένα DFA είναι μία πεντάδα M = (Q, Σ, δ, q 0, F ), όπου: Q: ένα πεπερασμένο σύνολο από καταστάσεις, Σ: ένα αλφάβητο εισόδου (Σ Q = ), δ : Q Σ Q: η συνάρτηση μετάβασης, q 0 Q: η αρχική κατάσταση, F Q: το σύνολο των τελικών καταστάσεων. Ενα DFA μπορεί επίσης να περιγραφεί (όπως και μια TM) από ένα πίνακα καταστάσεων ή από ένα διάγραμμα καταστάσεων Στα παρακάτω παραδείγματα θεωρούμε αλφάβητο Σ = {, }. Παράδειγμα 7.1. L 1 = {w Σ w αρχίζει από } Διάγραμμα: q 0 q 1, q 2, Πίνακας: q 0 q 1 q 2 q 1 q 1 q 1 q 2 q 2 q 2 Χρησιμοποιούμε έναν επιπλέον κύκλο για να δείξουμε τις τελικές καταστάσεις. Παράδειγμα 7.2. L 2 = {w Σ w περιέχει άρτιο πλήθος από } q 0 q 1 q 0 q 1 q 0 q 1 q 0 q 1 Παράδειγμα 7.3. L 3 = {w Σ w παλίνδρομη αρτίου μήκους}, δηλαδή L 3 = {wwr w Σ, w R = αντίστροφη της w}. Δεν υπάρχει DFA που αποδέχεται την L 3. Για να συντομεύσουμε την περιγραφή της συμπεριφοράς του DFA, επεκτείνουμε την συνάρτηση δ ώστε να δέχεται ως όρισμα συμβολοακολουθίες αντί για απλά σύμβολα. Η δ επεκτείνεται λοιπόν ως εξής: Ορισμός 7.3. δ : Q Σ Q όπου { δ(q, ε) = q δ(q, w) = δ(δ(q, w), ) Ο πιο πάνω ορισμός είναι αναδρομικός, ή, πιο συγκεκριμένα, είναι ορισμός σύμφωνα με το σχήμα της πρωταρχικής αναδρομής.

4 102 Κεφάλαιο 7. Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις Ορισμός 7.4. Έχουμε: Ένα DFA αποδέχεται το string w Σ ανν δ(q 0, w) F Ένα DFA αποδέχεται τη γλώσσα L(M) = {w δ(q 0, w) F } Η γλώσσα L λέγεται κανονική (regulr) ανν FA M : L = L(M) Άσκηση: Δείξτε ότι δ(q, uv) = δ(δ(q, u), v), όπου u, v Σ. Υπάρχουν διάφορες γενικεύσεις και διαφοροποιήσεις ως προς τα DFA: NFA: μη ντετερμινιστικό πεπερασμένο αυτόματο. Σε κάθε μετάβαση υπάρχει επιλογή της επόμενης κατάστασης από ένα σύνολο πιθανών νομίμων καταστάσεων. NFA ε : μη ντετερμινιστικό πεπερασμένο αυτόματο με ε-κινήσεις. Το πεπερασμένο αυτόματο ενδέχεται να αλλάζει την κατάστασή του χωρίς να μετακινείται η κεφαλή στην ταινία εισόδου. 7.3 Μη ντετερμινιστικά πεπερασμένα αυτόματα Παράδειγμα 7.4. NFA για L 4 := {w Σ w περιέχει δύο συνεχόμενα }, q 0 q 1 q 2, q 0 {q 0, q 1 } {q 0 } q 1 {q 2 } q 2 {q 2 } {q 2 } Ένας υπολογισμός σε ένα NFA δεν είναι απλώς μία γραμμική (νόμιμη) ακολουθία καταστάσεων, αλλά ένα υπολογιστικό δένδρο (κάθε κλάδος είναι μία νόμιμη ακολουθία καταστάσεων). Το δένδρο υπολογισμού για το παραπάνω παράδειγμα για είσοδο : q 0 q 0 q 1 q 0 q 0 q 0 q 1 q 1 q 2 q 0 q 1 q 2 q 2 q 2 q 2

5 7.3 Μη ντετερμινιστικά πεπερασμένα αυτόματα 103 Η συμβολοσειρά γίνεται αποδεκτή, επειδή υπάρχει τουλάχιστον ένα νόμιμο μονοπάτι που την αποδέχεται. Στα μη ντετερμινιστικά αυτόματα, για κάθε είσοδο και κατάσταση, μπορεί να υπάρχει καμμία, μία ή πολλές πιθανές επόμενες καταστάσεις. Αυτό εκφράζεται στον ορισμό ενός NFA από το γεγονός ότι η συνάρτηση μετάβασης δ έχει ως πεδίο τιμών το δυναμοσύνολο του Q (Pow(Q)). Ένα NFA λοιπόν αποτελείται από μια πεντάδα M = (Q, Σ, δ, q 0, F ), όπου: Q: ένα πεπερασμένο σύνολο από καταστάσεις, Σ: ένα πεπερασμένο αλφάβητο εισόδου, δ : Q Σ Pow(Q): η συνάρτηση μετάβασης q 0 Q: η αρχική κατάσταση και F Q: το σύνολο των τελικών καταστάσεων. Όπως και πριν, επεκτείνουμε την συνάρτηση μετάβασης δ για να συμπεριλάβουμε στο πεδίου ορισμού της τις συμβολοακολουθίες. Η επεκτεταμένη συνάρτηση μετάβασης δ(q, w) θα περιέχει το σύνολο όλων των καταστάσεων που μπορούμε να φτάσουμε από το q με είσοδο το w. Ορισμός 7.5. δ : Q Σ Pow(Q) όπου { δ(q, ε) = {q} δ(q, w) = {p δ(r, ) r δ(q, w)} = r δ(q,w) δ(r, ) Επεκτείνουμε περαιτέρω την δ, συμπεριλαμβάνοντας στο πεδίο ορισμού το δυναμοσύνολο του Q. H δ(p, w) θα περιέχει όλες τις καταστάσεις που μπορούμε να φτάσουμε από οποιαδήποτε κατάσταση στο P με είσοδο w. Ορισμός 7.6. δ : Pow(Q) Σ Pow(Q) όπου δ(p, w) = {p δ(q, w) q P } = δ(q, w) Παρατήρηση 7.1. Ισχύει δ(q, w) = δ(δ(q, w), ) Παρατήρηση 7.2. Ισχύει δ(p, w) = δ(δ(p, w), ) q P Ορισμός 7.7. Έχουμε: Ένα NFA αποδέχεται το string w Σ ανν δ(q 0, w) F Ένα NFA M αποδέχεται τη γλώσσα L(M) = {w δ(q 0, w) F }

6 104 Κεφάλαιο 7. Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις Ισοδυναμία DFA και NFA. Όπως φαίνεται από τον ορισμό της δ ενός NFA, ένα DFA είναι μια υποπερίπτωση ενός NFA. Παρ όλα αυτά, τα ΝFA δεν μας παρέχουν περισσότερες δυνατότητες υπολογισμού από ότι τα DFA. Αυτό αποδεικνύει το παρακάτω θεώρημα: Θεώρημα 7.5. (Rin - Scott) Έστω M ένα NFA. Τότε DFA M : L(M) = L(M ) Απόδειξη. Ορίζουμε το DFA M = (Q, Σ, q 0, F, δ ) όπου Q = Pow(Q), Σ = Σ, q 0 = {q 0}, F = {R Q R F } = δ (R, ) = δ(r, ), όπου R Q. R F (R Q ) και τέλος Μένει να αποδειχθεί ότι L(M) = L(M ) με την βοήθεια του ισχυρισμού: δ (q 0, w) = δ(q 0, w). (Αφήνεται ως άσκηση χρησιμοποιήστε επαγωγή.) Παράδειγμα 7.6., q 0 q 1 q 2, To DFA φαίνεται στο παράδειγμα 7.9. {q 0 } {q 0, q 1 } {q 0 } {q 1 } {q 2 } {q 2 } {q 2 } {q 2 } {q 0, q 1 } {q 0, q 1, q 2 } {q 0 } {q 0, q 2 } {q 0, q 1, q 2 } {q 0, q 2 } {q 1, q 2 } {q 2 } {q 2 } {q 0, q 1, q 2 } {q 0, q 1, q 2 } {q 0, q 2 } Μη ντετερμινιστικά αυτόματα με ε-κινήσεις - NFA ε Παράδειγμα 7.7. NFA ε για L 5 := { } = { n m n, m N} ε q 0 q 1 ε q 0 {q 0 } {q 1 } q 1 {q 1 }

7 7.3 Μη ντετερμινιστικά πεπερασμένα αυτόματα 105 Μπορούμε να γενικεύσουμε το μη ντετερμινιστικό αυτόματο που ορίσαμε ώστε να συμπεριλάβουμε στο πεδίο ορισμού της δ και το ε. Με άλλα λόγια, το αυτόματο μπορεί να αλλάζει κατάσταση χωρίς να διαβάζει κάποια είσοδο, με μια ε-κίνηση. Ένα NFA ε λοιπόν είναι μια πεντάδα M = (Q, Σ, δ, q 0, F ) όπου Q: ένα πεπερασμένο σύνολο από καταστάσεις, Σ: ένα πεπερασμένο αλφάβητο εισόδου, δ : Q (Σ {ε}) Pow(Q): η συνάρτηση μετάβασης q 0 Q: η αρχική κατάσταση και F Q: το σύνολο των τελικών καταστάσεων. Για την ανάλυσή μας, είναι χρήσιμο να ορίσουμε το ε-κλείσιμο μιας κατάστασης. Ορισμός 7.8. Ως ε-κλείσιμο: Q Pow(Q) ορίζουμε το ε-κλείσιμο(q) = {p τα p προσβάσιμα από το q μόνο με ε-κινήσεις} Παρατηρούμε ότι πάντα q ε-κλείσιμο(q). Επεκτείνουμε τον ορισμό αυτό: Ορισμός 7.9. Ως ε-κλείσιμο: Pow(Q) Pow(Q) ορίζουμε το ε-κλείσιμο(p ) = ε-κλείσιμο(q) q P Παρατηρούμε επιπλέον ότι ε-κλείσιμο(ε-κλείσιμο(p )) = ε-κλείσιμο(p ). H συνάρτηση μετάβασης δ μπορεί να επεκταθεί. Η επεκτεταμένη συνάρτηση μετάβασης δ(q, w) θα περιέχει το σύνολο όλων των καταστάσεων που μπορούμε να φτάσουμε από το q με είσοδο το w, καθώς και με οσεσδήποτε αρχικές, ενδιάμεσες και τελικές ε-κινήσεις. Ορισμός δ : Q Σ Pow(Q) όπου { δ(q, ε) = ε-κλείσιμο(q) δ(q, w) = ε-κλείσιμο({p δ(r, ) r δ(q, w)}) = ε-κλείσιμο( r δ(q,w) δ(r, )) Επιπλέον, επεκτείνουμε την δ, συμπεριλαμβάνοντας στο πεδίο ορισμού το δυναμοσύνολο του Q. Ορισμός δ : Pow(Q) Σ Pow(Q) όπου δ(p, w) = {p δ(q, w) q P } = Ορισμός Έχουμε: q P δ(q, w) Ένα NFA ε αποδέχεται τo string w Σ ανν δ(q 0, w) F Ένα NFA ε αποδέχεται τη γλώσσα L(M) = {w δ(q 0, w) F }

8 106 Κεφάλαιο 7. Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις Ισοδυναμία NFA και NFA ε. Και πάλι, μπορεί να θεωρήσει κανείς ότι τα NFA είναι μια υποπερίπτωση των NFA ε. Όμως, όπως και πριν, τα NFA ε δεν έχουν περισσότερες δυνατότητες υπολογισμού από τα NFA, όπως αποδεικνύει το επόμενο θεώρημα, και άρα και από τα DFA. Θεώρημα 7.8. Έστω M ένα NFA ε τότε NFA M : L(M) = L(M ) Απόδειξη. Ορίζουμε το NFA M = (Q, Σ, q 0, F, δ ) όπου { F F {q 0 }, αν ε-κλείσιμο(q 0 ) F = F, ειδάλλως, δ (q, ) = δ(q, ) Πλέον, προκειμένου να ισχύει L(M) = L(M ), αρκεί να αποδειχθεί ο ισχυρισμός: w Σ {ε}: δ (q 0, w) = δ(q 0, w). ( Ασκηση.) Ακολουθούν μερικά παραδείγματα με μη ντετερμινιστικά αυτόματα και ισοδύναμά τους ντετερμινιστικά αυτόματα. Παράδειγμα 7.9. DFA για L 4 (βλ. παραδ. 7.4): q 0 q 0 q 1 q 0 q 1 q 2 q 0 q 2 Ελάχιστο DFA για L 4 : q 0 p 1 p 2, Παράδειγμα NFA ε για L 4 (δηλαδή όχι δύο συνεχόμενα ): ε, q 0 q 1 DFA για L 4 : q 0 q 1 q 1 j, Παράδειγμα NFA για L 5 (βλ. παράδ. 7.7): q 0 q 1 Ελάχιστο DFA για L 5 : q 0 q 1 q 1 j,, 7.4 Κανονικές παραστάσεις Παρακάτω, ορίζουμε κάποιες πράξεις επί των γλωσσών. Ορισμός Έστω L, L 1, L 2 γλώσσες επί του ίδιου αλφαβήτου Σ.

9 7.4 Κανονικές παραστάσεις 107 L 1 L 2 := {uv u L 1 v L 2 }: παράθεση L 1 L 2 := {w w L 1 w L 2 }: ένωση L 1 L 2 := {w w L 1 w L 2 }: τομή L 0 := {ε}, L n+1 := LL n L := n=0 Ln : άστρο του Kleene L + := n=1 Ln Τώρα πλέον μπορούμε να εισάγουμε επαγωγικά έναν συμβολισμό για τις κανονικές γλώσσες, τις λεγόμενες κανονικές παραστάσεις. Ορισμός Κανονική παράσταση είναι: : παριστάνει το κενό σύνολο ε: παριστάνει το {ε} : παριστάνει το {}, όπου Σ (r + s): παριστάνει το R S, όπου r, s κανονικές παραστάσεις που παριστάνουν τα R, S αντιστοίχως (rs): παριστάνει το RS, όπου r, s κανονικές παραστάσεις που παριστάνουν τα R, S αντιστοίχως (r ): παριστάνει το R, όπου r κανονική παράσταση που παριστάνει το R. Σύμβαση: Μπορούμε να περιορίσουμε τις παρενθέσεις αν χρησιμοποιήσουμε την ακόλουθη προτεραιότητα των τελεστών:, παράθεση, ένωση. Παράδειγμα L 1 = ( + ) L 2 = ( ) = ( + ) L 3 δεν είναι δυνατόν να παρασταθεί με κανονική παράσταση L 4 = ( + ) ( + ) (τουλάχιστον δύο συνεχόμενα ) L 4 = ( + ε)( + ) (όχι συνεχόμενα ) L 5 = Θεώρημα Μία γλώσσα μπορεί να παρασταθεί με κανονική παράσταση ανν L = L(M) για κάποιο πεπερασμένο αυτόματο M. Ιδέα απόδειξης.

10 108 Κεφάλαιο 7. Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις Επαγωγή στην δομή της κανονικής παράστασης. Έστω r η κανονική παράσταση. 1. Επαγωγική Βάση: r = ε: q 0, r = : q 0 q f, r = Σ: q 0 q f 2. Επαγωγικό Βήμα: Υποθέτουμε ότι οι L(r 1 ) και L(r 2 ) αναγνωρίζονται από NFA ε M 1, M 2 αντιστοίχως με τελική κατάσταση f 1, f 2 αντιστοίχως. Περίπτωση α: r = r 1 + r 2 ε q 1 0 M 1 f 1 ε q 0 f L(M) = L(M 1 ) L(M 2 ) ε q 2 0 M 2 f 2 ε Περίπτωση β: r = r 1 r 2 q0 1 ε M 1 f 1 q0 2 M 2 f 2 L(M) = L(M 1 )L(M 2 ) Περίπτωση γ: r = r 1 ε ε q 0 q0 1 ε M 1 f 1 f L(M) = L(M 1 ) ε Θεωρούμε ότι το DFA είναι της μορφής = (Q, Σ, δ, q 1, F ), όπου τα στοιχεία του Q είναι αριθμημένα κατά αύξουσα σειρά και η αρχική κατάσταση είναι η q 1, δηλαδή Q = {q 1,..., q n }, όπου n = Q. Ορίζουμε: R k ij = {w δ(q i, w) = q j και x πρόθεμα του w με x w, ε: δ(q i, x) = q l l k} Δηλαδή, Rij k είναι το σύνολο των συμβολοακολουθιών που οδηγούν από την κατάσταση q i στην q j χωρίς να περνούν από οποιαδήποτε κατάσταση με δείκτη μεγαλύτερο από k. Προφανώς, αφού δεν υπάρχει κατάσταση με δείκτη μεγαλύτερο από n, το Rij n περιέχει όλες τις συμβολοακολουθίες από την q i στην q j. Μπορούμε να υπολογίσουμε το Rij k αναδρομικά, σύμφωνα με μια ιδέα των Floyd και Wrshll, ως εξής:

11 7.4 Κανονικές παραστάσεις 109 Αλγόριθμος Floyd-Wrshll { Rij 0 { δ(q i, ) = q j }, = { δ(q i, ) = q j } {ε}, R k ij = R k 1 ik (Rk 1 kk ) R k 1 kj Τέλος, αρκεί να παρατηρήσουμε ότι L(M) = R k 1 ij q j F αν i j αν i = j R n 1j. Η ιδέα των Floyd και Wrshll είναι ότι το Rij k αποτελείται από συμβολοακολουθίες που οδηγούν από την κατάσταση q i στην q j είτε χωρίς να περνούν από την κατάσταση q k (οπότε περιέχονται και στο Rij k 1, είτε περνούν από την κατάσταση q k μία ή περισσότερες φορές (οι λεπτομέρειες της απόδειξης αφήνονται ως άσκηση.) Κατασκευή κανονικής παράστασης από FA Το 2ο σκέλος της πιο πάνω απόδειξης δίνει έναν πλήρη, συστηματικό, αλλά συχνά χρονοβόρο, τρόπο κατασκευής της κανονικής παράστασης που αντιστοιχεί σε ένα FA. Παρακάτω δίνεται ένας πιο γρήγορος τρόπος που βασίζεται στην έννοια του GNFA: γενικευμένο αυτόματο, του οποίου η συνάρτηση μετάβασης δέχεται και κανονικές παραστάσεις (στα βέλη του μπορούμε να γράφουμε κανονικές παραστάσεις αντί για σκέτα σύμβολα). Kατ αρχάς, θεωρούμε ότι το FA έχει μια αρχική και μια τελική κατάσταση, διαφορετικές μεταξύ τους. Αν υπάρχουν πάνω από μια τελικές καταστάσεις, προσθέτουμε μια νέα κατάσταση στην οποία βαίνουν όλες με ε-κινήσεις και στη συνέχεια τις κάνουμε μη τελικές. Αντίστοιχα μετατρέπουμε και την αρχική κατάσταση σε μη τελική, αν χρειάζεται. Φέρνοντας το FA μας σε αυτή τη μορφή, μπορούμε να απαλείψουμε μία μία τις ενδιάμεσες καταστάσεις σύμφωνα με το πιο κάτω σχήμα: r = 1 2 r 12 + r 13 r33 r 32 r 13 r 3 32 r 33 Με διαδοχικές απαλοιφές οδηγούμαστε τελικά στο επιθυμητό GNFA (γενικευμένο αυτόματο, του οποίου η συνάρτηση μετάβασης δέχεται και κανονικές παραστάσεις). Στη συνέχεια θα δώσουμε ένα παράδειγμα με όλα τα ενδιάμεσα βήματα υπολογισμού. Παράδειγμα Εστω πως έχουμε το ακόλουθο FA: q 0 q 1 q 2 q 3 Επιλέγουμε να διαγράψουμε τη κατάσταση q 2, οπότε ενημερώνουμε τις μεταβάσεις των άλλων

12 110 Κεφάλαιο 7. Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις καταστάσεων: q 0 q 1 q 3 Επιλέγουμε να διαγράψουμε τη κατάσταση q 3, οπότε ενημερώνουμε τα υπόλοιπα: q + 0 q 1 + Επιλέγουμε να διαγράψουμε τη κατάσταση q 0 : ( ) ( + ) q 1 + Τελικά, η κανονική έκφραση που προκύπτει είναι: ( ) ( + )( + ) 7.5 Ελαχιστοποίηση DFA Σε πολλές περιπτώσεις μπορούμε να μειώσουμε τον αριθμό καταστάσεων ενός DFA ως εξής: Δύο καταστάσεις μπορούν να συγχωνευτούν σε μία αν είναι και οι δύο τελικές ή και οι δύο μη τελικές και αν ξεκινώντας από οποιαδήποτε από αυτές το αυτόματο θα έχει το ίδιο αποτέλεσμα (ως προς την αποδοχή ή μη) για οποιαδήποτε συμβολοσειρά διαβαστεί στη συνέχεια. Για παράδειγμα, δύο καταστάσεις που απορρίπτουν και με κάθε σύμβολο πηγαίνουν στον εαυτό τους ( junk sttes) μπορούν να συγχωνευτούν σε μία. Πιο αυστηρά, οι καταστάσεις q i, q j μπορούν να συγχωνευτούν αν: w Σ : δ(q i, w) F δ(q j, w) F Προσέξτε ότι ο παραπάνω ορισμός περιλαμβάνει και την περίπτωση w = ε: αυτό ισοδυναμεί με την απαίτηση οι δύο καταστάσεις να είναι του ίδιου είδους ως προς την αποδοχή (δηλ. τελικές ή μη τελικές). Παρατηρήστε ακόμη ότι δεν έχει καμμία σημασία με ποιες συμβολοσειρές μπορεί το αυτόματο να φτάσει στις δύο καταστάσεις. Αυτό που έχει σημασία είναι τι κάνει από εκεί και μετά. Αποδεικνύεται (συνέπεια του Θεωρήματος Myhill-Nerode) ότι σε κάθε κανονικό σύνολο αντιστοιχεί ένα μοναδικό DFA (εκτός ισομορφισμού, δηλαδή εκτός μετονομασίας των καταστάσεων) με ελάχιστο αριθμό καταστάσεων και επιπλέον υπάρχει αλγόριθμος που κατασκευάζει το μοναδικό αυτό DFA. Ο αλγόριθμος αυτός βρίσκει συστηματικά όλα τα ζεύγη διακρίσιμων καταστάσεων όπως περιγράφεται παρακάτω:

13 7.5 Ελαχιστοποίηση DFA 111 Αλγόριθμος 7.1 Αλγόριθμος ελαχιστοποίησης DFA 1. Εξαλείφουμε όλες τις απρόσιτες καταστάσεις. 2. Φτιάχνουμε ένα πίνακα για να συγκρίνουμε κάθε ζεύγος καταστάσεων. Αρχικά σημειώνουμε X 0 σε όλα τα ζεύγη όπου η μία κατάσταση είναι τελική ενώ η άλλη δεν είναι. 3. Επαναλαμβάνουμε το παρακάτω για i := 1, 2,... μέχρι που σε κάποια επανάληψη να μην σημειωθεί κανένα νέο ζεύγος στον πίνακα: για κάθε ζεύγος q k, q j που δεν έχει ήδη σημειωθεί: για κάθε σύμβολο σ Σ: αν το ζεύγος (δ(q k, σ), δ(q j, σ)) είναι σημειωμένο με X i 1 τότε σημειώνουμε το ζεύγος (q k, q j ) με X i. 4. Ζεύγη που δεν έχουν σημειωθεί συγχωνεύονται. Αποδεικνύεται (η απόδειξη παραλείπεται) ότι ο παραπάνω αλγόριθμος δεν οδηγεί σε αντιφάσεις, δηλαδή αν τα ζεύγη (q k, q j ) και (q k, q m ) δεν έχουν σημειωθεί (είναι συγχωνεύσιμα) τότε ούτε το ζεύγος (q m, q j ) έχει σημειωθεί (επομένως και οι τρεις καταστάσεις συγχωνεύονται σε μία. Παράδειγμα Έστω το αυτόματο M που φαίνεται στο σχήμα, το οποίο αποδέχεται την γλώσσα L = d 1 f c 0 e 0, 1 0 Στον πίνακα οι δείκτες του X δείχνουν σε ποια επανάληψη εγγράφουμε το (οι δείκτες υποδηλώνουν επίσης με πόσα σύμβολα διακρίνονται οι καταστάσεις). c X 0 X 0 d X 0 X 0 e X 0 X 0 f X 1 X 1 X 0 X 0 X 0 c d e Τελικά οι ισοδύναμες καταστάσεις είναι, c d e. Το ελάχιστο αυτόματο φαίνεται στο παρακάτω σχήμα.

14 112 Κεφάλαιο 7. Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις 0 0 0, 1, 1 c, d, e 1 f Επεξηγήσεις για τον παραπάνω αλγόριθμος Ο παραπάνω αλγόριθμος βασίζεται στην εξής παρατήρηση: αν δύο καταστάσεις q i, q j διακρίνονται με k σύμβολα, δηλαδή υπάρχει συμβολοσειρά w μήκους k που τις οδηγεί σε διαφορετικό αποτέλεσμα, τότε αν δύο καταστάσεις έστω q m, q n οδηγούν με κάποιο σύμβολο στις q i, q j, τότε οι q m, q n διακρίνονται με k + 1 σύμβολα. Αυτό ισχύει και αντίστροφα, και επομένως αρκεί ο αλγόριθμος να εξετάζει ένα σύμβολο κάθε φορά: αν υπάρχουν δύο καταστάσεις που διακρίνονται με k + 1 σύμβολα, τότε υπάρχει ένα σύμβολο που τις οδηγεί σε k-διακρίσιμες καταστάσεις. 7.6 Pumping Lemm για κανονικά σύνολα Ένα σημαντικό αποτέλεσμα είναι το Pumping Lemm που χρησιμοποιείται κυρίως για να αποδεικνύουμε ότι συγκεκριμένες γλώσσες δεν είναι κανονικές αλλά και σε αλγορίθμους για να απαντάμε ερωτήσεις σχετικά με πεπερασμένα αυτόματα, όπως αν μια γλώσσα που γίνεται αποδεκτή από ένα πεπερασμένο αυτόματο είναι πεπερασμένη ή άπειρη. Pumping Lemm. Αν μία γλώσσα είναι κανονική τότε την αποδέχεται ένα DFA M = {Q, Σ, δ, q 0, F } με κάποιο συγκεκριμένο αριθμό από καταστάσεις, έστω n, δηλαδή Q = n. Έστω μία λέξη z που γίνεται αποδεκτή από το αυτόματο M και η οποία έχει μήκος μεγαλύτερο από n. Καθώς επεξεργαζόμαστε το z, το αυτόματο μας M πρέπει να περάσει ξανά από μία κατάσταση, γιατί δεν υπάρχουν περισσότερες από n καταστάσεις (αρχή του περιστερώνα, pigeonhole principle). Έχουμε ότι ένα μονοπάτι που αποδέχεται το z είναι το ακόλουθο: z = q 0... u q... v q... w q f q 0 q q f }{{}}{{} u }{{} w v Το uvw γίνεται αποδεκτό, όπως επίσης και το uw, ή το uvvw ή γενικά το uv i w για οποιοδήποτε i N. Δηλαδή το v μπορεί να επαναληφθεί όσες φορές θέλουμε. Λήμμα 7.16 (Pumping Lemm). Εάν L είναι regulr τότε: n N, z L με z n, u, v, w Σ : [z = uvw uv n v 1 i N (uv i w L)] Χρησιμοποιώντας το λήμμα δείχνουμε ότι ένα δοσμένο σύνολο δεν είναι regulr. Η μέθοδος είναι η ακόλουθη:

15 7.6 Pumping Lemm για κανονικά σύνολα Διαλέγεις τη γλώσσα που θέλεις να αποδείξεις πως δεν είναι regulr. 2. Ο αντίπαλος (PL) επιλέγει ένα n. Θα πρέπει να μπορείς για οποιοδήποτε πεπερασμένο ακέραιο n διαλέξει, να αποδείξεις ότι η L δεν είναι regulr, αλλά από τη στιγμή που ο αντίπαλος έχει διαλέξει ένα n αυτό είναι σταθερό στην απόδειξη. 3. Διαλέγεις ένα string z της L έτσι ώστε z n. 4. Ο αντίπαλος (PL) σπάει το z σε u, v και w που ικανοποιούν τους περιορισμούς uv n και v Φτάνεις σε αντίφαση δείχνοντας ότι για κάθε u, v, w που καθορίζονται από τον αντίπαλο, υπάρχει ένα i για το οποίο uv i w δεν ανήκει στην L. Τότε μπορούμε να συμπεράνουμε ότι η L δεν είναι regulr. Η επιλογή του i μπορεί να εξαρτάται από τα n, u, v, w. Παράδειγμα L = { k k k N} = {ε,,,,...} δεν είναι regulr. 1. Υποθέτουμε ότι L είναι regulr και χρησιμοποιούμε το Pumping lemm. 2. PL: n N 3. Διαλέγουμε z = n n. Εντάξει επιλογή, διότι z L, z = 2n n. 4. PL: z μπορεί να γραφεί: z = uvw με uv n v 1, οπότε αναγκαστικά v = l με l Διαλέγουμε i = 2: uvvw = n+l n L. Εναλλακτικά: Ατοπο 1. Υποθέτουμε πάλι ότι η L είναι regulr. 2. Συνεπώς, αναγνωρίζεται από ένα DFA M. Αυτό θα έχει κάποιον πεπερασμένο αριθμό καταστάσεων, έστω n. 3. Θέτουμε z = n n L. 4. Το DFA M αποδέχεται τη λέξη z. Καθώς τη διατρέχει, μέχρι να φτάσει στο n οστό, αναγκαστικά τουλάχιστον μία κατάστασή του επαναλαμβάνεται, έστω στο i οστό και στο j οστό, i < j. 5. Έστω l = j i. Τότε, για κάθε k 1, το DFA M θα αποδέχεται το string n+k l n. Το sustring k l θα αντιστοιχεί σε k επαναλήψεις της ίδιας κυκλικής ακολουθίας καταστάσεων του M. Ατοπο

16 114 Κεφάλαιο 7. Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις 7.7 Διαδραστικό υλικό - Σύνδεσμοι Στην σελίδα μπορείτε να βρείτε έναν online προσομοιωτή αυτομάτων. Επίσης, έναν παρόμοιο προσομοιωτή για μια πολύ ενδιαφέρουσα κατηγορία αυτομάτων, τα κυψελωτά αυτόματα (Cellulr Automt) μπορείτε να βρείτε στην σελίδα: Διαφάνειες από το μάθημα Introduction to Automt Theory, Lnguges, nd Computtion του Jeff Ullmn. Το βιβλίο των Al Aho και Jeff Ullmn Foundtions of Computer Science (διαθέσιμο ηλεκτρονικά). Παραδείγματα απλών αυτομάτων βρίσκονται εδώ (διαφάνειες 3-8). 7.8 Ασκήσεις 1. Κατασκευάστε DFA που να αποδέχεται την γλώσσα όλων των δυαδικών συμβολοσειρών που το τρίτο από δεξιά ψηφίο τους είναι 0. Δείξτε ότι το αυτόματό σας είναι ελάχιστο ή κατασκευάστε ένα ελάχιστο. 2. Δείξτε ότι δ(q, xy) = δ(δ(q, x), y) για κάθε x, y. 3. Κατασκευάστε DFA που να αναγνωρίζει όλες τις συμβολοσειρές από το αλφάβητο Σ = {, } που τελειώνουν σε ή ή. 4. Δώστε DFA που αποδέχονται τις ακόλουθες γλώσσες επί του αλφαβήτού {0, 1}: {w κάθε υποακολουθία από 5 διαδοχικά σύμβολα περιέχει τουλάχιστον δύο «0»} {w w : δυαδική αναπαράσταση φυσικού αριθμού w, w αρχίζει με 1, w 0 (mod 5) } {w το 3ο σύμβολο πριν το τελευταίο της συμβολοσειράς είναι «1»} {w w διαιρείται από το 2 ή το 3 ή από αμφότερα} {w {1, 2, 3} άθροισμα ψηφίων της w είναι 0 (mod 4)} 5. Για τις ακόλουθες κανονικές εκφράσεις, κατασκευάστε DFA που να αποδέχεται την ίδια γλώσσα: (α) ( + ) ( + ) (β) 0(0 + 1) 0 + 1(0 + 1) 1 6. Δώστε NFA για την {w {0, 1} υπάρχουν δύο «0» που χωρίζονται από μία συμβολοσειρά μήκους 4i για κάποιο i 0 }.

17 7.8 Ασκήσεις Κατασκευάστε DFA ισοδύναμα με τα NFA: (α) ({p, q, r, s}, {0, 1}, δ 1, p, {s}) δ p p, q p q r r r s s s s (β) ({p, q, r, s}, {0, 1}, δ 2, p, {q, s}) δ p q, s q q r q, r r s p s p 8. Δώστε διάγραμμα καταστάσεων για DFA που αποδέχεται την γλώσσα { } L = w {, } ακολουθείται αμέσως από ένα κάθε και έπεται αμέσως ενός Για παράδειγμα, L, L, αλλά / L. Το DFA σας δεν θα πρέπει να έχει πάνω από τέσσερις καταστάσεις. 9. Κατασκευάστε κανονικές εκφράσεις για κάθε μία από τις γλώσσες: (α) Σύνολο συμβολοσειρών του {, } των οποίων το πλήθος των δεν είναι πολλαπλάσιο του 3. (β) Σύνολο συμβολοσειρών του {, } που έχουν άρτιο πλήθος και τελειώνουν σε. (γ) Σύνολο συμβολοσειρών του {, } που δεν έχουν δύο συνεχόμενα. 10. Δύο κανονικές εκφράσεις ονομάζονται ισοδύναμες όταν παράγουν την ίδια γλώσσα. Χρησιμοποιούμε το σύμβολο της ισότητας για να δείξουμε την ισοδυναμία. Έστω r και s κανονικές εκφράσεις. Θεωρήστε την εξίσωση X = rx + s. Με την προϋπόθεση ότι η γλώσσα που παράγεται από την r, δηλαδή η L(r), δεν περιέχει την κενή συμβολοσειρά ε, βρείτε την λύση για το X και αποδείξτε ότι είναι μοναδική (εκτός ισοδυναμίας). Ποια είναι η λύση αν η L(r) περιέχει την ε; Υπόδειξη: Στην τελευταία περίπτωση η λύση δεν είναι μοναδική. Για παράδειγμα, αμφότερες οι X = 10 και X = (1 + 11)0, που αναπαριστούν διαφορετικές γλώσσες, είναι λύσεις της X = 1 + X Κατασκευάστε FA ισοδύναμα με: (α) 10 + (0 + 11)0 1 (β) 01[((10) + 111) + 0] 1 (γ) ((0 + 1)(0 + 1)) + ((0 + 1)(0 + 1)(0 + 1)) 12. Κατασκευάστε κανονική έκφραση για το: 13. Γράψτε κανονικές εκφράσεις για τις παρακάτω γλώσσες επί του {0, 1}. Δικαιολογήστε την ορθότητα των κανονικών σας εκφράσεων. C 1 A B

18 116 Κεφάλαιο 7. Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις (α) Το σύνολο των strings που δεν περιέχουν το 101 ως sustring. (β) Το σύνολο των strings με ίσο πλήθος εμφανίσεων «0» και «1», έτσι ώστε δεν υπάρχει πρόθεμα που να περιέχει δύο περισσότερα «0» από ότι «1», ούτε δύο περισσότερα «1» από ότι «0». 14. Δείξτε τις ακόλουθες ταυτότητες για κανονικές εκφράσεις. Εδώ r = s σημαίνει L(r) = L(s). r + s = s + r (r + s) + t = r + (s + t) (rs)t = r(st) r(s + t) = rs + rt (r + s)t = rt + st = ε, (r ) = r (ε + r) = r (r s ) = (r + s) 15. Ποια από τα παρακάτω σύνολα είναι κανονικά; Αποδείξτε! { 3k k N} σύνολο εξισορροπημένων παρενθέσεων { i j 1 i < j} {w η w περιέχει λιγότερα από } { i j j i, j 1} {w {1} w είναι πρώτος αριθμός} {uvw {, } η uv είναι παλίνδρομη αρτίου μήκους} {w {, } η w δεν έχει 4 συνεχόμενα } {uvw {, } η uw είναι παλίνδρομη αρτίου μήκους} {w {, } η w είναι παλίνδρομη} 16. Δείξτε ότι η γλώσσα {0 p p είναι πρώτος } δεν είναι κανονική.

19 Βιβλιογραφία [1] Mrtin D. Dvis, Ron Sigl, Eline J. Wyuker, Computility, Complexity, nd Lnguges, 2nd edition, Acdemic Press Professionl, Inc. Sn Diego, CA, USA, [2] M. Hrrison. Introduction to Switching 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 Computility (Undergrdute Texts in Computer Science), Springer-Verlg New York, Inc. Secucus, NJ, USA, [5] Μ. Sipser. Introduction to the Theory of Computtion, Interntionl Thomson Pulishing,

20 .

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

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

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

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

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

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

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

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

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τυπικές Γραμματικές και Άλλα Αυτόματα Κεφάλαιο 8 Τυπικές Γραμματικές και Άλλα Αυτόματα 8.1 Εισαγωγή Στο κεφάλαιο αυτό θα ασχοληθούμε με μη κανονικές γλώσσες και γραμματικές, καθώς και τα αντίστοιχα αυτόματα που τις αναγνωρίζουν. Πιο συγκεκριμένα

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 1 Λύσεις Σειρά Προβλημάτων Λύσεις Άσκηση Ορίζουμε τη συναρμογή δύο γλωσσών Α και Β ως ΑΒ = { uv u A, v B }. (α) Έστω Α = {α,β,γ} και Β =. Να περιγράψετε τη γλώσσα ΑΒ. (β) Θεωρήστε τις γλώσσες L, M και N. Να δείξετε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 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

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

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

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α. Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α. Δύο Π.Α. Μ 1 και Μ 2 είναι ισοδύναμα ανν L(M 1 ) = L(M 2 ). Έστω Μ = (Q, Σ, q 0, Δ, F) μη Αιτ. Π.Α. Για κάθε κατάσταση q Q, ορίζουμε ως Ε(q) Q το σύνολο των καταστάσεων

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

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

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

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

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

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

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

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

f(t) = (1 t)a + tb. f(n) = Παράρτημα Αʹ Αριθμήσιμα και υπεραριθμήσιμα σύνολα Αʹ1 Ισοπληθικά σύνολα Ορισμός Αʹ11 (ισοπληθικότητα) Εστω A, B δύο μη κενά σύνολα Τα A, B λέγονται ισοπληθικά αν υπάρχει μια συνάρτηση f : A B, η οποία

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

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

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k )) Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Να βρείτε το σφάλμα στην πιο κάτω απόδειξη. Ισχυρισμός: Όλα τα βιβλία που έχουν γραφτεί στη Θεωρία Υπολογισμού έχουν τον ίδιο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ. Μάθηµα 3.2: ηµήτρης Ψούνης ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ Μάθηµα 3.2: Ντετερµινιστικά Πεπερασµένα Αυτόµατα ηµήτρης Ψούνης 2 ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήµατος Β. Θεωρία 1. Πεπερασµένα Αυτόµατα 1. Λειτουργία και Παραδείγµατα

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων Μελετάμε εδώ τη συνθήκη της αύξουσας αλυσίδας υποπροτύπων και τη συνθήκη της φθίνουσας αλυσίδας υποπροτύπων Αυτές συνδέονται μεταξύ τους με την έννοια της συνθετικής σειράς

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

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

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

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

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

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 2: Μαθηματικό Υπόβαθρο Τι θα κάνουμε σήμερα Συναρτήσεις & Σχέσεις (0.2.3) Γράφοι (Γραφήματα) (0.2.4) Λέξεις και Γλώσσες (0.2.5) Αποδείξεις (0.3) 1

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

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

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

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

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι ΚΕΦΑΛΑΙΟ : Ημιαπλοί Δακτύλιοι Είδαμε στο κύριο θεώρημα του προηγούμενου κεφαλαίου ότι κάθε δακτύλιος διαίρεσης έχει την ιδιότητα κάθε πρότυπο είναι ευθύ άθροισμα απλών προτύπων Εδώ θα χαρακτηρίσουμε όλους

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

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

Παραλλαγές και επεκτάσεις αυτομάτων I Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP Παραλλαγές και επεκτάσεις αυτομάτων I Ορισμός Ένα two-way deterministic FA (2DFA) είναι μία πεντάδα M = (Q, Σ, δ, q 0, F), όπου τα Q, Σ, q 0 και F είναι όπως

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Θεωρείστε τις γλώσσες Α = { n n } και Β = {w η w είναι λέξη επί του αλφαβήτου {,} τ.ώ. w }. (α) Για κάθε μια από τις πιο κάτω γλώσσες

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

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

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

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

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

Μεταθέσεις και πίνακες μεταθέσεων

Μεταθέσεις και πίνακες μεταθέσεων Παράρτημα Α Μεταθέσεις και πίνακες μεταθέσεων Το παρόν παράρτημα βασίζεται στις σελίδες 671 8 του βιβλίου: Γ. Χ. Ψαλτάκης, Κβαντικά Συστήματα Πολλών Σωματιδίων (Πανεπιστημιακές Εκδόσεις Κρήτης, Ηράκλειο,

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

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

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

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

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

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

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

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

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

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

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

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

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

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης Σημειώσεις Λογικής I Εαρινό Εξάμηνο 2011-2012 Καθηγητής: Λ. Κυρούσης 2 Τελευταία ενημέρωση 28/3/2012, στις 01:37. Περιεχόμενα 1 Εισαγωγή 5 2 Προτασιακή Λογική 7 2.1 Αναδρομικοί Ορισμοί - Επαγωγικές Αποδείξεις...................

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 3 Λύσεις Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { xyw 1w 2 x, y {a, b}, w 1 = a n, w 2 = b 2n, όπου, αν x=y=a, τότε n = 2k, διαφορετικά

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

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

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

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

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

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

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

Αυτόματα και Υπολογιστικά Μοντέλα 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)

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μη Ασυμφραστικές Γλώσσες (2.3) Λήμμα Άντλησης για Ασυμφραστικές Γλώσσες Παραδείγματα

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

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

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 Κεφάλαιο 2 Κανονικές Γλώσσες & Πεπερασμένα Αυτόματα Σύνοψη Τα Πεπερασμένα Αυτόματα (ΠΑ) είναι το απλούστερο και το πιο ευρέως διαδεδομένο μοντέλο υπολογισμού από αυτά που θα εξετάσουμε. Είναι επίσης γνωστά

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