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

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

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

Transcript

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

2 ΕΡΩΤΗΜΑ 1 (Α) Να ταξινομηθούν οι παρακάτω συναρτήσεις σε αύξουσα σειρά τάξης μεγέθους, καθώς το n τείνει στο άπειρο: α) f 1 (n) = n log 2 n + log 10 n β) f 2 (n) = n 3 log n + logn n γ) f 3 (n) = n log 0,5 n + log 2 3 n δ) f 4 (n) = n 1,5 + log 0,5 2 n ε) f 5 (n) = (1,003) n + log100 n (Β) Να επιλυθούν οι παρακάτω αναδρομικές εξισώσεις: α) T 1 (n) = 7 T 1 (n/2) + n 2 β) T 2 (n) = 7 T 2 (n/2) + n 3 γ) T 3 (n) = 16 T 3 (n/2) (n 1/3 /logn) 3 log 3 (n!) δ) T 4 (n) = 5 T 4 (n/2) + n 3 Υπόδειξη: (i) logn συμβολίζει το λογάριθμο του n με βάση το 2. (ii) log k n=(logn) k (iii) Δεν απαιτείται να χρησιμοποιήσετε όρια και τύπο του L Hospital στην αιτιολόγηση της απάντησης του υποερωτήματος (Α). (iv) Θεώρημα Κυριαρχίας: Έστω η αναδρομική εξίσωση 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 (2) αν 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 [2]

3 ΑΠΑΝΤΗΣΗ (Α) Εχουμε: f 1 (n) = n log 2 n + log 10 n = Θ(n log 2 (n)) f 2 (n) = n 3 log n + logn n = Θ(n 3 log n) f 3 (n) = n log 0,5 n + log 2 3 n = Θ(log 2 (3 n )) = Θ(n 2 ) f 4 (n) = n 1,5 + log n = Θ(n 1,5 ) f 5 (n) = (1,003) n + log100 n = Θ(1,003 n ) Άρα η αύξουσα σειρά τάξης μεγέθους είναι: f 1, f 2, f 4, f 3, f 5. (Β) α) και β) Σύμφωνα με το Θεώρημα της Κυριαρχίας, a=7, b=2, log b a = Ετσι έχουμε: n 2 = O(n 2.81-ε ) οπότε T 1 (n) =Θ(n 2.81 ) n 3 = Ω(n 2.81+ε ), 7(n/2) 3 = (7/8)n 3 < cn 3, για 7/8<c<1, οπότε T 2 (n) = Θ(n 3 ). γ) Σύμφωνα με το Θεώρημα της Κυριαρχίας, a =16, b =2, log b a = 4. Ετσι έχουμε: 1.8(n 1/3 /logn) 3 log 3 (n!) = Θ((n 1/3 /logn) 3 log 3 (n n )) = Θ((n 1/3 /logn) 3 log 3 (n n )) = Θ(n 4 ), οπότε T 3 (n) = Θ(n 4 logn) δ) Σύμφωνα με το Θεώρημα της Κυριαρχίας, a=5, b=2, log b a = Ετσι έχουμε: n 2 = O(n 2.32-ε ) και T 1 (n) =Θ(n 2.32 ), n 3 = Ω(n 2.32+ε ), 5(n/2) 3 = (5/8)n 3 < cn 3, για 5/8<c<1, οπότε T 4 (n) = Θ(n 3 ). ΕΡΩΤΗΜΑ 2 Ένα μη κατευθυνόμενο γράφημα G = (V, E) n κορυφών καλείται βεβαρυμμένη διαδρομή, αν V = {v 1,, v n }, E = {(v i, v i+1 ) : 1 i < n}, και κάθε κορυφή v i συσχετίζεται με μια βαρύτητα w i. [3]

4 Ένα υποσύνολο κορυφών I V ονομάζεται ανεξάρτητο αν οποιεσδήποτε δύο κορυφές του I δεν συνδέονται με ακμή, και ονομάζεται μέγιστο ανεξάρτητο υποσύνολο αν έχει τη μέγιστη συνολική βαρύτητα μεταξύ όλων των υποσυνόλων του V. Θεωρήστε, για παράδειγμα, την παρακάτω βεβαρυμμένη διαδρομή 7 κορυφών (οι αριθμοί εντός των κορυφών συμβολίζουν βαρύτητες) v 1 v 2 v 3 v 4 v 5 v 6 v 7 όπου τα υποσύνολα Ι 1 = {v 1, v 3, v 5, v 7 }, Ι 2 = {v 2, v 4, v 6 }, Ι 3 = {v 2, v 5, v 7 } είναι ανεξάρτητα με βαρύτητες 21, 23, και 24 αντίστοιχα. Το Ι 3 είναι το μέγιστο ανεξάρτητο υποσύνολο για την παραπάνω βεβαρυμμένη διαδρομή 7 κορυφών. (Α) Σχεδιάστε έναν αλγόριθμο δυναμικού προγραμματισμού ο οποίος, δεδομένης μιας βεβαρυμμένης διαδρομής n κορυφών, βρίσκει τη βαρύτητα του μέγιστου ανεξάρτητου υποσυνόλου (κόστος βέλτιστης λύσης). Η περιγραφή του αλγορίθμου μπορεί να είναι σε άτυπη μορφή, αλλά πρέπει να περιλαμβάνει οπωσδήποτε την/τις αναδρομική/-κες σχέση/- εις που διέπουν τον αλγόριθμο και συμπληρώνουν τον πίνακα δυναμικού προγραμματισμού. Δώστε τον χρόνο εκτέλεσης του αλγορίθμου σας, ο οποίος πρέπει να είναι πολυωνυμικός ως προς το n και ανεξάρτητος των τιμών των βαρυτήτων των κορυφών. (Β) Εκτελέστε τον αλγόριθμό σας στο παραπάνω παράδειγμα δίνοντας τις τιμές του πίνακα δυναμικού προγραμματισμού σε κάθε βήμα. (Γ) Με βάση τον αλγόριθμο που σχεδιάσατε, προτείνετε (σε άτυπη μορφή) μια μέθοδο υπολογισμού του μέγιστου ανεξάρτητου υποσυνόλου και εκτελέστε την στο παραπάνω παράδειγμα. Υπόδειξη: ακολουθήστε οπισθόδρομα τον πίνακα δυναμικού προγραμματισμού δηλ. από την τελευταία προς την αρχική του θέση επιλέγοντας κάθε φορά να συνεχίσετε προς τα πίσω σε εκείνη τη θέση (που περιλαμβάνεται στο δεξιό μέλος [4]

5 της αναδρομικής σχέσης), η οποία καθόρισε το αποτέλεσμα της τρέχουσας θέσης του πίνακα και σημειώνοντας παράλληλα την κορυφή που ανήκει στη βέλτιστη λύση. ΑΠΑΝΤΗΣΗ (Α) Έστω A i το μέγιστο ανεξάρτητο σύνολο στη διαδρομή v 1 v i και έστω ότι B[i] συμβολίζει τη βαρύτητα του A i. Ορίζουμε B[0] = 0. Προφανώς, B[1] = w 1. Για i > 1, ισχύει ότι είτε η v i ανήκει στο A i, είτε δεν ανήκει. Στην πρώτη περίπτωση (v i A i ), γνωρίζουμε ότι η v i-1 δεν μπορεί να ανήκει στο A i (αφού είναι ανεξάρτητο υποσύνολο) και άρα B[i] = w i + B[i 2]. Στη δεύτερη περίπτωση (v i A i ), έχουμε ότι B[i] = B[i 1]. Επομένως, προκύπτει η αναδρομική σχέση B[i] = max{b[i 1], w i + B[i 2]} Μπορούμε να υπολογίσουμε τις τιμές του πινάκα δυναμικού προγραμματισμού Β σε αυξανόμενη σειρά ως προς το i = 1...n. Η βαρύτητα του μέγιστου ανεξάρτητου υποσυνόλου είναι η τιμή του B[n]. Σε κάθε επανάληψη εκτελούμε ένα σταθερό αριθμό πράξεων. Έχουμε συνολικά n επαναλήψεις, και άρα ο συνολικός χρόνος εκτέλεσης είναι Ο(n). (Β) Η εκτέλεση του αλγορίθμου στο παράδειγμα έχει ως εξής. Β[0] = 0. Β[1] = 2. B[2] = max{b[1], w 2 + B[0]}= max{2, 10+0} = 10. B[3] = max{b[2], w 3 + B[1]}= max{10, 5+2} = 10. B[4] = max{b[3], w 4 + B[2]}= max{10, 4+10} = 14. B[5] = max{b[4], w 5 + B[3]}= max{14, 8+10} = 18. B[6] = max{b[5], w 6 + B[4]}= max{18, 9+14} = 23. B[7] = max{b[6], w 7 + B[5]}= max{23, 6+18} = 24. Άρα, το μέγιστο ανεξάρτητο υποσύνολο έχει βαρύτητα 24. (Γ) Έχοντας τον πίνακα δυναμικού προγραμματισμού Β, μπορούμε να βρούμε τα στοιχεία του μέγιστου ανεξάρτητου υποσυνόλου με οπισθόδρομη ιχνηλάτηση των υπολογισμών από το B[n], ακολουθώντας κάθε φορά το αποτέλεσμα του τελεστή max (δείτε Δραστηριότητα 4.5 στον Τόμο Α). Δηλ., αρχίζοντας από τη θέση B[n] και αναλύοντας την αναδρομική σχέση, προσδιορίζουμε αν το μέγιστο προέρχεται από τη θέση B[n 1], ή από την B[n 2] και την βαρύτητα w n. Ανάλογα με το αποτέλεσμα, συνεχίζουμε οπισθόδρομα είτε στη θέση B[n 1], είτε στην B[n 2]. Με ανάλογο τρόπο, συνεχίζουμε προς τα πίσω μέχρι τη θέση B[0]. Οπισθόδρομη ιχνηλάτηση στους υπολογισμούς του παραπάνω παραδείγματος μας δίνει ότι το μέγιστο ανεξάρτητο υποσύνολο αποτελείται από τις βαρύτητες: w 7 (κορυφή v 7 ) και τη βέλτιστη λύση B[5] (αποτέλεσμα τελεστή max στο B[7]), w 5 (κορυφή v 5 ) και τη βέλτιστη λύση B[3] (αποτέλεσμα τελεστή max στο B[5]), βέλτιστη λύση B[2] (αποτέλεσμα τελεστή max στο B[3]), [5]

