Ubung 5 - WueCampus2

Werbung
Lehrstuhl für Informatik I
Würzburg, den 9. November 2012
Effiziente Algorithmen und
wissensbasierte Systeme
Prof. Dr. Alexander Wolff
Dr. Jan-Henrik Haunert
Universität Würzburg
Vorlesung Algorithmen und Datenstrukturen WS 2012/13
Übung 5
Bitte geben Sie in 2er oder 3er Gruppen bis Freitag, den 16.11.2012, 8:55 Uhr über die ELearning-Seite der Lehrveranstaltung ab:
https://wuecampus2.uni-wuerzburg.de/moodle/course/view.php?id=363
Sie können Ihre Bearbeitung auch stattdessen in den Briefkasten des Lehrstuhls I im Informatikbau
einwerfen.
Geben Sie die Namen aller BearbeiterInnen und die Nummer Ihrer Übungsgruppe an.
Aufgabe 1
1 + 4 = 5 Punkte
Wird ein Fussballspiel durch Elfmeterschießen entschieden, so schießt in jeder Runde erst ein
Schütze der einen Mannschaft gegen den Torwart der anderen, bevor ein Schütze der zweiten
Mannschaft gegen den Torwart der ersten antritt. Zuerst werden stets fünf Runden ausgetragen.
Hat eine Mannschaft danach mehr Tore als die andere erzielt, so gewinnt sie und das Spiel ist
beendet. Andernfalls werden solange weitere Runden ausgetragen, bis in einer Runde genau eine
der beiden Mannschaften trifft.
Zur Modellierung gehen wir davon aus, dass unabhängig von Schütze und Torwart jeder Schuss
mit einer Wahrscheinlichkeit von p = 0, 8 zu einem Tor führt. Wir interessieren uns dafür, wie
lange das Elfmeterschießen dauert. Dazu sei X die Zufallsvariable, die angibt, wie viele Runden
ausgetragen werden, bis das Spiel beendet ist.
Hinweis: Wir gehen dabei davon aus, dass stets mindestens fünf Runden ausgetragen werden. Die
Sonderregeln, die zum früheren Abbruch führen, wenn der Sieger schon feststeht, finden keine
Anwendung.
a) Berechnen Sie die Wahrscheinlichkeit Pr[X = 5] dafür, dass der Sieger nach den ersten fünf
Runden feststeht.
b) Berechnen Sie die erwartete Anzahl E[X] an Runden, die geschossen wird, bis der Sieger
feststeht.
Aufgabe 2
2 + 2 = 4 Punkte
Eine faire Münze wird dreimal geworfen. Die Zufallsvariable X gibt an, wie oft die Münze mit
dem Kopf nach oben landet.
a) Wie groß ist E[X 2 ]?
b) Wie groß ist E2 [X]?
Bitte wenden!
1
Algorithmen und Datenstrukturen
Aufgabe 3
2 + 4 + 1 + 1 + 3 = 11 Punkte
Gegeben sei eine Menge S ⊆ Z von n Zahlen und eine Zahl z ∈ Z. Ein Algorithmus soll alle
Zahlen von S ausgeben, die echt kleiner als z sind.
a) Beweisen Sie, dass jeder Algorithmus für dieses Problem im schlechtesten Fall Ω(n) Zeit
braucht.
b) Entwerfen Sie in Pseudocode einen Algorithmus, der das Problem löst, wenn S als MinHeap
gespeichert ist. Der Algorithmus soll echt schneller als linear in n sein, wenn die Mächtigkeit
k der Ergebnismenge klein ist (das heißt k ∈ o(n)).
c) Geben Sie die Laufzeit Ihres Algorithmus aus Aufgabenteil b) in Abhängigkeit der Mächtigkeit k der Ergebnismenge an.
d) Der folgende Algorithmus vereinigt zwei MinHeaps H1 und H2 zu einem neuen MinHeap.
HeapUnion(MinHeap H1 , MinHeap H2 )
Sei H ein neues Feld mit H.length = H1 .heap-size + H2 .heap-size
Betrachte H als MinHeap mit H.heap-size = 0
while H1 .heap-size > 0 do
H.Insert(H1 .ExtractMin())
while H2 .heap-size > 0 do
H.Insert(H2 .ExtractMin())
return H
Welche asymptotische Worst-Case-Laufzeit hat HeapUnion in Abhängigkeit von
n1 = H1 .heap-size und n2 = H2 .heap-size?
e) Geben Sie in Pseudocode einen Algorithmus an, der zwei MinHeaps H1 und H2 in Θ(n1 +n2 )
Zeit vereinigt.
Zusatzaufgabe
4 Zusatzpunkte
Gegeben sind zwei Schalen A und B. Die Schale A ist ursprünglich leer; die Schale B enthält
n Kugeln, die mit 1, 2, . . . , n nummeriert sind. In Schritt 0 werden r Kugeln zufällig aus der
Schale B gewählt und in die Schale A gelegt. In den Schritten 1, 2, . . . , n − r wird jeweils eine
Kugel zufällig aus der Schale B gewählt und in die Schale A gelegt. Die Menge Amax enthält zu
jeder Zeit die r größten Nummern in Schale A. Wie groß ist die zu erwartende Zahl an Schritten,
in denen sich die Menge Amax ändert?
Tipp: Führen Sie passend definierte Indikatorzufallsvariable X1 , . . . , Xn−r ein. Analysieren Sie für
i = 1, . . . , n − r die Wahrscheinlichkeit Pr[Xi = 1], indem Sie von der Situation nach Auswahl
der i. Kugel ausgehen. Dies nennt man Rückwärtsanalyse.
2
/Lehrstuhl für Informatik I
Zugehörige Unterlagen
Herunterladen