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

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

Download "ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ"

Transcript

1 Θεμελιώσεις Επιστήμης Η/Υ ΠΛΗ30 Τελική Εξέταση 10 Ιουνίου 015 Ονοματεπώνυμο Φοιτητή Αριθμός Μητρώου Φοιτητή Τμήμα Υπογραφή Φοιτητή Υπογραφή Επιτηρητή Διάρκεια: 10 Ερώτημα Μονάδες Βαθμολογία (7+7)+6 5 (+6)+6+(3+3) 6 (+++)+(3+9) Σύνολο 10 Σε κάθε θέμα χρειάζεται αιτιολόγηση της απάντησής σας. Γράψτε όλες σας τις απαντήσεις στις κόλλες του ΕΑΠ που διανέμονται. Για πρόχειρο μπορείτε να χρησιμοποιήσετε τις τελευταίες σελίδες. Τα θέματα επιστρέφονται μαζί με τις κόλλες. Για να πετύχετε στην εξέταση πρέπει να συγκεντρώσετε τουλάχιστον 50 μονάδες. Καλή επιτυχία! [1]

2 []

3 ΕΡΩΤΗΜΑ 1 (Α) Να συγκριθούν οι συναρτήσεις και να σημειωθεί στην αντίστοιχη στήλη του πίνακα αν είναι f(n)=o(g(n)) ή f(n)=ω(g(n)) ή f(n)=θ(g(n)). f ( n ) g ( n ) o log n n n log( n!log n ) n n 1/ n n 4 logn n log n log n n n! n! n (Β) Χρησιμοποιήστε το Θεώρημα Κυριαρχίας για να επιλύσετε τις παρακάτω αναδρομικές εξισώσεις όπου είναι δυνατόν. n 1. Tn ( ) 3T n n n. Tn ( ) 3T 3 n 3. Tn ( ) T cosn (Γ) Για την επίλυση ενός προβλήματος προτάθηκαν δυο αλγόριθμοι Α και Β. Δοθέντος στιγμιότυπου του προβλήματος με είσοδο μεγέθους n, ο Α λύνει δυο υπο-προβλήματα μεγέθους n-1 και συνδυάζει τις λύσεις σε σταθερό χρόνο. Ο Β λύνει τέσσερα υποπροβλήματα μεγέθους n/ το καθένα και συνδυάζει τις λύσεις σε χρόνο log n. Ποιος είναι ο ταχύτερος; Υπόδειξη: Θεώρημα Κυριαρχίας: Έστω η αναδρομική εξίσωση T(n) = at(n/b) + f(n), όπου a 1, b>1 είναι σταθερές, και f(n) είναι μια ασυμπτωτικά θετική συνάρτηση. Τότε διακρίνονται οι ακόλουθες τρεις περιπτώσεις: log a b b (1) αν f( n) O( n ), για κάποια σταθερά ε>0, τότε T(n) = ( n ) log a [3]

4 log a b b () αν f( n) ( n ), τότε T(n) = ( n log n) log a logb a 0 (3) αν f( n) ( n ), για κάποια σταθερά ε>0, και αν υπάρχει σταθερά n, τέτοια n ώστε, για κάθε n n 0, af cf(n) για κάποια σταθερά c<1, τότε T(n) = ( f ( n)). b ΑΠΑΝΤΗΣΗ (Α) (1) log log n n n n n n n n και επομένως f=θ(g) () log( n!log n) logn! loglogn ( nlog n) loglogn (nlogn) και η σύγκριση είναι με n (3) 1 ( 1 1/ n ) n n n ( n ) n επειδή 1 1 (4) log n log n (log n) n n! n n! n! (5) n n n (4 ) n 4 (log n ) συμπεραίνουμε ότι f(n) = ω(g(n)) f ( n ) g ( n ) o log n n n n log( n!log n ) n 1/ n n 4 logn n log n log n n n! n! n (Β) 1. n Tn ( ) 3T n, 3η περίπτωση, T( n) ( n ) [4]

5 log 3 Πράγματι, είναι 1log 3 και για log 3 έχουμε f( n) n ( n ). Επιπλέον n 3 af ( n ) 3 n cf ( n) cn 4 n n. Tn ( ) 3T 3 για c=3/4., η περίπτωση, T( n) ( nlog n) Έχουμε πράγματι log a b log3 3 1 οπότε n 1 f ( n) ( n ). n 3. Tn ( ) T cosn, δεν εφαρμόζεται το Θ. Κυριαρχίας, διότι η cosn δεν είναι ασυμπτωτικά θετική συνάρτηση. (Γ) Οι αντίστοιχες αναδρομικές εξισώσεις είναι A( n) A( n1) c n B( n) 4B logn Για τον αλγόριθμο Α, εφαρμόζοντας την τεχνική της αναδίπλωσης προκύπτει ότι An ( ) An ( 1) c ( A( n) c) c A( n) cc... k1 k An ( k) c j0 Για k=n-1 και Α(1)=c έχουμε j n1 j An ( ) c. Με επαγωγή στο n εύκολα προκύπτει ότι για n 1 ισχύει j0 n Επομένως An ( ) ( ). n1 j n 1. j 0 Για τον αλγόριθμο Β εφαρμόζοντας το Θεώρημα Κυριαρχίας, 1η περίπτωση, προκύπτει Bn ( ) n. Πράγματι, log 4 και συνεπώς για Επομένως ταχύτερος είναι ο Β. 1 έχουμε 1 f( n) log n O( n ). ΕΡΩΤΗΜΑ [5]

6 Έστω ότι δίνεται ένα γράφημα πλέγματος διαστάσεων n m (γραμμές στήλες), κάθε κόμβος του οποίου χαρακτηρίζεται από τις συντεταγμένες του στο επίπεδο. Υποθέτουμε ότι ο πάνω-αριστερά κόμβος έχει συντεταγμένες (0,0) και ο κάτω-δεξιά κόμβος έχει συντεταγμένες (n 1, m 1). Υποθέστε ότι ένα ρομπότ βρίσκεται αρχικά στον πάνωαριστερά κόμβο και ότι κινείται μόνο δεξιά (ανατολικά) ή κάτω (νότια). Για έναν δεδομένο κόμβο (i,j), ζητείται η εύρεση του πλήθους των διαδρομών που μπορεί να διατρέξει το ρομπότ από τον κόμβο (0,0) στον κόμβο (i,j). Θεωρήστε για παράδειγμα το παρακάτω πλέγμα διαστάσεων 3 4, με τις συντεταγμένες κάθε κόμβου. Το πλήθος των διαδρομών 0,0 0,1 0, 0,3 1,0 1,1 1, 1,3,0,1,,3 που μπορεί να ακολουθήσει το ρομπότ για να φτάσει στον κόμβο (1,) από τον κόμβο (0,0) είναι 3. Συγκεκριμένα, είναι οι διαδρομές P 1 = (0,0) (0,1) (0,), (1,), P = (0,0) (0,1) (1,1), (1,), και P 3 = (0,0) (1,0) (1,1), (1,). (Α) Σχεδιάστε έναν αλγόριθμο δυναμικού προγραμματισμού ο οποίος, δεδομένου ενός στιγμιοτύπου του παραπάνω προβλήματος, βρίσκει το πλήθος των διαδρομών που μπορεί να διατρέξει το ρομπότ από τον κόμβο (0,0) στον κόμβο (n 1, m 1). Η περιγραφή του αλγορίθμου μπορεί να είναι σε άτυπη μορφή, αλλά πρέπει να περιλαμβάνει οπωσδήποτε την/τις αναδρομική/-κες σχέση/-εις που διέπουν τον αλγόριθμο και συμπληρώνουν τον πίνακα δυναμικού προγραμματισμού. Δώστε τον χρόνο εκτέλεσης του αλγορίθμου σας, ο οποίος πρέπει να είναι πολυωνυμικός ως προς τις διαστάσεις του πλέγματος n,m. (Β) Εκτελέστε τον αλγόριθμό σας στο παραπάνω παράδειγμα δίνοντας τις τιμές του πίνακα δυναμικού προγραμματισμού. (Γ) Υποθέστε ότι κάποιοι κόμβοι του πλέγματος είναι κατειλημμένοι από κάποια αντικείμενα και το ρομπότ δεν μπορεί να τους επισκεφθεί. Στο παραπάνω παράδειγμα, αν ο κόμβος (1,1) δεν είναι επισκέψιμος, τότε ο αριθμός των διαδρομών που μπορεί να ακολουθήσει το ρομπότ για να φτάσει στον κόμβο (1,) από τον κόμβο (0,0) είναι 1 (και όχι 3). Περιγράψτε πώς μπορεί να τροποποιηθεί ο αλγόριθμος που δώσατε στο (Α) για να απαντά σε τέτοια στιγμιότυπα εισόδου και δώστε τον χρόνο εκτέλεσης, ο οποίος πρέπει να είναι πολυωνυμικός ως προς τις διαστάσεις του πλέγματος n,m. ΑΠΑΝΤΗΣΗ [6]

