4. Blatt - WueCampus2

Werbung
Aufgabensammlung ADS-Repetitorium 2016
Erwartungswert – Amortisierte Analyse – Dynamische Programmierung
Aufgabe 1: Leichte Klausuren
Jede ADS-Klausur wird von den Studierenden nach Ihrer Schwierigkeit bewertet. Die erste Klausur wurde
im Semster 0 geschrieben, die letzte Klausur im Semester n + 1. Jede Klausur hat einen eindeutigen Rang
erhalten, sodass sich Bewertungen von 0 bis n + 1 ergeben. Wir betrachten eine Klausur im Semester i als
leicht, falls für deren Bewertung bi gilt, dass bi < bi−1 und bi < bi+1 ist.
Wir nehmen an, dass jede mögliche Folge der Bewertungen gleich wahrscheinlich ist, also alle Permutationen
von (b0 , b1 , . . . , bn , bn+1 ) mit gleicher Wahrscheinlichkeit auftreten können. Als Studierender möchten Sie
berechnen, wie viele leichte Klausuren Sie in n Semestern erwarten können.
(a) Sei K eine Zufallsvariable, die die Anzahl der leichten Klausuren in den Semestern 1 bis n beschreibt.
Angenommen, Sie hätten eine Formel, die die Wahrscheinlichkeit P (K = k) für 0 ≥ k ≥ n+2 berechnet.
Wie könnten Sie dann E[K] für ein festes n ausrechnen?
(b) Im Allgemeinen ist es schwierig, eine Formel für P (K = k) zu finden. Die Fragestellung können Sie aber
trotzdem lösen, indem Sie mit Indikatorzufallsvariablen arbeiten. Definieren Sie eine Indikatorzufallsvariable Ki die einem Semester 0 < i < n + 2 den Wert 0 oder 1 zuweist, je nachdem, ob die Klausur
einfach war oder nicht. Wir können Sie K in Abhängigkeit von Ki für 0 < i < n + 1 berechnen?
(c) Geben Sie außerdem eine Formel an, mit der Sie E[K] in Abhängigkeit von E[Ki ] für 0 < i < n + 1
berechnen können. Welche Gesetzmäßigkeit des Erwartungswerts machen Sie sich zu Nutze?
(d) Nehmen Sie an, die kennen eine Formel, die P (Ki = 1) für ein festes i berechnet. Geben Sie eine
Formel an, mit der Sie E[Ki ] berechnen können. Formulieren Sie in Worten, was die Wahrscheinlichkeit
P (Ki = 1) ausdrückt.
(e) Wie groß ist die Wahrscheinlichkeit, dass die Bewertung bi des Semesters i einen bestimmten Wert j
aufweist und diese Klausur in Semester i eine leichte ist?
(f) Wie groß ist die Wahrscheinlichkeit P (Ki = 1) für ein gegebenes i?
(g) Was ist die erwartete Anzahl von Klausuren in den Semestern 1 bis n, die als leicht empfunden werden?
Aufgabe 2: Wahrscheinlichkeit und Erwartungswert
Auf dem Frühjahrs-Volksfest gibt es ein faires Glücksrad, welches mit den fünf Farben rot, grün, blau, gelb
und glitzer angemalt ist. Der rote und der grüne Sektor nehmen jeweils 25 % der Fläche des Glücksrads ein,
die anderen drei Farben nehmen jeweils ein Sechstel des Glücksrads ein.
(a) Hängt die Wahrscheinlichkeit, dass der Zeiger am Ende einer Drehung auf eine bestimmte Farbe zeigt
davon ab, ob die Farben zusammenhängen oder das Glücksrad in nach außen gehenden Streifen bemalt
ist?
(b) Sie bekommen fünf Freifahrten, falls Sie glitzer“ gedreht haben (Hauptpreis), drei Freifahrten, wenn
”
Sie gelb“ gedreht haben. Zwei Freifahrten gibt es, wenn der Zeiger blau“ zeigt und eine Freifahrt ist
”
”
der Gewinn bei grün“. Die Farbe rot“ geht leer aus. Wie viele Freifahrten gibt der Standbesitzer im
”
”
Durchschnitt pro Besucher aus, wenn jeder Besucher einmal drehen darf?
(c) Die letzten neun Drehungen hatten alle das Ergebnis glitzer“. Wie hoch ist die Wahrscheinlichkeit,
”
dass die nächste, zehnte Drehung, erneut das Ergebnis glitzer“ hat?
”
(d) Dem Standbetreiber ist es wichtig, dass die Kunden in der Warteschlange sehen, dass der Hauptpreis
gewinnbar ist. Es sieht jeweils der nächste Kunde der Warteschlange und der vorherige Kunde, der gerade
sein Gewinn abholt, das Ergebnis der aktuellen Drehung. Wenn an einem Tag n Kunden das Glücksrad
drehen, wie viele sind dann im Durchschnitt Zeuge eines Hauptgewinns eines anderen Kunden?
1
01.04.2016
Aufgabensammlung ADS-Repetitorium
Lehrstuhl für Informatik I
Universität Würzburg
Aufgabe 3: Bank-Schließfächer und Heaps
Bei einer Bank können Sie Schließfächer mieten. In jedes Schließfach passt genau ein Gegenstand. Der Service
ist aber nicht kostenlos. Für das Einlagern des n. Gegenstands stellt die Bank log n Euro in Rechnung.
Ebenfalls werden bei der Rückgabe des n. Gegenstands log n Euro fällig.
(a) Geben Sie die Gesamtkosten für das Ein- und Auslagern den n. Gegenstands in Θ-Notation an.
(b) Wie muss die Bank ihre Bezahlpolitik ändern, sodass das Abholen der Gegenstände kostenlos ist, die
Bank aber trotzdem denselben Gewinn macht?
(c) Geben Sie die Kosten für das Ein- und Auslagern mit der neuen Bezahlpolitik in Θ-Notation an.
(d) Übertragen Sie Ihre Überlegungen aus den vorherigen Teilaufgaben auf einen MaxHeap. Zeigen Sie mit
der Buchhaltermethode, dass die Insert-Methode amortisiert eine Laufzeit von O(log n) und ExtractMax
eine konstante Laufzeit hat.
(e) Lösen Sie die Aufgabe nun mit der Potentialmethode.
Aufgabe 4: Kürzeste Wege mit negativen Kanten
Gestern haben wir festgestellt, dass die Ergebnisse von Dijkstra auf Graphen mit negativen Kanten unter
Umständen nicht die kürzesten Wege repräsentieren. In dieser Aufgabe wollen wir einen Algorithmus finden,
der auf einem Graphen G = (V, E) mit der Gewichtsfunktion w : V × V → R einen kürzesten Weg zwischen
zwei Knoten s und t findet. Wir nehmen an, dass der Graph G keine von s erreichbaren, negativen Kreise
enthält.
(a) Zeigen Sie, dass das Problem eine optimale Substruktur aufweist. Sie müssen also zeigen, dass der
kürzeste Weg zwischen u und v aus kleineren Teillösungen desselben Problems berechenbar ist.
(b) Formulieren Sie den Wert δ(s, t) der Lösung rekursiv, wobei δ(s, t) die Länge eines kürzesten Wegs
zwischen s und t bezeichnet.
(c) Wie viele Kanten können auf einem kürzesten Weg von s zu t höchstens traversiert werden?
(d) Geben Sie einen Algorithmus an, der den Wert der optimalen Lösung berechnet, also die Länge eines
kürzesten Wegs zwischen s und t. Nehmen Sie an, dass jeder Knoten v ein Attribut d besitzt, welches
die aktuell berechnete Distanz zwischen s und v besitzt. Zu Beginn gilt für alle Knoten v, dass v.d = ∞,
für den Knoten s gilt, dass s.d = 0. Die Laufzeit soll Θ(|V | · |E|) sein.
(e) Modifizieren Sie Ihren Algorithmus so, dass er auch die optimale Lösung selbst, also den kürzesten Weg
berechnet. Welche Methode aus der Vorlesung können Sie dafür verwenden?
Seite 2
01.04.2016
Aufgabensammlung ADS-Repetitorium
Lehrstuhl für Informatik I
Universität Würzburg
Aufgabe 5: Palindrome Subsequenzen
Ein Palindrom ist eine Zeichenkette, die von vorne und von hinten gelesen das gleiche ergibt, zum Beispiel
das Adjektiv soldlos“. Eine Subsequenz ist ein String, der nach Weglassen beliebig vieler Zeichen aus einem
”
String hervorgeht, beispielsweise das Wort Baum“ aus Brauchtum“. Wir suchen nun einen effizienten Al”
”
gorithmus, der eine längste Subsequenz einer Zeichenkette s = s0 . . . sn findet, die gleichzeitig ein Palindrom
ist. Die längste palindrome Subsequenz in Amortisierte Laufzeit“ ist tieteit“.
”
”
(a) Erklären Sie kurz, wie ein Brute-Force-Algorithmus vorgehen würde, um das Problem zu lösen. Was ist
die Laufzeit dieses Algorithmus?
(b) Beschreiben Sie die optimale Substruktur, die das Problem aufweist.
(c) Definieren Sie den Wert l(i, j) der Lösung für s = si . . . sj mit 0 ≤ i ≤ j ≤ n rekursiv. Überlegen Sie
sich zunächst, was der Wert der Lösung ist. Wo finden Sie die Basisfälle, mit der Sie die Rekursion
beginnen können?
(d) Legen Sie eine Matrix, die l(i, j) für alle 0 ≤ i ≤ j ≤ n repräsentiert, für die beiden Sequenzen anna“
”
und graphalgo“ an und füllen Sie sie aus. Wie lang sind die längsten palindromen Subsquenzen in den
”
Wörtern? Wo steht der Wert der Lösung in der Matrix?
(e) Formulieren Sie jetzt einen Algorithmus, der eine solche Matrix automatisch ausfüllt und den Wert der
Lösung zurückgibt.
(f) Jetzt möchten Sie nicht nur den Wert ermitteln, sondern auch die längste palindrome Subsequenz selbst.
Beschreiben Sie, wie Sie mit einer zweiten Matrix die längste palindrome Subsequenz ermitteln können.
(g) Zeichnen Sie auch die ergänzte Matrix für die Wörter anna“ und graphalgo“. Was ist die jeweils
”
”
längste palindrome Subsequenz?
(h) Ändern Sie Ihren Algorithmus so, dass er die längste palindrome Subsequenz zurückgibt.
(i) Überlegen Sie sich, wie Sie Ihren Algorithmus ändern können, sodass er den längsten palindromen
Substring findet. Im Wort stirnlappenbasilisk“ ist der längste palindrome Substring silis“, während
”
”
die bisher betrachtete palindrome Subsequenz silappalis“ ist. Formulieren Sie die Matrix-Rekurrenzen
”
aus Teilaufgabe c) um und beschreiben Sie in Worten, wo sich in der Matrix jetzt der Wert der Lösung
befindet und wie Sie die Lösung rekonstruieren können.
(j) Falls Sie noch Zeit haben, geben Sie einen Brute-Force-Algorithmus an, der eine längste palindrome
Subsequenz findet.
Seite 3
Herunterladen