6 w 2 (κορυφή v 2 ) και τη βέλτιστη λύση B[0] (αποτέλεσμα τελεστή max στο B[2]). Δηλαδή, το μέγιστο ανεξάρτητο υποσύνολο είναι το {v 2, v 5, v 7 }. ΕΡΩΤΗΜΑ 3 (Α) Δίνεται το μη-ντετερμινιστικό πεπερασμένο αυτόματο Μ του σχήματος, με μια ε- κίνηση (Α.1) Απαλείψτε την ε-κίνηση (Α.2) Μετατρέψτε το Μ σε ισοδύναμο ντετερμινιστικό αυτόματο (Α.3) Δώστε κανονική έκφραση για τη γλώσσα του αυτομάτου ΠΑΡΑΤΗΡΗΣΗ: Στα Α.1-Α.3 αρκεί να δώσετε την τελική σας απάντηση (Β) Αποδείξτε τα παρακάτω: (Β.1) Το πρόβλημα του κατά πόσον η γλώσσα ενός πεπερασμένου αυτομάτου είναι κενή είναι αποφασίσιμο. ΥΠΟΔΕΙΞΗ: Θεωρείστε γνωστό ότι αν ένα πεπερασμένο αυτόματο Μ δέχεται κάποια συμβολοσειρά w, τότε δέχεται και κάποια συμβολοσειρά w με μήκος το πολύ ίσο με τον αριθμό καταστάσεων του αυτομάτου. (Β.2) Ποια είναι η πολυπλοκότητα του προβλήματος απόφασης στο Β.1; [6]

7 ΑΠΑΝΤΗΣΗ (Α) (Α.1) Το ισοδύναμο αυτόματο χωρίς ε-κινήσεις: (Α.2) Το ισοδύναμο ντετερμινιστικό: (Α.3) Η Κανονική Έκφραση είναι: 00* 110* (00*1 1(0 10*1))(0 1)* (Μία εναλλακτική κανονική έκφραση είναι: (0+1(0+1))(0+1)*. Προκύπτει αν παρατηρήσουμε ότι οι καταστάσεις q2 και q3 είναι ισοδύναμες) (Β) (Β.1) Παίρνοντας υπόψη την υπόδειξη, ο εξής αλγόριθμος λύνει το πρόβλημα. Δεδομένου του Μ=<Q,Σ,δ,F>, με Σ = k και Q =n, παράγουμε όλες τις συμβολοσειρές στο Σ μήκους το πολύ n για κάθε μια από αυτές τις συμβολοσειρές ελέγχουμε αν το Μ την αποδέχεται Αν το Μ δεχτεί μια από αυτές τις συμβολοσειρές η γλώσσα του δεν είναι κενή. Αλλιώς, είναι κενή. [7]

8 (Β.2) Η πολυπλοκότητα του αλγόριθμου καθορίζεται από το μέγεθος του συνόλου των συμβολοσειρών για τις οποίες πρέπει να γίνει ο έλεγχος. Υπάρχουν όμως 1 συμβολοσειρά μήκους 0 (η κενή) ακριβώς k συμβολοσειρές μήκους 1 (όσα και τα γράμματα του αλφαβήτου, k= Σ ) ακριβώς k 2 συμβολοσειρές μεγέθους 2 Γενικά, υπάρχουν k r συμβολοσειρές στο αλφάβητο Σ με μήκος ίσο με r. n 1 n k 1 k k k Συνεπώς, έχουμε k n Q ( k ) ελεγχθούν. Εν πάσει περιπτώσει έχουμε ελεγχθούν (όπου ο κάθε έλεγχος παίρνει γραμμικό χρόνο). λέξεις με μήκος το πολύ n που πρέπει να πλήθος λέξεων που πρέπει να ΠΑΡΑΤΗΡΗΣΗ: Εναλλακτική λύση για το Β.2 (η οποία δεν απαιτεί το Β.1) είναι να κάνουμε αναζήτηση κατά πλάτος στο γράφημα που προκύπτει από το διάγραμμα του αυτόματου με απαλοιφή των ετικετών, ξεκινώντας από την αρχική κατάσταση και να επιστρέψουμε θετική απάντηση αν και μόνο αν υπάρχει κάποια τελική κατάσταση την οποία επισκεπτόμαστε (πολυπλοκότητα Ο( Q Σ )). ΕΡΩΤΗΜΑ 4 (Α) Δώστε γραμματική ανεξάρτητη συμφραζομένων (χωρίς απόδειξη για την ορθότητά της), η οποία να παράγει τη γλώσσα: L = {w {0,1} * w = xuxvx, όπου x {0,1}, u,v {0,1} * και u =2 v }. (Β) Δίδεται η γλώσσα: L = { xcy : x,y {a, b}*, x +2 y }. Να σχεδιάσετε ντετερμινιστικό αυτόματο στοίβας που την αναγνωρίζει. ΑΠΑΝΤΗΣΗ (Α) Η παρακάτω γραμματική παράγει τη γλώσσα L: S 0A0 1B1, Α CCAC 0 B CCBC 1 C 0 1 (Γ) Το ντετερμινιστικό αυτόματο στοίβας που αναγνωρίζει τη γλώσσα L είναι: [8]