7 (Α) Έστω P[i,j] το πλήθος όλων των διαδρομών που μπορεί να διατρέξει το ρομπότ από τον κόμβο (0,0) στον κόμβο (i,j). Θεωρούμε ότι P[0,0] = 1, αφού το ρομπότ ξεκινάει από εκεί, και ότι P[i,j] = 0 αν είτε i < 0, είτε j < 0. Εφόσον το ρομπότ κινείται μόνο δεξιά (ανατολικά) ή κάτω (νότια), μπορεί να φτάσει στον κόμβο (i,j) μόνο μέσω της ακμής ((i 1,j), (i,j)) (εφόσον υπάρχει), ή μέσω της ακμής ((i, j 1), (i,j)) (εφόσον υπάρχει). Έχουμε επομένως την ακόλουθη αναδρομική σχέση: P[i,j] = P[i 1, j] + P[i, j 1], i 0 και j 0, με i + j > 0. Μπορούμε να υπολογίσουμε τις τιμές του πινάκα δυναμικού προγραμματισμού P σε αυξανόμενη σειρά ως προς τα i = 0...n και j = 0...m με βάση την παραπάνω αναδρομή, θέτοντας ως αρχικές τιμές P[0,0] = 1, και P[i,j] = 0 όταν είτε i = 1, είτε j = 1. Ο υπολογισμός της τιμής P[i,j] απαιτεί πρόσθεση δύο στοιχείων του πίνακα P τα οποία έχουν ήδη υπολογιστεί σε προηγούμενη επανάληψη. Άρα, ο συνολικός χρόνος του αλγορίθμου είναι ανάλογος των στοιχείων του P, δηλαδή O(nm). (Β) Η εκτέλεση του αλγορίθμου στο παράδειγμα έχει ως εξής. P[0,0] = 1. P[0,1] = P[ 1,1] + P[0,0] = = 1. P[0,] = P[ 1,] + P[0,1] = = 1. P[0,3] = P[ 1,3] + P[0,] = = 1. P[1,0] = P[0,0] + P[1, 1] = = 1. P[1,1] = P[0,1] + P[1,0] = =. P[1,] = P[0,] + P[1,1] = 1 + = 3. P[1,3] = P[0,3] + P[1,] = = 4. P[,0] = P[1,0] + P[, 1] = = 1. P[,1] = P[1,1] + P[,0] = + 1 = 3. P[,] = P[1,] + P[,1] = = 6. P[,3] = P[1,3] + P[,] = = 10. (Γ) Η αρχικοποίηση παραμένει η ίδια, με τη διαφορά ότι για κάθε κατειλημμένο κόμβο (x,y), θέτουμε P(x,y) = 0. Έστω B το σύνολο των κατειλημμένων κόμβων. Τότε, η αναδρομή τροποποιείται ως εξής: P[i,j] = P[i 1, j] + P[i, j 1], i 0 και j 0, με (i,j) Β. Ο χρόνος εκτέλεσης παραμένει ανάλογος των στοιχείων του P, δηλαδή O(nm). ΕΡΩΤΗΜΑ 3 [7]

8 (Α) Θεωρούμε την παρακάτω γλώσσα L πάνω στο αλφάβητο Σ = {a, b}: L = {w {a, b}* κάθε a στην w βρίσκεται μετά από ένα b} Για παράδειγμα, οι συμβολοσειρές bbaba, bbbabbba ανήκουν στην L. Να κατασκευάσετε (με διάγραμμα) ένα ντετερμινιστικό πεπερασμένο αυτόματο που να δέχεται την L και μία κανονική έκφραση που να παράγει την L. (Β) Χρησιμοποιήστε το Λήμμα άντλησης για να δείξετε ότι η γλώσσα: L = {α p p πρώτος αριθμός} δεν είναι κανονική. Υπόδειξη: Λήμμα άντλησης: Έστω L κανονική γλώσσα. Υπάρχει φυσικός n > 1 τέτοιος ώστε κάθε συμβολοσειρά w L με w n να μπορεί να γραφεί ως w = xyz, έτσι ώστε: 1. xy i z L, για κάθε i 0. y e 3. xy n Ο αριθμός n ονομάζεται μήκος άντλησης. ΑΠΑΝΤΗΣΗ (Α) Ουσιαστικά, η γλώσσα L αποτελείται από τις συμβολοσειρές που όποτε εμφανίζεται ένα α τότε ακριβώς πριν από αυτό θα πρέπει οπωσδήποτε να έχει ένα τουλάχιστον b. Ένα ντετερμινιστικό πεπερασμένο αυτόματο που δέχεται την L είναι το (Κ, Σ, δ, s, F), όπου: Σύνολο καταστάσεων Κ = {q 0,q 1,q,q 3 } Αρχική κατάσταση s = q 0 Σύνολο τελικών καταστάσεων F = {q 0,q 1,q } Αλφάβητο Σ = { α, b} Η συνάρτηση μετάβασης καθώς και το αυτόματο φαίνεται στο παρακάτω σχήμα. Μία κανονική έκφραση που παράγει την L είναι η (b*(ba)*)*. Μιά εναλλακτική κανονική έκφραση είναι η (b+ba) *. [8]

9 (Β) Αν η γλώσσα L ήταν κανονική τότε θα υπήρχε ένας φυσικός αριθμός n, τέτοιος ώστε κάθε συμβολοσειρά α p της L με p n να μπορεί να γραφεί ως α p = xyz (y e και xy n) έτσι ώστε οι συμβολοσειρές xy i z να ανήκουν στην L για κάθε i 0. Έστω ότι α p = xyz, όπου x = α q, y = a r, z = a s και p = q + r + s με r 0. H συμβολοσειρά xy q+s+r+1 z = a q a r ( q+s+r+1 )a s = a (r+1)(q+s+r) θα πρέπει να ανήκει στην L, πράγμα που δεν ισχύει καθώς (r+l)(q+s+r) δεν είναι πρώτος αριθμός. Πράγματι ισχύει (r+1) (επειδή r= y 1) και (q+s+r) επειδή q+s+r=p που είναι πρώτος αριθμός. Άρα ο αριθμός (r+1)(q+s+r) είναι σύνθετος. Δείξαμε ότι καμιά συμβολοσειρά α p της L με p > n δεν μπορεί να γραφτεί ως w = xyz έτσι ώστε y e, xy n και xy i z L για κάθε i 0. Άρα η L δεν είναι κανονική. ΕΡΩΤΗΜΑ 4 (Α) Δώστε μια γραμματική ανεξάρτητη συμφραζομένων, για τη γλώσσα L όλων των συμβολοσειρών x {0,1} * που έχουν ίσο αριθμό από 0 και 1. Δικαιολογείστε την απάντησή σας χωρίς αυστηρή απόδειξη. (Β) Σχεδιάστε ένα μή ντετερμινιστικό αυτόματο στοίβας που αναγνωρίζει τη γλώσσα L. Η κατασκευή του αυτομάτου μπορεί να γίνει με πίνακα ή με διάγραμμα. (Γ) Χρησιμοποιήστε το Λήμμα άντλησης για να δείξετε ότι η γλώσσα L 1 = {www w {a, b} } δεν είναι γλώσσα ανεξάρτητη συμφραζομένων. Υπόδειξη: (i) Λήμμα Άντλησης γιά γλώσσες ανεξάρτητες συμφράζομένων: Έστω μιά γλώσσα χωρίς συμφραζόμενα (ανεξάρτητη συμφραζομένων). Τότε, για την, υπάρχει έτσι ώστε κάθε συμβολσειρά, με, να μπορεί να γραφεί στη μορφή, όπου για τις υπο-συμβολοσειρές ισχύουν τα εξής: ΑΠΑΝΤΗΣΗ (Α) Η γλώσσα L παράγεται από τη γραμματική G=({S, A, B}, {0, 1}, S, R) με τους κανόνες R: S 0B 1A ε, A 0S 1AA 0, B 1S 0BB 1 [9]

