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

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

Download "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"

Transcript

1 Κεφάλαιο 2 Κανονικές Γλώσσες & Πεπερασμένα Αυτόματα Σύνοψη Τα Πεπερασμένα Αυτόματα (ΠΑ) είναι το απλούστερο και το πιο ευρέως διαδεδομένο μοντέλο υπολογισμού από αυτά που θα εξετάσουμε. Είναι επίσης γνωστά και ως Μηχανές Πεπερασμένων Καταστάσεων (Finite State Machines). Γενικά, τα ΠΑ είναι μηχανές αναγνώρισης όλων των συμβολοσειρών μιας γλώσσας, οι οποίες αντιπροσωπεύουν μία λύση σ ένα πρόβλημα. Οι γλώσσες που α- ναγνωρίζονται από ΠΑ ονομάζονται Κανονικές Γλώσσες (Regular Languages), επειδή οι συμβολοσειρές τους χαρακτηρίζονται από συγκεκριμένη δομή, που αντιστοιχεί στη δομή μιας μηχανής αυτού του τύπου. Θα περιγράψουμε επίσης μία εναλλακτική αναπαράσταση κανονικών γλωσσών, που δε συνιστά μία μηχανή αναγνώρισης, αλλά περιγράφει τον τρόπο που παράγονται οι συμβολοσειρές της κάθε γλώσσας. Αυτές είναι οι Κανονικές Εκφράσεις (Regular Expressions) στις οποίες θα αναφερόμαστε με τη συντόμευση ΚΕ. Οι ΚΕ είναι σήμερα βασικό εργαλείο αναζήτησης σε προγράμματα σύνταξης και επεξεργασίας κειμένου και σε περιβάλλοντα λειτουργικών συστημάτων. Από την άλλη, τα ΠΑ ορίζουν αλγορίθμους υλοποίησης απλών υπολογισμών, όπως η (μη) ταύτιση κειμένου με ένα πρότυπο συμβολοσειρών. Προαπαιτούμενη γνώση Για την κατανόηση του κεφαλαίου θα πρέπει ο αναγνώστης να έχει αφομοιώσει τις μαθηματικές έννοιες του Παραρτήματος I και τις βασικές έννοιες περί 51

2 52 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ συμβολοσειρών, γλωσσών, ντεντερμινισμού και μη ντεντερμινισμού από το Κεφάλαιο 1. Για καλύτερη εξοικείωση με τις αναπαραστάσεις γλωσσών και με τους αλγορίθμους μετασχηματισμού στους οποίους στηρίζονται τα θεμελιώδη θεωρήματα του κεφαλαίου, προτείνεται η διαδραστική προσομοίωση των εφαρμογών και των κριτηρίων αξιολόγησης με το ανοικτό λογισμικό JFLAP. Στο Παράρτημα II γίνεται μία εισαγωγή στη χρήση του λογισμικού JFLAP. 2.1 Ντεντερμινιστικά Πεπερασμένα Αυτόματα (ΝΠΑ) Ενα ΠΑ είναι μία μηχανή αναγνώρισης γλώσσας, που δέχεται ως είσοδο μία συμβολοσειρά και παράγει ως έξοδο μία από δύο πιθανές τιμές, την «αποδοχή» ή την «απόρριψη». Σ ένα ΠΑ M, οι χαρακτήρες της συμβολοσειράς εισάγονται ένας προς ένας διαβάζοντάς τους από τ αριστερά προς τα δεξιά. Κάθε φορά που η M «διαβάζει» ένα χαρακτήρα εξετάζει την τρέχουσα κατάσταση στην οποία βρίσκεται και με βάση αυτή επιλέγει τη νέα κατάσταση ανάλογα με το χαρακτήρα που διαβάστηκε. Κάποιες από τις καταστάσεις της M είναι εξορισμού καταστάσεις «αποδοχής». Η έξοδος της M είναι «αποδοχή», αν αυτή διαβάσει όλους τους χαρακτήρες της συμβολοσειράς και έχει προσεγγίσει μία κατάσταση αποδοχής. Αν όμως η M έχει ολοκληρώσει την ανάγνωση της εισόδου και δε βρίσκεται σε κατάσταση αποδοχής, τότε το αποτέλεσμα είναι «απόρριψη». Ο αριθμός των κινήσεων που εκτελεί η M με είσοδο τη συμβολοσειρά w είναι w και στη συνέχεια η M τερματίζει την εκτέλεσή της με αποτέλεσμα την «αποδοχή» ή την «απόρριψη» της w. Θα αναφερθούμε αρχικά σε ΠΑ που έχουν ντεντερμινιστική συμπεριφορά. Στις συγκεκριμένες μηχανές, για κάθε βήμα υπολογισμού υπάρχει μόνο μία πιθανή κίνηση σε νέα κατάσταση, που ορίζεται με βάση την τρέχουσα κατάσταση και το χαρακτήρα εισόδου. Στην επόμενη ενότητα θα αναφερθούμε σε Μη Ντεντερμινιστικά ΠΑ, που για κάθε βήμα υπολογισμού μπορεί να ορίζουν περισσότερες από μία πιθανές επόμενες καταστάσεις. Τυπικά, ένα Ντεντερμινιστικό Πεπερασμένο Αυτόματο ορίζεται ως εξής: Ορισμός 2.1 Ενα Ντεντερμινιστικό Πεπερασμένο Αυτόματο (ΝΠΑ) M ο- ρίζεται ως πεντάδα (K, Σ, δ, s, A) με: K να είναι ένα πεπερασμένο σύνολο καταστάσεων, Σ να είναι το αλφάβητο εισόδου, s K να είναι η αρχική κατάσταση,

3 2.1. ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ 53 A K να είναι το σύνολο των καταστάσεων αποδοχής και δ η συνάρτηση μετάβασης, που αντιστοιχίζει διατεταγμένα ζεύγη από το K Σ στο K. Μία διαμόρφωση του ΝΠΑ M είναι ένα στοιχείο του K Σ, που περιλαμβάνει την απαραίτητη πληροφορία για τον καθορισμό της μελλοντικής συμπεριφοράς της M, δηλαδή (α) την τρέχουσα κατάσταση και (β) το μέρος της συμβολοσειράς που απομένει να διαβαστεί. Η αρχική διαμόρφωση του ΝΠΑ M με είσοδο τη w είναι η (s, w). Η συνάρτηση μετάβασης δ ορίζει τη λειτουργία της M σ ένα βήμα υπολογισμού. Μέσω αυτής περιγράφεται η ακολουθία διαμορφώσεων από τις οποίες περνάει η εκτέλεση της M. Ορίζουμε τη σχέση «μεταβαίνει σ ένα βήμα» που γράφεται με το σύμβολο M ως εξής: για c 1, c 2 K Σ, c 1 M c 2 αν και μόνο αν η διαμόρφωση c 1 οδηγεί την M σ ένα βήμα στη c 2. Για οποιοδήποτε χαρακτήρα x Σ και οποιαδήποτε συμβολοσειρά w Σ έχουμε: (q 1, xw) M (q 2, w) ανν ((q 1, x), q 2 ) δ Ορίζουμε τη σχέση «μεταβαίνει», που γράφεται με το σύμβολο M, ως την ανακλαστική, μεταβατική κλειστότητα της σχέσης M : για c 1, c 2 K Σ, c 1 M c 2 αν και μόνο αν η διαμόρφωση c 1 οδηγεί την M σε μηδέν ή περισσότερα βήματα στη c 2. Ενας υπολογισμός από το ΝΠΑ M είναι μία πεπερασμένη ακολουθία διαμορφώσεων c 0, c 1,..., c n για κάποιο n 0 τέτοιο ώστε: c 0 είναι η αρχική διαμόρφωση, η c n είναι της μορφής (q, ɛ), για κάποια κατάσταση q K, που σημαίνει ότι έχουν διαβαστεί όλοι οι χαρακτήρες της συμβολοσειράς στην είσοδο και c 0 M c 1 M... M c n. Εστω w ένα στοιχείο του Σ. Τυπικά ορίζουμε ότι: η M αποδέχεται την w αν και μόνο αν (s, w) M (q, ɛ), για κάποια q A. Οποιαδήποτε διαμόρφωση q, ɛ, για κάποιο q A λέμε ότι είναι μία διαμόρφωση αποδοχής της M. η M απορρίπτει την w αν και μόνο αν (s, w) M (q, ɛ), για κάποια q A. Οποιαδήποτε διαμόρφωση q, ɛ, για κάποιο q A λέμε ότι είναι μία διαμόρφωση απόρριψης της M.

4 54 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Κάθε υπολογισμός της M τερματίζει όταν η μηχανή εισέρχεται σε μία διαμόρφωση αποδοχής ή απόρριψης και αυτό συμβαίνει μετά από την ανάγνωση του τελευταίου χαρακτήρα της συμβολοσειράς εισόδου. Συμβολίζουμε με L(M) τη γλώσσα που αποδέχεται η M, δηλαδή το σύνολο όλων των συμβολοσειρών, που γίνονται αποδεκτές από το ΝΠΑ. Παράδειγμα 2.1 (Αυτόματος πωλητής καφέ) Μία μηχανή αυτόματης πώλησης καφέ έχει τη δυνατότητα να πωλεί ένα ποτηράκι καφέ για Δέχεται μόνο κέρματα των 0.20, 0.10 και Κατά τον υπολογισμό του αν έχει εισαχθεί ένα επαρκές ποσό μπορεί η μηχανή να βρίσκεται σε μία από έξι πιθανές καταστάσεις, τις q 0, q 0.05, q 0.1, q 0.15, q 0.20 και q Τα ονόματα των καταστάσεων αντιστοιχούν στο άθροισμα της αξίας των κερμάτων, που έχουν ήδη εισαχθεί. Η μηχανή αλλάζει κατάσταση μετά από κάθε εισαγωγή ενός νέου κέρματος και η νέα κατάσταση στην οποία θα βρεθεί είναι συνάρτηση της αξίας του νέου κέρματος και του αθροίσματος της αξίας των κερμάτων, που έχουν εισαχθεί μέχρι εκείνη τη στιγμή. Η τελευταία πληροφορία αναπαριστάται επίσης από την τρέχουσα κατάσταση της μηχανής. Ο αυτόματος πωλητής δεν επιστρέφει ρέστα. Σ αυτό το παράδειγμα, η συμβολοσειρά εισόδου είναι η ακολουθία των κερμάτων, που εισάγονται, και το αλφάβητο αποτελείται από τρία σύμβολα, το κ, το δ και το π, που αντιστοιχούν σε κέρματα των είκοσι, δέκα και πέντε σεντς. Το ΝΠΑ για τον αυτόματο πωλητή καφέ, που περιγράψαμε, ορίζεται ως M = (K, Σ, δ, s, A), με χώρο καταστάσεων K = {q 0, q 0.05, q 0.1, q 0.15, q 0.20, q 0.25 }, αλφάβητο Σ = {κ, δ, π}, αρχική κατάσταση s = q 0 και καταστάσεις αποδοχής τις A = {q 0.25 }. Η συνάρτηση μετάβασης δ ορίζεται από τον πίνακα: q δ(q, κ) δ(q, δ) δ(q, π) q 0 q 0.2 q 0.1 q 0.05 q 0.1 q 0.25 q 0.2 q 0.15 q 0.15 q 0.25 q 0.25 q 0.2 q 0.25 q 0.25 q 0.25 q 0.25 q 0.05 q 0.25 q 0.15 q 0.1 q 0.2 q 0.25 q 0.25 q 0.25 Το ΝΠΑ M απεικονίζεται στο Σχήμα 2.1. Παράδειγμα 2.2 (Διαιρετότητα ακεραίου με το 3) Στο παράδειγμα αυτό παρουσιάζουμε ένα ΝΠΑ, που διαβάζει στην είσοδο τη