9 Αριθμός Κατάσταση Σύμβολο Σύμβολο Κίνηση Επεξήγηση Κίνησης Εισόδου Σωρού 1 q 0 X Z 0 (q 1, az 0 ) X = a ή b 2 q 0 c Z 0 (q 2, Z 0 ) 3 q 1 X a (q 1, aa) X = a ή b 4 q 1 c a (q 2, a) 5 q 2 X a (q 2, ε) X = a ή b 6 q 2 X Z 0 (q 3, Z 0 ) X = a ή b 7 q 3 X Z 0 (q 4, Z 0 ) X= a ή b 8 q 4 X Z 0 (q 4, Z 0 ) X= a ή b Οι υπόλοιποι συνδυασμοί Τίποτα Το αυτόματο έχει αρχική κατάσταση την q 0 και τελική κατάσταση την q 4.Το αυτόματο διαβάζει έναν προς έναν τους χαρακτήρες της εισόδου και βάζει ένα a στο σωρό μέχρι να διαβάζει c. Τότε μεταβαίνει στον επόμενο χαρακτήρα και για κάθε χαρακτήρα που διαβάζει, διαγράφει ένα a από το σωρό. Αποδέχεται την είσοδο αν τη στιγμή που θα αδειάσει ο σωρός το πλήθος των συμβόλων της εισόδου είναι 2. ΕΡΩΤΗΜΑ 5 (A) Να αποδείξετε ότι η γλώσσα SIZE TM ={ M 1,M 2 M 1 και M 2 είναι ΤΜ έτσι ώστε το πλήθος των λέξεων που ανήκουν στην L(M 1 ) να είναι μεγαλύτερο από αυτό της L(M 2 ).} δεν είναι αποφασίσιμη. Μπορείτε να κάνετε αναγωγή από το πρόβλημα Τερματισμού: L H ={ M,w η M είναι μία ΤΜ και η Μ τερματίζει σε είσοδο w.} ή από οποιαδήποτε άλλη μη-αποφασίσιμη γλώσσα γνωρίζετε. (B) Να κατασκευάσετε ντετερμινιστική μηχανή Turing M μίας ταινίας όπου επιτρέπεται σε μία κίνηση η εγγραφή συμβόλου ακολουθούμενη από ενδεχόμενη μετακίνηση του δρομέα (μπορεί και να παραμένει στάσιμη) με αλφάβητο εισόδου Σ = {0,1}. H TM Μ θα μετακινεί την συμβολοσειρά εισόδου κατά 2 κελιά προς τα δεξιά (αν η λέξη εισόδου είναι [9]

10 η κενή λέξη τότε η Μ δεν κάνει τίποτα και τερματίζει) και έπειτα τερματίζει. Ο αρχικός σχηματισμός της Μ θα είναι της μορφής w 1 w n #, όπου w i Σ και το τελικός σχηματισμός θα είναι της μορφής ##w 1 w n #. Στην περίπτωση που η είσοδος είναι η κενή λέξη τότε ο αρχικός και τελικός σχηματισμός θα είναι ο #. Για παράδειγμα, με αρχικό σχηματισμό τον 00110# η Μ τερματίζει στο σχηματισμό ##00110#. Δώστε το διάγραμμα καταστάσεων της Μ. ΑΠΑΝΤΗΣΗ (A) Θα κάνουμε αναγωγή από το πρόβλημα L H στο πρόβλημα SIZE TM. Στην αναγωγή κατασκευάζουμε δύο νέες ΤΜ, όπου η πρώτη Μ κάνει τα εξής: H M σε είσοδο x κάνει τα εξής: 1. Εκτελεί την M σε είσοδο w. 2. Αν τερματίσει τότε ΑΠΟΔΟΧΗ. Η M λοιπόν αποδέχεται το Σ * αν η Μ τερματίζει σε είσοδο w αλλιώς δεν αποδέχεται τίποτα. Πιο συγκεκριμένα, σε περίπτωση που η Μ σε είσοδο w εγκλωβιστεί τότε εγκλωβίζεται και η Μ για οποιαδήποτε είσοδο. Η δεύτερη μηχανή Μ κάνει τα εξής: H M σε είσοδο x κάνει τα εξής: 1. Αν x=w τότε ΑΠΟΔΟΧΗ. 2. Αλλιώς ΑΠΟΡΡΙΨΗ. Η γλώσσα της Μ αποτελείται από μία λέξη, την w. Η αναγωγή επιστρέφει την λέξη M,M. Θα αποδείξουμε ότι M,w L H αν και μόνο αν M,M SIZE TM. Πράγματι, έστω ότι M,w L H. Τότε η γλώσσα της Μ θα είναι το Σ *. Επομένως η Μ είναι μία άπειρη γλώσσα και ως εκ τούτου είναι μεγαλύτερη σε μέγεθος από τη γλώσσα της Μ που περιέχει μία λέξη. Άρα M,M SIZE TM. Έστω ότι M,w L H. Τότε η γλώσσα της Μ είναι η κενή γλώσσα. Επομένως, το μέγεθός της είναι μικρότερο από το μέγεθος της γλώσσας της Μ αφού αυτή περιέχει μία λέξη. Επομένως, M,M SIZE TM. Αυτό σημαίνει ότι η γλώσσα SIZE TM δεν είναι αποφασίσιμη. (B) Το διάγραμμα καταστάσεων της Μ είναι το εξής: [10]

11 h # q 1 #,R # 1,R # 0,R # 0,R q 1# 1 0,R # 1,R q 01 q ,R # #,R 0 #,R 1 #,R 1 #,R 1 1,R q 0 1 0,R 0 1,R q 1 0 #,R 0 0,R 0 #,R q ,R q 10 # #,R 0 0,R # 0,R q 0# # 1,R ΕΡΩΤΗΜΑ 6 Το πρόβλημα ASAT ορίζεται ως εξής: Δίνεται λογική έκφραση σε Συζευκτική Κανονική Μορφή, ορισμένη σε n μεταβλητές, με m προτάσεις. Υπάρχει ανάθεση τιμών που να ικανοποιεί τουλάχιστον m-1 προτάσεις της ; (Α) Αποδείξτε ότι το πρόβλημα ASAT ανήκει στην κλάση ΝΡ, σχεδιάζοντας πολυωνυμικό επαληθευτή για το πρόβλημα. (Β) Αποδείξτε ότι το πρόβλημα ASAT είναι ΝΡ-δύσκολο. Για την αναγωγή χρησιμοποιήστε το γνωστό ΝΡ-πλήρες πρόβλημα SAT: Ξεκινώντας από ένα στιγμιότυπο του SAT, κατασκευάστε το στιγμιότυπο ( z) ( z), όπου z είναι μια νέα μεταβλητή που δεν εμφανίζεται στην. Αιτιολογήστε πλήρως την ορθότητα της αναγωγής. [11]