10 Από τους κανόνες S 0B και S 1A, παράγονται συμβολοσειρές που έχουν τον ίδιο αριθμό από 0 και 1. Από το A παράγονται συμβολοσειρές που έχουν το πλήθος των 1 τους να είναι κατά ένα λιγότερο από το πλήθος των 0 τους και από το Β παράγονται συμβολοσειρές που έχουν το πλήθος των 0 τους να είναι κατά ένα λιγότερο από το πλήθος των 1 τους. (Β) Παρατηρούμε ότι τα 0 και 1 είναι δυνατόν να εμφανίζονται με οποιαδήποτε σειρά σε μία συμβολοσειρά της γλώσσας L. Θα πρέπει κάθε φορά που διαβάζουμε 0 από τη συμβολοσειρά εισόδου να το βάζουμε στη στοίβα, ούτως ώστε κάθε φορά που διαβάζουμε κάποιο 1 από τη συμβολοσειρά εισόδου να αφαιρούμε ένα 0 από τη στοίβα. Αντίστοιχη διαδικασία, όμως, πρέπει να ακολουθούμε αν διαβάσουμε πρώτα κάποιο 1, οπότε το βάζουμε στη στοίβα και αφαιρούμε ένα 1 από τη στοίβα όταν διαβάσουμε 0 στη συμβολοσειρά εισόδου. Τα παραπάνω μας οδηγούν στο συμπέρασμα ότι από την αρχική κατάσταση πρέπει να μπορούμε να οδηγηθούμε σε δύο διαφορετικές καταστάσεις αναλόγως αν διαβάσουμε πρώτα 0 ή 1 από τη συμβολοσειρά εισόδου. Βέβαια υπάρχει περίπτωση η συμβολοσειρά να αρχίζει με 0 και σε κάποιο σημείο (πριν το τέλος της) ο αριθμός των 1 να γίνει μεγαλύτερος από τον αριθμό των 0 (ή το αντίστροφο), παρόλο που τελικά ο αριθμός των 0 στη συμβολοσειρά είναι ίδιος με τον αριθμό των 1. ηλαδή, το ποιος αριθμός είναι μεγαλύτερος (των 0 ή των 1) μπορεί να εναλλάσσεται σε μία συμβολοσειρά w L καθώς διαβάζουμε την w δηλαδή καθώς διαβάζουμε τα προθέματά της. Γενικά, λοιπόν, παρατηρούμε ότι πρέπει το αυτόματο στοίβας που θα κατασκευάσουμε να μπορεί να μεταβαίνει από την κατάσταση όπου τα 0 είναι περισσότερα από τα 1 και αντίστροφα, όσες φορές χρειαστεί. Τέλος, το αυτόματο στοίβας M πρέπει να αναγνωρίζει την κενή συμβολοσειρά ε. Για αυτόν το λόγο, πρέπει η αρχική κατάσταση q0 να είναι και τελική. Η παραπάνω περιγραφή μας οδηγεί στο αυτόματο στοίβας M = (Q, Σ, Γ, q 0, Z 0, δ, F), με σύνολο καταστάσεων Q={q 0,q 1,q,q 3,q 4,q 5 }, τελικές καταστάσεις F = {q 0, q 3 }, αρχική κατάσταση q0, αλφάβητο Σ = {0, 1}, αλφάβητο στοίβας Γ = {$, 0, 1}. Το αυτόματο στοίβας M που περιγράψαμε παραπάνω φαίνεται στο επόμενο σχήμα. [10]

11 Στην περίπτωση που το αυτόματο όταν διαβάσει το x στην είσοδο, ανεξάρτητα από το σύμβολο Ζ που υπάρχει στη στοίβα γράφει το y διατηρώντας το Z, έχουμε την μετάβαση x, Z yz για κάθε Ζ, την οποία συμβολίζουμε πιο απλά με x, e y. Στο σχήμα μπορούμε να δούμε τις παρατηρήσεις που κάναμε στην αρχή. Από την αρχική κατάσταση που η στοίβα περιέχει το $, μπορούμε να επιλέξουμε αν θα πάμε στην κατάσταση q 1 ή q αναλόγως αν η συμβολοσειρά που παίρνουμε στην είσοδο αρχίζει με 0 ή 1. Επίσης, από την κατάσταση q 1 (τα 0 περισσότερα από τα 1) μπορούμε να μεταβούμε στην q (τα 1 περισσότερα από το 0) και αντίστροφα. Επιπλέον, οι καταστάσεις q 4 και q 5 είναι βοηθητικές, ούτως ώστε να μην σβηστεί το $ που έχουμε βάλει στην αρχή της στοίβας, όταν μεταβαίνουμε από την κατάσταση q 1 στην κατάσταση q και αντίστροφα. Εναλλακτικά μπορεί το αυτόματο να πάει από την q 1 στην q με μία κίνηση 1,$->1$ και από την q στην q 1 με μία κίνηση 0,$->0$. Τέλος, αν στη στοίβα δεν υπάρχει τίποτα (παρά μόνο το $) και έχουμε διαβάσει ολόκληρη τη συμβολοσειρά εισόδου μπορούμε να οδηγηθούμε στην τελική κατάσταση q 3. Το αυτόματο σε μορφή πίνακα είναι το ακόλουθο: κατάσταση ε ί σ ο δ ο ς σ τ ο ί β α κατάσταση σ τ ο ί β α q 0 0 e q 1 0 [11]

12 q 0 1 e q 1 q 1 0 e q 1 0 q q 1 e q 1 1 $ q 4 $ q 1 e $ q 3 e q 1 e q 1 q 0 1 q e q 0 $ q5 $ q e $ q3 e q5 e e q1 0 q4 e e q 1 (Γ) Έστω ότι η γλώσσα L 1 είναι χωρίς συμφραζόμενα. Επομένως, υπάρχει μία γραμματική χωρίς συμφραζόμενα G = (V,Σ,R,S), η οποία παράγει την L. Έστω p ο αριθμός άντλησης και έστω η συμβολοσειρά a p ba p ba p b της L, όπου a p ba p ba p b > p. Τότε, σύμφωνα με το θεώρημα άντλησης η a p ba p ba p b μπορεί να γραφεί ως uvxyz, όπου vxy < p, vy e, και κάθε συμβολοσειρά uv n xy n z, n 0, ανήκει στην L. ιακρίνουμε τις περιπτώσεις : 1. Αν το vxy αποτελείται μόνο από a τότε η συμβολοσειρά uv 0 xy 0 z = uxz περιέχει τουλάχιστον ένα a λιγότερο από την αρχική συμβολοσειρά a p ba p ba p b, αφού vy e. Συνεπώς uxz = a q b a r b a s b όπου qr ή rs. Αν uxz L 1 τότε θα πρέπει uxz = www και το w να τελειώνει σε b. Συνεπώς θα πρέπει w= a q b και w= a r b και w= a s b (άτοπο, καθώς qr ή rs). Άρα, η uxz L 1.. Αν το vxy περιέχει κάποιο από τα b (παρατηρούμε ότι δεν μπορεί να περιέχει παραπάνω από ένα b λόγω του περιορισμού vxy < p), θεωρούμε και πάλι τη συμβολοσειρά uv 0 xy 0 z = uxz και διακρίνουμε δύο περιπτώσεις : Αν b v ή b y τότε η uxz περιέχει μόνο δύο b, ενώ όλες οι συμβολοσειρές της L 1 περιέχουν ακριβώς τρία b. Συνεπώς δεν μπορεί να είναι της μορφής www επειδή το πλήθος των b δεν είναι πολλαπλάσιο του 3. Αν b x τότε η uxz περιέχει τουλάχιστον ένα a λιγότερο από την αρχική συμβολοσειρά a p ba p ba p b, επειδή vy e. Επομένως, και στις δύο περιπτώσεις, η uxz L 1. Άρα, καταλήγουμε ότι η L 1 δεν είναι γλώσσα χωρίς συμφραζόμενα. [1]

