tenstrukturen, WS 12/13

Werbung
R
S
SA
IS
S
UN
E R SIT
A
IV
A VIE N
9. Übungsblatt zu Grundzüge von Algorithmen und Datenstrukturen, WS 12/13
Prof. Dr. Markus Bläser, Radu Curticapean, Christian Engels
http://www-cc.cs.uni-sb.de/course/38/
Abgabe: Donnerstag, 17. Januar 2013, 12:00 Uhr
Aufgabe 9.1 Bestimmen Sie das asymptotische Wachstum der folgenden Funktionen so genau
wie möglich.
a) T (n) = 3T (n/3) + 13 n
b) T (n) = 3T (n/2) + 23 n
c) T (n) = 2T (n/3) + 32 n
Aufgabe 9.2 (Zusatzaufgabe) In dieser Aufgabe betrachten wir eine das Master-Theorem verallgemeinernde Methode zum Lösen von Rekurrenzen. Hierfür genüge T : [1, ∞) → R≥0 der
Gleichung1
(
Θ(1)
1 ≤ x ≤ x0
T (x) = Pk
(1)
i=1 ai T (bi x) + g(x) x > x0
mit g : [1, ∞) → R≥0 und Konstanten k ∈ N, x0 ∈ R sowie ai > 0 und bi ∈ (0, 1) für alle
1 ≤ i ≤ k. Hierbei ist x0 so gewählt, dass x0 ≥ 1/bi und x0 ≥ 1/(1 − bi ) für alle 1 ≤ i ≤ k gilt.
Zudem fordern wir, dass g poly-wachsend ist. Diese technische Bedingung besagt, dass es
c1 , c2 > 0 gibt, so dass für alle x ≥ 1, alle 1 ≤ i ≤ k und alle u ∈ [bi x, x] gilt:
c1 g(x) ≤ g(u) ≤ c2 g(x).
(2)
Bearbeiten Sie die folgenden Teilaufgaben:
P
a) Es sei p ∈ R so gewählt, dass ki=1 ai bpi = 1 erfüllt ist. Sie dürfen hierbei ohne Beweis
annehmen, dass p existiert und eindeutig bestimmt ist. Zeigen Sie: Es gibt c3 , c4 > 0, so
dass für alle 1 ≤ i ≤ k und alle x ≥ 1 gilt:
Z x
g(u)
p
c3 g(x) ≤ x
du ≤ c4 g(x).
(3)
p+1
u
bi x
b) Zeigen Sie: Ist p wie in der vorigen Teilaufgabe gegeben, so gilt
Z x
g(u)
p
T (x) = Θ x 1 +
du
.
p+1
1 u
(4)
Hinweis: Partitionieren Sie [1, ∞) in Intervalle {In | n ∈ N}. Wählen Sie hierbei I0 = [1, x0 ]
und Ij = (x0 + j − 1, x0 + j] für j > 0. Zeigen Sie, dass aus x ∈ Ij für alle bi mit 1 ≤ i ≤ k
folgt, dass bi x in einem Intervall Ij 0 mit j 0 < j enthalten ist. Nutzen Sie dies für einen
Induktionsbeweis über die Intervalle In unter Rückgriff auf die vorige Teilaufgabe.
1
Anders als beim Master-Theorem ist T eine Funktion, die als Eingaben reelle Zahlen erhält.
1
Aufgabe 9.3 Bestimmen Sie mithilfe von Aufgabe 9.2 das asymptotische Verhalten der Lösungen
zu den folgenden Rekurrenzen. Geben Sie also jeweils eine Funktion f mit T = Θ(f ) an.
a) T (x) = 2T (x/4) + 3T (x/6) + Θ(x log x)
b) T (x) = 2T (x/2) + 89 T (3x/4) + Θ(x2 / log x)
c) T (x) = 12 T (x/2) + Θ x1
Welche dieser Rekurrenzen könnte man auch mithilfe des Master-Theorems lösen?
Aufgabe 9.4 Wir betrachten eine Verallgemeinerung des Interval Scheduling Problem aus der
Vorlesung. Die Intervalle haben nun neben Start- und Endzeiten zusätzlich Gewichte w1 , . . . , wn ∈
N. Ziel ist es, eine Menge
T von paarweise disjunkten Intervallen (ein sogenanntes “Schedule”)
P
zu finden, so dass i∈T wi maximal wird. Man erhält das Problem aus der Vorlesung, wenn
man alle Gewichte gleich 1 setzt.
a) Geben Sie ein Beispiel an, bei dem der Greedy-Algorithmus aus der Vorlesung nicht ein
optimales Schedule findet.
b) Geben Sie einen Algorithmus an, der basierend auf dynamischer Programmierung ein
optimales Schedule findet.
Aufgabe 9.5 Gegeben seien n Prozesse p1 , . . . , pn . Jeder dieser Prozesse benötigt ti Zeit. Die
Prozesse werden sequentiell ausgeführt und können nicht unterbrochen werden, d.h. die einzige Wahlmöglichkeit ist die Reihenfolge der Prozesse. Die Fertigstellungszeit ci von pi ist die
Summe der Zeiten der Prozesse, die vor pi ausgeführt werden plus
P ti . Geben Sie einen GreedyAlgorithmus an, der die durchschnittliche Fertigstellungszeit n1 · ni=1 ci minimiert.
2
Herunterladen