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

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

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

Transcript

1 Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων καταστάσεων: Συστήματα που έχουν εσωτερικές καταστάσεις και προκαθορισμένο τρόπο μετάβασης από μία κατάσταση σε άλλη με βάση την τρέχουσα κατάσταση και την είσοδο (συνήθως ενέργεια κάποιου χρήστη). Μπορεί να έχουν και έξοδο. Εφαρμογές σε πλήθος επιστημονικών πεδίων Εισαγωγή στην Επιστήμη των Υπολογιστών 2 Παράδειγμα: πωλητής καφέ (i) Προδιαγραφές ύο είδη καφέ: ελληνικός ή φρέντο. Κόστος καφέ: 40 λεπτά. Επιτρέπονται κέρματα 10, 20, ή 50 λεπτών. Παράδειγμα: πωλητής καφέ (ii) Σχεδίαση του συστήματος Εσωτερικές καταστάσεις: q0, q1, q2, q3, q4, q5 (qi: εκφράζει ότι έχουν δοθεί μέχρι στιγμής 10*i λεπτά). Πιθανές είσοδοι (ενέργειες): Ρ1, Ρ2, Ρ5 (ρίψη κέρματος 10, 20, ή 50 λεπτών), Κ1, Κ2 (πάτημα κουμπιού 1 για ελληνικό καφέ, ή 2 για φρέντο). Πιθανές έξοδοι: E1, E2, E3, E4, E5 (Ei: εκφράζει ότι επιστρέφονται 10*i λεπτά), ΕΛ (παροχή ελληνικού καφέ), ΦΡ (παροχή φρέντο). Εισαγωγή στην Επιστήμη των Υπολογιστών 3 Εισαγωγή στην Επιστήμη των Υπολογιστών 4 Παράδειγμα: πωλητής καφέ (iii) Πίνακας καταστάσεων: δείχνει ποια είναι η επόμενη κατάσταση και η έξοδος για κάθε συνδυασμό τρέχουσας κατάστασης και εισόδου. Αρχική κατάσταση: q0. Είσοδος Κατάστ. q0 q1 q2 q3 q4 Ρ1 q1, - q2, - q3, - q4, - q4, Ε1 Ρ2 q2, - q3, - q4, - q4, Ε1 q4, E2 Ρ5 q4, Ε1 q4, E2 q4, E3 q4, E4 q4, E5 Κ1 q0, - q1, - q2, - q3, - q0, ΕΛ Κ2 q0, - q1, - q2, - q3, - q0, ΦΡ Παράδειγμα: πωλητής καφέ (iv) ιάγραμμα καταστάσεων: παρέχει τις ίδιες πληροφορίες με τον πίνακα καταστάσεων με πιο εποπτικό τρόπο. Αρχική κατάσταση: q0 (σημειώνεται με βέλος). Ρ1/E1 Ρ2/E2 Ρ5/E5 K1/EΛ K2/ΦΡ q0 q4 Ρ5/E1 Ρ5/E2 Ρ1/- Ρ2/- q3 q1 K1/- K2/- q2 K1/- K2/- Ρ1/- Εισαγωγή στην Επιστήμη των Υπολογιστών 5 Εισαγωγή στην Επιστήμη των Υπολογιστών 6 1