13 ΕΡΩΤΗΜΑ 5 (Α) Να κατασκευάσετε ντετερμινιστική μηχανή Turing M που αποφασίζει την γλώσσα L={w {0,1}* w έχει τρία 0 περισσότερα από 1 (δηλαδή, αν 0 το πλήθος των 0, και 1 το πλήθος των 1, τότε 0 = 1 +3)} Το αλφάβητο της M είναι {0, 1, #, $, Y, N}. Η Μ με είσοδο w θα ξεκινά τη λειτουργία της από το σχηματισμό #w#. (1) Δώστε άτυπη περιγραφή της παραπάνω μηχανής Turing (τον αλγόριθμο διαχείρισης της ταινίας) και στη συνέχεια, () Δώστε το διάγραμμα ροής της Μ. (Β) Αποδείξτε ότι, αν μια γλώσσα L 1 είναι αναδρομική (αποφασίσιμη) και μια γλώσσα L είναι αναδρομικά απαριθμήσιμη (αποδεκτή), τότε η γλώσσα L1 L είναι αναδρομικά απαριθμήσιμη. (Γ) Χαρακτηρίστε ως αληθείς ή ψευδείς τις παρακάτω δηλώσεις και εξηγήστε συνοπτικά το χαρακτηρισμό που δώσατε. (1) Κάθε υπογλώσσα μιας Turing αποφασίσιμης γλώσσας είναι Turing αποφασίσιμη. () Η ένωση και η συνένωση δυο Turing αποδεκτών γλωσσών είναι, αντίστοιχα, Turing αποδεκτές γλώσσες. ΑΠΑΝΤΗΣΗ (Α) (1) Η Μηχανή διαβάζει την είσοδο w από αριστερά προς τα δεξιά, βρίσκει τρία 0 και τα αντικαθιστά με $. Αν δεν βρεθούν τρία 0, γράφει Ν και τερματίζει. Διαφορετικά, επανέρχεται στην αρχική της θέση και σαρώνει εκ νέου την είσοδο από αριστερά προς τα δεξιά: Αν διαβάσει 0 (αντίστοιχα 1) το αντικαθιστά με $, και στη συνέχεια αναζητά το σύμβολο 1 (αντίστοιχα 0). Αν το σύμβολο δεν βρεθεί γράφει Ν και τερματίζει. Διαφορετικά, αντικαθιστά το σύμβολο με $, επανέρχεται στην αρχική της θέση και επαναλαμβάνει. Αν ολοκληρώσει το διάβασμα της εισόδου γράφει Υ και τερματίζει. () [13]

14 1 R # N 0 1 $ R # N 0 1 $ R # N 0 $ $ L R # # Y 0,$ $ R 0 # 1 # $ R 1,$ N 1 0 $ L $ L # # (Β) Αφού η γλώσσα L 1 είναι αναδρομική, υπάρχει μηχανή Turing M 1 που την αποφασίζει. Επίσης, αφού η γλώσσα L είναι αναδρομικά απαριθμήσιμη, υπάρχει μηχανή Turing M η οποία την αποδέχεται. Θα κατασκευάσουμε μηχανή Turing M η οποία θα αποδέχεται τη γλώσσα L1 L. Η μηχανή Turing M με είσοδο x, 1. Αρχικά προσομοιώνει τη λειτουργία της Μ 1 με είσοδο x.. Αν η Μ 1 αποδεχθεί την x, τότε η Μ απορρίπτει. 3. Διαφορετικά, προσομοιώνει τη λειτουργία της Μ με είσοδο x. 4. Αν η Μ αποδεχθεί την x, τότε η Μ αποδέχεται. (Γ) (1) ΨΕΥΔΕΣ. Η Σ * είναι Turing αποφασίσιμη, αλλά προφανώς υπάρχουν υπογλώσσες της που δεν είναι αποφασίσιμες. () ΑΛΗΘΕΣ. Αν L,K είναι Turing αποδεκτές γλώσσες και M L, M K είναι, αντίστοιχα, μηχανές Turing που τις αποδέχονται,, τότε μπορούμε να κατασκευάσουμε μια μηχανή Turing Τ η οποία θα αποδέχεται τη συνένωση LK: Η Τ με είσοδο w διαχωρίζει μη ντετερμινιστικά την w σε ένα αρχικό τμήμα x και ένα τελικό τμήμα y, ώστε w=xy, και κατόπιν συμπεριφέρεται όπως η ακολουθιακή σύνδεση M L M K. (Ισοδύναμα, μπορούμε να θεωρήσουμε τη ντετερμινιστική μηχανή Τ η οποία με είσοδο w εκτελεί ένα loop για κάθε δυνατό διαχωρισμό της w σε μια συνένωση xy=w και σε κάθε περίπτωση συνεχίζει να συμπεριφέρεται όπως η ακολουθιακή σύνδεση M L M K ). Σημειώνουμε ότι, στην ακολουθιακή σύνδεση M L M K, η είσοδος της μηχανής M L θα είναι η λέξη x, και η είσοδος της μηχανής M K θα είναι η λέξη y. Για την ένωση μπορούμε να κατασκευάσουμε μια μηχανή Μ δύο ταινιών, δύο κεφαλών (μία στην κάθε ταινία) η οποία λειτουργεί ως εξής: Με είσοδο w γραμμένη και στις δύο ταινίες η Μ εναλλάσσει βήματα υπολογισμού, μια στην πρώτη ταινία και μια στη [14]

15 δεύτερη ταινία. Σε κάθε ταινία εκτελείται ο υπολογισμός μιας από τις μηχανές M L, M K. Η μηχανή τερματίζει αν οποιοσδήποτε από τους παράλληλους αυτούς υπολογισμούς τερματίσει. ΕΡΩΤΗΜΑ 6 (Α) Για κάθε μια από τις παρακάτω προτάσεις σημειώστε αν είναι: (1) Σωστή (αποδεδειγμένα) () Λάθος (αποδεδειγμένα) (3) Σωστή αν P=NP (4) Σωστή αν P NP. (A 1 ) Αν ένα πρόβλημα είναι NP-πλήρες, τότε δεν έχει πολυωνυμικό αλγόριθμο. (A ) Υπάρχει αναγωγή ενός NP- πλήρους προβλήματος σε ένα πρόβλημα που ανήκει στο P. (A 3 ) Εστω μια κανονική γλώσσα L και ένα πεπερασμένο αυτοματο Π. Το πρόβλημα: Ισχύει L=L(Π); ανήκει στην κλάση P. (L(Π) είναι η γλώσσα που αναγνωρίζει το αυτόματο Π). (A 4 ) Το πρόβλημα αποδοχής συμβολοσειράς w από ντετερμινιστικό αυτόματο Α δεν ανήκει στην κλάση Ρ (Β) Ορίζουμε ένα πρόβλημα απόφασης Π ως εξής: Δίδονται: Λογική έκφραση Φ = C 1 C C t σε Κανονική Συζευκτική Μορφή, ορισμένη σε k μεταβλητές, x 1, x,, x k, με t προτάσεις, C 1, C,, C t, και Δύο διαφορετικές αναθέσεις τιμών t 1, t {0,1} k στις k μεταβλητές, x 1, x,, x k που ικανοποιούν την Φ. Ζητείται: Υπάρχει τρίτη ανάθεση τιμών t 3 {0,1} k στις k μεταβλητές, x 1, x,, x k, με t 3 t 1 και t 3 t, που να ικανοποιεί την Φ; (1) Αποδείξτε ότι το πρόβλημα Π ανήκει στην κλάση ΝΡ. () Αποδείξτε ότι το πρόβλημα Π είναι ΝΡ-δύσκολο, κάνοντας πολυωνυμική αναγωγή από το γνωστό ΝΡ-πλήρες πρόβλημα της Ικανοποιησιμότητας (SAT). Υπόδειξη: [15]

16 (i) Το πρόβλημα της Ικανοποιησιμότητας (SAT) ορίζεται ως εξής: Δίνεται λογική έκφραση Ψ = C 1 C C m, σε Κανονική Συζευκτική Μορφή, ορισμένη σε n μεταβλητές x 1, x,, x n, με m προτάσεις, C 1, C,, C m. Είναι η Ψ ικανοποιήσιμη; (ii) Η κατασκευή της πολυωνυμικής αναγωγής από το SAT στο Π θα γίνει ως εξής: Για κάθε στιγμιότυπο Ψ = C 1 C C m του SAT, ορισμένο σε n μεταβλητές x 1, x,, x n, κατασκευάζουμε (χρησιμοποιώντας δύο βοηθητικές μεταβλητές y και z) μια λογική έκφραση Φ για το πρόβλημα Π, της μορφής: Φ = (y z C 1 ) (y z C ) (y z C m ) (y x 1 ) (y x ) (y x n ) (z x 1 ) (z x ) (z x n ) (y z) Στη συνέχεια, θα ορίσετε δύο διαφορετικές αναθέσεις τιμών t 1, t στις μεταβλητές, x 1, x,, x n, y, z που ικανοποιούν την Φ, και θα αποδείξετε ότι: η Ψ είναι ικανοποιήσιμη αν και μόνο αν υπάρχει τρίτη ανάθεση τιμών t 3 (με t 3 t 1 και t 3 t) στις n+ μεταβλητές της Φ που να την ικανοποιεί. Σημειώνουμε ότι, δύο αναθέσεις τιμών καλούνται διαφορετικές, αν διαφέρουν στην τιμή τουλάχιστον μιας μεταβλητής. ΑΠΑΝΤΗΣΗ (Α) (A 1 ) Σωστή αν P NP. (A ) Σωστή αν Ρ=ΝΡ (A 3 ) Σωστή. Εστω Α το αυτόματο που αναγνωρίζει την κανονική γλώσσα L. Κατασκευάζουμε την διαφορά των αυτομάτων Α-Π και Π-Α και έστω L(Α-Π) και L(Π-Α) οι αντίστοιχες γλώσσες τους. Θα ισχύει: L = L(Π) αν και μόνον αν L(Α-Π) = L(Π-Α) = (A 4 ) Λάθος, διότι αρκεί να τρέξουμε το αυτόματο A με είσοδο την w, για χρόνο το πολύ w (Β) (1) Δοθέντος ενός οποιουδήποτε στιγμιότυπου του προβλήματος Π, δηλαδή μιας λογικής έκφρασης Φ σε Κανονική Συζευκτική Μορφή, ορισμένη σε n μεταβλητές, με m προτάσεις, [16]

17 και δύο διαφορετικές αναθέσεις τιμών t 1, t {0,1} n που ικανοποιούν την Φ, μπορούμε να μαντέψουμε μια τρίτη διαφορετική ανάθεση τιμών t 3 {0,1} n και να επαληθεύσουμε ότι: t 3 t 1 και t 3 t, και ότι η t 3 ικανοποιεί την Φ. Η επαλήθευση απαιτεί χρόνο πολυωνυμικό στο μήκος της Φ. Άρα το πρόβλημα Π ανήκει στην κλάση ΝΡ. () Έστω ένα οποιοδήποτε στιγμιότυπο του προβλήματος SAT, δηλαδή λογική έκφραση Ψ = C 1 C C m, ορισμένη σε n μεταβλητές, x 1, x,, x n. Θα κατασκευάσουμε στιγμιότυπο του προβλήματος Π, δηλαδή λογική έκφραση Φ σε Κανονική Συζευκτική Μορφή, και δύο διαφορετικές αναθέσεις τιμών t 1, t στις μεταβλητές, της Φ που να την ικανοποιούν, ώστε να ισχύει ότι: η Ψ είναι ικανοποιήσιμη αν και μόνο αν υπάρχει τρίτη ανάθεση τιμών t 3 (με t 3 t 1 και t 3 t ) στις μεταβλητές της Φ που να την ικανοποιεί. Η κατασκευή θα γίνει ως εξής: Ορίζουμε δύο νέες μεταβλητές y και z, και κατασκευάζουμε προτάσεις (y z C i ), (y x j ), και (z x j ) για κάθε πρόταση C i και για κάθε μεταβλητή x j της Ψ. Η Φ αποτελείται από την σύζευξη όλων αυτών των προτάσεων καθώς και της πρότασης (y z), δηλαδή Φ = (y z C 1 ) (y z C ) (y z C m ) (y x 1 ) (y x ) (y x n ) (z x 1 ) (z x ) (z x n ) (y z) Δηλαδή η Φ ορίζεται στις n+ μεταβλητές x 1, x,, x n, y, z και αποτελείται από συνολικά m+n+1 προτάσεις. Επίσης ορίζουμε τις δύο διαφορετικές αναθέσεις τιμών t 1 = x 1 x, x n yz =1 n 01 t = x 1 x, x n yz =1 n 10 Μπορούμε εύκολα να δούμε πως οι t 1, t ικανοποιούν την Φ, και ότι η αναγωγή μας είναι πολυωνυμική. Για την ορθότητα της αναγωγής: Έστω ότι η Ψ είναι ικανοποιήσιμη και έστω t μια ανάθεση τιμών στις μεταβλητές x 1, x,, x n που την ικανοποιεί. Τότε η ανάθεση τιμών t 3 = x 1 x x n yz = t00 είναι διαφορετική από τις t 1 και t, και ικανοποιεί την Φ. Αντίστροφα, έστω μια ανάθεση τιμών t 3 που είναι διαφορετική από τις t 1 και t, και ικανοποιεί την Φ. Τότε υποχρεωτικά η t 3 θα περιλαμβάνει τις τιμές yz = 00 (διότι διαφορετικά, αν yz = 11 δεν θα ικανοποιείται η (y z), και αν yz = 01 (αντίστοιχα, yz [17]

18 = 10) τότε θα υπάρχει τουλάχιστον ένα x j = 0, άρα δεν θα ικανοποιείται η πρόταση (z x j ) (αντίστοιχα, η πρόταση (y x j )). Επειδή η t 3 ικανοποιεί την Φ, άρα θα ικανοποιεί και όλες τις προτάσεις (y z C j ) με yz = 00, άρα θα ικανοποιεί κάθε πρόταση C ι, οπότε η Ψ θα είναι ικανοποιήσιμη. [18]

19 Θεμελιώσεις Επιστήμης Η/Υ ΠΛΗ30 Επαναληπτική Εξέταση 15 Ιουλίου 015 Ονοματεπώνυμο Φοιτητή Αριθμός Μητρώου Φοιτητή Τμήμα Υπογραφή Φοιτητή Υπογραφή Επιτηρητή Διάρκεια: 10 Ερώτημα Μονάδες Βαθμολογία (8+4) Σύνολο 10 Σε κάθε θέμα χρειάζεται αιτιολόγηση της απάντησής σας. Γράψτε όλες σας τις απαντήσεις στις κόλλες του ΕΑΠ που διανέμονται. Για πρόχειρο μπορείτε να χρησιμοποιήσετε τις τελευταίες σελίδες. Τα θέματα επιστρέφονται μαζί με τις κόλλες. Για να πετύχετε στην εξέταση πρέπει να συγκεντρώσετε τουλάχιστον 50 μονάδες. Καλή επιτυχία! [1]

20 ΕΡΩΤΗΜΑ 1 (Α) Να κατατάξετε σε αύξουσα τάξη τις συναρτήσεις, καθώς το n τείνει στο άπειρο: n Υπόδειξη: lim n 1 n (B) Δίνεται ο παρακάτω αλγόριθμος: n n 7 log, 7, log, n n,, n n n n n Algorithm f( n) begin y 0; for (i 0; i n;i ) return end i y ; Ποια συνάρτηση υπολογίζεται; Αποδείξτε τον ισχυρισμό σας με επαγωγή. y (Γ) Για την επίλυση ενός προβλήματος προτάθηκαν τρεις αλγόριθμοι Α, Β και Γ. Δοθέντος στιγμιότυπου του προβλήματος με είσοδο μεγέθους n, ο Α λύνει τέσσερα υπο-προβλήματα μεγέθους n/3 το καθένα και συνδυάζει τις λύσεις σε χρόνο n. Ο Β λύνει τρία υποπροβλήματα μεγέθους n/4 το καθένα και συνδυάζει τις λύσεις σε χρόνο n. Ο Γ λύνει τέσσερα υπο-προβλήματα μεγέθους n/ το καθένα και συνδυάζει τις λύσεις σε χρόνο n. Υποδείξτε αν κάποιος είναι καλύτερος από τον άλλο ώστε να τον προτιμήσουμε. Θεώρημα Κυριαρχίας: Έστω η αναδρομική εξίσωση T(n) = at(n/b) + f(n), όπου a 1, b>1 είναι σταθερές, και f(n) είναι μια ασυμπτωτικά θετική συνάρτηση. Τότε διακρίνονται οι ακόλουθες τρεις περιπτώσεις: log a b b (1) αν f ( n) O( n ), για κάποια σταθερά ε>0, τότε T(n) = ( n ) log a b b () αν f ( n) ( n ), τότε T(n) = ( n log n) log a logb a 0 (3) αν f ( n) ( n ), για κάποια σταθερά ε>0, και αν υπάρχει σταθερά n, τέτοια n ώστε, για κάθε n n 0, af cf(n) για κάποια σταθερά c<1, τότε T(n) = ( f ( n)). b log a []

21 ΑΠΑΝΤΗΣΗ (Α) log n log n (log n) n n Χρησιμοποιώντας την υπόδειξη έχουμε limn 0 και επομένως n 7 n o(log n) log n Επίσης, καθώς το n τείνει στο άπειρο ισχύει: 7 log n ( για n 19) και n n, από τα οποία προκύπτει: 7 n log n n κανόνα l Hopital θα έχουμε επίσης: Επομένως η κατάταξη είναι:, δηλαδή: n 7 limn 0 (εναλλακτικά με χρήση του log n n n 7 limn 0). log n n n n n n n n 7 n n n log 7 log (Β) Η συνάρτηση που υπολογίζεται είναι η k 1 ; f n n1 ( ) 1. Για n=1 η τιμή του y στο σώμα του for-loop ανανεώνεται δυο φορές, για τις τιμές i=0 και 11 i=1 και προκύπτει η τιμή f(1) y k 1 Υποθέτουμε ότι για n=k η τιμή που προκύπτει είναι f (k) 1. Για n=k+1, o αλγόριθμος μπορεί να ξαναγραφεί ως εξής: Algorithm f (k1) begin y 0; for (i 0; i k;i ) i y ; y return y end Για την έξοδο από το for-loop ισχύει η επαγωγική υπόθεση και επομένως το y έχει την τιμή k+1 k1 k1 k1 k -1. Ακολουθεί μια ανανέωση τιμής y Συνεπώς υπολογίζεται η συνάρτηση f n n1 ( ) 1. [3]

22 (Γ) Οι αναδρομικές εξισώσεις είναι n n n ( n) 4 n (n) 3 n ( n) 4 n 3 4 Για τον Α, έχουμε 1log3 4 και θέτοντας log3 4 1 έχουμε log3 4 f ( n) n O( n ). Από την 1η περίπτωση του Θεωρήματος Κυριαρχίας προκύπτει log 3 ( n) (n 4 ). 1 Για τον Β, έχουμε log4 3 1 και θέτοντας 1 log 4 3 προκύπτει 1 log4 3 ( ) ( ) f n n n O n. Από την 1η περίπτωση του Θεωρήματος Κυριαρχίας log4 3 προκύπτει ( n) ( n ). Ισχύει: log 43 log34, άρα: Β(n)=ο(Α(n)). Για τον Γ έχουμε log a b log 4 ώστε logb f ( n) n ( n a ) και επομένως από τη η περίπτωση του Θ. Κυριαρχίας: ( n) ( n log n). Αρα: Α(n)=ο(Γ(n)), και πρέπει να επιλέξουμε τον αλγόριθμο Β. ΕΡΩΤΗΜΑ Η χώρα της Αβάσταχτης Χαλαρότητας (ΑΧ) έχει ένα ενδιαφέρον νομισματικό σύστημα που βασίζεται στο Γρόσι (ΓΡ). Για τη διευκόλυνση των πολιτών, το Υπουργείο Οικονομικών της ΑΧ αποφάσισε ότι όλες οι χρηματικές αξίες προϊόντων, αμοιβών και υπηρεσιών είναι πολλαπλάσια των 5 ΓΡ και για το λόγο αυτό εξέδωσε (εκτός από χαρτονομίσματα) μόνο τέσσερα νομίσματα των 5, 10, 0, και 50 ΓΡ. Οι ταμίες (υπηρεσιών, καταστημάτων, τραπεζών, κλπ) στην ΑΧ θέλουν να έχουν πάντοτε έναν μικρό αριθμό νομισμάτων και για το λόγο αυτό ενδιαφέρονται να ανταλλάσσουν (ή να δίνουν ρέστα από) μια αξία N με τον ελάχιστο δυνατό αριθμό νομισμάτων. Για παράδειγμα, αν N = 75, τότε ανάμεσα στις συλλογές νομισμάτων {0,0,0,10,5} και {50,0,5} των οποίων το άθροισμα δίνει 75, προτιμούν τη δεύτερη η οποία χρησιμοποιεί μόνο 3 νομίσματα. (Α) Σχεδιάστε έναν αλγόριθμο δυναμικού προγραμματισμού ο οποίος, δεδομένης μιας χρηματικής αξίας N, βρίσκει τον ελάχιστο αριθμό νομισμάτων ΓΡ που την ανταλλάσσει. Η περιγραφή του αλγορίθμου μπορεί να είναι σε άτυπη μορφή, αλλά πρέπει να περιλαμβάνει οπωσδήποτε την/τις αναδρομική/-κες σχέση/-εις που διέπουν τον αλγόριθμο και συμπληρώνουν τον πίνακα δυναμικού προγραμματισμού. Δώστε τον χρόνο εκτέλεσης του αλγορίθμου σας, ο οποίος πρέπει να είναι πολυωνυμικός ως προς την αξία Ν και το πλήθος M των νομισμάτων (εδώ M = 4). [4]

23 (Β) Εκτελέστε τον αλγόριθμό σας στο παραπάνω παράδειγμα με N = 75 δίνοντας τις τιμές του πίνακα δυναμικού προγραμματισμού. (Γ) Περιγράψτε πώς γενικεύεται ο αλγόριθμός σας για έναν οποιοδήποτε αριθμό νομισμάτων M. Ποιά είναι η πολυπλοκότητα του γενικευμένου αλγορίθμου σας ως προς την αξία Ν και το πλήθος M των νομισμάτων; ΑΠΑΝΤΗΣΗ (Α) Έστω Χ[i] ο ελάχιστος αριθμός νομισμάτων που ανταλλάσσουν χρηματική αξία i. Αν ξεκινήσουμε να σχηματίζουμε τη χρηματική αξία i επιλέγοντας κάποιο από τα τέσσερα διαθέσιμα νομίσματα, τότε απομένει ένα ποσό που θα πρέπει να σχηματιστεί επίσης με βέλτιστο τρόπο. Προφανώς από τις τέσσερεις επιλογές που έχουμε για το πρώτο νόμισμα, θα διαλέξουμε αυτή που δίνει τελικά την καλύτερη λύση. Αυτή η παρατήρηση μας οδηγεί στην ακόλουθη αναδρομική σχέση: Χ[i] = min{ X[i 50], X[i 0], X[i 10], X[i 5] } + 1 όπου αν i < c, για c {5, 10, 0, 50}, τότε X[i c] = +. Μπορούμε να υπολογίσουμε τις τιμές του πινάκα δυναμικού προγραμματισμού X σε αυξανόμενη σειρά ως προς τα i =5, 10,..., N (παρατηρήστε ότι οι τιμές του i για τις οποίες έχει νόημα να υπολογίσουμε το X[i] είναι τα πολλαπλάσια του 5, αφού με βάση την εκφώνηση οι υπόλοιπες δεν μπορούν να σχηματιστούν με τα διαθέσιμα νομίσματα). Ο υπολογισμός των τιμών γίνεται με βάση την παραπάνω αναδρομή, θέτοντας ως αρχικές τιμές X[0] = 0, Χ[5] = Χ[10] = Χ[0] = Χ[50] = 1. Ο υπολογισμός της τιμής X[i] απαιτεί μία πρόσθεση και την εύρεση του ελαχίστου μεταξύ M = 4 στοιχείων του πίνακα Χ. Άρα, ο συνολικός χρόνος του αλγορίθμου για τον υπολογισμό και των N στοιχείων του Χ είναι O(ΝΜ) = Ο(Ν). (Β) Για την εκτέλεση του αλγορίθμου στο παράδειγμα, αρκεί να βρούμε τις τιμές Χ[i] για τις οποίες το i είναι πολλαπλάσιο του 5, μέχρι την τιμή i = 75. Χ[5] = Χ[10] =1 Χ[15] = min{+, +, X[5], X[10] } + 1 = min{+, +, 1, 1} + 1 = Χ[0] = 1 Χ[5] = min{+, X[5], X[15], X[0]} + 1 = min{+, 1,, 1} + 1 = Χ[30] = min{+, X[10], X[0], X[5]} + 1 = min{+, 1, 1, } + 1 = Χ[35] = min{+, X[15], X[5], X[30]} + 1 = min{+,,, } + 1 = 3 Χ[40] = min{+, X[0], X[30], X[35]} + 1 = min{+, 1,, 3} + 1 = Χ[45] = min{+, X[5], X[35], X[40]} + 1 = min{+,, 3, } + 1 = 3 Χ[50] = 1 [5]

24 X[55] = min{x[5], X[35], X[45], X[50]} + 1 = min{1, 3, 3, 1} + 1 = Χ[60] = min{x[10], X[40], X[50], X[55]} + 1 = min{1,, 1, } + 1 = Χ[65] = min{x[15], X[45], X[55], X[60]} + 1 = min{, 3,, } + 1 = 3 Χ[70] = min{x[0], X[50], X[60], X[65]} + 1 = min{1, 1,, 3} + 1 = X[75] = min{x[5], X[55], X[65], X[70]} + 1 = min{,, 3, } + 1 = 3 (Γ) Έστω c 1, c,..., c M, τα M νομίσματα. Τότε, η αναδρομική σχέση γίνεται Χ[i] = min{ X[i c 1 ], X[i c ],..., X[i c M ] } + 1 όπου αν i < c, για c {c 1, c,..., c M }, τότε X[i c] = +. Η αρχικοποίηση είναι X[0] = 0, Χ[c 1 ] = Χ[c ] =... = Χ[c M ] = 1. Ο συνολικός χρόνος του αλγορίθμου για τον υπολογισμό και των N στοιχείων του Χ είναι O(ΝΜ), αφού για κάθε στοιχείο του X πρέπει να βρούμε το ελάχιστο μεταξύ M στοιχείων. ΕΡΩΤΗΜΑ 3 (A) Θεωρούμε την παρακάτω γλώσσα L πάνω στο αλφάβητο Σ = {a, b}: L = {w {a, b}* w περιέχει τη συμβολοσειρά abab} Nα κατασκευάσετε με διάγραμμα ένα (ντετερμινιστικό ή μη-ντετερμινιστικό) πεπερασμένο αυτόματο που να δέχεται την L, και μία κανονική έκφραση που να παράγει την L. (B) Χρησιμοποιήστε το Λήμμα άντλησης για να δείξετε ότι η γλώσσα: L = { ww R w {0,1}*} δεν είναι κανονική. Λήμμα άντλησης: Έστω L μια άπειρη κανονική γλώσσα. Υπάρχει φυσικός n > 1 τέτοιος ώστε κάθε συμβολοσειρά w L με w n να μπορεί να γραφεί ως w = xyz, έτσι ώστε: 1. xy i z L, για κάθε i 0. y e 3. xy n Ο αριθμός n ονομάζεται μήκος άντλησης. ΑΠΑΝΤΗΣΗ (A) Ένα μη ντετερμινιστικό πεπερασμένο αυτόματο που δέχεται την L είναι το αυτόματο (Κ, Σ, Δ, s, F) όπου : [6]

25 Σύνολο καταστάσεων Κ = {q 0,q 1,q,q 3,q 4 } Αρχική κατάσταση s = q 0 Σύνολο τελικών καταστάσεων F = {q 4 } Αλφάβητο Σ = {a,b} Η συνάρτηση μετάβασης καθώς και το αυτόματο φαίνεται στο παρακάτω σχήμα. a, b a b a b a, b q 0 q 1 q q 3 q 4 Μία κανονική έκφραση που παράγει την L είναι η (a + b)*abab(a + b)*. (Β) Αν η γλώσσα L = {ww R w {0,1}*} ήταν κανονική τότε θα υπήρχε ένας φυσικός αριθμός n τέτοιος ώστε κάθε συμβολοσειρά ww R της L, με ww R n, να μπορεί να γραφτεί ως ww R = xyz (y e και xy n) έτσι ώστε οι συμβολοσειρές xy i z να ανήκουν στην L για κάθε i 0. Θα δείξουμε πως υπάρχουν συμβολοσειρές της μορφής ww R με μήκος n που δεν ικανοποιούν τα παραπάνω. Ας θεωρήσουμε την συμβολοοειρά s = 0 n 110 n, η οποία προφανώς ανήκει στη γλώσσα L και έχει μήκος (n + 1) > n. Άρα η s μπορεί να γραφτεί ως s = xyz με y e και xy n, άρα το y αποτελείται μόνο από 0. Η συμβολοσειρά xy 0 z=xz δεν είναι της μορφής ww R, καθώς τα αρχικά 0 είναι κατά τουλάχιστον ένα λιγότερα από τα τελικά 0 αφού y e. Άρα, η xz L και ερχόμαστε σε αντίφαση με την αρχική μας υπόθεση ότι η γλώσσα L είναι κανονική. ΕΡΩΤΗΜΑ 4 (Α) Δώστε και δικαιολογείστε τη γλώσσα L χωρίς συμφραζόμενα, η οποία παράγεται από την γραμματική G = (V, Σ, S, ), όπου: V = {S}, Σ= {a,b}, = {S asb, S aasb, S ε} (Β) Δώστε (με πίνακα ή με διάγραμμα) ένα μη ντετερμινιστικό αυτόματο στοίβας για τη γλώσσα L={a n b n n 0}. (Γ) Θεωρήστε τη γλώσσα L που αποτελείται από όλες τις συμβολοσειρές με ίσο αριθμό 0 και 1, αλλά δεν περιέχουν τις υποσυμβολοσειρές 0100 ή Να δείξετε ότι η L είναι ανεξάρτητη συμφραζομένων. Υπόδειξη: (i) Θεωρήστε γνωστό ότι η γλώσσα L1 = {w {0, 1} η w έχει ίσο αριθμό 0 και 1} είναι ανεξάρτητη συμφραζομένων. [7]

26 (ii) Επίσης, οι κανονικές γλώσσες είναι κλειστές ως προς ένωση, τομή και συμπλήρωμα, ενώ οι γλώσσες ανεξάρτητες συμφραζομένων είναι κλειστές ως προς ένωση και ως προς τομή με κανονική γλώσσα. ΑΠΑΝΤΗΣΗ Α) Στη γλώσσα που παράγεται από τους κανόνες της γραμματικής χωρίς συμφραζόμενα G, παρατηρούμε ότι (1) οι εμφανίσεις των a προηγούνται των εμφανίσεων των b και () για κάθε εμφάνιση του b υπάρχουν μία ή δύο εμφανίσεις του a. Επίσης, οι κανόνες παράγουν την κενή συμβολοσειρά ε. Επομένως, κάθε συμβολοσειρά που παράγεται από τους κανόνες της G περιέχεται στη γλώσσα L = {a m b n 0 n m n} όπου έχουμε m = 0 αν και μόνο αν n = 0 και η γλώσσα, εκτός από την κενή συμβολοσειρά ε, περιέχει συμβολοσειρές στις οποίες τα a είναι τουλάχιστον όσα είναι τα b, αλλά το πολύ διπλάσια από τα b. Β) Αρχικά, βάζουμε στη στοίβα το σύμβολο για να μπορούμε να εντοπίσουμε το τέλος της στοίβας. Το αυτόματο για κάθε a που διαβάζει πρέπει να βάζει στη στοίβα δύο a, εφόσον ο αριθμός των b θέλουμε να είναι διπλάσιος από τον αριθμό των a. Οπότε, μόλις συναντήσει το πρώτο b θα αρχίσει να βγάζει από τη στοίβα τα a. Τέλος, αν ο αριθμός των b είναι ο επιθυμητός το αυτόματο πρέπει να διαβάζει το σύμβολο από τη στοίβα και να καταλήγει σε μία τελική κατάσταση. Το αυτόματο στοίβας M = (Q, Σ, Γ, q0, Ζ 0 δ, F ) που αναγνωρίζει τη γλώσσα εξής: Σύνολο καταστάσεων Q={q0,q1,q,q3,q4} Αλφάβητο Σ = {a, b} Αλφάβητο στοίβας Γ = {$, a} Αρχική κατάσταση q0 Αρχικό σύμβολο στοίβας Ζ 0 =$ Τελικές καταστάσεις F = {q0, q4} είναι το Συνάρτηση μετάβασης δ, όπου δ(q0, e, e) = (q1, ), δ(q1, a, e) = (q, a), δ(q,e,e) = (q1,a), δ(q1,b,a) = (q3,e), δ(q3,b,a) = (q3,e), δ(q3,e, ) = (q4,e) Το μη ντετερμινιστικό αυτόματο στοίβας επόμενο σχήμα. που περιγράψαμε παραπάνω φαίνεται στο Στην περίπτωση που το αυτόματο όταν διαβάσει το x στην είσοδο, ανεξάρτητα από το σύμβολο Ζ που υπάρχει στη στοίβα γράφει το y διατηρώντας το Z, έχουμε την μετάβαση x,z yz για κάθε Ζ, την οποία συμβολίζουμε πιο απλά με x, e y. [8]