12 (Γ) Θεωρήστε την ειδική περίπτωση A2SAT, όπου η κάθε πρόταση της λογικής έκφρασης έχει μήκος το πολύ 2. Υπάρχει αλγόριθμος πολυωνυμικού χρόνου για το πρόβλημα Α2SAT, ναι ή όχι και γιατί; Σημείωση: Το πρόβλημα SAT ορίζεται ως εξής: Δίνεται λογική έκφραση σε Συζευκτική Κανονική Μορφή, ορισμένη σε n μεταβλητές, με m προτάσεις. Υπάρχει ανάθεση τιμών που να ικανοποιεί όλες τις προτάσεις της ; Το πρόβλημα 2SAT αποτελεί περιορισμό του SAT, όπου το μήκος κάθε πρότασης της Φ είναι το πολύ ίσο με 2, και είναι γνωστό ότι ανήκει στην κλάση P. ΑΠΑΝΤΗΣΗ (Α) Ο επαληθευτής, με είσοδο (i) μια λογική έκφραση σε Συζευκτική Κανονική Μορφή, ορισμένη σε n μεταβλητές, με m προτάσεις, και (ii) μια ανάθεση τιμών t στις n μεταβλητές της (το υποψήφιο πιστοποιητικό), 1. Αρχικοποιεί έναν μετρητή δίνοντας του τιμή ίση με Για κάθε πρόταση της, αποδίδει τιμές στις μεταβλητές της, σύμφωνα με την t. Αν η πρόταση είναι αληθής, αυξάνει τον μετρητή κατά Αν η τιμή του μετρητή είναι τουλάχιστον m-1, αποδέχεται. Διαφορετικά, απορρίπτει. Ο επαληθευτής απαιτεί O(nm) βήματα. Άρα το πρόβλημα ASAT ανήκει στην κλάση ΝΡ. (B) Για να αποδείξουμε ότι το πρόβλημα ASAT είναι ΝΡ-δύσκολο, θα ανάγουμε το SAT σε αυτό. Ξεκινώντας από ένα στιγμιότυπο του SAT, δηλαδή μια λογική έκφραση σε Συζευκτική Κανονική Μορφή, ορισμένη σε n μεταβλητές, με m προτάσεις, κατασκευάζουμε στιγμιότυπο του ASAT, δηλαδή μια λογική έκφραση σε Συζευκτική Κανονική Μορφή, ορισμένη σε n μεταβλητές, με m προτάσεις, ως εξής: Θέτουμε ( z) ( z), όπου z είναι μια νέα μεταβλητή που δεν εμφανίζεται στην. Η ορίζεται σε n = n+1 μεταβλητές, και αποτελείται από m =m+2 προτάσεις, και η κατασκευή της γίνεται χρόνο γραμμικό στο μέγεθος της. Θα αποδείξουμε ότι υπάρχει ανάθεση τιμών που ικανοποιεί όλες τις προτάσεις της αν και μόνο αν υπάρχει ανάθεση τιμών που ικανοποιεί τουλάχιστον m -1=m+1 προτάσεις της. Έστω t ανάθεση τιμών που ικανοποιεί και τις m προτάσεις της. Τότε η ανάθεση τιμών t = t1 (που αποδίδει τιμή ίση με αυτήν της t στις n μεταβλητές της Φ και τιμή 1 στη z), ικανοποιεί τις m προτάσεις της και την πρόταση ( z ), άρα ικανοποιεί ακριβώς m+1 προτάσεις της. Αντίστροφα, έστω ότι υπάρχει ανάθεση τιμών t που ικανοποιεί τουλάχιστον m+1 προτάσεις της. Αφού οι προτάσεις ( z ) και ( z ) δεν μπορούν να [12]

13 ικανοποιηθούν ταυτόχρονα, η t θα ικανοποιεί μία από τις δύο, καθώς και τις m προτάσεις της. Άρα το πρόβλημα ASAT είναι ΝΡ-δύσκολο. (Γ) Γνωρίζουμε ότι το πρόβλημα 2SAT επιλύεται πολυωνυμικά. Ο αλγόριθμος που ακολουθεί βασίζεται στον αλγόριθμο πολυωνυμικού χρόνου για το πρόβλημα 2SAT. Με είσοδο λογική έκφραση σε Συζευκτική Κανονική Μορφή, ορισμένη σε n μεταβλητές, με m προτάσεις, όπου κάθε πρόταση έχει μήκος το πολύ 2, 1. Για κάθε πρόταση C της, καλεί τον αλγόριθμο επίλυσης του 2SAT με είσοδο την έκφραση που προκύπτει αν από την εξαιρέσουμε την πρόταση C (έτσι η έχει m-1 προτάσεις). Αν η είναι ικανοποιήσιμη, τότε αποδέχεται. 2. Ο αλγόριθμος απορρίπτει. Στην χειρότερη περίπτωση, ο παραπάνω αλγόριθμος θα επιλύσει m φορές ένα στιγμιότυπο του 2SAT. Άρα ο χρόνος εκτέλεσης του είναι πολυωνυμικός. [13]

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

15 ΕΡΩΤΗΜΑ 1 (A) Να ταξινομηθούν οι παρακάτω συναρτήσεις σε αύξουσα σειρά τάξης μεγέθους, καθώς το n τείνει στο άπειρο: f 1 (n) = n 2 log n + log 2013 n 3 f 2 (n) = 2 n + n 2 f 3 (n) = n log n + n 2 logn f 4 (n) = n log n f 5 (n) = n 2 log2 + 2log 2 n (Β) Εχουμε να επιλέξουμε ανάμεσα στους ακόλουθους τρεις αλγορίθμους Α, Β και Γ: Ο αλγόριθμος A λύνει προβλήματα μεγέθους n με το να επιλύει αναδρομικά οκτώ υποπροβλήματα του μισού μεγέθους καθένα, και συνδυάζοντας τις λύσεις τους σε γραμμικό χρόνο ως προς n. Ο αλγόριθμος B λύνει προβλήματα μεγέθους n με το να επιλύει αναδρομικά ένα υποπρόβλημα μεγέθους n 1 και, στην συνέχεια, συνάγει την τελική λύση σε γραμμικό χρόνο. Ο αλγόριθμος Γ λύνει προβλήματα μεγέθους n με το να επιλύει αναδρομικά εννιά υποπροβλήματα μεγέθους n/3 και συνδυάζοντας τις λύσεις τους σε Ο(n 2 ) χρόνο. Ποιοι είναι οι ασυμπτωτικοί χρόνοι εκτέλεσης για καθένα από τους τρεις αλγορίθμους και ποιον από αυτούς θα διαλέγατε με βάση την ασυμπτωτική του πολυπλοκότητα; Υπόδειξη: (i) logn συμβολίζει το λογάριθμο του n με βάση το 2. (ii) log k n=(logn) k (iii) Δεν απαιτείται να χρησιμοποιήσετε όρια και τύπο του L Hospital στην αιτιολόγηση της απάντησης του υποερωτήματος (Α). (iv) Θεώρημα Κυριαρχίας: Έστω η αναδρομική εξίσωση 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 (2) αν 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 [15] log a

