∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 1 2
ΘΕΜΑ 1: (Μονάδες 10+10)
(Α) Να ταξινοµηθούν οι ακόλουθες συναρτήσεις κατά αύξουσα τάξη µεγέθους:
4
3
2
log2
3
log
2
2
1
3logloglog)(
)(log2)(
loglog
)log(
)(
nn
nn
nnnf
nnf
n
nn
nf
++=
+=
=
Ο συµβολισµός log παριστάνει λογάριθµο µε βάση το 2. . Η συνάρτηση f έχει την ίδια τάξη µεγέθους (ίδιο ρυθµό
αύξησης) µε την g (f ≡ g), αν f = Θ(g) (ισοδύναµα Θ(f) = Θ(g)). Η συνάρτηση f έχει µικρότερη τάξη µεγέθους
(µικρότερο ρυθµό αύξησης) από την g (f < g), αν f = o(g).
∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 1 3
(Β) Να υπολογίσετε την λύση των αναδροµικών σχέσεων:
2
7
5
12
)()1( n
n
T
n
TnT +
+
=
3
3
26)()2( n
n
TnT +
=
n
n
TnT +
=
80
80)()3(
2
5
24)()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
εεεε++++
= Ω= Ω= Ω= Ω
≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ
∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 1 4
ΘΕΜΑ 2: (Μονάδες 10+5+5)
Ένα πολιτικό κόµµα σε συνεργασία µε έναν τηλεοπτικό σταθµό έχει τη δυνατότητα να προβάλει από ένα
προεκλογικό σποτάκι στην αρχή κάθε ώρας. Αυτό που γνωρίζει από µετρήσεις τηλεθέασης το κόµµα είναι το
πόσα άτοµα αναµένονται να παρακολουθούν το σταθµό στην αρχή της i - οστής ώρας, έστω ix για 1,...,i n= .
Όµως µιας και ο σταθµός θέλει να θεωρείται ανεξάρτητος πολιτικά και δεν επιτρέπει σε δύο σποτάκια του ίδιου
κόµµατος να προβληθούν σε διαδοχικές ώρες. Το κόµµα χρειάζεται να αποφασίσει σε ποιες ώρες θα βάλει το
σποτάκι για να το δουν περισσότεροι ψηφοφόροι.
(A) Με δυναµικό προγραµµατισµό να υπολογίσετε ποιος είναι ο µέγιστος δυνατός αναµενόµενος αριθµός
τηλεθεατών που θα δουν τα σποτάκια κατά τη διάρκεια των n ωρών (έναν τηλεθεατή τον υπολογίζουµε τόσες
φόρες όσα σποτάκια παρακολούθησε), αν αυτά προβληθούν σύµφωνα µε τους παραπάνω περιορισµούς.
Υπόδειξη: ορίζουµε τα εξής υποπροβλήµατα: Για 1,...,i n= , έστω ( )P i το µέγιστο άθροισµα των τηλεθεατών
όλων των έγκυρων προβολών, από την ώρα 1 µέχρι και την ώρα i (θεωρούµε ότι αν 1<i , 0)( =iP ). Άρα, ο
µέγιστος αριθµός αναµενόµενων τηλεθεατών δίνεται από το ( )P n .
(Β) Υλοποιήστε σε ψευδογλώσσα τον αλγόριθµο και υπολογίστε την πολυπλοκότητα χρόνου, για τον
υπολογισµού του ( )P n .
(Γ) Εφαρµόστε τον αλγόριθµό σας στο παρακάτω παράδειγµα:
Αν ix ∈{2, 6, 3, 1, 6, 7, 4, 8, 2}, και 1,...,9i = να υπολογίσετε το (9)P .
∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 1 5
ΘΕΜΑ 3: (Μονάδες 10+10)
(Άσκηση 1)
∆ώστε κανονικές εκφράσεις για τις παρακάτω γλώσσες για το αλφάβητο Σ={a,b}:
1. L = {w | το µήκος της w είναι 3i, i ≥ 0}
2. L = {w | η w περιέχει ακριβώς δύο ή ακριβώς τρία b}
3. L = {w | η w αποτελείται από εναλλασσόµενα a και b}
4. L = {w | η w δεν περιέχει τη λέξη ba }
(Άσκηση 2)
∆ώστε κανονικές εκφράσεις για τις παρακάτω γλώσσες για το αλφάβητο {0,1}:
1. L = {w | η w ξεκινά ή τελειώνει µε 000 ή 111}
2. L = {w | η w ξεκινά και τελειώνει είτε µε 000 είτε µε 111}
3. L = {w | στην w κάθε 1 ακολουθείται από 00}
4. L = {w | η w περιέχει τις δύο συµβολοσειρές 111 και 010}
∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 1 6
ΘΕΜΑ 4: (Μονάδες 10+10)
Να ταξινοµηθούν οι παρακάτω συναρτήσεις σε αύξουσα σειρά τάξης µεγέθους, καθώς το n τείνει στο άπειρο:
α) f1(n) = n log2
n + log10
n
β) f2(n) = n3
log n + lognn
γ) f3(n) = n log0,5
n + log2
3n
δ) f4(n) = n1,5
+ log0,5
2n
ε) f5(n) = (1,003)n
+ log100n
∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 1 7
(Β) Να επιλυθούν οι παρακάτω αναδροµικές εξισώσεις:
α) T1(n) = 7 T1(n/2) + n2
β) T2(n) = 7 T2(n/2) + n3
γ) T3(n) = 16 T3(n/2) + 1.8 (n1/3
/logn)3
log3
(n!)
δ) T4(n) = 5 T4(n/2) + n3
Θεώρηµα Κυριαρχίας: Έστω η αναδροµική εξίσωση 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
εεεε++++
= Ω= Ω= Ω= Ω
≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ≥ ≤ Θ
∆ηµήτρης Ψούνης – ΠΛΗ30, Επαναληπτικό ∆ιαγώνισµα 1 8
ΘΕΜΑ 5: (Μονάδες 4+16)
(1) Εξετάστε αν 2n
=O(4n
)
(2) Εξετάστε αν n=Ω(3n2
)
(3) Μελετάµε το πρόβληµα της εύρεσης του συντοµότερου µονοπατιού από µία κορυφή αφετηρία σε µία
κορυφή – προορισµό σε ένα κατευθυνόµενο γράφηµα , µε θετικά ακέραια βάρη στις ακµές για το
οποίο προτείνεται ο εξής άπληστος αλγόριθµος:
1. Θέσε ως τρέχουσα κορυφή την .
2. Θέσε 0
3. Επανέλαβε εως ότου :
a. Επέλεξε την ακµή , ∈ , για κάθε γειτονική της µε το ελάχιστο βάρος.
b. Θέσε την ακµή , στο ελάχιστο µονοπάτι και αύξησε το W µε το βάρος της ακµής ,
c. Θέσε
4. Επέστρεψε το
Εξετάστε αν ο παραπάνω αλγόριθµος είναι βέλτιστος. Αν ναι, δώστε απόδειξη ορθότητας. Αν όχι δώστε ένα
κατάλληλο αντιπαράδειγµα.