2 Αυτόματα (i) Ένα αυτόματο έχει μερικές εσωτερικές καταστάσεις q 0, q 1, q 7, q 15,..., και μια συνάρτηση μετάβασης δ που καθορίζει την επόμενη κατάσταση του αυτομάτου με βάση την τρέχουσα κατάσταση και την συμβολοσειρά εισόδου. Αυτόματα (ii) Μηχανισμοί: χωρίς είσοδο έξοδο. δ(q i ) = q j εκτέλεση: q 0 q j q k q m... Αυτόματα πεπερασμένων καταστάσεων (FSA): με είσοδο που γίνεται αποδεκτή ή απορρίπτεται. δ(q i, α) =q j ( εισόδου (a είναι ένα από τα σύμβολα της εκτέλεση: εξαρτάται από την είσοδο Εισαγωγή στην Επιστήμη των Υπολογιστών 7 Εισαγωγή στην Επιστήμη των Υπολογιστών 8 Παράδειγμα FSA για αναγνώριση περιττών δυαδικών αριθμών 1 0 q 0 q q 0 : το τελευταίο ψηφίο που διαβάστηκε είναι διάφορο του 1. q 1 : το τελευταίο ψηφίο που διαβάστηκε είναι ίσο με 1. η q 0 είναι αρχική κατάσταση ενώ η q 1 είναι κατάσταση αποδοχής (ή τελική). Ισχυρότερα αυτόματα Μηχανές πεπερασμένων καταστάσεων (FSM): είναι FSA με έξοδο: δ(q i, α) = (q k, β) Αυτόματα στοίβας (PDA, pushdown automata): έχουν πολύ περισσότερες δυνατότητες καθώς έχουν μνήμη (σε μορφή στοίβας). Μηχανές Turing (TM): έχουν ακόμη περισσότερες δυνατότητες καθώς έχουν απεριόριστη μνήμη (σε μορφή ταινίας). Γραμμικά περιορισμένα αυτόματα (LBA): είναι ΤΜ με μνήμη περιορισμένη γραμμικά ως προς το μήκος της εισόδου. Εισαγωγή στην Επιστήμη των Υπολογιστών 9 Εισαγωγή στην Επιστήμη των Υπολογιστών 10 Αυτόματα και τυπικές γλώσσες Τυπικές γλώσσες Τυπικές γλώσσες: χρησιμοποιούνται για την περιγραφή υπολογιστικών προβλημάτων αλλά και γλωσσών προγραμματισμού. Αυτόματα: χρησιμεύουν για την αναγνώριση τυπικών γλωσσών και για την κατάταξη της δυσκολίας των αντίστοιχων προβλημάτων. Κάθε αυτόματο (χωρίς έξοδο) αναγνωρίζει μια τυπική γλώσσα: το σύνολο των συμβολοσειρών που το οδηγούν σε τελική κατάσταση. Εισαγωγή στην Επιστήμη των Υπολογιστών 11 Εισαγωγή στην Επιστήμη των Υπολογιστών 12 2

3 Ορισμός DFA Παράδειγμα DFA Εισαγωγή στην Επιστήμη των Υπολογιστών 13 Εισαγωγή στην Επιστήμη των Υπολογιστών 14 Παράδειγμα γλώσσας με DFA και γλώσσας χωρίς DFA Επέκταση ορισμού συνάρτησης δ DFA έχεται ως ορίσματα μια κατάσταση q και μια συμβολοσειρά w και δίνει την κατάσταση όπου θα βρεθεί το αυτόματο αν ξεκινήσει από την q καιδιαβάσειτηνw. Εισαγωγή στην Επιστήμη των Υπολογιστών 15 Εισαγωγή στην Επιστήμη των Υπολογιστών 16 Γλώσσα αποδεκτή από DFA Μη ντετερμινιστικά πεπερασμένα αυτόματα (NFA) Εισαγωγή στην Επιστήμη των Υπολογιστών 17 Εισαγωγή στην Επιστήμη των Υπολογιστών 18 3

4 Παράδειγμα NFA Τυπικός ορισμός NFA 19 Εισαγωγή στην Επιστήμη των Υπολογιστών 20 Γλώσσα αποδεκτή από NFA Ισοδυναμία DFA και NFA (i) Σημείωση: η συνάρτησηδ είναι επεκτεταμένη ώστε να δέχεται σαν ορίσματα μια κατάσταση q και μια συμβολοσειρά w και να δίνει το σύνολο των καταστάσεων όπου μπορεί να βρεθεί το αυτόματο αν ξεκινήσει από την q καιδιαβάσειτηνw. Εισαγωγή στην Επιστήμη των Υπολογιστών 21 Εισαγωγή στην Επιστήμη των Υπολογιστών 22 Ισοδυναμία DFA και NFA (ii) Παράδειγμα μετατροπής NFA σε DFA (i) Έστω το NFA Μ = (Q,Σ,q 0,F,δ). Ένα ισοδύναμο DFA M'= (Q',Σ,q ' 0,F',δ'), ορίζεται ως εξής: Q' = Pow(Q), δηλαδή οι καταστάσεις του Μ είναι όλα τα υποσύνολα καταστάσεων του Μ. q ' 0 = {q 0 }, F' = {R Q' R F }, δηλαδή μια κατάσταση του Μ είναι τελική αν περιέχει μια τελική κατάσταση του Μ. δ'(r, a) = {q Q q δ(r, a) για r R}, δηλαδή δ'(r, a) είναι το σύνολο των καταστάσεων όπου μπορεί να βρεθεί το Μ ξεκινώντας από οποιαδήποτε κατάσταση του R και διαβάζοντας a. NFA για τη γλώσσα L 4 ("2 συνεχόμενα a "): DFA για τη γλώσσα L 4 : Εισαγωγή στην Επιστήμη των Υπολογιστών 23 Εισαγωγή στην Επιστήμη των Υπολογιστών 24 4

5 Παράδειγμα μετατροπής NFA σε DFA (ii) NFA για τη γλώσσα L 4 : Παράδειγμα μετατροπής NFA σε DFA (ii) NFA για τη γλώσσα L 4 : DFA για τη γλώσσα L 4 : DFA για τη γλώσσα L 4 : Εισαγωγή στην Επιστήμη των Υπολογιστών 25 Εισαγωγή στην Επιστήμη των Υπολογιστών 26 Παράδειγμα μετατροπής NFA σε DFA (ii) NFA για τη γλώσσα L 4 : Παράδειγμα μετατροπής NFA σε DFA (ii) NFA για τη γλώσσα L 4 : DFA για τη γλώσσα L 4 : DFA για τη γλώσσα L 4 : Εισαγωγή στην Επιστήμη των Υπολογιστών 27 Εισαγωγή στην Επιστήμη των Υπολογιστών 28 Παράδειγμα μετατροπής NFA σε DFA (ii) NFA για τη γλώσσα L 4 : DFA για τη γλώσσα L 4 : Αυτόματα με ε-κινήσεις: NFA ε Τα μη ντετερμινιστικά αυτόματα με ε-κινήσεις (NFA ε ) επιτρέπουν και ορισμένες μεταβάσεις χωρίς να διαβάζεται σύμβολο (ισοδύναμα: με είσοδο το κενό string ε). Αποδέχονται τις συμβολοσειρές που μπορούν να οδηγήσουν σε τελική κατάσταση, χρησιμοποιώντας ενδεχομένως και ε-κινήσεις. Εισαγωγή στην Επιστήμη των Υπολογιστών 29 Εισαγωγή στην Επιστήμη των Υπολογιστών 30 5

6 Τυπικός ορισμός NFA ε Γλώσσα αποδεκτή από NFA ε Σημείωση: η συνάρτηση δ είναι επεκτεταμένη ώστε να δέχεται σαν ορίσματα μια κατάσταση q και μια συμβολοσειρά w και να δίνει το σύνολο των καταστάσεων όπου μπορεί να βρεθεί το αυτόματο αν ξεκινήσει από την q καιδιαβάσειτηνw, χρησιμοποιώντας ενδεχομένως και ε-κινήσεις όπου αυτό επιτρέπεται. Εισαγωγή στην Επιστήμη των Υπολογιστών 31 Εισαγωγή στην Επιστήμη των Υπολογιστών 32 ε-κλείσιμο Για να ορίσουμε τυπικά την αποδοχή σε NFA ε, αλλά και για να δείξουμε την ισοδυναμία με DFA, χρειαζόμαστε την έννοια του ε-κλεισίματος μιας κατάστασης q, που είναι το σύνολο των καταστάσεων στις οποίες μπορεί να φτάσει το αυτόματο ξεκινώντας από την q και χρησιμοποιώντας μόνο ε-κινήσεις. Ισοδυναμία NFA ε και DFA Έστω το NFA ε Μ = (Q,Σ,q 0,F,δ). Ένα ισοδύναμο DFA M'= (Q',Σ,q ' 0,F',δ'), ορίζεται ως εξής: Q' = Pow(Q), δηλαδή οι καταστάσεις του Μ είναι όλα τα υποσύνολα καταστάσεων του Μ. q ' 0 = ε-κλείσιμο(q 0 ), F' = {R Q' R F }, δηλαδή μια κατάσταση του Μ είναι τελική αν περιέχει μια τελική κατάσταση του Μ. δ'(r, a) = {q Q q ε-κλείσιμο(δ(r, a)) για r R}, δηλαδή δ'(r, a) είναι το σύνολο των καταστάσεων όπου μπορεί να βρεθεί το Μ ξεκινώντας από οποιαδήποτε κατάσταση του R και διαβάζοντας a και χρησιμοποιώντας στη συνέχεια ε-κινήσεις. Εισαγωγή στην Επιστήμη των Υπολογιστών 33 Εισαγωγή στην Επιστήμη των Υπολογιστών 34 Παράδειγμα ισοδυναμίας NFA ε και DFA Ελαχιστοποίηση DFA (i) ύο καταστάσεις μπορούν να συγχωνευτούν σε μία αν: είναι και οι δύο τελικές ή και οι δύο μη τελικές, και οδηγούν με τα ίδια σύμβολα σε ίδιες καταστάσεις. x 1 x 2 x k q i 0 q 0 1 q 1 y 1 y 2 y n 0 q m 1 0, 1 Εισαγωγή στην Επιστήμη των Υπολογιστών 35 Εισαγωγή στην Επιστήμη των Υπολογιστών 36 6

7 x 1 x 2 x k Ελαχιστοποίηση DFA (ii) q 0 1 q 1 1 y 1 y 2 y n q i q m 0 0 x 1 x 2 x k 0 q 0 q im q 1 y 1 y 2 y n 0, 1 0, 1 Ελαχιστοποίηση DFA: παράδειγμα Αρχικό DFA: Ελάχιστο DFA: 1 Εισαγωγή στην Επιστήμη των Υπολογιστών 37 Εισαγωγή στην Επιστήμη των Υπολογιστών 38 Μέθοδος ελαχιστοποίησης DFA Εξαλείφουμε τις απρόσιτες καταστάσεις Σημειώνουμε ως διακρίσιμες δύο καταστάσεις αν: η μία είναι τελική ενώ η άλλη όχι οδηγούν με ένα ή περισσότερα σύμβολα σε διακρίσιμες καταστάσεις (βλ. παρακάτω για αναλυτική μέθοδο) Συγχωνεύουμε ισοδύναμες (= μη διακρίσιμες) καταστάσεις. Η μέθοδος αναλυτικά Κατασκευάζουμε πίνακα για να συγκρίνουμε κάθε ζεύγος καταστάσεων. Βάζουμε ένα X σε κάθε θέση του πίνακα κάθε φορά που ανακαλύπτουμε ότι δύο καταστάσεις δεν είναι ισοδύναμες. Αρχικά εγγράφουμε X σε όλα τα ζεύγη που προφανώς διακρίνονται γιατί η μία είναι τελική και η άλλη δεν είναι. Μετά προσπαθούμε να δούμε αν διακρίνονται δύο καταστάσεις, διότι από αυτές με ένα σύμβολο a οδηγούμαστε σε διακρίσιμες καταστάσεις. Επαναλαμβάνουμε την πιο πάνω προσπάθεια ώσπου να μην προστίθεται κανένα X πια στον πίνακα. Τα υπόλοιπα ζευγάρια είναι μη διακρίσιμα, δηλαδή ισοδύναμα (και επομένως συγχωνεύσιμα). Εισαγωγή στην Επιστήμη των Υπολογιστών 39 Εισαγωγή στην Επιστήμη των Υπολογιστών 40 Παράδειγμα εφαρμογής της μεθόδου (i) Παράδειγμα εφαρμογής της μεθόδου (ii) 41 Εισαγωγή στην Επιστήμη των Υπολογιστών 42 7

8 Άλλο παράδειγμα ελαχιστοποίησης DFA DFA για τη γλώσσα L 4 = { w {a,b}* w περιέχει 2 συνεχόμενα a }: Γλώσσες, αυτόματα, γραμματικές Τυπικές γλώσσες: χρησιμοποιούνται για την περιγραφή υπολογιστικών προβλημάτων αλλά και γλωσσών προγραμματισμού. Αυτόματα: χρησιμεύουν για την αναγνώριση τυπικών γλωσσών και για την κατάταξη της δυσκολίας των αντίστοιχων προβλημάτων. Κάθε αυτόματο (χωρίς έξοδο) αναγνωρίζει μια τυπική γλώσσα. Tυπικές γραμματικές: άλλος τρόπος περιγραφής τυπικών γλωσσών. Κάθε τυπική γραμματική παράγει μια τυπική γλώσσα. Εισαγωγή στην Επιστήμη των Υπολογιστών 43 Εισαγωγή στην Επιστήμη των Υπολογιστών 44 Τυπικές γλώσσες Τυπικές γλώσσες (συν.) Πρωταρχικές έννοιες: σύμβολα, παράθεση. Αλφάβητο: πεπερασμένο σύνολο συμβόλων. Π.χ. {0,1}, {x,y,z}, {a,b}. Λέξη (ή συμβολοσειρά, ή πρόταση) ενός αλφαβήτου: πεπερασμένου μήκους ακολουθία συμβόλων του αλφαβήτου. Π.χ , abbbab. w = μήκος λέξης w. ε = κενή λέξη. vw = παράθεση λέξεων v και w. Άλλες έννοιες: πρόθεμα (prefix), κατάληξη (suffix), υποσυμβολοσειρά (substring), αντίστροφη (reversal), παλινδρομική ή καρκινική (palindrome). Εισαγωγή στην Επιστήμη των Υπολογιστών 45 Εισαγωγή στην Επιστήμη των Υπολογιστών 46 Παράδειγμα γραμματικής για την γλώσσα των περιττών αριθμών S Χ 1 Χ Χ 0 Χ Χ 1 Χ ε S: το αρχικό σύμβολο X: μη τερματικό σύμβολο 0,1: τερματικά σύμβολα ε: η κενήσυμβολοσειρά Τυπικές γραμματικές (i) Τα S και X αντικαθίστανται με βάση τους κανόνες Κανονική παράσταση: (0+1)*1 Εισαγωγή στην Επιστήμη των Υπολογιστών 47 Εισαγωγή στην Επιστήμη των Υπολογιστών 48 8

9 Τυπικές γραμματικές (ii) Παράδειγμα τυπικής γραμματικής Πιθανή ακολουθία παραγωγής: Γλώσσα που παράγεται: Εισαγωγή στην Επιστήμη των Υπολογιστών 49 Εισαγωγή στην Επιστήμη των Υπολογιστών 50 Ιεραρχία Γραμματικών Chomsky (i) Ιεραρχία Γραμματικών Chomsky (ii) Εισαγωγή στην Επιστήμη των Υπολογιστών 51 Εισαγωγή στην Επιστήμη των Υπολογιστών 52 Κανονικές παραστάσεις (Regular Expressions) Ορισμός κανονικών παραστάσεων Εισαγωγή στην Επιστήμη των Υπολογιστών 53 Εισαγωγή στην Επιστήμη των Υπολογιστών 54 9

10 Παραδείγματα κανονικών παραστάσεων Ισοδυναμία κανονικών παραστάσεων και αυτομάτων Εισαγωγή στην Επιστήμη των Υπολογιστών 55 Εισαγωγή στην Επιστήμη των Υπολογιστών Επαγωγικό βήμα. Έστω ότι για r1, r2 έχουμε αυτόματα Μ1, Μ2, με τελικές καταστάσεις f1, f2: Ισοδυναμία κανονικών παραστάσεων και αυτομάτων (συν.) <= : Κατασκευή κανονικής παράστασης από FA Απαλείφουμε ενδιάμεσες καταστάσεις σύμφωνα με το σχήμα: Εισαγωγή στην Επιστήμη των Υπολογιστών 57 Εισαγωγή στην Επιστήμη των Υπολογιστών 58 Παράδειγμα κατασκευής κανονικής παράστασης από FA Κανονικές Γραμματικές Οι κανονικές γραμματικές είναι γραμματικές όπου όλοι οι κανόνες είναι της μορφής: εξιογραμμικοί (right linear) A wb ή A w Αριστερογραμμικοί (left linear) A Bw ή A w (όπου w είναι μια ακολουθία από τερματικά σύμβολα της γλώσσας) Οι κανονικές γλώσσες είναι γλώσσες που παράγονται από κανονικές γραμματικές Εισαγωγή στην Επιστήμη των Υπολογιστών 59 Εισαγωγή στην Επιστήμη των Υπολογιστών 60 10

11 Pumping Lemma (i) Pumping Lemma (ii) Έστω κανονική γλώσσα L. Τότε: Εισαγωγή στην Επιστήμη των Υπολογιστών 61 Εισαγωγή στην Επιστήμη των Υπολογιστών 62 Pumping Lemma (iii) Έστω κανονική γλώσσα L. Τότε: υπάρχει ένας φυσικός n (= πλήθος καταστάσεων του DFA) ώστε: για κάθε z L με μήκος z n υπάρχει «σπάσιμο» του z σε u, v, w, δηλαδή z = uvw, με uv n και v > 0 ώστε για κάθε i = 0, 1, 2,... : uv i w L Απόδειξη ότι μια γλώσσα δεν είναι κανονική Χρήση του Pumping Lemma γιαναδείξουμεότιμια (μη πεπερασμένη) γλώσσα L δεν είναι κανονική: αν η L ήταν κανονική τότε το PL λέει ότι υπάρχει n εμείς μπορούμε να επιλέξουμε z L με μήκος z n το PL λέει ότι υπάρχει «σπάσιμο» z = uvw, με uv n και v > 0 εμείς μπορούμε να επιλέξουμε i ώστε η λέξη uv i w να μην είναι στη γλώσσα L ΑΤΟΠΟ Εισαγωγή στην Επιστήμη των Υπολογιστών 63 Εισαγωγή στην Επιστήμη των Υπολογιστών 64 Παράδειγμα χρήσης Pumping Lemma (i) Θεώρημα: Η γλώσσα L = {z: z έχει τον ίδιο αριθμό από 0 και 1} δεν είναι κανονική. Απόδειξη: το PL λέει ότι υπάρχει n εμείς επιλέγουμε z= 0 n 1 n L με μήκος z = 2n n z = n το PL λέει ότι υπάρχει «σπάσιμο» z = uvw, με uv n και v > 0 n Παράδειγμα χρήσης Pumping Lemma (ii) Υπάρχει μία μόνο (ουσιαστικά) περίπτωση: w = u v w Η επανάληψη του v δίνει λέξεις που δεν είναι στη γλώσσα L: π.χ. uv 2 w δεν ανήκει στην L. ΑΤΟΠΟ Επομένως η L δεν είναι κανονική. Εισαγωγή στην Επιστήμη των Υπολογιστών 65 Εισαγωγή στην Επιστήμη των Υπολογιστών 66 11

12 εύτερο παράδειγμα χρήσης PL (i) Θεώρημα: L = {0 i 1 j : i > j} δεν είναι κανονική. Απόδειξη: το PL λέει ότι υπάρχει n εμείς επιλέγουμε z = 0 n+1 1 n L με μήκος z = 2n+1 n z = n+1 n το PL λέει ότι υπάρχει «σπάσιμο» z = uvw, με uv n και v > 0. εύτερο παράδειγμα χρήσης PL (ii) Υπάρχει μία μόνο (ουσιαστικά) περίπτωση: z = u v w η επανάληψη του v δίνει λέξεις της γλώσσας (;) από πρώτη άποψη αυτό φαίνεται προβληματικό το λήμμα ορίζει ότι θα πρέπει για κάθε i 0, uv i w L όμως, ηλέξηuv 0 w δεν είναι στην L. ΑΤΟΠΟ Επομένως η L δεν είναι κανονική. Εισαγωγή στην Επιστήμη των Υπολογιστών 67 Εισαγωγή στην Επιστήμη των Υπολογιστών 68 Χρήση pumping lemma (adversary argument) Παράδειγμα χρήσης Pumping Lemma με adversary argument ΑΤΟΠΟ Εισαγωγή στην Επιστήμη των Υπολογιστών 69 Εισαγωγή στην Επιστήμη των Υπολογιστών 70 Γραμματικές Χωρίς Συμφραζόμενα (Context Free) [i] Context Free Grammars Εισαγωγή στην Επιστήμη των Υπολογιστών 71 Εισαγωγή στην Επιστήμη των Υπολογιστών 72 12

13 Γραμματικές Χωρίς Συμφραζόμενα (Context Free) [ii] Συντακτικά ένδρα (parse trees) (i) Φύλλωμα (leafstring): aaabbb και bbba αντίστοιχα. Εισαγωγή στην Επιστήμη των Υπολογιστών 73 Εισαγωγή στην Επιστήμη των Υπολογιστών 74 Συντακτικά ένδρα (ii) Συντακτικά ένδρα (iii) Εισαγωγή στην Επιστήμη των Υπολογιστών 75 Εισαγωγή στην Επιστήμη των Υπολογιστών 76 ιφορούμενες γραμματικές Μια γραμματική G ονομάζεται διφορούμενη αν υπάρχουν δύο συντακτικά δένδρα με το ίδιο φύλλωμα w є L(G). Εγγενώς διφορούμενες γραμματικές Για την γλώσσα του προηγούμενου παραδείγματος υπάρχει και μη διφορούμενη γραμματική που την παράγει (άσκηση). Υπάρχουν όμως και γλώσσες χωρίς συμφραζόμενα για τιςοποίεςόλεςοιγραμματικέςπουτιςπαράγουνείναι διφορούμενες. Μιατέτοιαγλώσσα(καθώς και κάθε γραμματική που την παράγει) λέγεται εγγενώς διφορούμενη (inherently ambiguous). Παράδειγμα: Εισαγωγή στην Επιστήμη των Υπολογιστών 77 Εισαγωγή στην Επιστήμη των Υπολογιστών 78 13

14 Απλοποίηση Γραμματικών Κανονικές Μορφές Εισαγωγή στην Επιστήμη των Υπολογιστών 79 Εισαγωγή στην Επιστήμη των Υπολογιστών 80 Αλγόριθμος CYK Αυτόματα Στοίβας (PushDown Automata PDA) [i] Εισαγωγή στην Επιστήμη των Υπολογιστών 81 Εισαγωγή στην Επιστήμη των Υπολογιστών 82 Αυτόματα Στοίβας (PushDown Automata PDA) [ii] Αυτόματα Στοίβας (PushDown Automata PDA) [iii] Εισαγωγή στην Επιστήμη των Υπολογιστών 83 Εισαγωγή στην Επιστήμη των Υπολογιστών 84 14

15 Αυτόματα Στοίβας (PushDown Automata PDA) [iv] Αυτόματα Στοίβας (PushDown Automata PDA) [v] Εισαγωγή στην Επιστήμη των Υπολογιστών 85 Εισαγωγή στην Επιστήμη των Υπολογιστών 86 Σχέση context free γλωσσών και PDA Γενικές Γραμματικές (i) Εισαγωγή στην Επιστήμη των Υπολογιστών 87 Εισαγωγή στην Επιστήμη των Υπολογιστών 88 Γενικές Γραμματικές (ii) Γραμματικές με Συμφραζόμενα (context sensitive) [i] Εισαγωγή στην Επιστήμη των Υπολογιστών 89 Εισαγωγή στην Επιστήμη των Υπολογιστών 90 15

16 Γραμματικές με Συμφραζόμενα (context sensitive) [ii] Σχέση context sensitive γλωσσών και LBA Εισαγωγή στην Επιστήμη των Υπολογιστών 91 Εισαγωγή στην Επιστήμη των Υπολογιστών 92 Iεραρχία κλάσεων γλωσσών Εισαγωγή στην Επιστήμη των Υπολογιστών 93 16

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί Αριθμήσιμα σύνολα Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Ορισμός Πόσα στοιχεία έχει το σύνολο {a, b, r, q, x}; Οσα και το σύνολο {,,, 4, 5} που είναι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { xyxy rev x {a, b}, y {a, b} * } (α) Μια γραμματική για τη γλώσσα έχει ως εξής: S as a

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΙΑΚΡΙΤΕΣ ΜΕΘΟ ΟΙ ΓΙΑ ΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ η Γραπτή Εργασία-Ενδεικτικές Λύσεις Επιµέλεια:. Σούλιου Θέµα (Κανονικές

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a m b n c p m,n,p 0 και είτε m + n = p είτε m = n + p } (β) { xx rev yy rev x, y {a,b}

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

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

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

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

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

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

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

10.1 Υπολογίσιμες συναρτήσεις και αναδρομικά σύνολα

10.1 Υπολογίσιμες συναρτήσεις και αναδρομικά σύνολα Κεφάλαιο 10 Υπολογισιμότητα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 10.1 Υπολογίσιμες συναρτήσεις και αναδρομικά σύνολα Μέχρι στιγμής έχουμε δει ουσιαστικά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { D το D είναι ένα DFA το οποίο αποδέχεται όλες τις λέξεις στο Σ * } (α) Για να διαγνώσουμε το πρόβλημα μπορούμε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γραµµατικές για Κανονικές Γλώσσες

Γραµµατικές για Κανονικές Γλώσσες Κανονικές Γραµµατικές Γραµµατικές για Κανονικές Γλώσσες Ταξινόµηση Γραµµατικών εξιά Παραγωγικές Γραµµατικές εξιά Παραγωγικές Γραµµατικές και NFA Αριστερά Παραγωγικές Γραµµατικές Κανονικές Γραµµατικές Γραµµατικές

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

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

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

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

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

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

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

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

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

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

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

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

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