16 ΑΠΑΝΤΗΣΗ (A) Εχουμε f 1 (n) = n 2 log n + log 2013 (n 3 ) = Θ(n 2 logn) f 2 (n) = 2 n + n 2 = Θ(2 n ) f 3 (n) = n log n + n 2 log n = Θ (n log n ) f 4 (n) = n log n = Θ (n 0.5 ) f 5 (n) = n 2 log2 + 2 log 2 n = Θ (n 2 ) Άρα η αύξουσα σειρά τάξης μεγέθους είναι: f 4, f 5, f 1, f 3, f 2. (Β) A:T(n) = 8T( n 2 ) + n Σύμφωνα με το Θεώρημα της Κυριαρχίας, a=8, b=2, log b a = 3 Ετσι έχουμε n = O(n 3-ε ), οπότε από την 1 η περίπτωση του Θ. Κυριαρχίας, T(n) =Θ(n 3 ). B : T ( n) T ( n 1) n T ( n 2) n 1 n =... = Θ(n 2 ). Εδώ δεν εφαρμόζουμε το Θ. Κυριαρχίας αλλά απλά κάνουμε διαδοχικές αντικαταστάσεις. Γ: Τ(n) = 9Τ(n/3)+ n 2 Σύμφωνα με το Θεώρημα της Κυριαρχίας, a=9, b=3, log b a = 2 Από την 2 η περίπτωση του Θ. Κυριαρχίας, n 2 = Θ(n log b a ) Οπότε T(n) = Θ(n 2 logn). Αρα διαλέγουμε τον αλγόριθμο Β. ΕΡΩΤΗΜΑ 2 Υποθέστε ότι προσλαμβάνεστε ως διαχειριστής έργων (project manager) σε μια εταιρεία. Για κάθε έργο που σας αναθέτει, η διοίκηση της εταιρείας θέλει να γνωρίζει τον αριθμό εργάσιμων ημερών που απαιτούνται για την ολοκλήρωση του ανατιθέμενου έργου. Για να ικανοποιήσετε την απαίτηση αυτή, αναλύετε κάθε έργο σε υποέργα διάρκειας μίας εργάσιμης ημέρας και καθορίζετε τις αλληλοεξαρτήσεις τους (δηλ. ποιο υποέργο πρέπει να περιμένει τα αποτελέσματα άλλων υποέργων προκειμένου να εκτελεστεί). Υποέργα εξαρτώμενα από ήδη ολοκληρωμένα υποέργα μπορούν να εκτελεστούν παράλληλα κατά την διάρκεια μιας μέρας. Κατόπιν, μοντελοποιείτε την εκτέλεση των υποέργων ως ένα κατευθυνόμενο γράφημα G = (V, E) στο οποίο κάθε κορυφή v αντιστοιχεί σε ένα υποέργο, και υπάρχει κατευθυνόμενη ακμή (u,v) στο G αν το υποέργο v χρειάζεται τα αποτελέσματα [16]

17 του υποέργου u προκειμένου να εκτελεστεί. Η φύση των έργων είναι τέτοια, έτσι ώστε η προκύπτουσα μοντελοποίηση έχει τις εξής ιδιότητες: (1) Το προκύπτον γράφημα G είναι ακυκλικό, αφού δεν μπορεί να υπάρχει κυκλική αλληλεξάρτηση μεταξύ των υποέργων. Αυτό σημαίνει ότι οι κορυφές μπορούν να διαταχθούν τοπολογικά, δηλ. να αριθμηθούν με τέτοιο τρόπο v 1,, v n (υποθέτοντας ότι έχετε n υποέργα) έτσι ώστε για κάθε ακμή (v i, v j ) E να ισχύει πάντοτε ότι i < j. (2) Κάθε κορυφή εκτός από την v n έχει τουλάχιστον μία εξερχόμενη ακμή και κάθε κορυφή εκτός από την v 1 έχει τουλάχιστον μία εισερχόμενη ακμή, δηλαδή, για κάθε κορυφή v i, με i = 1, 2,..., n 1, υπάρχει τουλάχιστον μία ακμή της μορφής (v i, v j ) και για κάθε κορυφή v j, με j = 2, 3,..., n, υπάρχει τουλάχιστον μία ακμή της μορφής (v k, v j ). Για να βρείτε τώρα τον αριθμό εργάσιμων ημερών που απαιτούνται για την ολοκλήρωση του ανατιθέμενου έργου αρκεί να υπολογίσετε το μήκος της μεγαλύτερης διαδρομής μεταξύ του πρώτου υποέργου (v 1 ) και του τελευταίου υποέργου (v n ), και να προσθέσετε 1. Με άλλα λόγια, καλείστε να επιλύσετε το ακόλουθο πρόβλημα: δεδομένου ενός κατευθυνόμενου ακυκλικού γραφήματος με κόστη ακμών ίσα με 1, και στο οποίο οι κορυφές έχουν διαταχθεί τοπολογικά, κάθε κορυφή εκτός της v n έχει βαθμό εξόδου τουλάχιστον 1 και κάθε κορυφή εκτός της v 1 έχει βαθμό εισόδου τουλάχιστον 1, βρείτε το μήκος της μεγαλύτερης διαδρομής από την κορυφή v 1 στην κορυφή v n. Θεωρήστε, για παράδειγμα, το παρακάτω κατευθυνόμενο ακυκλικό γράφημα v 1 v 2 v 3 v 4 v 5 v 6 v 7 όπου η μεγαλύτερη διαδρομή έχει μήκος 5 και αποτελείται από τις ακμές (v 1, v 2 ), (v 2, v 3 ), (v 3, v 4 ), (v 4, v 6 ) και (v 6, v 7 ). Συνεπώς απαιτούνται 6 εργάσιμες μέρες, παρατηρώντας ότι η v 5 μπορεί να γίνει παράλληλα με τη v 3. (A) Σχεδιάστε έναν αλγόριθμο δυναμικού προγραμματισμού ο οποίος, δεδομένου ενός κατευθυνόμενου ακυκλικού γραφήματος με κόστη ακμών ίσα με 1 όπως παραπάνω, βρίσκει το μήκος της μεγαλύτερης διαδρομής από την κορυφή v 1 στην κορυφή v n (κόστος βέλτιστης λύσης). Η περιγραφή του αλγορίθμου μπορεί να είναι σε άτυπη μορφή, αλλά [17]

18 πρέπει να περιλαμβάνει οπωσδήποτε την/τις αναδρομική/-κες σχέση/-εις που διέπουν τον αλγόριθμο και συμπληρώνουν τον πίνακα δυναμικού προγραμματισμού. Δώστε τον χρόνο εκτέλεσης του αλγορίθμου σας, ο οποίος πρέπει να είναι πολυωνυμικός ως προς το n. (Β) Εκτελέστε τον αλγόριθμό σας στο παραπάνω παράδειγμα δίνοντας τις τιμές του πίνακα δυναμικού προγραμματισμού σε κάθε βήμα. (Γ) Με βάση τον αλγόριθμο που σχεδιάσατε, προτείνετε (σε άτυπη μορφή) μια μέθοδο υπολογισμού της μεγαλύτερης διαδρομής από την κορυφή v 1 στην κορυφή v n και εκτελέστε την στο παραπάνω παράδειγμα. Υπόδειξη: ακολουθήστε οπισθόδρομα τον πίνακα δυναμικού προγραμματισμού δηλ. από την τελευταία προς την αρχική του θέση επιλέγοντας κάθε φορά να συνεχίσετε προς τα πίσω σε εκείνη τη θέση (που περιλαμβάνεται στο δεξιό μέλος της αναδρομικής σχέσης), η οποία καθόρισε το αποτέλεσμα της τρέχουσας θέσης του πίνακα και σημειώνοντας παράλληλα την κορυφή που ανήκει στη βέλτιστη λύση. ΑΠΑΝΤΗΣΗ (A) Έστω D[j] ότι συμβολίζει το μήκος της μεγαλύτερης διαδρομής από την κορυφή v 1 στην κορυφή v j. Επειδή μπορεί να μην υπάρχει διαδρομή από την v 1 στην κορυφή v j, όπως και μπορεί να μην υπάρχει ακμή μεταξύ δύο οποιωνδήποτε κορυφών v i και v j, θα χρησιμοποιήσουμε την τιμή για να συμβολίσουμε την ανυπαρξία ακμής ή διαδρομής. Αρχικά λοιπόν θέτουμε w(v i, v j ) = 1, αν (v i, v j ) E, και w(v i, v j ) =, αν (v i, v j ) E. Προφανώς, D[1] = 0, αφού η διαδρομή από την v 1 στην v 1 αποτελείται από μηδέν ακμές. Παρατηρήστε ότι για όλες τις εισερχόμενες ακμές (v i, v j ) E της v j, ισχύει ότι i < j και ότι αν έχουμε υπολογίσει τα D[i], τότε η παρακάτω αναδρομική σχέση υπολογίζει σωστά το D[j] D[j] = max{d[i] + w(v i, v j ) : 1 i < j } αφού όλες οι διαδρομές από την v 1 στην κορυφή v j έχουν ως τελική ακμή την (v i, v j ), i < j. Μπορούμε να υπολογίσουμε τις τιμές του πινάκα δυναμικού προγραμματισμού D σε αυξανόμενη σειρά ως προς το i = 1...n. Το μήκος της μεγαλύτερης διαδρομής από την κορυφή v 1 στην κορυφή v n είναι η τιμή του D[n] και μπορούμε να βρούμε τις ακμές που την αποτελούν με οπισθόδρομη ιχνηλάτηση των υπολογισμών από το D[n], ακολουθώντας κάθε φορά το αποτέλεσμα του τελεστή max. Σε κάθε επανάληψη πρέπει να βρούμε το μέγιστο το πολύ n τιμών. Έχουμε συνολικά n επαναλήψεις, και άρα ο συνολικός χρόνος εκτέλεσης είναι Ο(n 2 ). (Β) Η εκτέλεση του αλγορίθμου στο παράδειγμα έχει ως εξής. D[1] = 0. D[2] = max{d[1] + w(v 1, v 2 )}= max{0+1} = 1. D[3] = max{d[1] + w(v 1, v 3 ), D[2] + w(v 2, v 3 )}= max{0 + 1, 1 + 1} = 2. [18]