5 2.1. ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ 55 q 0.05 κ π π π δ q 0.15 κ, δ κ, δ, π q δ 0 q 0.1 κ q 0.25 δ π κ π, κ, δ q 0.2 Σχήμα 2.1: Το ΝΠΑ για έναν απλό αυτόματο πωλητή καφέ δυαδική αναπαράσταση ενός ακεραίου ξεκινώντας από το λιγότερο σημαντικό bit, δηλαδή από το δεξί άκρο της δυαδικής αναπαράστασης με κατεύθυνση προς τ αριστερό. Μετά από την ανάγνωση μιας τέτοιας συμβολοσειράς με αλφάβητο το {0, 1}, το ΝΠΑ του Σχήματος 2.2 αποφασίζει αν ο ακέραιος στην είσοδο διαιρείται με το 3 ή όχι. Ας δούμε τι συμβαίνει με τον ακέραιο 19 και τη δυαδική του αναπαράσταση Σ αυτή την περίπτωση, η είσοδος στο ΝΠΑ είναι η και διαβάζεται χαρακτήρα προς χαρακτήρα ξεκινώντας από την αρχική κατάσταση r 0. Μετά από την ανάγνωση του κάθε χαρακτήρα, ακολουθείται η αντίστοιχη εξερχόμενη μετάβαση από την τρέχουσα κατάσταση. Ετσι, ξεκινώντας από την r 0 ο υπολογισμός επισκέπτεται διαδοχικά τις r 1, r 0, r 0, r 0 και τελικά την r 1, που δεν είναι κατάσταση αποδοχής και άρα ο ακέραιος 19 δε διαιρείται με το 3, αφού η δυαδική του αναπαράσταση απορρίπτεται. Από την άλλη μεριά, το 93 διαιρείται με το 3 και αυτό επιβεβαιώνεται διοχετεύοντας στην είσοδο του ΝΠΑ τη δυαδική του αναπαράσταση , που διαβάζεται από τα δεξιά προς τ αριστερά: ξεκινώντας από την κατάσταση r 0, ο υπολογισμός τερματίζει στην r 0. Το ΝΠΑ του Σχήματος 2.2 έχει κατασκευαστεί έτσι ώστε για έναν ακέραιο n με δυαδική αναπαράσταση w n, η κατάσταση που προσεγγίζεται διαβάζοντας την wn R ξεκινώντας από την r 0 είναι η r k (αντίστοιχα η r k ) αν ο n είναι έχει υπόλοιπο το k(mod3) και η w n έχει άρτιο (αντίστοιχα περιττό) μήκος.