27 Τέλος, παρατηρούμε ότι e L, δηλαδή το αυτόματο στοίβας πρέπει να αναγνωρίζει την κενή συμβολοσειρά e. Για αυτόν το λόγο, έχουμε κάνει την αρχική κατάσταση q0 και τελική. Γ) Θεωρούμε τις γλώσσες 1 = {w {0, 1} : η w έχει ίσο αριθμό 0 και 1} που είναι ανεξάρτητη συμφραζομένων και = {0, 1} \ {0, 1} {0100, 1011}{0, 1} που είναι κανονική. Έχουμε = 1 και επομένως η είναι ανεξάρτητη συμφραζομένων από το θεώρημα κλειστότητας τομής γλωσσών ΑΣ και κανονικών γλωσσών. ΕΡΩΤΗΜΑ 5 (Α) Να κατασκευάσετε ντετερμινιστική μηχανή Turing M που αποφασίζει την γλώσσα: L={w {0,1}* στην λέξη w, το πλήθος των 0 είναι πολλαπλάσιο του 3, και το πλήθος των 1 είναι πολλαπλάσιο του. Δηλαδή, 0 = 3k και 1 = m, όπου k,m είναι ακέραιοι αριθμοί 0}. Το αλφάβητο της M είναι {0, 1, #,, Y, N}. Η Μ με είσοδο w θα ξεκινά τη λειτουργία της από το σχηματισμό #w#. (1) Δώστε άτυπη περιγραφή της παραπάνω μηχανής Turing (τον αλγόριθμο διαχείρισης της ταινίας) και στη συνέχεια, () Δώστε το διάγραμμα ροής της Μ. (Β) Δείξτε ότι η παρακάτω γλώσσα L δεν είναι αποφασίσιμη. L={ <M> η μηχανή Turing τερματίζει για κάθε είσοδο} Υπόδειξη: Αναγωγή από το μη-επιλύσιμο πρόβλημα του τερματισμού μιας μηχανής Turing M με είσοδο μια λέξη x. ΑΠΑΝΤΗΣΗ (Α) (1) Η Μηχανή διαβάζει την είσοδο από αριστερά προς τα δεξιά. Αν διαβάσει 0 (αντίστοιχα 1) το αντικαθιστά με και στη συνέχεια αναζητά δύο σύμβολα 0 (αντίστοιχα, ένα σύμβολο 1). Αν βρεθούν τα σύμβολα, τα αντικαθιστά με, επανέρχεται στην αρχική της θέση και επαναλαμβάνει. Διαφορετικά τερματίζει με Ν. [9]

28 Όταν ολοκληρώσει το διάβασμα της εισόδου, τερματίζει με Υ. () Το διάγραμμα ροής της M είναι: (Β) Έστω ότι η γλώσσα είναι αποφασίσιμη. Δηλαδή υπάρχει αλγόριθμος Α L (μηχανή Turing Α L ) που απαντά με ΝΑΙ ή ΟΧΙ στο ερώτημα: Εστω μια μηχανή Turing M. Ισχύει <M> L ; (δηλαδή, η μηχανή M τερματίζει για κάθε είσοδο;). Θεωρούμε μια μηχανή Turing M και μια είσοδο x. Θα αποδείξουμε ότι ο αλγόριθμος Α L αποφασίζει για το πρόβλημα του τερματισμού της M με είσοδο x, άρα άτοπο. Κατασκευάζουμε μια μηχανή Turing M 1 η οποία με είσοδο y λειτουργεί ως εξής: Αν y = x τότε η M 1 προσομοιώνει την λειτουργία της Μ με είσοδο x, και αν y x, τότε η M 1 τερματίζει. Στην συνέχεια τρέχουμε τον αλγόριθμο Α L προκειμένου να αποφασίσει για το ερώτημα: η μηχανή Turing M 1 τερματίζει για κάθε είσοδο; (δηλαδή, <M 1 > L;). Αν ο αλγόριθμος Α L απαντήσει ΝΑΙ τότε γνωρίζουμε ότι η M 1 τερματίζει σε όλες τις εισόδους (άρα αυτό θα ισχύει και στην προσομοίωση της M με είσοδο x), άρα η M τερματίζει με είσοδο x. Αν ο Α απαντήσει ΟΧΙ τότε γνωρίζουμε ότι η M δεν τερματίζει με είσοδο x (επειδή για κάθε άλλη είσοδο y x η M 1 τερματίζει εκ-κατασκευής). ΕΡΩΤΗΜΑ 6 (Α) Το πρόβλημα SUBGRAPH ISOMORPHISM ορίζεται ως εξής: Δίδονται δύο γραφήματα G = (V, E) και G =(V, E ). Εχει το γράφημα G υπογράφημα G 1 = (V 1, E 1 ), που να είναι ισόμορφο με το G ; [10]

29 Δείξτε ότι αν το πλήθος κορυφών V = 7, το πρόβλημα SUBGRAPH ISOMORPHISM λύνεται σε πολυωνυμικό χρόνο ως προς το πλήθος V = n. Υπόδειξη: Δύο γραφήματα G 1 = (V 1, E 1 ) και G = (V, E ) καλούνται ισόμορφα αν υπάρχει απεικόνιση f: V 1 V, που να είναι 1-1 και επί, έτσι ώστε: υπάρχει ακμή u-v στο E 1, αν και μόνον αν υπάρχει ακμή f(u)-f(v) στο E. (Β) Δείξτε ότι το παρακάτω πρόβλημα Π είναι NP-πλήρες. Δίδονται: Δύο εκφράσεις Boole Φ και Ψ σε Kανονική Συζευκτική Μορφή. Ζητείται: Υπάρχει τουλάχιστον μια αποτίμηση στην οποία οι Φ και Ψ να έχουν την ίδια τιμή; Δηλαδή, στην αποτίμηση αυτή να είναι ή και οι δύο αληθείς ή και οι δύο ψευδείς; Για την απόδειξη, θα ανάγετε το 3-SAT στο παραπάνω πρόβλημα Π: Για κάθε στιγμιότυπο Φ του 3SAT (δηλαδή έκφραση Boole Φ, σε Kανονική Συζευκτική Μορφή με m προτάσεις και n μεταβλητές x 1, x,..., x n, όπου στην κάθε πρόταση υπάρχουν ακριβώς 3 μεταβλητές), θα κατασκευάσετε μια νέα έκφραση Boole Ψ σε Kανονική Συζευκτική Μορφή, που είναι ταυτολογία (δηλαδή, η Ψ είναι αληθής για κάθε αποτίμηση). Αρά το στιγμιότυπο του προβλήματος Π, θα αποτελείται από τις εκφράσεις Φ και Ψ. Στη συνέχεια θα αποδείξετε ότι η Φ είναι ικανοποιήσιμη αν και μόνον αν υπάρχει τουλάχιστον μια αποτίμηση στην οποία οι Φ και Ψ να είναι αληθείς ΑΠΑΝΤΗΣΗ (Α) Αν V = n, το γράφημα G = (V, E) θα έχει = Θ(n 7 ) διαφορετικά υπογραφήματα G i = (V i, E i ), όπου το κάθε υπογράφημα έχει V i = 7 κορυφές. Για κάθε υπογράφημα G i = (V i, E i ) μπορούμε να ελέγξουμε αν G i = (V i, E i ) είναι ισόμορφο με το G =(V, E ), σε σταθερό χρόνο: Υπάρχουν 7! = 5040 δυνατές απεικονίσεις (όσες και οι μεταθέσεις των κορυφών του V i ) f i : V i V, που είναι 1-1 και επί. Επίσης, για κάθε απεικόνιση f i ελέγχουμε σε σταθερό χρόνο αν υπάρχει ακμή u-v στο E i, αν και μόνον αν υπάρχει ακμή f i (u)-f i (v) στο E (επειδή το πλήθος των ακμών στα σύνολα E i και E θα είναι 7(7-1)/ = 1). [11]

30 Αρα χρειαζόμαστε συνολικά O(n 7 ) δυνατούς ελέγχους για την επίλυση του προβλήματος SUBGRAPH ISOMORPHISM. (Β) Για κάθε στιγμιότυπο Φ του 3SAT κατασκευάζουμε ένα στιγμιότυπο του προβλήματος Π, που αποτελείται από την έκφραση Φ και μιά νέα έκφραση Boole Ψ σε Kανονική Συζευκτική Μορφή, που έχει τις ίδιες μεταβλητές με την Φ και είναι ταυτολογία (δηλαδή, η Ψ είναι αληθής για κάθε αποτίμηση). Αν x 1, x,..., x n είναι οι μεταβλητές που εμφανίζονται στη Φ, τότε κατασκευάζουμε την ταυτολογία: Ψ (x 1 x 1 x ) (x x x 3 ) (x n x n x 1 ). Αν η Φ είναι (αντιστοίχως, δεν είναι) ικανοποιήσιμη τότε υπάρχει (αντιστοίχως, δεν υπάρχει) τουλάχιστον μια αποτίμηση στην οποία οι Φ και Ψ να είναι αληθείς, επειδή η Ψ είναι ταυτολογία και έχει τις ίδιες μεταβλητές με την Φ. Αντίστροφα, αν υπάρχει (αντιστοίχως, δεν υπάρχει) τουλάχιστον μια αποτίμηση στην οποία οι Φ και Ψ να είναι αληθείς, τότε η Φ είναι (αντιστοίχως, δεν είναι) ικανοποιήσιμη. [1]

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θεμελιώσεις Επιστήμης Η/Υ ΠΛΗ30 Τελική Εξέταση 26 Ιουνίου 2013 Ονοματεπώνυμο Φοιτητή Αριθμός Μητρώου Φοιτητή Τμήμα Υπογραφή Φοιτητή Υπογραφή Επιτηρητή Διάρκεια: 180 Ερώτημα Μονάδες Βαθμολογία 1 10+10 2

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θεμελιώσεις Επιστήμης Η/Υ ΠΛΗ30 Τελική Εξέταση 2 Ιουλίου 2014 Ονοματεπώνυμο Φοιτητή Αριθμός Μητρώου Φοιτητή Τμήμα Υπογραφή Φοιτητή Υπογραφή Επιτηρητή Διάρκεια: 180 Ερώτημα Μονάδες Βαθμολογία 1 8+8+4 2

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

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

Λύσεις 4ης Σειράς Ασκήσεων Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κλάσεις P, NP NP-πληρότητα 15 Απριλίου 2008 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να περιγράψουμε με

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

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 14. Χρονική Πολυπλοκότητα 17, 20, 24 Απριλίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.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}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Φροντιστήριο 11 Λύσεις Άσκηση 1 Φροντιστήριο 11 Λύσεις Να αποδείξετε ότι η κλάση Ρ είναι κλειστή ως προς τις πράξεις της ένωσης, της συναρμογής και του συμπληρώματος. Θα πρέπει να δείξουμε ότι: (α) Ένωση: Αν οι Λ 1 και Λ 2 είναι

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

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 19 December 2008 1 1 Κλάση NP 2 Μη-Ντετερμινιστικές Μηχανές Turing: Eίναι δυνατόν σε μια συνολική κατάσταση να υπάρχουν πολλές δυνατές επόμενες

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

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

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα Τι θα κάνουμε σήμερα Εισαγωγικά Χρονική Πολυπλοκότητα (7) Κλάση P (7.2) Κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4) Χωρική

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

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

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

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

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

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

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

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5 Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες ερωτήσεις. Στις απαντήσεις

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