19 D[4] = max{d[1] + w(v 1, v 4 ), D[2] + w(v 2, v 4 ), D[3] + w(v 3, v 4 )}= max{0 + ( ), 1+ ( ), 2 + 1} = 3. D[5] = max{d[1] + w(v 1, v 5 ), D[2] + w(v 2, v 5 ), D[3] + w(v 3, v 5 ), D[4] + w(v 4, v 5 )}= max{0 + ( ), 1+1, 2 + ( ), 3 + ( )} = 2. D[6] = max{d[1] + w(v 1, v 6 ), D[2] + w(v 2, v 6 ), D[3] + w(v 3, v 6 ), D[4] + w(v 4, v 6 ), D[5] + w(v 5, v 6 )}= max{0 + ( ), 1+1, 2 + ( ), 3 + 1, 2 + 1} = 4. D[7] = max{d[1] + w(v 1, v 7 ), D[2] + w(v 2, v 7 ), D[3] + w(v 3, v 7 ), D[4] + w(v 4, v 7 ), D[5] + w(v 5, v 7 ), D[6] + w(v 6, v 7 )}= max{0 + ( ), 1+ ( ), 2 + ( ), 3 + ( ), 2 + ( ), 4 + 1} = 5. Άρα, το μήκος της μεγαλύτερης διαδρομής είναι 5. (Γ) ) Έχοντας τον πίνακα δυναμικού προγραμματισμού D, μπορούμε να βρούμε τα στοιχεία της μεγαλύτερης διαδρομής από την κορυφή v 1 στην κορυφή v n με οπισθόδρομη ιχνηλάτηση των υπολογισμών από το D[n], ακολουθώντας κάθε φορά το αποτέλεσμα του τελεστή max (δείτε Δραστηριότητα 4.5 στον Τόμο Α). Δηλ., αρχίζοντας από τη θέση D[n] και αναλύοντας την αναδρομική σχέση, προσδιορίζουμε για ποια τιμή του i, 1 i < n, μεγιστοποιείται η παράσταση D[i] + w(v i, v n ) και συνεχίζουμε οπισθόδρομα στη συγκεκριμένη θέση D[i]. Με ανάλογο τρόπο, συνεχίζουμε προς τα πίσω μέχρι τη θέση D[0]. Οπισθόδρομη ιχνηλάτηση στους παραπάνω υπολογισμούς μας δίνει ότι η μεγαλύτερη διαδρομή αποτελείται από τις ακμές: (v 6, v 7 ) και τη βέλτιστη λύση D[6] (αποτέλεσμα τελεστή max στο D[7]), (v 4, v 6 ) και τη βέλτιστη λύση D[4] (αποτέλεσμα τελεστή max στο D[6]), (v 3, v 4 ) και τη βέλτιστη λύση D[3] (αποτέλεσμα τελεστή max στο D[4]), (v 2, v 3 ) και τη βέλτιστη λύση D[2] (αποτέλεσμα τελεστή max στο D[3]), (v 1, v 2 ) και τη βέλτιστη λύση D[1] (αποτέλεσμα τελεστή max στο D[2]). Δηλαδή, η μεγαλύτερη διαδρομή (που έχει μήκος 5) αποτελείται από τις ακμές (v 1, v 2 ), (v 2, v 3 ), (v 3, v 4 ), (v 4, v 6 ) και (v 6, v 7 ). [19]

20 ΕΡΩΤΗΜΑ 3 (A) Να κατασκευάσετε ντετερμινιστικό πεπερασμένο αυτόματο για τη γλώσσα που περιγράφει η κανονική έκφραση (111+00)*1 (B) Έστω το αλφάβητο Σ={0,1} και L η μικρότερη γλώσσα που καθορίζεται από τον παρακάτω (αναδρομικό) ορισμό: 0 L u L 1u 010 L Χρησιμοποιήστε κανονική. το Λήμμα Άντλησης για να δείξετε ότι η γλώσσα αυτή δεν είναι (Γ) Δίνονται τα αυτόματα του παρακάτω σχήματος. Να κατασκευάσετε αυτόματο (Γ.1) για την τομή και (Γ.2) για τη διαφορά των γλωσσών των δύο αυτών αυτομάτων. ΑΠΑΝΤΗΣΗ (Α) Το ντετερμινιστικό αυτόματο για τη γλώσσα (111+00)*1 [20]

21 (Β) Η γλώσσα είναι η n n L {1 0(010) n 0}, είναι άπειρη και έστω ότι είναι κανονική και p το μήκος άντλησης. Θεωρούμε τη λέξη συνεπώς υπάρχουν συμβολοσειρές x,y,z ώστε w xyz 0 y xy p p p w 1 0(010). Είναι w 4 p 1 p και i i xy z L Λόγω των συνθηκών, το xy αποτελείται μόνο από άσσους. Τότε όμως σε οποιαδήποτε i xy z ( i 1) λέξη αλλάζει το πλήθος των 1 αριστερά του 0, ενώ διατηρείται ίδιο το πλήθος των 010 στα δεξιά του και συνεπώς οι λέξεις αυτές δεν ανήκουν στη γλώσσα. (Γ) Τα αυτόματα της τομής και της διαφοράς δίνονται παρακάτω ΤΟΜΗ (ΚΕΝΗ) ΔΙΑΦΟΡΑ ΕΡΩΤΗΜΑ 4 Έστω η γλώσσα ανεξάρτητη συμφραζομένων L = { x 0 n x 1 3n x : n 0 } {0, 1, x}*. (A) Να δώσετε γραμματική ανεξάρτητη συμφραζομένων που να παράγει την L. (Β) Να σχεδιάσετε ντετερμινιστικό αυτόματο στοίβας που να αναγνωρίζει την L. ΑΠΑΝΤΗΣΗ (A) Μια γραμματική ανεξάρτητη συμφραζομένων για τη γλώσσα L είναι η G=( {S,A}, {0,1,x}, S, { S xax, Α 0A111 x} ). (Β) Ένα ντετερμινιστικό αυτόματο στοίβας που αναγνωρίζει τη γλώσσα L είναι το M=({q 0, q 1, q 2, q 3 }, {0, 1, x}, {0, x, Z 0 }, q 0, Z 0, δ, {q 3 }) όπου η συνάρτηση μετάβασης δ ορίζεται σύμφωνα με τον ακόλουθο πίνακα: [21]