6 56 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ 0 r 1 r r 0 r r 0 r 2 1 Σχήμα 2.2: Το ΝΠΑ για τη διαιρετότητα ενός ακεραίου με το 3 Παράδειγμα 2.3 (ΝΠΑ σε ψευδογλώσσα) Το ΝΠΑ που αποδέχεται τη γλώσσα L = {w {0, 1}, η w τελειώνει με 1} ορίζεται ως M = (K, Σ, δ, s, A), με χώρο καταστάσεων K = {I, F }, αλφάβητο Σ = {0, 1}, αρχική κατάσταση την s = I και καταστάσεις αποδοχής τις A = {F }. Η συνάρτηση μετάβασης δ απεικονίζεται στο Σχήμα I F Σχήμα 2.3: ΝΠΑ για τις συμβολοσειρές του {0, 1} που τελειώνουν με 1 Οπως φαίνεται στον ψευδοκώδικα, που ακολουθεί, το ΝΠΑ του παραδείγματος - όπως και όλα τ άλλα - κωδικοποιείται μέσα σ ένα while(1) βρόγχο, ο οποίος ελέγχεται από ένθετες εντολές switch. int main ( ) {

7 2.1. ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ 57 } typedef enum { I, F} STATES; STATES s t a t e=i ; char ch ; while ( 1 ) { ch=g e t c h ( ) ; i f ( ch==n u l l ) { i f ( s t a t e=i ) return 1 ; else return 0 ; } switch ( s t a t e ) { case I : // can t a c c e p t switch ( ch ) { case 0 : break ; case 1 : s t a t e=f ; } case F : // can a c c e p t switch ( ch ) { case 0 : s t a t e=i ; case 1 : break ; } } } Ενώ το αυτόματο είναι σε μία συγκεκριμένη κατάσταση, διαβάζει ένα σύμβολο εισόδου και αποφασίζει αν θα ενημερώσει την κατάστασή του ή αν θα παραμείνει στην τρέχουσα κατάσταση. Το επόμενο σύμβολο εισόδου αποκωδικοποιείται σ αυτήν την (πιθανώς) ενημερωμένη κατάσταση. Κάθε φορά που προσεγγίζεται μια κατάσταση αποδοχής, το πρόγραμμα του ΝΠΑ μπορεί να α- ποδεχθεί τη συμβολοσειρά. Αυτό ισχύει για όση ώρα το πρόγραμμα παραμένει σε κατάσταση αποδοχής και παύει να ισχύει όταν αποχωρεί από μία κατάσταση αποδοχής. Το πρόγραμμα ενός ΝΠΑ δεν επιτρέπεται να χρησιμοποιεί κάποια άλλη μεταβλητή, εκτός από τη μεταβλητή, που αναπαριστά την κατάσταση και δε μπορεί να παράξει κάποια άλλη έξοδο εκτός από το αν αποδέχεται ή απορρίπτει τη συμβολοσειρά εισόδου μετά από την ανάγνωση και του τελευταίου χαρακτήρα της. Ενώ το πρόγραμμα ενός ΝΠΑ φαίνεται πολύ απλό, η συγκεκριμένη δομή υπολογισμού είναι εκφραστικά επαρκής, για να εφαρμόζεται σ ένα μεγάλο εύρος προβλημάτων.

8 58 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ 2.2 Μη ντεντερμινιστικά Πεπερασμένα Αυτόματα (ΜΝΠΑ) Τυπικά, ένα Μη Ντεντερμινιστικό Πεπερασμένο Αυτόματο ορίζεται ως εξής: Ορισμός 2.2 Ενα Μη Ντεντερμινιστικό Πεπερασμένο Αυτόματο (ΜΝΠΑ) M ορίζεται ως πεντάδα (K, Σ,, s, A) με: K να είναι ένα πεπερασμένο σύνολο καταστάσεων, Σ να είναι το αλφάβητο εισόδου, s K να είναι η αρχική κατάσταση, A K να είναι το σύνολο των καταστάσεων αποδοχής και μία σχέση μετάβασης, που αντιστοιχίζει διατεταγμένα ζεύγη από το K (Σ {ɛ}) στο K. Αξίζει να σημειωθεί ότι όπως φαίνεται από τον ορισμό, οι μεταβάσεις ενός ΜΝΠΑ περιγράφονται από μία σχέση και όχι μία συνάρτηση μετάβασης όπως στα ΝΠΑ. Κάθε στοιχείο της σχέσης είναι ένα διατεταγμένο ζεύγος με πρώτο στοιχείο ένα ζεύγος (κατάσταση, σύμβολο εισόδου ή ɛ) και δεύτερο στοιχείο τη νέα κατάσταση στην οποία μεταβαίνει η εκτέλεση. Οι έννοιες της διαμόρφωσης, αρχικής διαμόρφωσης και της διαμόρφωσης αποδοχής ορίζονται όπως ακριβώς και στην περίπτωση των ΝΠΑ, καθώς ε- πίσης οι σχέσεις «μεταβαίνει σ ένα βήμα» και «μεταβαίνει» και η έννοια του υπολογισμού. Εστω w ένα στοιχείο του Σ. Τυπικά ορίζουμε ότι: η M αποδέχεται την w αν και μόνο αν τουλάχιστον ένας από τους υπολογισμούς της καταλήγει σε διαμόρφωση αποδοχής της M. η M απορρίπτει την w αν και μόνο αν κανένας από τους πιθανούς υπολογισμούς δεν την αποδέχεται. Συμβολίζουμε με L(M) τη γλώσσα που αποδέχεται η M, δηλαδή το σύνολο όλων των συμβολοσειρών, που γίνονται αποδεκτές από το ΜΝΠΑ. Υπάρχουν δύο θεμελιώδεις διαφορές μεταξύ των ΝΠΑ και των ΜΝΠΑ. Σε κάθε διαμόρφωση, ένα ΝΠΑ μπορεί να εκτελέσει ακριβώς μία κίνηση. Από την άλλη, επειδή σ ένα ΜΝΠΑ η μπορεί να είναι μία οποιαδήποτε σχέση, που δεν είναι απαραίτητα συνάρτηση, δεν ορίζεται μόνο μία πιθανή κίνηση σε κάποια διαμόρφωση. Αντί γι αυτό έχουμε:

9 2.2. ΜΗ ΝΤΕΝΤ. ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ 59 Ενα ΜΝΠΑ M μπορεί να προσεγγίσει μία διαμόρφωση στην οποία έχουν απομείνει επιπλέον σύμβολα εισόδου για ανάγνωση, αλλά ο ορισμός της μηχανής δεν περιλαμβάνει διαθέσιμες κινήσεις. Επειδή καμία από τις α- κολουθίες κινήσεων, που οδηγούν σε μία τέτοια διαμόρφωση δε μπορεί να καταλήξει σε διαμόρφωση αποδοχής, η M απλά θα τερματίσει χωρίς να αποδέχεται τη συμβολοσειρά εισόδου. Μία τέτοια περίπτωση είναι πιθανή, επειδή η δεν είναι συνάρτηση και άρα μπορεί να υπάρχουν ζεύγη (κατάσταση, σύμβολο εισόδου), για τα οποία δεν ορίζεται επόμενη κατάσταση. Ενα ΜΝΠΑ M μπορεί να προσεγγίσει μία διαμόρφωση από την οποία είναι πιθανές δύο ή περισσότερες διαφορετικές κινήσεις. Οι διαφορετικές αυτές επιλογές μπορεί να προέρχονται από μία ή και τις δύο παρακάτω ιδιότητες της σχέσης μεταβάσης : Μπορεί να υπάρχουν μία ή περισσότερες μεταβάσεις που επιγράφονται με ɛ και όχι με κάποιο χαρακτήρα από το Σ. Μία εξερχόμενη μετάβαση-ɛ από την κατάσταση q μπορεί (αλλά δεν είναι απαραίτητο) να εκτελείται - χωρίς να καταναλώνεται κάποιο σύμβολο εισόδου - κάθε φορά που η M βρίσκεται στην κατάσταση q. Κατά συνέπεια, μία εξερχόμενη μετάβαση-ɛ από την κατάσταση q ανταγωνίζεται με όλες τις άλλες εξερχόμενες μεταβάσεις από την ίδια κατάσταση. Για να αντιληφθούμε τη χρησιμότητα των μεταβάσεων-ɛ μπορούμε να σκεφτούμε ότι αναγκάζουν την M να «μαντέψει» το σωστό μονοπάτι, πριν αυτή διαβάσει από την είσοδο. Λάθος επιλογές θα ο- δηγήσουν σε μονοπάτια, που αποτυγχάνουν, αλλά μπορούμε να τα αγνοήσουμε. Σε μία κατάσταση q μπορεί να ορίζονται περισσότερες από μία μεταβάσεις για ένα δοθέν σύμβολο εισόδου. Λόγω αυτών των ανταγωνιστικών μεταβάσεων θα πρέπει η M να «μαντέψει» το σωστό μονοπάτι. Ας θεωρήσουμε ένα ΜΝΠΑ M με μία σχέση μετάβασης, που ένα μέρος της εικονίζεται στο Σχήμα 2.4. Αν η M βρίσκεται στην κατάσταση q 0 και το επόμενο σύμβολο εισόδου είναι το α, τότε η M θα μπορούσε να επιλέξει μεταξύ τριών πιθανών κινήσεων: 1. θα μπορούσε να εκτελέσει τη μετάβαση-ɛ στην q 1 πριν από την ανάγνωση του επόμενου συμβόλου στην είσοδο 2. Θα μπορούσε να διαβάσει το επόμενο σύμβολο εισόδου και να εκτελέσει τη μετάβαση στην κατάσταση q 2, ή

10 60 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ɛ q 1 q 0 α q 2 α q 3 Σχήμα 2.4: Ενα ΜΝΠΑ με δύο είδη μη ντεντερμινισμού 3. Θα μπορούσε να διαβάσει το επόμενο σύμβολο εισόδου και να εκτελέσει τη μετάβαση στην κατάσταση q 3. Εναλλακτικά μπορούμε να θεωρήσουμε ότι ακολουθούνται παράλληλα όλα τα πιθανά μονοπάτια, που ορίζει η σχέση μετάβασης του M. Ετσι, σε κάθε βήμα υπολογισμού του M το αυτόματο βρίσκεται ιδεατά σ ένα σύνολο καταστάσεων. Οταν θα έχει διαβαστεί ολόκληρη η είσοδος, αν το σύνολο των καταστάσεων που έχει προσεγγιστεί περιλαμβάνει τουλάχιστο μία κατάσταση αποδοχής, τότε το M αποδέχεται τη συμβολοσειρά εισόδου. Παράδειγμα 2.4 (Συμβολοσειρές χωρίς κάποιο σύμβολο του Σ) Ας θεωρήσουμε τη γλώσσα L = {w Σ,με Σ = {a, b, c, d} και κάποιο σύμβολο α i Σ να μην εμφανίζεται στην w} που περιλαμβάνει μόνο τις συμβολοσειρές του Σ από τις οποίες λείπει τουλάχιστο ένα από τα σύμβολα του Σ. Θα μπορούσαμε ν αναπαραστήσουμε την L μ ένα ΝΠΑ M με τις εξής καταστάσεις: λείπουν όλα τα σύμβολα (αρχική) μετά από ανάγνωση ενός χαρακτήρα, λείπουν τα b, c και d λείπουν τα a, c και d λείπουν τα a, b και d

11 2.2. ΜΗ ΝΤΕΝΤ. ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ 61 λείπουν τα a, b και c μετά από ανάγνωση δύο χαρακτήρων, λείπουν τα a, b λείπουν τα a, c λείπουν τα a, d λείπουν τα b, c λείπουν τα b, d λείπουν τα c, d μετά από ανάγνωση τριών χαρακτήρων οι προαναφερόμενες, καθώς και οι λείπει το a λείπει το b λείπει το c λείπει το d και μετά από ανάγνωση τεσσάρων χαρακτήρων οι προαναφερόμενες και η δε λείπει κανένας χαρακτήρας. ɛ ɛ a q 1 b q 2 b, c, d a, c, d q 0 ɛ ɛ c q 3 a, b, d d q 4 a, b, c Σχήμα 2.5: ΜΝΠΑ για τις συμβολοσειρές χωρίς κάποιο σύμβολο του Σ

12 62 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Ολες οι καταστάσεις εκτός από την τελευταία είναι καταστάσεις αποδοχής. Είναι σαφές ότι η αναπαράσταση της ίδιας γλώσσας για ένα μεγαλύτερο αλφάβητο με ΝΠΑ θα απαιτούσε έναν ακόμη μεγαλύτερο αριθμό καταστάσεων. Από την άλλη, η αναπαράσταση της γλώσσας από ένα ΜΝΠΑ είναι απλούστερη, όπως εξάλλου φαίνεται στο Σχήμα 2.5. Το εικονιζόμενο ΜΝΠΑ αποδέχεται τις συμβολοσειρές της γλώσσας «μαντεύοντας» ποιο είναι το σύμβολο του Σ, που λείπει απ αυτές. Αν ισχύει μία από τις περιπτώσεις, που αναπαριστούν οι καταστάσεις q 1, q 2, q 3, τότε η συμβολοσειρά εισόδου γίνεται αποδεκτή. Αν δεν ισχύει καμία απ αυτές, τότε η συμβολοσειρά απορρίπτεται. Σημειώνουμε ότι η αναπαράσταση της γλώσσας L από το ΜΝΠΑ του Σχήματος 2.5 είναι πολύ πιο απλή από το ΝΠΑ, που περιγράψαμε στο πρώτο μέρος του παραδείγματος. 2.3 Ισοδυναμία ΜΝΠΑ και ΝΠΑ Από την Ενότητα 2.2 ίσως έχει δημιουργηθεί η εντύπωση ότι τα ΜΝΠΑ έχουν μεγαλύτερη εκφραστική ισχύ από τα ΝΠΑ. Σε αυτή την ενότητα, θα δείξουμε ότι αυτό δεν είναι αληθές. Θα αποδείξουμε δηλαδή ότι μία γλώσσα, μπορεί να γίνεται αποδεκτή από ένα ΝΠΑ αν και μόνο αν μπορεί να γίνει αποδεκτή από ένα ΜΝΠΑ. Για να αποδειχθεί αυτό, θα δείξουμε πώς ένα οποιοδήποτε ΜΝΠΑ μετατρέπεται σε ένα ΝΠΑ, που αποδέχεται την ίδια γλώσσα. Τυπικά, η μετατροπή ενός ΝΠΑ σε ένα ΜΝΠΑ γίνεται ως εξής. Εστω M = (K, Σ, δ, s, A) ένα ΝΠΑ. Υπενθυμίζουμε ότι δ είναι μία συνάρτηση δ : K Σ K και A K. Ορίζουμε λοιπόν τη σχέση : K (Σ {ɛ}) 2 K όπως παρακάτω. Για κάθε t K και για κάθε σ (Σ {ɛ}): { {δ(t, σ)} αν σ ɛ (t, σ) = αν σ = ɛ Τότε, το N = (K, Σ,, s, A) είναι ένα ΜΝΠΑ, που η συμπεριφορά του είναι ίδια με τη συμπεριφορά του ΝΠΑ M. Ο πιο εύκολος τρόπος για να διαπιστωθεί αυτό είναι παρατηρώντας ότι τα διαγράμματα καταστάσεων - μεταβάσεων των M και N είναι ακριβώς ίδια. Γι αυτό το λόγο λοιπόν έχουμε L(M) = L(N). Στο υπόλοιπο μέρος αυτής της ενότητας θα δείξουμε το πώς μετατρέπεται ένα ΜΝΠΑ σε ένα ΝΠΑ: Θεώρημα 2.1 (Ισοδυναμία ΜΝΠΑ με ΝΠΑ) Εστω N = (K, Σ,, s, A) ένα ΜΝΠΑ. Υπάρχει ένα ΝΠΑ M, τέτοιο ώστε L(M) = L(N).

13 2.3. ΙΣΟΔΥΝΑΜΙΑ ΜΝΠΑ & ΝΠΑ 63 Απόδειξη: Υπενθυμίζουμε ότι το ΜΝΠΑ N στη γενική περίπτωση μπορεί να εκφράζει περισσότερους από έναν υπολογισμό για μία δεδομένη είσοδο. Η βασική ιδέα πάνω στην οποία στηρίζεται η απόδειξη είναι να επιδιωχθεί η κατασκευή ενός ΝΠΑ M, που θα αναπαριστά ταυτόχρονα όλους αυτούς τους διαφορετικούς υπολογισμούς. Για να είμαστε πιο ακριβείς, το ΝΠΑ M θα πρέπει να έχει την εξής ιδιότητα: η κατάσταση στην οποία θα βρίσκεται το M μετά α- πό την ανάγνωση ενός αρχικού μέρους της συμβολοσειράς εισόδου αντιστοιχεί ακριβώς στο σύνολο όλων των καταστάσεων, που μπορεί να έχει προσεγγίσει το N μετά από την ανάγνωση του ίδιου μέρους της συμβολοσειράς εισόδου. Αρχίζουμε παρουσιάζοντας την μετατροπή στην περίπτωση, που το N δεν περιλαμβάνει μεταβάσεις-ɛ (στη συνέχεια θα επεκτείνουμε την προσέγγιση μετατροπής για να καλυφθεί και η πιο γενική περίπτωση). Εστω το ΝΠΑ M που ορίζεται ως M = (K, Σ, δ, s, A ), όπου: το σύνολο καταστάσεων είναι K = 2 K (παρατηρήστε ότι K = 2 K ), η αρχική κατάσταση s είναι η s = {s}, δηλαδή το M έχει την «ίδια» αρχική κατάσταση με το N, το σύνολο A των καταστάσεων αποδοχής περιλαμβάνει όλα τα στοιχεία R του K, που περιέχουν τουλάχιστο μία κατάσταση αποδοχής του N, δηλαδή A = {R K : R A } η συνάρτηση μετάβασης δ : K Σ K ορίζεται ως εξής. Για κάθε R K και για κάθε σ Σ, δ(r, σ) = (r, σ) Ας δούμε τώρα τι ακριβώς ορίζει η συνάρτηση μετάβασης δ του M. Αρχικά παρατηρήστε ότι αφού το N είναι ένα ΜΝΠΑ, (r, σ) K. Αυτό σημαίνει ότι το δ(r, σ) είναι η ένωση των υποσυνόλων του K και γι αυτό είναι επίσης ένα υποσύνολο του K. Επομένως, το δ(r, σ) είναι ένα στοιχείο του K. Το (r, σ) αναπαριστά το σύνολο όλων των καταστάσεων του ΜΝΠΑ N, που μπορούν να προσεγγιστούν από την κατάσταση r με ανάγνωση του συμβόλου σ. Η ένωση λοιπόν όλων αυτών των συνόλων (r, σ), όπου το r παίρνει ως τιμές όλα τα στοιχεία του R μας δίνει το δ(r, σ). Αυτό το νέο σύνολο είναι η κατάσταση που προσεγγίζει το ΝΠΑ M από την R με ανάγνωση του συμβόλου σ. Με αυτό τον τρόπο επιτυγχάνουμε το κατασκευασμένο ΝΠΑ M να έχει την ιδιότητα, που περιγράψαμε στην αρχή της απόδειξης. r R

14 64 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Ας δούμε όμως τώρα την πιο γενική περίπτωση. Στο εξής, θα επιτρέπουμε το ΜΝΠΑ N να περιλαμβάνει μεταβάσεις-ɛ. Το ΝΠΑ M θα ορίζεται όπως περιγράψαμε προηγουμένως, εκτός από την αρχική του κατάσταση s και τη συνάρτηση μετάβασης δ, που θα πρέπει να τροποποιηθούν. Θυμίζουμε ότι ένας υπολογισμός του ΜΝΠΑ N δίνεται από την εκτέλεση των παρακάτω βημάτων: 1. Ξεκίνησε από την αρχική κατάσταση s και εκτέλεσε μηδέν ή περισσότερες μεταβάσεις-ɛ. 2. Διάβασε ένα σύμβολο του Σ και εκτέλεσε μετάβαση σε μία νέα κατάσταση ή αλλιώς παρέμεινε στην τρέχουσα κατάσταση (ανάλογα με το τι ορίζει η σχέση μετάβασης). 3. Εκτέλεσε μηδέν ή περισσότερες μεταβάσεις-ɛ. 4. Διάβασε ένα σύμβολο του Σ και εκτέλεσε μετάβαση σε μία νέα κατάσταση ή αλλιώς παρέμεινε στην τρέχουσα κατάσταση (ανάλογα με το τι ορίζει η σχέση μετάβασης). 5. Εκτέλεσε μηδέν ή περισσότερες μεταβάσεις-ɛ. κ.ο.κ. Το ΝΠΑ M που ορίσαμε προσομοιώνει αυτόν τον υπολογισμό με τον εξής τρόπο: Προσομοίωση του (1) σε ένα μόνο βήμα. Οπως θα δούμε στη συνέχεια, αυτή η προσομοίωση αναπαριστάται άρρητα μέσω του ορισμού της αρχικής κατάστασης s του M. Προσομοίωση των (2) και (3) σε ένα μόνο βήμα. Προσομοίωση των (4) και (5) σε ένα μόνο βήμα. κ.ο.κ. Ετσι, σε ένα βήμα, το ΝΠΑ M προσομοιώνει την ανάγνωση ενός συμβόλου του Σ στην είσοδο, που μπορεί να ακολουθείται από μηδέν ή περισσότερες μεταβάσεις-ɛ. Για να αναπαρασταθεί αυτό τυπικά, χρειάζεται να οριστεί η έννοια της ɛ- κλειστότητας. Για οποιαδήποτε κατάσταση r του ΜΝΠΑ N, η ɛ-κλειστότητα της r συμβολίζεται με C ɛ (r) και είναι το σύνολο όλων των καταστάσεων του

15 2.3. ΙΣΟΔΥΝΑΜΙΑ ΜΝΠΑ & ΝΠΑ 65 N, που είναι προσεγγίσιμες από την r με μηδέν ή περισσότερες μεταβάσεις-ɛ. Για οποιαδήποτε κατάσταση R του ΝΠΑ M (επομένως R K), ορίζουμε C ɛ (R) = C ɛ (r) r R Πώς όμως ορίζουμε την αρχική κατάσταση s του ΝΠΑ M; Το ΜΝΠΑ N πριν ακόμη διαβάσει το πρώτο σύμβολο εισόδου, στοιχείο του Σ, εκτελεί μηδέν ή περισσότερες μεταβάσεις-ɛ και επομένως τη στιγμή που το N διαβάζει το πρώτο σύμβολο μπορεί να βρίσκεται σε οποιαδήποτε κατάσταση από αυτές που περιλαμβάνονται στο C ɛ (s). Γι αυτό το λόγο ορίζουμε την κατάσταση s ως s = C ɛ (s) = C ɛ ({s}) Ας δούμε τώρα το πώς ορίζουμε τη συνάρτηση μετάβασης δ του ΝΠΑ M. Υποθέστε ότι το M βρίσκεται στην κατάσταση R και διαβάζει το σύμβολο σ. Εκείνη τη στιγμή, το ΜΝΠΑ N θα μπορούσε να βρίσκεται σε οποιαδήποτε κατάσταση r του R. Διαβάζοντας το σύμβολο σ, το N μπορεί να μεταβεί σε οποιαδήποτε κατάσταση του (r, σ) και να εκτελέσει μηδέν ή περισσότερες μεταβάσεις-ɛ. Επομένως, το ΜΝΠΑ μπορεί να μεταβεί σε οποιαδήποτε κατάσταση του συνόλου C ɛ ( (r, σ)). Με βάση αυτή την παρατήρηση, ορίζουμε το δ(r, σ) να είναι: δ(r, σ) = C ɛ ( (r, σ)) r R Συνοψίζοντας λοιπόν, το ΜΝΠΑ N = (K, Σ,, s, A) μετατρέπεται στο ΝΠΑ M = (K, Σ, δ, s, A ), όπου: K = 2 K s = C ɛ ({s}) A = {R K : R A } η δ : K Σ K ορίζεται ως εξής: για κάθε R K και για κάθε σ Σ, δ(r, σ) = C ɛ ( (r, σ)) Τα αποτελέσματα που αποδείξαμε συνοψίζονται στο παρακάτω θεώρημα. r R

16 66 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Θεώρημα 2.2 (Κανονικές γλώσσες και ΜΝΠΑ) Εστω L μία γλώσσα. Η L είναι κανονική, αν και μόνο αν υπάρχει ένα ΜΝΠΑ που την αποδέχεται. Παράδειγμα 2.5 (Ισοδυναμία ΜΝΠΑ και ΝΠΑ) Ας θεωρήσουμε το ΜΝΠΑ N = (K, Σ,, s, A), όπου K = {1, 2, 3}, Σ = {a, b}, s = 1, A = {2} και η σχέση μετάβασης, που ορίζεται από τον παρακάτω πίνακα: q α b ɛ 1 {3} {2} 2 {1} 3 {2} {2,3} Στο Σχήμα 2.6 απεικονίζεται το διάγραμμα καταστάσεων για το αυτόματο N. ɛ 1 2 α α α,b b 3 Σχήμα 2.6: Το ΜΝΠΑ N = ({1, 2, 3}, {a, b},, 1, {2}) Θα δείξουμε το πώς μετατρέπεται το ΜΝΠΑ N σε ένα ΝΠΑ M, που αποδέχεται την ίδια γλώσσα. Ακολουθώντας την απόδειξη του Θεωρήματος 2.1, το ΝΠΑ M = (K, Σ, δ, s, A ) ορίζεται ως εξής: K = 2 K και επομένως για την περίπτωσή μας, K = {, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}} s = C ɛ ({s}), δηλαδή η αρχική κατάσταση του M δίνεται ως το σύνολο όλων των καταστάσεων του N, που προσεγγίζονται από την αρχική του κατάσταση 1 με μηδέν ή περισσότερες μεταβάσεις-ɛ, s = C ɛ ({s}) = C ɛ ({1}) = {1, 2}

17 2.3. ΙΣΟΔΥΝΑΜΙΑ ΜΝΠΑ & ΝΠΑ 67 A = {R K : R A }, δηλαδή οι καταστάσεις αποδοχής του M θα είναι αυτές, που περιέχουν την κατάσταση αποδοχής 2 του N, A = {{2}, {1, 2}, {2, 3}, {1, 2, 3}} δ : K Σ K, που ορίζεται ως εξής: για κάθε R K και για κάθε σ Σ, δ(r, σ) = C ɛ ( (r, σ)) r R Στο παράδειγμά μας η δ δίνεται όπως παρακάτω: δ(, a) = δ({1}, a) = {3} δ({2}, a) = {1, 2} δ(, b) = δ({1}, b) = δ({2}, b) = δ({3}, a) = {2} δ({3}, b) = {2, 3} δ({1, 2}, a) = {1, 2, 3} δ({1, 2}, b) = δ({1, 3}, a) = {2, 3} δ({1, 3}, b) = {2, 3} δ({2, 3}, a) = {1, 2} δ({2, 3}, b) = {2, 3} δ({1, 2, 3}, a) = {1, 2, 3} δ({1, 2, 3}, b) = {2, 3} {1} α α {3} b b b {2} {2,3} {1,3} α,b b α α b α,b α {1,2,3} b {1,2} α Σχήμα 2.7: Το ισοδύναμο με το N ΝΠΑ M Στο Σχήμα 2.7 απεικονίζεται το διάγραμμα καταστάσεων του ΝΠΑ M. Παρατηρούμε τα εξής:

18 68 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Οι καταστάσεις {1} και {1,3} δεν έχουν εισερχόμενες μεταβάσεις. Ε- πομένως, αυτές οι δύο καταστάσεις δεν προσεγγίζονται από την αρχική κατάσταση {1,2}. Η κατάσταση {3} έχει μόνο μία εισερχόμενη μετάβαση και αυτή ορίζεται με αφετηρία την κατάσταση {1}. Επειδή η {1} δεν είναι προσεγγίσιμη από την αρχική κατάσταση, γι αυτό και η {3} δε προσεγγίζεται από την αρχική κατάσταση. Η κατάσταση {2} έχει μόνο μία εισερχόμενη μετάβαση προερχόμενη από την κατάσταση {3}. Αφού η {3} δεν είναι προσεγγίσιμη από την αρχική, η {2} δεν προσεγγίζεται επίσης από την αρχική. Κατά συνέπεια, μπορούμε να απομακρύνουμε τις τέσσερις καταστάσεις {1}, {2}, {3} και {1,3}. Το απλοποιημένο ΝΠΑ που προκύπτει απεικονίζεται στο Σχήμα 2.8 και αποδέχεται την ίδια γλώσσα με το ΝΠΑ του Σχήματος 2.7. b {2,3} α b α,b α {1,2,3} b {1,2} α Σχήμα 2.8: Το απλοποιημένο ΝΠΑ M, ισοδύναμο με το ΜΝΠΑ N 2.4 Ιδιότητες Κλειστότητας Κανονικών Γλωσσών Για την επίλυση ενός υπολογιστικού προβλήματος συχνά επιλέγεται η διάσπασή του σε απλούστερα προβλήματα, η επίλυση αυτών και στη συνέχεια ο συνδυασμός των λύσεων σε μία λύση για το αρχικό πρόβλημα. Για να ακολουθηθεί

19 2.4. ΙΔΙΟΤΗΤΕΣ ΚΛΕΙΣΤΟΤΗΤΑΣ 69 μία ανάλογη προσέγγιση στη σχεδίαση μηχανών πεπερασμένων καταστάσεων είναι απαραίτητο να βρούμε εκείνες τις πράξεις γλωσσών, που διατηρούν το σύνολο των σχέσεων, που υπολογίζονται από πεπερασμένα αυτόματα. Αυτή η γνώση μπορεί τότε να χρησιμοποιηθεί, για να αποφασίζεται το πώς ένα πρόβλημα αναλύεται σε απλούστερα προβλήματα, όπως επίσης και για την κατασκευή εργαλείων, που αυτόματα θα συνδυάζουν επιμέρους λύσεις, σε σύνθετες μηχανές για την επίλυση μεγαλύτερων προβλημάτων. Γενικά, ένα σύνολο λέμε ότι είναι κλειστό ως προς κάποια πράξη, αν κάθε εφαρμογή της πράξης στα στοιχεία του συνόλου έχει ως αποτέλεσμα ένα άλλο στοιχείο του ίδιου συνόλου. Παράδειγμα 2.6 (Κλειστότητα συνόλων) Το σύνολο των φυσικών αριθμών είναι κλειστό ως προς την πρόσθεση, αλλά δεν είναι κλειστό ως προς την αφαίρεση. Το σύνολο των ακεραίων είναι κλειστό ως προς την πρόσθεση και την αφαίρεση, αλλά δεν είναι κλειστό ως προς τη διαίρεση. Το σύνολο {U το U είναι σύνολο με πέντε ή και περισσότερους ακεραίους} είναι κλειστό ως προς την ένωση, αλλά δεν είναι κλειστό ως προς την τομή και τη συμπλήρωση. Τέλος, το σύνολο {V το V είναι σύνολο με το πολύ ως πέντε ακέραιους} είναι κλειστό ως προς την τομή, αλλά δεν είναι κλειστό ως προς την ένωση και τη συμπλήρωση. Οι ιδιότητες κλειστότητας των κανονικών γλωσσών εκφράζουν το ότι όταν μία ή περισσότερες γλώσσες είναι κανονικές, τότε κάποιες άλλες γλώσσες που σχετίζονται με αυτές είναι επίσης κανονικές. Θεώρημα 2.3 (Κλειστότητα ως προς την ένωση) Το σύνολο των κανονικών γλωσσών είναι κλειστό ως προς την πράξη της ένωσης, δηλαδή αν L 1 και L 2 είναι κανονικές γλώσσες με το ίδιο αλφάβητο, τότε η L 1 L 2 είναι επίσης μία κανονική γλώσσα. Απόδειξη: Αφού η L 1 είναι κανονική, από το Θεώρημα 2.2 υπάρχει ένα ΜΝΠΑ M 1 = (K 1, Σ, 1, q 1, A 1 ), τέτοιο ώστε L 1 = L(M 1 ). Ομοίως, υπάρχει ένα άλλο ΜΝΠΑ M 2 = (K 2, Σ, 2, q 2, A 2 ), τέτοιο ώστε L 2 = L(M 2 ). Είναι λογικό να υποθέσουμε ότι K 1 K 2 =, αφού ακόμη και αν αυτό δε συνέβαινε θα μπορούσαμε να δώσουμε νέα ονόματα στις καταστάσεις των K 1 και K 2. Από αυτά τα δύο ΜΝΠΑ μπορούμε να δημιουργήσουμε ένα ΜΝΠΑ

20 70 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Σχήμα 2.9: Το ΜΝΠΑ M αποδέχεται τη L(M 1 ) L(M 2 ) M = (K, Σ,, q 0, A), τέτοιο ώστε L(M) = L 1 L 2. Η κατασκευή απεικονίζεται στο Σχήμα 2.9. Το ΜΝΠΑ M ορίζεται ως εξής: 1. K = {q 0 } K 1 K 2, όπου q 0 είναι μία νέα κατάσταση. 2. q 0 είναι η αρχική κατάσταση του M. 3. A = A 1 A 2 4. Η : K (Σ {ɛ}) 2 K ορίζεται ως, 1 (r, σ) για r K 1, (r, σ) = 2 (r, σ) για r K 2, {q 1, q 2 } για r = q 0 και σ = ɛ

21 2.4. ΙΔΙΟΤΗΤΕΣ ΚΛΕΙΣΤΟΤΗΤΑΣ 71 Θεώρημα 2.4 (Κλειστότητα ως προς την παράθεση) Το σύνολο των κανονικών γλωσσών είναι κλειστό ως προς την πράξη της παράθεσης, δηλαδή αν L 1 και L 2 είναι κανονικές γλώσσες με το ίδιο αλφάβητο, τότε η L 1 L 2 είναι επίσης μία κανονική γλώσσα. Απόδειξη: Αφού η L 1 είναι κανονική, από το Θεώρημα 2.2 υπάρχει ένα ΜΝΠΑ M 1 = (K 1, Σ, 1, q 1, A 1 ), τέτοιο ώστε L 1 = L(M 1 ). Ομοίως, υπάρχει ένα άλλο ΜΝΠΑ M 2 = (K 2, Σ, 2, q 2, A 2 ), τέτοιο ώστε L 2 = L(M 2 ). Οπως και στην απόδειξη του Θεωρήματος 2.3 υποθέτουμε ότι K 1 K 2 =. Από αυτά τα δύο ΜΝΠΑ μπορούμε να δημιουργήσουμε ένα ΜΝΠΑ M = (K, Σ,, q 0, A), τέτοιο ώστε L(M) = L 1 L 2. Η κατασκευή απεικονίζεται στο Σχήμα Σχήμα 2.10: Το ΜΝΠΑ M αποδέχεται τη L(M 1 )L(M 2 ) Το ΜΝΠΑ M ορίζεται ως εξής:

22 72 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ 1. K = K 1 K 2 2. q 0 = q 1 3. A = A 2 4. Η : K (Σ {ɛ}) 2 K ορίζεται ως, 1 (r, σ) για r K 1 και r / A 1, (r, σ) = 1 (r, σ) για r A 1 και σ ɛ, 1 (r, σ) {q 2 } για r A 1 και σ = ɛ, 2 (r, σ) για r K 2 Θεώρημα 2.5 (Κλειστότητα ως προς την Kleene star) Το σύνολο των κανονικών γλωσσών είναι κλειστό ως προς την πράξη Kleene star, δηλαδή αν L είναι μία κανονική γλώσσα, τότε η L είναι επίσης μία κανονική γλώσσα. Απόδειξη: Εστω Σ το αλφάβητο της L και ότι N = (K 1, Σ, 1, q 1, A 1 ) είναι ένα ΜΝΠΑ, τέτοιο ώστε L = L(N). Θα κατασκευάσουμε ένα ΜΝΠΑ M = (K, Σ,, q 0, A), τέτοιο ώστε L(M) = L. Η κατασκευή απεικονίζεται στο Σχήμα Σχήμα 2.11: Το ΜΝΠΑ M αποδέχεται τη (L(N)) Το ΜΝΠΑ M ορίζεται ως εξής:

23 2.4. ΙΔΙΟΤΗΤΕΣ ΚΛΕΙΣΤΟΤΗΤΑΣ K = K 1 {q 0 }, όπου q 0 είναι μία νέα κατάσταση 2. q 0 είναι η αρχική κατάσταση 3. A = {q 0 } A 1 4. Η : K (Σ {ɛ}) 2 K ορίζεται ως, 1 (r, σ) για r K 1 και r / A 1, (r, σ) = 1 (r, σ) για r A 1 και σ ɛ, 1 (r, σ) {q 1 } για r A 1 και σ = ɛ, {q 1 } για r = q 0 και σ = ɛ Στο τελευταίο θεώρημα αυτής της ενότητας αναφέρουμε (χωρίς απόδειξη) κάποιες επιπλέον ιδιότητες κλειστότητας των κανονικών γλωσσών. Θεώρημα 2.6 (Κλειστότητα για το συμπλήρωμα και την τομή) Το σύνολο των κανονικών γλωσσών είναι κλειστό ως προς τις πράξεις του συμπληρώματος και της τομής γλωσσών: 1. Αν L είναι μία κανονική γλώσσα με αλφάβητο Σ, τότε το συμπλήρωμα είναι επίσης μία κανονική γλώσσα. L = {w Σ : w / L} 2. Αν L 1, L 2 είναι κανονικές γλώσσες με το ίδιο αλφάβητο Σ, τότε η τομή τους L 1 L 2 = {w Σ : w L 1 και w L 2 } είναι επίσης μία κανονική γλώσσα. 3. Αν L 1, L 2 είναι κανονικές γλώσσες με το ίδιο αλφάβητο Σ, τότε η διαφορά τους είναι επίσης μία κανονική γλώσσα. L 1 L 2 = {w : w L 1 και w L 2 } 4. Αν L είναι μία κανονική γλώσσα με αλφάβητο Σ, τότε η αντίστροφή της L R = {w Σ : w = x R για κάποια x L} είναι επίσης μία κανονική γλώσσα.

24 74 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Παράδειγμα 2.7 (Κλειστότητα ως προς την τομή κανονικών γλωσσών) Εστω L = {w {0, 1} : η w περιέχει άρτιο αριθμό 0 και περιττό αριθμό 1 και όλα τα 0 εμφανίζονται ανά τρία}. Η L είναι κανονική επειδή δίνεται ως τομή δύο άλλων κανονικών γλωσσών. Δηλαδή L = L 1 L 2, όπου: L 1 = {w {0, 1} : η w περιέχει έναν άρτιο αριθμό 0 και έναν περιττό αριθμό 1} L 2 = {w {0, 1} : όλα τα 0 εμφανίζονται ανά τρία} Η γλώσσα L 1 είναι κανονική, αφού γίνεται αποδεκτή από το παρακάτω ΝΠΑ: 0 άρτιος αριθμός 0 άρτιος αριθμός 1 περιττός αριθμός 0 άρτιος αριθμός άρτιος αριθμός 0 περιττός αριθμός 1 περιττός αριθμός 0 περιττός αριθμός 1 0 Η γλώσσα L 2 είναι επίσης κανονική, καθώς γίνεται αποδεκτή από το παρακάτω ΝΠΑ: 1 0 q 0 0 q 0 1 q 2 Επειδή σύμφωνα με το Θεώρημα 2.6 το σύνολο των κανονικών γλωσσών είναι κλειστό ως προς την τομή, προκύπτει ότι η L = L 1 L 2 είναι επίσης κανονική γλώσσα.

25 2.5. ΚΑΝΟΝΙΚ ΕΣ ΕΚΦΡΆΣΕΙΣ Κανονικές εκφράσεις Σε αυτή την ενότητα περιγράφουμε έναν άλλο τρόπο ορισμού γλωσσών, τις κανονικές εκφράσεις (regular expressions). Οπως θα δούμε, η κλάση των γλωσσών, που ορίζονται με τη χρήση κανονικών εκφράσεων ταυτίζεται με την κλάση των κανονικών γλωσσών. Πριν από τον τυπικό ορισμό της έννοιας μιας κανονικής έκφρασης ξεκινάμε με ένα παράδειγμα. Η γλώσσα που περιγράφεται από την κανονική έκφραση, (0 1)01 περιλαμβάνει όλες τις δυαδικές συμβολοσειρές 1. που αρχίζουν από 0 ή 1 (αυτό γράφεται με την έκφραση 0 1) 2. με το δεύτερο σύμβολο να είναι 0 (αυτό γράφεται με το 0 στη συνέχεια της έκφρασης) 3. και τελειώνουν με μηδέν ή περισσότερα 1 (αυτό γράφεται με 1 ) Τελικά η γλώσσα που περιγράφεται από αυτή την έκφραση είναι η {00, 001, 0011, 00111,..., 10, 101, 1011, 10111,...} Δίνουμε τώρα έναν τυπικό, επαγωγικό ορισμό των κανονικών εκφράσεων: Ορισμός 2.3 (Κανονικές εκφράσεις) Εστω Σ ένα μη κενό αλφάβητο. 1. Η ɛ είναι μία κανονική έκφραση. 2. Η είναι μία κανονική έκφραση. 3. Για κάθε σ Σ, η σ είναι μία κανονική έκφραση. 4. Αν R 1 και R 2 είναι κανονικές εκφράσεις, τότε η R 1 R 2 είναι μία κανονική έκφραση. 5. Αν R 1 και R 2 είναι κανονικές εκφράσεις, τότε η R 1 R 2 είναι μία κανονική έκφραση. 6. Αν R είναι κανονική έκφραση, τότε η R είναι μία κανονική έκφραση.

26 76 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Στον Ορισμό 2.3 μπορούμε να αντιληφθούμε τα 1, 2 και 3 ως τα βασικά «συστατικά στοιχεία» των κανονικών εκφράσεων, ενώ τα 4, 5 και 6 εισάγουν τους κανόνες που μπορούν να χρησιμοποιηθούν για το συνδυασμό κανονικών εκφράσεων μέσα σε νέες και μεγαλύτερες κανονικές εκφράσεις. Στη συνέχεια ορίζουμε τη γλώσσα, που περιγράφεται από μία κανονική έκφραση. Ορισμός 2.4 (Γλώσσα κανονικών εκφράσεων) Εστω Σ ένα μη κενό αλφάβητο. 1. Η κανονική έκφραση ɛ περιγράφει τη γλώσσα {ɛ}. 2. Η κανονική έκφραση περιγράφει τη γλώσσα. 3. Για κάθε σ Σ, η κανονική έκφραση σ περιγράφει τη γλώσσα {σ}. 4. Αν R 1 και R 2 είναι κανονικές εκφράσεις και L 1 και L 2 είναι οι γλώσσες, που περιγράφονται απ αυτές αντίστοιχα, τότε η R 1 R 2 περιγράφει τη γλώσσα L 1 L Αν R 1 και R 2 είναι κανονικές εκφράσεις και L 1 και L 2 είναι οι γλώσσες, που περιγράφονται απ αυτές αντίστοιχα, τότε η R 1 R 2 περιγράφει τη γλώσσα L 1 L Αν R είναι μία κανονική έκφραση και L είναι η γλώσσα που αυτή περιγράφει, τότε η κανονική έκφραση R περιγράφει τη γλώσσα L. Παράδειγμα 2.8 (Γλώσσες κανονικών εκφράσεων) Η κανονική έκφραση (0 ɛ)(1 ɛ) περιγράφει τη γλώσσα {01, 0, 1, ɛ}. Η κανονική έκφραση 0 ɛ περιγράφει τη γλώσσα {0, ɛ}, ενώ η κανονική έκφραση 1 περιγράφει τη γλώσσα {ɛ, 1, 11, 111,...}. Γι αυτό, η κανονική έκφραση (0 ɛ)1 περιγράφει τελικά τη γλώσσα {0, 01, 011, 0111,..., ɛ, 1, 11, 111,...} Παρατηρήστε ότι η ίδια γλώσσα περιγράφεται επίσης και από την κανονική έκφραση Η κανονική έκφραση 1 περιγράφει την κενή γλώσσα. Η κανονική έκφραση περιγράφει τη γλώσσα {ɛ}.

27 2.5. ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ 77 Ορισμός 2.5 (Ισότητα κανονικών εκφράσεων) Εστω R 1 και R 2 δύο κνονικές εκφράσεις και έστω L 1 και L 2 οι γλώσσες που αυτές περιγράφουν αντίστοιχα. Αν L 1 = L 2, τότε θα γράφουμε R 1 = R 2. Επομένως, παρόλο που οι (0 ɛ)1 και 01 1 είναι δύο διαφορετικές κανονικές εκφράσεις, σύμφωνα με τον Ορισμό 2.5 θα μπορούμε να γράφουμε (0 ɛ)1 = 01 1 Εύκολα αποδεικνύονται τα παρακάτω αποτελέσματα: Θεώρημα 2.7 Εστω οι κανονικές εκφράσεις R 1, R 2 και R 3. Ισχύουν οι παρακάτω ταυτότητες: 1. R 1 = R 1 = 2. R 1 ɛ = ɛr 1 = R 1 3. R 1 = R 1 = R 1 4. R 1 R 1 = R 1 5. R 1 R 2 = R 2 R 1 6. R 1 (R 2 R 3 ) = R 1 R 2 R 1 R 3 7. (R 1 R 2 )R 3 = R 1 R 3 R 2 R 3 8. R 1 (R 2 R 3 ) = (R 1 R 2 )R 3 9. = ɛ 10. ɛ = ɛ 11. (ɛ R 1 ) = R (ɛ R 1 )(ɛ R 1 ) = R R 1 (ɛ R 1) = (ɛ R 1 )R 1 = R R 1 R 2 R 2 = R 1 R R 1 (R 2 R 1 ) = (R 1 R 2 ) R 1

28 78 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ 16. (R 1 R 2 ) = (R 1 R 2) R 1 = (R 2 R 1) R 2 Θα δούμε τώρα πώς μπορούμε να «επιλύουμε» αναδρομικές σχέσεις με γλώσσες. Εστω Σ ένα αλφάβητο και B και C δύο «γνωστές» γλώσσες του Σ, τέτοιες ώστε ɛ / B. Επίσης, ας υποθέσουμε ότι η L είναι μία «άγνωστη» γλώσσα, τέτοια ώστε: L = BL C Μπορούμε να «επιλύσουμε» την παραπάνω σχέση ως προς την L σα να ήταν μία εξίσωση; Μπορούμε δηλαδή να εκφράσουμε την L ως προς τις B και C; Ας δούμε το τι μορφή θα έχει μία οποιαδήποτε συμβολοσειρά u της γλώσσας L. Αφού u L και L = BL C, γνωρίζουμε ότι η u είναι μία συμβολοσειρά της BL C. Επομένως υπάρχουν δύο δυνατότητες για την u. 1. Η u είναι ένα στοιχείο της C. 2. Η u είναι ένα στοιχείο της BL. Σε αυτή την περίπτωση, υπάρχουν συμβολοσειρές w B και v L, τέτοιες ώστε u = wv. Αφού ɛ / B, θα έχουμε w ɛ και γι αυτό, v < u. Καθώς η v είναι μία συμβολοσειρά της L, που είναι ίση με BL C, η v θα είναι και μία συμβολοσειρά της BL C. Επομένως, υπάρχουν δύο δυνατότητες για τη v. α. Η v είναι ένα στοιχείο της C. Τότε, και επομένως, u BC u = wv, όπου w B και v C β. Η v είναι ένα στοιχείο της BL. Σε αυτή την περίπτωση, υπάρχουν συμβολοσειρές w B και y L, τέτοιες ώστε v = w y. Αφού ɛ / B, θα έχουμε w ɛ και γι αυτό, y < v. Καθώς η y είναι μία συμβολοσειρά της L, που είναι ίση με BL C, η y θα είναι και μία συμβολοσειρά της BL C. Επομένως, υπάρχουν δύο δυνατότητες για τη y. i. Η y είναι ένα στοιχείο της C και επομένως όπως και στο (α) προκύπτει ότι u BBC. ii. Η y είναι ένα στοιχείο της BL και η ανάλυση συνεχίζεται όπως και στο (β). Μέσα από την παραπάνω ανάλυση είναι σαφές ότι η οποιαδήποτε συμβολοσειρά u της L μπορεί να γραφεί ως παράθεση μηδέν ή περισσοτέρων συμβολοσειρών της B, που ακολουθούνται από μία συμβολοσειρά της C. Το Λήμμα 2.1 μας

29 2.5. ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ 79 λέει ότι η L περιλαμβάνει μόνο τις συμβολοσειρές, που έχουν αυτή την ιδιότητα. Η εφαρμογή του λήμματος επιδεικνύεται στην επίλυση των εξισώσεων του Παραδείγματος Λήμμα 2.1 Εστω Σ ένα αλφάβητο, B, C και L τρεις γλώσσες του Σ τέτοιες ώστε ɛ / B και Τότε, L = BL C L = B C Απόδειξη: Αρχικά θα δείξουμε ότι B C L. Εστω u μία οποιαδήποτε συμβολοσειρά της B C. Τότε η u θα είναι η παράθεση k συμβολοσειρών της B, για κάποιο k 0, ακολουθούμενη από μία συμβολοσειρά της C. Προχωράμε λοιπόν με επαγωγή ως προς το k. Η βασική περίπτωση είναι όταν k = 0. Τότε, η u είναι μία συμβολοσειρά της C, επομένως και της BL C. Αφού BL C = L, προκύπτει ότι η u είναι τελικά μία συμβολοσειρά της L. Εστω τώρα ότι k 1. Τότε θα μπορούμε να γράψουμε u = vwc, όπου v είναι μία συμβολοσειρά της B, w είναι η παράθεση k 1 συμβολοσειρών της B και c είναι μία συμβολοσειρά της C. Ορίζουμε y = wc και παρατηρούμε ότι η y δίνεται ως παράθεση k 1 συμβολοσειρών της B ακολουθούμενων από μία συμβολοσειρά της C. Γι αυτό, από την υπόθεση της επαγωγής, η συμβολοσειρά y είναι ένα στοιχείο της L και επομένως u = vy, όπου v είναι μία συμβολοσειρά της B και y μία συμβολοσειρά της L. Ετσι αποδεικνύεται ότι η u είναι μία συμβολοσειρά της BL και άρα και της BL C. Αφού όμως BL C = L, προκύπτει τελικά ότι η u είναι μία συμβολοσειρά της L. Ετσι, ολοκληρώνεται η απόδειξη ότι B C L. Απομένει να αποδειχτεί ότι L B C. Εστω ότι u είναι μία οποιαδήποτε συμβολοσειρά της L και έστω l το μήκος της. Αποδεικνύουμε με επαγωγή ως προς το l ότι η u είναι μία συμβολοσειρά της B C. Η βασική περίπτωση είναι όταν l = 0. Τότε, u = ɛ και αφού u L και L = BL C, τελικά η u είναι μία συμβολοσειρά της BL C. Καθώς ɛ / B, η u δε μπορεί να είναι μία συμβολοσειρά της BL. Επομένως, η u θα πρέπει να είναι μία συμβολοσειρά της C και επειδή C B C, τελικά προκύπτει ότι η u είναι μία συμβολοσειρά της B C. Εστω l 1. Αν η u είναι μία συμβολοσειρά της C, τότε θα είναι και μία συμβολοσειρά της B C, οπότε θα ισχύει το ζητούμενο. Ας υποθέσουμε λοιπόν

30 80 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ότι η u δεν είναι μία συμβολοσειρά της C. Αφού u L και L = BL C, η u θα πρέπει να είναι μία συμβολοσειρά της BL. Επομένως, θα υπάρχουν συμβολοσειρές b B και v L, τέτοιες ώστε u = bv. Αφού ɛ / B, το μήκος της b θα είναι τουλάχιστο ένα και επομένως το μήκος της v θα είναι μικρότερο από το μήκος της u. Από την επαγωγική υπόθεση λοιπόν θα ισχύει ότι η v είναι μία συμβολοσειρά της B C. Επομένως, u = bv, όπου b B και v B C. Ετσι αποδεικνύεται ότι u B(B C), αλλά αφού B(B C) (B C), τελικά προκύπτει ότι u B C. Στη συνέχεια, μπορείτε να αγνοήσετε το Λήμμα 2.2, που απλά χρησιμοποιείται στην απόδειξη του πολύ σημαντικού Θεωρήματος 2.8. Λήμμα 2.2 Εστω n 1 ένας ακέραιος, τέτοιος ώστε για 1 i n και 1 j n οι B ij και C i είναι κανονικές εκφράσεις τέτοιες ώστε ɛ / B ij. Επίσης, έστω L 1, L 2,..., L n γλώσσες που ικανοποιούν την n L i = B ij L j C i για 1 i n j=1 Τότε, η L 1 μπορεί να αναπαρασταθεί από μία κανονική έκφραση, που περιέχει μόνο τις κανονικές εκφράσεις B ij και C i. Απόδειξη: Η απόδειξη γίνεται με επαγωγή ως προς το n. Η βασική περίπτωση είναι όταν n = 1. Τότε λοιπόν θα έχουμε: L 1 = B 11 L 1 C 1 Αφού ɛ / B 11, προκύπτει από το Λήμμα 2.1 ότι L 1 = B11 C 1 και έτσι αποδεικνύεται η βασική περίπτωση. Εστω n 2 και ας υποθέσουμε ότι το λήμμα είναι αληθές για n 1. Θα έχουμε: n L n = B nj L j C n j=1 n 1 = B nn L n B nj L j C n j=1

31 2.5. ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ 81 Αφού ɛ / B nn, προκύπτει από το Λήμμα 2.1 ότι: n 1 L n = Bnn B nj L j C n j=1 n 1 = Bnn B nj L j BnnC n j=1 n 1 = BnnB nj L j BnnC n j=1 Αντικαθιστώντας αυτό το αποτέλεσμα για την L n στις εξισώσεις για τις L i, 1 i n 1, προκύπτει: n L i = B ij L j C i j=1 n 1 = B in L n B ij L j C i j=1 n 1 = (B in BnnB nj B ij )L j B in BnnC n C i j=1 Τελικά έχουν προκύψει n 1 εξισώσεις για τις L 1, L 2,..., L n 1. Αφού ɛ / B in B nnb nj B ij, συνάγεται από την επαγωγική υπόθεση ότι η L 1 μπορεί να αναπαρασταθεί από μία κανονική έκφραση, που θα περιέχει μόνο τις κανονικές εκφράσεις των B ij και C i. Θεώρημα 2.8 (Ισοδυναμία καν. εκφράσεων & καν. γλωσσών) Εστω L μία γλώσσα. Η L είναι κανονική γλώσσα, αν και μόνο αν υπάρχει μία κανονική έκφραση που περιγράφει την L. Απόδειξη: Η απόδειξη αυτού του θεωρήματος αποτελείται από δύο μέρη: Πρώτα αποδεικνύεται ότι κάθε κανονική έκφραση περιγράφει μία κανονική γλώσσα.

32 82 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Στη συνέχεια αποδεικνύεται ότι κάθε ΝΠΑ M μπορεί να μετατραπεί σε κανονική έκφραση, που περιγράφει τη γλώσσα L(M). Κάθε κανονική έκφραση περιγράφει μία κανονική γλώσσα Εστω R μία οποιαδήποτε κανονική έκφραση οριζόμενη ως προς ένα αλφάβητο Σ. Θα αποδείξουμε ότι η γλώσσα που περιγράφεται από την R είναι μία κανονική γλώσσα. Η απόδειξη γίνεται με επαγωγή ως προς τη δομή της R, δηλαδή με επαγωγή ως προς την κατασκευή της R με χρήση των κανόνων του Ορισμού 2.3. Πρώτη βασική περίπτωση: Υποθέστε ότι R = ɛ. Τότε, η R περιγράφει τη γλώσσα {ɛ}. Για να αποδειχθεί ότι αυτή η γλώσσα είναι κανονική, αρκεί από το Θεώρημα 2.2 να μπορεί να κατασκευαστεί ένα ΜΝΠΑ M = (K, Σ,, s, A) που την αποδέχεται. Για το M θα έχουμε K = {s}, A = {s} και (s, σ) = για όλα τα σ (Σ {ɛ}). Το παρακάτω σχήμα απεικονίζει το διάγραμμα καταστάσεων για το ΜΝΠΑ αυτόματο M: s Δεύτερη βασική περίπτωση: Υποθέστε ότι R =. Τότε, η R περιγράφει τη γλώσσα { }. Για να αποδειχθεί ότι αυτή η γλώσσα είναι κανονική, αρκεί από το Θεώρημα 2.2 να μπορεί να κατασκευαστεί ένα ΜΝΠΑ M = (K, Σ,, s, A) που την αποδέχεται. Για το M θα έχουμε K = {s}, A = και (s, σ) = για όλα τα σ (Σ {ɛ}). Το παρακάτω σχήμα απεικονίζει το διάγραμμα καταστάσεων για το ΜΝΠΑ αυτόματο M: s Τρίτη βασική περίπτωση: Υποθέστε ότι R = a. Τότε, η R περιγράφει τη γλώσσα {a}. Για να αποδειχθεί ότι αυτή η γλώσσα είναι κανονική, αρκεί από το Θεώρημα 2.2 να μπορεί να κατασκευαστεί ένα ΜΝΠΑ M = (K, Σ,, s, A) που την αποδέχεται. Για το M θα έχουμε K = {s, t}, A = {t} και (s, a) = {t} (s, σ) =, για όλα τα σ (Σ {ɛ}) \ {a} (t, σ) =, για όλα τα σ (Σ {ɛ}) Το παρακάτω σχήμα απεικονίζει το διάγραμμα καταστάσεων για το ΜΝΠΑ αυτόματο M: s α t

33 2.5. ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ 83 Πρώτη περίπτωση επαγωγικού βήματος: Υποθέστε ότι R = R 1 R 2, όπου R 1 και R 2 κανονικές εκφράσεις. Εστω ότι L 1 και L 2 είναι οι γλώσσες που περιγράφονται αντίστοιχα από τις R 1 και R 2 και ας υποθέσουμε ότι οι L 1 και L 2 είναι κανονικές. Τότε, η R περιγράφει τη γλώσσα L 1 L 2, που από το Θεώρημα 2.3 είναι κανονική. Δεύτερη περίπτωση επαγωγικού βήματος: Υποθέστε ότι R = R 1 R 2, όπου R 1 και R 2 κανονικές εκφράσεις. Εστω ότι L 1 και L 2 είναι οι γλώσσες που περιγράφονται αντίστοιχα από τις R 1 και R 2 και ας υποθέσουμε ότι οι L 1 και L 2 είναι κανονικές. Τότε, η R περιγράφει τη γλώσσα L 1 L 2, που από το Θεώρημα 2.4 είναι κανονική. Τρίτη περίπτωση επαγωγικού βήματος: Υποθέστε ότι R = (R 1 ), όπου R 1 είναι μία κανονική έκφραση. Εστω ότι η L 1, η γλώσσα που περιγράφονται από την R 1 είναι κανονική. Τότε, η R περιγράφει τη γλώσσα (L 1 ), που από το Θεώρημα 2.5 είναι κανονική. Με αυτό ολοκληρώνεται η απόδειξη του ισχυρισμού ότι κάθε κανονική έκφραση περιγράφει μία κανονική γλώσσα. Μετατροπή ενός ΝΠΑ σε κανονική έκφραση Εστω ένα οποιοδήποτε ΝΠΑ M = (K, Σ, δ, s, A). Θα δείξουμε ότι υπάρχει μία κανονική έκφραση, που περιγράφει τη γλώσσα L(M). Για κάθε κατάσταση r K, ορίζουμε: L r = {w Σ :το μονοπάτι για την w στο διάγραμμα καταστάσεων του M που αρχίζει από την r και τελειώνει σε μία κατάσταση του A} Περιφραστικά, η L r είναι η γλώσσα που γίνεται αποδεκτή από το M, αν η r είναι η αρχική κατάσταση. Θα δείξουμε ότι κάθε τέτοια γλώσσα L r μπορεί να περιγραφεί από μία κανονική έκφραση. Αφού L(M) = L s, αυτό αποδεικνύει ότι τελικά και η L(M) μπορεί να περιγραφεί από μία κανονική έκφραση. Η βασική ιδέα είναι να δημιουργηθούν εξισώσεις για τις γλώσσες L r, που στη συνέχεια θα επιλυθούν με χρήση του Λήμματος 2.1. Εστω λοιπόν w μια συμβολοσειρά της L r. Τότε, το μονοπάτι P στο διάγραμμα καταστάσεων του M, που αρχίζει από την r και αντιστοιχεί στην w, καταλήγει σε μία κατάσταση του A. Αφού r / A, το μονοπάτι αυτό θα έχει τουλάχιστο ένα τόξο. Εστω r η επόμενη κατάσταση από την r στο P. Τότε, r = δ(r, τ) για κάποιο σύμβολο τ Σ. Επομένως, το τ θα είναι το πρώτο σύμβολο της w και γι αυτό γράφουμε w = τv, όπου v είναι το υπόλοιπο μέρος της w. Τότε, το μονοπάτι P = P \ {r} στο διάγραμμα καταστάσεων του M,

34 84 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ που αρχίζει από την r και αντιστοιχεί στην v τελειώνει σε μία κατάσταση του A. Γι αυτό λοιπόν, v L r = L δ(r,τ). Επομένως, w τl δ(r,τ) σ Σ σl δ(r,σ) Αντίστροφα, έστω w μία συμβολοσειρά του σ Σ σl δ(r,σ). Τότε, υπάρχει ένα σύμβολο τ Σ και μία συμβολοσειρά v L δ(r,τ), τέτοια ώστε w = τv. Εστω P το μονοπάτι στο διάγραμμα καταστάσεων του M, που αρχίζει από την κατάσταση δ(r, τ) και αντιστοιχεί στην v. Αφού v L δ(r,τ), αυτό το μονοπάτι καταλήγει σε μία κατάσταση του A. Εστω P το μονοπάτι στο διάγραμμα καταστάσεων του M, που αρχίζει από την r και μέσω της μετάβασης προς την δ(r, τ) συνεχίζει με το P. Αυτό το μονοπάτι αντιστοιχεί στην w και καταλήγει σε μία κατάσταση του A. Επομένως, w L r. Εχει αποδειχτεί λοιπόν στην εξίσωση: L r = σ Σ σl δ(r,σ) αν r / A (2.1) Με αντίστοιχο τρόπο αποδεικνύεται ότι ισχύει και η παρακάτω εξίσωση: ( ) L r = ɛ σl δ(r,σ) αν r A (2.2) σ Σ Ετσι, καταλήγουμε με ένα σύνολο εξισώσεων με «αγνώστους» τα L r, για r K. Ο αριθμός των εξισώσεων είναι ίσος με το μέγεθος του K. Με άλλα λόγια, ο αριθμός των εξισώσεων είναι ίσος προς το πλήθος των «αγνώστων». Η κανονική έκφραση για τη γλώσσα L(M) = L s προκύπτει από την επίλυση αυτών των εξισώσεων χρησιμοποιώντας το Λήμμα 2.1. Ομως πριν, πρέπει να δείξουμε ότι αυτές οι εξισώσεις έχουν μία λύση. Είναι εύκολο να επαληθευτεί ότι οι (2.1) και (2.2) έχουν τη μορφή των εξισώσεων του Λήμματος 2.2, που μας εγγυάται την ύπαρξη μιας λύσης, που μπορεί να εκφραστεί από μία κανονική έκφραση. Παράδειγμα 2.9 (Κατασκευή ΜΝΠΑ από κανονική έκφραση) Ας θεωρήσουμε την κανονική έκφραση (ab a) με αλφάβητο το {a, b}. Θε δείξουμε την κατασκευή ενός ΜΝΠΑ που αποδέχεται την ίδια γλώσσα με αυτή που περιγράφεται από την κανονική έκφραση. Παρατηρήστε το πώς έχει συντεθεί η κανονική έκφραση:

35 2.5. ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ 85 Οι κανονικές εκφράσεις a και b συνδυάζονται στην κανονική έκφραση ab. Οι κανονικές εκφράσεις ab και a συνδυάζονται στην κανονική έκφραση ab a. Από την κανονική έκφραση ab a παίρνουμε την (ab a). Αρχικά κατασκευάζουμε το ΝΠΑ M 1 που αποδέχεται τη γλώσσα, που περιγράφεται από την κανονική έκφραση a: M 1 α Στη συνέχεια κατασκευάζουμε το ΝΠΑ M 2 που αποδέχεται τη γλώσσα, που περιγράφεται από την κανονική έκφραση b: M 2 b Μετά εφαρμόζουμε την κατασκευή, που περιγράφεται στην απόδειξη του Θεώρηματος 2.4 στα αυτόματα M 1 και M 2. Το αποτέλεσμα είναι το ΝΠΑ M 3, που αποδέχεται τη γλώσσα της κανονικής έκφρασης ab: α ɛ b M 3 Στη συνέχεια χρησιμοποιούμε την κατασκευή, της απόδειξης του Θεώρηματος 2.3 με τα αυτόματα M 3 και M 1. Το αποτέλεσμα είναι το ΝΠΑ M 4, που αποδέχεται τη γλώσσα της κανονικής έκφρασης ab a: ɛ α ɛ b M 4 ɛ α Τέλος, εφαρμόζουμε την κατασκευή, της απόδειξης του Θεώρηματος 2.5 στο αυτόματο M 4. Το αποτέλεσμα είναι το ΝΠΑ M 5, που αποδέχεται τη γλώσσα της κανονικής έκφρασης (ab a) :

36 86 ΚΕΦ ΑΛΑΙΟ 2. ΚΑΝ. ΓΛΩΣΣΕΣ & ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ɛ M 5 ɛ ɛ α ɛ b ɛ α ɛ Παράδειγμα 2.10 (Μετατροπή ΝΠΑ σε κανονική έκφραση) Ας θεωρήσουμε το ΝΠΑ M = (K, Σ, δ, q 0, A), όπου K = {q 0, q 1, q 2 }, Σ = {a, b}, q 0 είναι η αρχική κατάσταση, A = {q 2 } και η δ απεικονίζεται στο παρακάτω διάγραμμα καταστάσεων. Δείχνουμε το πώς παίρνουμε την κανονική έκφραση, που περιγράφει τη γλώσσα που αποδέχεται το M. α b q 0 q 2 b α b α q 1 Σχήμα 2.12: Το ΝΠΑ M που πρόκειται να μετατραπεί σε κανονική έκφραση Γι αυτή την περίπτωση, οι (2.1) και (2.2) δίνουν τις παρακάτω εξισώσεις: L q0 = al q0 bl q2 L q1 = al q0 bl q1 L q2 = ɛ al q1 bl q0 Στην τρίτη εξίσωση, η L q2 εκφράζεται ως προς τις L q0 και L q1. Επομένως, αν αντικαταστήσουμε την τρίτη εξίσωση στην πρώτη και χρησιμοποιήσουμε το

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

Πεπερασμένος έλεγχος καταστάσεων Κεφάλαιο 6 Μηχανές Turing Σύνοψη Οι Μηχανές Turing (ΜΤ) δεν είναι απλά μία ακόμη μηχανή αναγνώρισης για κάποια ευρύτερη οικογένεια γλωσσών από τις γλώσσες, που γίνονται δεκτές από τα Αυτόματα Στοίβας.

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

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

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

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

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

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

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

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 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

aab aabb aaabb aaaabb aaaabb aaaabb

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ Εισαγωγή Οι αριθμοί που εκφράζουν το πλήθος των στοιχείων ανά αποτελούν ίσως τους πιο σημαντικούς αριθμούς της Συνδυαστικής και καλούνται διωνυμικοί συντελεστές διότι εμφανίζονται

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

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

Μοντελοποίηση υπολογισμού. Θέματα Υπολογισμού στον Πολιτισμό Πεπερασμένα αυτόματα Μοντελοποίηση υπολογισμού Πεπερασμένα αυτόματα Πεπερασμένα αυτόματα; Πεπερασμένα αυτόματα; Πεπερασμένα αυτόματα; Μηχανές πεπερασμένης κατάστασης Πεπερασμένο σύνολο καταστάσεων Καθορισμένη κατάσταση εκκίνησης

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1 Κεφάλαιο 2: Στοιχεία Λογικής - Μέθοδοι Απόδειξης 1. Να αποδειχθεί ότι οι λογικοί τύποι: (p ( (( p) q))) (p q) και p είναι λογικά ισοδύναμοι. Θέλουμε να αποδείξουμε ότι: (p ( (( p) q))) (p q) p, ή με άλλα

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

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

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

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

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

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

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

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Πεπερασμένες και Διαιρεμένες Διαφορές Εισαγωγή Θα εισάγουμε την έννοια των διαφορών με ένα

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

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

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

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

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

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

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

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

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

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

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, η οποία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr I ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ i e ΜΕΡΟΣ Ι ΟΡΙΣΜΟΣ - ΒΑΣΙΚΕΣ ΠΡΑΞΕΙΣ Α Ορισμός Ο ορισμός του συνόλου των Μιγαδικών αριθμών (C) βασίζεται στις εξής παραδοχές: Υπάρχει ένας αριθμός i για τον οποίο ισχύει i Το σύνολο

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

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Στοιχεία προτασιακής λογικής Περιεχόμενα

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

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

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

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

2 n N: 0, 1,..., n A n + 1 A

2 n N: 0, 1,..., n A n + 1 A Θεωρία Υπολογισμού Ενότητα 5: Τεχνικές απόδειξης & Κλειστότητα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

f x 0 για κάθε x και f 1

f x 0 για κάθε x και f 1 06 4.2 Το Λήμμα του Uysoh το Λήμμα της εμφύτευσης και το θεώρημα μετρικοποίησης του Uysoh. Ο κύριος στόχος αυτής της παραγράφου είναι η απόδειξη ενός θεμελιώδους αποτελέσματος γνωστού ως το Λήμμα του Uysoh.

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

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

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

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

Σχέδιο Μαθήματος - "Ευθεία Απόδειξη"

Σχέδιο Μαθήματος - Ευθεία Απόδειξη Σχέδιο Μαθήματος - "Ευθεία Απόδειξη" ΤΑΞΗ: Α Λυκείου Μάθημα: Άλγεβρα Τίτλος Ενότητας: Μέθοδοι Απόδειξης - Ευθεία απόδειξη Ώρες Διδασκαλίας: 1. Σκοποί Να κατανοήσουν οι μαθητές την διαδικασία της ευθείας

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

t M (w) T ( w ) O( n) = O(n 2 )

t M (w) T ( w ) O( n) = O(n 2 ) Κεφάλαιο 9 Υπολογιστική Πολυπλοκότητα Σύνοψη Πέρα από το ερώτημα του αν για ένα πρόβλημα υπάρχει Μηχανή Turing, που το επιλύει, μας απασχολεί επίσης και το ερώτημα του αν ένα πρόβλημα είναι «πρακτικά»

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

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

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

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες

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

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

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

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

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

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

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

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

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

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

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο

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

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

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

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

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

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

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

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

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

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

110 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ - ΜΗ ΚΑΝ. ΓΛΩΣΣΕΣ 3.1 Ελάχιστα ΠΑ Οταν χρησιμοποιούμε ΠΑ σε διάφορες εφαρμογές και προβλήματα, μας ενδιαφέρει να βρούμε

110 ΚΕΦΑΛΑΙΟ 3. ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ - ΜΗ ΚΑΝ. ΓΛΩΣΣΕΣ 3.1 Ελάχιστα ΠΑ Οταν χρησιμοποιούμε ΠΑ σε διάφορες εφαρμογές και προβλήματα, μας ενδιαφέρει να βρούμε Κεφάλαιο 3 Ελαχιστοποίηση και Μη Κανονικές Γλώσσες Σύνοψη Στο συγκεκριμένο κεφάλαιο, θα έχουμε την ευκαιρία να δούμε πώς μπορούμε να βρούμε την πιο σύντομη και οικονομική περιγραφή μιας κανονικής γλώσσας,

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