Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2

870 views

Published on

.

Published in: Education
  • Be the first to comment

  • Be the first to like this

ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2

  1. 1. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 1 ΠΛΗ30 - ΕΠΑΝΑΛΗΠΤΙΚΟ ∆ΙΑΓΩΝΙΣΜΑ 2 Ονοµατεπώνυµο:………………………………………………………………… Ηµεροµηνία: ……………………………………………………………………… ∆ιάρκεια: 180΄ Ερώτηµα Μονάδες Βαθµολογία 1 10 10 2 10 5 5 3 10 10 4 5 5 5 5 5 10 10 6 8 8 4 Σύνολο 100
  2. 2. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 2 ΘΕΜΑ 1: (Μονάδες 10+10) (Α) Να ταξινοµηθούν οι ακόλουθες συναρτήσεις κατά αύξουσα τάξη µεγέθους: n n nn nnf nnf n nnn nf 3log4 3 log 2 4 1 9 2 3log)( )(log8)( log logloglog )( += += + = Ο συµβολισµός log παριστάνει λογάριθµο µε βάση το 2. . Η συνάρτηση f έχει την ίδια τάξη µεγέθους (ίδιο ρυθµό αύξησης) µε την g (f ≡ g), αν f = Θ(g) (ισοδύναµα Θ(f) = Θ(g)). Η συνάρτηση f έχει µικρότερη τάξη µεγέθους (µικρότερο ρυθµό αύξησης) από την g (f < g), αν f = o(g).
  3. 3. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 3 (Β) Να υπολογίσετε την λύση των αναδροµικών σχέσεων: n n T n TnT +      +      = 7 5 12 9 )()1( 4 2 18)()2( n n TnT +      = 2 3 2 3 4 5 5)()3( n n TnT +        = 2 3 5 25)()4( n n TnT +      = Στη συνέχεια, να διαταχθούν οι λύσεις τους κατά αύξουσα τάξη µεγέθους. Θεώρηµα Κυριαρχίας: Έστω η αναδροµική εξίσωση T(n) = aT(n/b) + f(n), όπου a≥1, b>1 είναι σταθερές, και f(n) είναι µια ασυµπτωτικά θετική συνάρτηση. Τότε διακρίνονται οι ακόλουθες τρεις περιπτώσεις: log log ( ) ( ), ( )b ba a (1) αν f n O n για κάποια σταθερά ε>0, τότε T(n) = nεεεε−−−− = Θ= Θ= Θ= Θ log log ( ) ( ), ( log )b ba a (2) αν f n n τότε T(n) = n n= Θ Θ= Θ Θ= Θ Θ= Θ Θ log ( ) ( ), , ( ( )). b a 0 0 (3) αν f n n για κάποια σταθερά ε>0, και αν υπάρχει σταθερά n τέτοια n ώστε, για κάθε n n , af cf(n) για κάποια σταθερά c<1, τότε T(n) = f n b εεεε++++ = Ω= Ω= Ω= Ω      ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ         
  4. 4. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 4 ΘΕΜΑ 2: (Μονάδες 10+5+5) Υποθέστε ότι προσλαµβάνεστε ως διαχειριστής έργων (project manager) σε µια εταιρεία. Για κάθε έργο που σας αναθέτει, η διοίκηση της εταιρείας θέλει να γνωρίζει τον αριθµό εργάσιµων ηµερών που απαιτούνται για την ολοκλήρωση του ανατιθέµενου έργου. Για να ικανοποιήσετε την απαίτηση αυτή, αναλύετε κάθε έργο σε υποέργα διάρκειας µίας εργάσιµης ηµέρας και καθορίζετε τις αλληλοεξαρτήσεις τους (δηλ. ποιο υποέργο πρέπει να περιµένει τα αποτελέσµατα άλλων υποέργων προκειµένου να εκτελεστεί). Υποέργα εξαρτώµενα από ήδη ολοκληρωµένα υποέργα µπορούν να εκτελεστούν παράλληλα κατά την διάρκεια µιας µέρας. Κατόπιν, µοντελοποιείτε την εκτέλεση των υποέργων ως ένα κατευθυνόµενο γράφηµα G = (V, E) στο οποίο κάθε κορυφή v αντιστοιχεί σε ένα υποέργο, και υπάρχει κατευθυνόµενη ακµή (u,v) στο G αν το υποέργο v χρειάζεται τα αποτελέσµατα του υποέργου u προκειµένου να εκτελεστεί. Η φύση των έργων είναι τέτοια, έτσι ώστε η προκύπτουσα µοντελοποίηση έχει τις εξής ιδιότητες: (1) Το προκύπτον γράφηµα G είναι ακυκλικό, αφού δεν µπορεί να υπάρχει κυκλική αλληλεξάρτηση µεταξύ των υποέργων. Αυτό σηµαίνει ότι οι κορυφές µπορούν να διαταχθούν τοπολογικά, δηλ. να αριθµηθούν µε τέτοιο τρόπο v1, …, vn (υποθέτοντας ότι έχετε n υποέργα) έτσι ώστε για κάθε ακµή (vi, vj) ∈ E να ισχύει πάντοτε ότι i < j. (2) Κάθε κορυφή εκτός από την vn έχει τουλάχιστον µία εξερχόµενη ακµή και κάθε κορυφή εκτός από την v1 έχει τουλάχιστον µία εισερχόµενη ακµή, δηλαδή, για κάθε κορυφή vi, µε i = 1, 2, ..., n – 1, υπάρχει τουλάχιστον µία ακµή της µορφής (vi, vj) και για κάθε κορυφή vj, µε j = 2, 3, ..., n, υπάρχει τουλάχιστον µία ακµή της µορφής (vk, vj). Για να βρείτε τώρα τον αριθµό εργάσιµων ηµερών που απαιτούνται για την ολοκλήρωση του ανατιθέµενου έργου αρκεί να υπολογίσετε το µήκος της µεγαλύτερης διαδροµής µεταξύ του πρώτου υποέργου (v1) και του τελευταίου υποέργου (vn), και να προσθέσετε 1. Με άλλα λόγια, καλείστε να επιλύσετε το ακόλουθο πρόβληµα: δεδοµένου ενός κατευθυνόµενου ακυκλικού γραφήµατος µε κόστη ακµών ίσα µε 1, και στο οποίο οι κορυφές έχουν διαταχθεί τοπολογικά, κάθε κορυφή εκτός της vn έχει βαθµό εξόδου τουλάχιστον 1 και κάθε κορυφή εκτός της v1 έχει βαθµό εισόδου τουλάχιστον 1, βρείτε το µήκος της µεγαλύτερης διαδροµής από την κορυφή v1 στην κορυφή vn. Θεωρήστε, για παράδειγµα, το παρακάτω κατευθυνόµενο ακυκλικό γράφηµα όπου η µεγαλύτερη διαδροµή έχει µήκος 5 και αποτελείται από τις ακµές (v1, v2), (v2, v3), (v3, v4), (v4, v6) και (v6, v7). Συνεπώς απαιτούνται 6 εργάσιµες µέρες, παρατηρώντας ότι η v5 µπορεί να γίνει παράλληλα µε τη v3. (A) Σχεδιάστε έναν αλγόριθµο δυναµικού προγραµµατισµού ο οποίος, δεδοµένου ενός κατευθυνόµενου ακυκλικού γραφήµατος µε κόστη ακµών ίσα µε 1 όπως παραπάνω, βρίσκει το µήκος της µεγαλύτερης διαδροµής από την κορυφή v1 στην κορυφή vn (κόστος βέλτιστης λύσης). Η περιγραφή του αλγορίθµου µπορεί να είναι σε άτυπη µορφή, αλλά πρέπει να περιλαµβάνει οπωσδήποτε την/τις αναδροµική/-κες σχέση/-εις που διέπουν τον αλγόριθµο και συµπληρώνουν τον πίνακα δυναµικού προγραµµατισµού. ∆ώστε τον χρόνο εκτέλεσης του αλγορίθµου σας, ο οποίος πρέπει να είναι πολυωνυµικός ως προς το n. v1 v2 v3 v4 v5 v6 v7
  5. 5. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 5 (Β) Εκτελέστε τον αλγόριθµό σας στο παραπάνω παράδειγµα δίνοντας τις τιµές του πίνακα δυναµικού προγραµµατισµού σε κάθε βήµα. (Γ) Με βάση τον αλγόριθµο που σχεδιάσατε, προτείνετε (σε άτυπη µορφή) µια µέθοδο υπολογισµού της µεγαλύτερης διαδροµής από την κορυφή v1 στην κορυφή vn και εκτελέστε την στο παραπάνω παράδειγµα. Υπόδειξη: ακολουθήστε οπισθόδροµα τον πίνακα δυναµικού προγραµµατισµού – δηλ. από την τελευταία προς την αρχική του θέση – επιλέγοντας κάθε φορά να συνεχίσετε προς τα πίσω σε εκείνη τη θέση (που περιλαµβάνεται στο δεξιό µέλος της αναδροµικής σχέσης), η οποία καθόρισε το αποτέλεσµα της τρέχουσας θέσης του πίνακα και σηµειώνοντας παράλληλα την κορυφή που ανήκει στη βέλτιστη λύση.
  6. 6. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 6 ΘΕΜΑ 3: (Μονάδες 10+10) 1. ∆ίδεται η κανονική έκφραση: 0*1 + 1*0 (A) ∆ώστε Μη Ντετερµινιστικό Πεπερασµένο Αυτόµατο (ΜΠΑ) της L (Β) ∆ώστε το ισοδύναµο Ντετερµινιστικό Πεπερασµένο Αυτόµατο (ΝΠΑ) της L
  7. 7. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 7 2. Από τις παρακάτω γλώσσες η µία είναι κανονική και η άλλη δεν είναι κανονική. Για την µη κανονική γλώσσα χρησιµοποιήστε το λήµµα της άντλησης για να αποδείξετε ότι δεν είναι κανονική. Για την κανονική γλώσσα δώστε την αντίστοιχη κανονική έκφραση. A = {04 1n 04 | n ≥ 0} B = {x∈{0,1}* | o αριθµός των µηδενικών είναι µεγαλύτερος από τον αριθµό των άσσων} Το Λήµµα Άντλησης για Κανονικές Γλώσσες: Έστω µια άπειρη κανονική γλώσσα. Τότε υπάρχει ένας αριθµός (µήκος άντλησης) τέτοιος ώστε κάθε ∈ µε | | να µπορεί να γραφεί στην µορφή όπου για τις συµβολοσειρές , και ισχύει: | | ∈ για κάθε φυσικό
  8. 8. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 8 ΘΕΜΑ 4: (Μονάδες 5+5+5+5) (Α) ∆ώστε µια γραµµατική χωρίς συµφραζόµενα που παράγει τη γλώσσα: L1 = {an ban | n ∈ } όπου είναι το σύνολο των φυσικών αριθµών (B) ∆ώστε µια γραµµατική χωρίς συµφραζόµενα που παράγει τη γλώσσα: L2 = {ban bm | n < m}. (Γ) ∆ώστε µια γραµµατική χωρίς συµφραζόµενα που παράγει τη γλώσσα: L3 = {wccwR | w ∈ {a,b}*} (∆) ∆ώστε µια γραµµατική χωρίς συµφραζόµενα που παράγει τη γλώσσα: L4 = {ak+1 bk+2 an+3 bn+2 | n,k≥0}.
  9. 9. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 9 ΘΕΜΑ 5: (Μονάδες 10+10) Να ταξινοµηθούν οι παρακάτω συναρτήσεις σε αύξουσα σειρά τάξης µεγέθους, καθώς το n τείνει στο άπειρο: f1(n) = n2 log n + log2013 n3 f2(n) = 2n + n2 f3(n) = nlog n + n2 logn f4(n) = n0.5 + log0.5 2n f5(n) = n2 log2 + 2log2 n
  10. 10. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 10 (Β) Εχουµε να επιλέξουµε ανάµεσα στους ακόλουθους τρεις αλγορίθµους Α, Β και Γ: Ο αλγόριθµος A λύνει προβλήµατα µεγέθους n µε το να επιλύει αναδροµικά οκτώ υποπροβλήµατα του µισού µεγέθους καθένα, και συνδυάζοντας τις λύσεις τους σε γραµµικό χρόνο ως προς n. Ο αλγόριθµος B λύνει προβλήµατα µεγέθους n µε το να επιλύει αναδροµικά ένα υποπρόβληµα µεγέθους n–1 και, στην συνέχεια, συνάγει την τελική λύση σε γραµµικό χρόνο. Ο αλγόριθµος Γ λύνει προβλήµατα µεγέθους n µε το να επιλύει αναδροµικά εννιά υποπροβλήµατα µεγέθους n/3 και συνδυάζοντας τις λύσεις τους σε Ο(n2 ) χρόνο. Ποιοι είναι οι ασυµπτωτικοί χρόνοι εκτέλεσης για καθένα από τους τρεις αλγορίθµους και ποιον από αυτούς θα διαλέγατε µε βάση την ασυµπτωτική του πολυπλοκότητα; Θεώρηµα Κυριαρχίας: Έστω η αναδροµική εξίσωση T(n) = aT(n/b) + f(n), όπου a≥1, b>1 είναι σταθερές, και f(n) είναι µια ασυµπτωτικά θετική συνάρτηση. Τότε διακρίνονται οι ακόλουθες τρεις περιπτώσεις: log log ( ) ( ), ( )b ba a (1) αν f n O n για κάποια σταθερά ε>0, τότε T(n) = nεεεε−−−− = Θ= Θ= Θ= Θ log log ( ) ( ), ( log )b ba a (2) αν f n n τότε T(n) = n n= Θ Θ= Θ Θ= Θ Θ= Θ Θ log ( ) ( ), , ( ( )). b a 0 0 (3) αν f n n για κάποια σταθερά ε>0, και αν υπάρχει σταθερά n τέτοια n ώστε, για κάθε n n , af cf(n) για κάποια σταθερά c<1, τότε T(n) = f n b εεεε++++ = Ω= Ω= Ω= Ω      ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ         
  11. 11. ∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 2 11 ΘΕΜΑ 6: (Μονάδες 8+8+4) ∆ίδονται τα ντετερµινιστικά πεπερασµένα αυτόµατα Μ1 και Μ2 που αναγνωρίζουν τις γλώσσες L1 και L2 αντίστοιχα Μ1 Μ2 (Α) Κατασκευάστε µε τον αλγόριθµο κλειστότητας της τοµής το ΝΠΑ της τοµής των δύο αυτοµάτων. (Β) Απλοποιήστε το ΝΠΑ που προκύπτει. (Γ) ∆ώστε τις κανονικές εκφράσεις των γλωσσών L1,L2 και L1∩L2

×