22 Αριθμός Κίνησης Κατάσταση Σύμβολο Εισόδου Σύμβολο Σωρού Κίνηση Επεξήγηση 1 q 0 x Z 0 (q 1, xz 0 ) Ανάγνωση του πρώτου x και εισαγωγή του στο σωρό 2 q 1 0 Z (q 1, 000Z) Ανάγνωση του 0 και εισαγωγή του 000 στο σωρό. Z = 0 ή x. 3 q 1 x Z (q 2, Z) Ανάγνωση του δεύτερου x 4 q (q 2, ε) Ανάγνωση του 1 και διαγραφή του 0 από το σωρό 5 q 2 x x (q 2, ε) Ανάγνωση του τρίτου x και διαγραφή του από το σωρό 6 q 2 ε Z 0 (q 3, Z 0 ) Αποδοχή Οι υπόλοιποι συνδυασμοί Τίποτα Το αυτόματο διαβάζει το πρώτο x και το εισάγει στο σωρό. Στη συνέχεια, κάθε φορά που διαβάζει ένα μηδενικό, εισάγει στο σωρό τρία μηδενικά, μέχρι να διαβάσει το μεσαίο x. Στη συνέχεια, για κάθε άσσο που διαβάζει, διαγράφει ένα μηδενικό από το σωρό, μέχρι να διαβάσει x, το οποίο και διαγράφει από το σωρό. Το αυτόματο φτάνει σε κατάσταση αποδοχής όταν ο σωρός είναι κενός. ΕΡΩΤΗΜΑ 5 (A) Να αποδείξετε ότι η γλώσσα Y = { M 1,M 2 M 1 και M 2 είναι ΤΜ έτσι ώστε οι L(M 1 ) και L(M 2 ) να έχουν τουλάχιστον 154 κοινές λέξεις} δεν είναι αποφασίσιμη (μπορείτε να κάνετε αναγωγή από τη γλώσσα του Τερματισμού που δίνεται παρακάτω ή από οποιαδήποτε άλλη γλώσσα επιθυμείτε) Α H ={ M,w η M είναι μία ΤΜ που τερματίζει σε είσοδο w} (Β) Για κάθε φυσικό αριθμό i, j ορίζουμε την πράξη ως εξής: Να κατασκευάσετε ντετερμινιστική μηχανή Turing M μίας ταινίας με αλφάβητο εισόδου Σ = {α, β} και αλφάβητο ταινίας Γ={α,β,γ,#}, που να μετατρέπει την είσοδο της μορφής [22]

23 α n β m, n,m 0, στη λέξη. Η είσοδος είναι πάντα αυτή της μορφής και δεν χρειάζεται να κάνετε σχετικούς ελέγχους. Για την Turing Μηχανή Μ επιτρέπεται η ταυτόχρονη εγγραφή συμβόλου με την κίνηση της κεφαλής. Ο αρχικός σχηματισμός της Μ θα είναι της μορφής #w#, όπου w Σ *. Για παράδειγμα, με αρχικό σχηματισμό τον #αααββ# η Μ τερματίζει στο σχηματισμό #α#, ενώ με αρχικό σχηματισμό #ααββββ# η Μ τερματίζει στο σχηματισμό #. (1) Δώστε μια άτυπη περιγραφή της λειτουργίας της Μ (έναν αλγόριθμο διαχείρισης της ταινίας της). (2) Δώστε το διάγραμμα καταστάσεων της Μ. ΑΠΑΝΤΗΣΗ (A) Στην αναγωγή κατασκευάζουμε μία νέα ΤΜ Μ η οποία κάνει τα εξής: H M σε είσοδο x κάνει τα εξής: 3. Εκτελεί την M σε είσοδο w. 4. Αν τερματίσει ΑΠΟΔΟΧΗ. Η M λοιπόν αποδέχεται το Σ * αν η Μ τερματίσει σε είσοδο w αλλιώς δεν αποδέχεται τίποτα αφού εγκλωβίζεται. Η αναγωγή επιστρέφει την λέξη M,M. Θα αποδείξουμε ότι M,w Α Η αν και μόνο αν M,M Υ. Πράγματι, έστω ότι M,w Α Η. Τότε η γλώσσα της Μ θα είναι το Σ *. Επομένως η Μ θα έχει άπειρες κοινές λέξεις με τον εαυτό της και άρα θα έχει τουλάχιστον 154 κοινές λέξεις και άρα M,M Υ. Έστω ότι M,w Α Η. Τότε η γλώσσα της Μ είναι η κενή γλώσσα. Αυτό σημαίνει ότι το πλήθος των λέξεων που έχει κοινές με τον εαυτό της είναι 0 (αφού είναι η κενή γλώσσα). Άρα δεν θα είναι τουλάχιστον 154 και άρα M,M Υ. Αυτό σημαίνει ότι η γλώσσα Y δεν είναι αποφασίσιμη. (B) (1) Η ιδέα είναι να σβήνουμε ανά δύο τα α και β (χρησιμοποιώντας το σύμβολο γ). Συγκεκριμένα, εντοπίζουμε το πρώτο β και αφού το σβήσουμε, σβήνουμε και το πρώτο από δεξιά α που θα βρούμε αντικαθιστώντας τα με το σύμβολο γ. Επαναλαμβάνοντας αυτή τη διαδικασία, όταν κάποια στιγμή τελειώσουν τα β τότε σβήνουμε όλα τα γ και τερματίζουμε. Αν όμως έχουν τελειώσει όλα τα α τότε σβήνουμε τα πάντα και τερματίζουμε. (2) Το διάγραμμα καταστάσεων της Μ είναι το εξής: [23]

24 q # R α,γ R α γ,r q 1 β γ,l # L γ #,L q 3 # h γ L q 2 # R α L # q 4 # L q 5 β,γ R β,γ #,L ΕΡΩΤΗΜΑ 6 Δίνονται τα παρακάτω προβλήματα από τη Θεωρία Γραφημάτων: CLIQUE: Δοθέντος μη κατευθυντικού γραφήματος G(V,E) και θετικού ακεραίου k, 2 k V, έχει το G κλίκα μεγέθους τουλάχιστον k; Κλίκα είναι ένα σύνολο κορυφών όπου κάθε ζευγάρι κορυφών ενώνονται με ακμή στο γράφημα (είναι γειτονικές). INDSET: Δοθέντος μη κατευθυντικού γραφήματος G(V,E) και θετικού ακεραίου k, 2 k V, έχει το G ανεξάρτητο σύνολο μεγέθους τουλάχιστον k; Ανεξάρτητο σύνολο είναι ένα σύνολο κορυφών όπου κανένα ζευγάρι κορυφών δεν είναι γειτονικές. SUBISO: Δοθέντων δύο μη κατευθυντικών γραφημάτων G 1 (V 1,E 1 ) και G 2 (V 2,E 2 ), υπάρχει υπογράφημα του G 1 που να είναι ισόμορφο με G 2 ; Δύο γραφήματα είναι ισόμορφα αν υπάρχει μια αμφιμονοσήμαντη αντιστοίχιση των κορυφών του πρώτου στις κορυφές του δεύτερου, έτσι ώστε δύο κορυφές στο δεύτερο γράφημα είναι γειτονικές αν και μόνο αν οι αντίστοιχες κορυφές στο πρώτο γράφημα είναι γειτονικές. [24]

25 (A) Αποδείξτε ότι το πρόβλημα INDSET ανήκει στην κλάση ΝΡ, σχεδιάζοντας πολυωνυμικό επαληθευτή για το πρόβλημα. (B) Αποδείξτε ότι το πρόβλημα INDSET είναι ΝΡ-δύσκολο. Για την αναγωγή χρησιμοποιήστε το γνωστό ΝΡ-πλήρες πρόβλημα CLIQUE και βασιστείτε στην πρόταση Π: «Ένα γράφημα G έχει ανεξάρτητο σύνολο μεγέθους τουλάχιστον k, αν και μόνο αν το συμπληρωματικό του, G c, έχει κλίκα μεγέθους τουλάχιστον k». (Γ) Αποδείξτε ότι το πρόβλημα SUBISO είναι ΝΡ-δύσκολο. Για την αναγωγή χρησιμοποιήστε το γνωστό ΝΡ-πλήρες πρόβλημα CLIQUE. ΑΠΑΝΤΗΣΗ (A) Ο επαληθευτής, με είσοδο (i) μη κατευθυντικό γράφημα G(V,E) και θετικό ακέραιο k, 2 k V, και (ii) ένα σύνολο κορυφών C του G (υποσύνολο του V), 1. Ελέγχει αν C k. Αν όχι, απορρίπτει. 2. Για κάθε ζευγάρι κορυφών του C, εξετάζει αν αυτές ενώνονται με ακμή στο G. Αν υπάρχει έστω και μία τέτοια ακμή, απορρίπτει. 3. Αποδέχεται. Ο επαληθευτής ελέγχει την ύπαρξη το πολύ Ο( C ) = O(n 2 ) ακμών στο γράφημα, άρα ο χρόνος του είναι πολυωνυμικός. Συνεπώς το πρόβλημα INDSET ανήκει στην κλάση ΝΡ. (Β) Για να αποδείξουμε ότι το πρόβλημα INDSET είναι ΝΡ-δύσκολο, θα ανάγουμε το CLIQUE σε αυτό. Ξεκινώντας από ένα στιγμιότυπο του CLIQUE, δηλαδή από ένα μη κατευθυντικό γράφημα G και έναν θετικό ακέραιο k, κατασκευάζουμε ένα στιγμιότυπο του INDSET, δηλαδή μη κατευθυντικό γράφημα G και θετικό ακέραιο k, ως εξής: θέτουμε G = G c και k = k. Το G μπορεί να κατασκευαστεί σε χρόνο πολυωνυμικό στο μέγεθος του G. Λόγω της πρότασης Π, το G έχει ανεξάρτητο σύνολο μεγέθους τουλάχιστον k αν και μόνο αν το G c έχει κλίκα μεγέθους τουλάχιστον k. Συνεπώς το πρόβλημα INDSET είναι ΝΡ-δύσκολο. (Γ) Για να αποδείξουμε ότι το πρόβλημα SUBISO είναι ΝΡ-δύσκολο, θα ανάγουμε το CLIQUE σε αυτό. Ξεκινώντας από ένα στιγμιότυπο του CLIQUE, δηλαδή από ένα μη κατευθυντικό γράφημα G και έναν θετικό ακέραιο k, κατασκευάζουμε στιγμιότυπο του SUBISO, δηλαδή μη κατευθυντικά γραφήματα G 1 και G 2, ως εξής: θέτουμε G 1 = G και G 2 = C k ;όπου C k είναι το πλήρες γράφημα με k κορυφές. Επειδή k V, η κατασκευή αυτή γίνεται σε χρόνο πολυωνυμικό ως προς το μέγεθος του αρχικού στιγμιοτύπου. [25]

26 Αν το G έχει κλίκα μεγέθους τουλάχιστον k, τότε και το G 1 = G έχει κλίκα τουλάχιστον k, άρα το G 1 έχει υπογράφημα ισόμορφο με το G 2 = C k. Αντίστροφα, αν το το G 1 έχει υπογράφημα ισόμορφο με το G 2 = C k, τότε υποχρεωτικά το υπογράφημα αυτό θα είναι κλίκα με k κορυφές, άρα το G 1 = G περιέχει κλίκα με k κορυφές. Συνεπώς το πρόβλημα SUBISO είναι ΝΡ-δύσκολο. [26]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G 1, G 2 οι G 1 και G 2 είναι δύο CFG που παράγουν μια κοινή λέξη μήκους 144 } (β) { D,k το D είναι ένα DFA

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

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

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

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

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

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

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

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

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

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

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

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

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

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα Αλγόριθμοι πολυωνυμικού χρόνου Ένας αλγόριθμος πολυωνυμικού χρόνου έχει χρόνο εκτέλεσης όπου είναι μία (θετική) σταθερά Κλάση πολυπλοκότητας : περιλαμβάνει τα προβλήματα που επιδέχονται λύση σε πολυωνυμικό

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1η Σειρά Γραπτών Ασκήσεων

1η Σειρά Γραπτών Ασκήσεων 1/20 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 1η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 1 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 2 3 4 5 2/20

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 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}

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

