∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ 9 2
(Β) Να λύσετε τις αναδροµές:
n
n
T
n
TnT log
5
2
2
)()1( +
+
=
4/7
4
128)()2( n
n
TnT +
=
n
n
TnT +
=
25
5)()3(
( ) 5
21)()4( nnTnT +−=
Στη συνέχεια, να διαταχθούν οι λύσεις τους κατά αύξουσα τάξη µεγέθους.
Θεώρηµα Κυριαρχίας: Έστω η αναδροµική εξίσωση 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
εεεε++++
= Ω= Ω= Ω= Ω
≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ
Υπόδειξη: Θεωρείστε γνωστό ότι: )( 6
1
5
ni
n
i
Θ=∑=
∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ 9 3
ΘΕΜΑ 2: ΣΧΕ∆ΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ
Ένα υποσύνολο κορυφών VI ⊆ ονοµάζεται ανεξάρτητο αν οποιεσδήποτε δύο κορυφές του I δεν συνδέονται µε
ακµή, και ονοµάζεται µέγιστο ανεξάρτητο υποσύνολο αν έχει τη µέγιστη συνολική βαρύτητα µεταξύ όλων των
υποσυνόλων του V. Θεωρήστε, για παράδειγµα, την παρακάτω βεβαρυµµένη διαδροµή 7 κορυφών (οι αριθµοί
εντός των κορυφών συµβολίζουν βαρύτητες)
v1 v2 v3 v4 v5 v6 v7
όπου τα υποσύνολα Ι1 = {v1, v3, v5, v7}, Ι2 = {v2, v4, v6}, Ι3 = {v2, v5, v7} είναι ανεξάρτητα µε βαρύτητες 21, 23, και
24 αντίστοιχα. Το Ι3 είναι το µέγιστο ανεξάρτητο υποσύνολο για την παραπάνω βεβαρυµµένη διαδροµή 7
κορυφών.
(Α) Σχεδιάστε έναν αλγόριθµο δυναµικού προγραµµατισµού ο οποίος, δεδοµένης µιας βεβαρυµµένης
διαδροµής n κορυφών, βρίσκει τη βαρύτητα του µέγιστου ανεξάρτητου υποσυνόλου (κόστος βέλτιστης λύσης).
Η περιγραφή του αλγορίθµου µπορεί να είναι σε άτυπη µορφή, αλλά πρέπει να περιλαµβάνει οπωσδήποτε
την/τις αναδροµική/-κες σχέση/-εις που διέπουν τον αλγόριθµο και συµπληρώνουν τον πίνακα δυναµικού
προγραµµατισµού. ∆ώστε τον χρόνο εκτέλεσης του αλγορίθµου σας, ο οποίος πρέπει να είναι πολυωνυµικός
ως προς το n και ανεξάρτητος των τιµών των βαρυτήτων των κορυφών.
(Β) Εκτελέστε τον αλγόριθµό σας στο παραπάνω παράδειγµα δίνοντας τις τιµές του πίνακα δυναµικού
προγραµµατισµού σε κάθε βήµα.
2 10 5 4 8 9 6
∆ηµήτρης Ψούνης – ΠΛΗ30, Τέστ 9 4
ΘΕΜΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ
Κατασκευάστε Κανονικές Εκφράσεις για τις Γλώσσες του αλφαβήτου {0,1}:
L1={ w | w αρχίζει µε 0 και τελειώνει µε 0 }
L2={ w | w αρχίζει µε 01 περιέχει το 001 και τελειώνει µε 00}
L3={ w | w αρχίζει µε 0 και περιέχει δύο τουλάχιστον φορές το 11}
L4={ w | w δεν αρχίζει µε 1}
L5={ w | w δεν περιέχει 0}
L6={ w | τα 0 της w είναι πολλαπλάσιο του 3}
L7={ w | w δεν περιέχει το 11}