Μη Ντετερμινισμός και NP-Πληρότητα

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

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

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1 Ασκήσεις Επανάληψης Άσκηση 1 (Τελική Εξέταση 5/015) Να δείξετε ότι η πιο κάτω γλώσσα δεν είναι διαγνώσιμη. { Μ L(M) {ΘΕΩΡΙΑ, ΥΠΟΛΟΓΙΣΜΟΥ} και L(M) 3} (Για την αναγωγή μπορείτε να χρησιμοποιήσετε τη γνωστή

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού. Ασκήσεις. Δρ. Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών. Τμ. Μηχανικών Πληροφορικής Τ.Ε.

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

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

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης Προσπάθεια υλοποίησης Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι

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

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

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

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

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

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

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 3/2/2019 1 / 37 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον i ανάμεσα σε όλους

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

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

Μη Ντετερμινισμός και NP-Πληρότητα

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

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 7 Φεβρουαρίου 2017 1 / 38 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Φροντιστήριο 8 Λύσεις Άσκηση 1 Θεωρήστε την πιο κάτω Μηχανή Turing. Φροντιστήριο 8 Λύσεις Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία των φάσεων τις οποίες διατρέχει η μηχανή όταν δέχεται τη διδόμενη λέξη. (α) 11 (β) 1#1

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

Μη Ντετερμινισμός και NP-Πληρότητα

Μη Ντετερμινισμός και NP-Πληρότητα Μη Ντετερμινισμός και P-Πληρότητα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Μη Ντετερμινιστικές Μηχανές Turing Μη ντετερμινιστική Μηχ. Turing (ΝTM)

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

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

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

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

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

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

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91 Ε.Μ.Πoλυτεχνείο ΣΗΜΜΥ, ΣΕΜΦΕ Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Διδάσκων: Ε.Ζαχος Ονοματεπώνυμο:... Αριθμός Μητρώου:... Σχολή:... εξάμηνο:... ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 005 Σύνολο

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

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

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

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

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

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

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

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

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

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

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

Φροντιστήριο 8 Λύσεις Άσκηση 1 Φροντιστήριο 8 Λύσεις Θεωρήστε την πιο κάτω Μηχανή Turing όπου όλες οι μεταβάσεις που απουσιάζουν οδηγούν στην κατάσταση απόρριψης (q απόρριψης). Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Ανάλυση Αλγορίθμων

Εισαγωγή στην Ανάλυση Αλγορίθμων Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)

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

Διάλεξη 04: Παραδείγματα Ανάλυσης

Διάλεξη 04: Παραδείγματα Ανάλυσης Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

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

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

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

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

ψ φ2 = k χ φ2 = 4k χ φ1 = χ φ1 + χ φ2 + 3 = 4(k 1 + k 2 + 1) + 1 ψ φ1 = ψ φ1 + χ φ2 = k k = (k 1 + k 2 + 1) + 1

ψ φ2 = k χ φ2 = 4k χ φ1 = χ φ1 + χ φ2 + 3 = 4(k 1 + k 2 + 1) + 1 ψ φ1 = ψ φ1 + χ φ2 = k k = (k 1 + k 2 + 1) + 1 Ασκήσεις στο μάθημα της Λογικής 15 Οκτωβρίου 2015 Άσκηση 1. Να δειχτεί ότι δεν υπάρχουν τύποι μήκους 2,3,6 αλλά κάθε άλλο (θετικό ακέραιο) μήκος είναι δυνατό (άσκηση 2, σελίδα 39) Απόδειξη. Δείχνουμε πρώτα

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

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

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

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

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

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

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

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

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

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

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

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