u v 4 w G 2 G 1 u v w x y z 4

u v 4 w G 2 G 1 u v w x y z 4 Διάλεξη :.0.06 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος. Εισαγωγικοί ορισμοί Ορισμός. Γράφημα G καλείται ένα ζεύγος G = (V, E) όπου V είναι το σύνολο των κορυφών (ή κόμβων) και E

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

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

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

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

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

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

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

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων NP-πληρότητα Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων Πολυωνυμικός μετασχηματισμός Ένας πολυωνυμικός μετασχηματισμός από την L 1 Σ 1 * στην L 2 Σ 2 * είναι μια συνάρτηση

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

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

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

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

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

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

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

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

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

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

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

Μη γράφετε στο πίσω μέρος της σελίδας

Μη γράφετε στο πίσω μέρος της σελίδας Εισαγωγή στο Σχεδιασμό & την Ανάλυση Αλγορίθμων Εξέταση Ιουνίου 2015 Σελ. 1 από 7 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες

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

4.3 Ορθότητα και Πληρότητα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 1. α. Να βάλετε σε αύξουσα σειρά μεγέθους τις παρακάτω συναρτήσεις χρονικής πολυπλοκότητας αλγορίθμων: nlogn, n logn,

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Δημήτρης Πλεξουσάκης 3ο μέρος σημειώσεων: Μέθοδος της Επίλυσης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην άδεια

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

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

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

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

NP-complete problems. IS, 4-Degree IS,CLIQUE, NODE COVER, MAX CUT, MAX BISECTION, BISECTION WIDTH. NP-complete problems 1 / 30

NP-complete problems. IS, 4-Degree IS,CLIQUE, NODE COVER, MAX CUT, MAX BISECTION, BISECTION WIDTH. NP-complete problems 1 / 30 NP-complete problems IS, 4-Degree IS,CLIQUE, NODE COVER, MAX CUT, MAX BISECTION, BISECTION WIDTH Καλογερόπουλος Παναγιώτης (ΜΠΛΑ) NP-complete problems 1 / 30 Independent Set is NP-complete Ορισμός. Εστω

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

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

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

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

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 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον

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

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 ανάμεσα σε όλους

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 2 6 20 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 0 με τις ακόλουθες ιδιότητες 9 7 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση ροής:

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

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα Σχετίζεται με τη διαχείριση της κίνησης οχημάτων στους δρόμους Αν δεν υπήρχαν καθυστερήσεις στην κίνηση στις πόλεις Αποφυγή σπατάλης ενέργειας

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

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

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

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

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

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

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

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

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

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