Theoretische Informatik II Delete Independently

Werbung
Fakultät für Informatik
Professur Theoretische Informatik
und Informationssicherheit
Prof. Dr. Hanno Lefmann
Sommersemester 2007
Theoretische Informatik II
10. Übung
Aufgabe 1 (3 Punkte)
Zeigen Sie: Für jeden
PGraphen G = (V, E) mit n Knoten und m Kanten gilt das sogenannte
Handschlaglemma: v∈V d(v) = 2m, d.h. die Summe aller Knotengrade ist doppelt so groß
wie die Anzahl der Kanten.
————————————————————————————————————————
Aus dem Handschlaglemma wissen wir, dass die Knoten in G einen durchschnittlichen Knohaben.
tengrad d := 2m
n
Wir betrachten den folgenden probabilistischen Algorithmus für MAX-IS:
Delete Independently Algorithmus
Eingabe: Graph G = (V, E) mit n Knoten, m Kanten und durchschnittlichem
Knotengrad d = 2m
n
Ausgabe: unabhängige Menge I
Schritt 1:
Schritt 2:
Schritt 3:
Schritt 4:
Setze I = ∅
Lösche jeden Knoten v ∈ V (samt aller inzidenten Kanten) unabhängig
mit Wahrscheinlichkeit 1 − d1
Für jede verbliebene Kante, lösche diese und einen ihrer Endknoten
Füge alle verbliebenen Knoten zu I hinzu
Aufgabe 2 (6 Punkte)
a) Sei n1 bzw. m1 die Anzahl der Knoten bzw. Kanten, die den Schritt 2 ”überleben”.
Berechnen Sie die Erwartungswerte E[n1 ] und E[m1 ] (wie viele Knoten und Kanten
werden im Mittel noch da sein?).
b) Sei n2 die Anzahl der Knoten, die den Schritt 3 ”überleben”. Wie groß ist E[n2 ]?
c) Zeigen Sie mit Hilfe von b):
Ist G ein Graph mit n Knoten und m Kanten, dann besitzt G eine unabhängige Menge
n2
mit mindestens 4m
Knoten.
Aufgabe 3 (4 Punkte)
Der Unterschied zwischen Mengen und Multimengen besteht darin, dass Elemente in einer
Multimenge mehrfach vorkommen können, z.B. M = {1, 2, 3, 1, 4}. Man nennt zwei Multimengen M1 und M2 äquivalent (kurz M1 ≡ M2 ), wenn M1 und M2 genau dieselben Elemente
(mit derselben Vielfachheit) enthalten.
Sei n ∈ IN fest und ÄQUI:={(M1 , M2 ) | M1 ≡ M2 und M1 , M2 sind Multimengen, deren
Elemente natürliche Zahlen aus {1, 2, . . . , 2n} sind}.
Wir betrachten den folgenden probabilistischen Algorithmus für die Sprache ÄQUI:
Compare Polynomials Algorithmus
Eingabe: Ein Paar (M1 , M2 ) von Multimengen
M1 = {x1 , x2 , . . . , xn } und M2 = {y1 , y2 , . . . , yn }
Schritt 1:
Schritt 2:
Schritt 3:
Bestimme die Polynome p1 (x) = (x − x1 )(x − x2 ) · · · (x − xn ) und p2 (x) =
(x − y1 )(x − y2 ) · · · (x − yn )
Wähle zufällig eine Zahl x0 aus {1, 2, . . . , 2n} aus und berechne die Werte
für p1 (x0 ) und p2 (x0 )
Ist p1 (x0 ) = p2 (x0 ), so akzeptiere die Eingabe (M1 , M2 )
Ist p1 (x0 ) 6= p2 (x0 ), so verwerfe die Eingabe (M1 , M2 )
Bestimmen Sie aus den Komplexitätsklassen ZP P, RP, co − RP, BP P, P P die inklusionsminimale Klasse C, so dass der Compare Polynomials Algorithmus ein C−Algorithmus für
ÄQUI ist. Begründen Sie, warum ÄQUI ∈ C gilt.
Hinweis: Das Polynom p1 (x) − p2 (x) ist ein Polynom höchstens (n − 1)−ten Grades, hat also
maximal n − 1 Nullstellen. Betrachten Sie die Wahrscheinlichkeit, dass die Zahl x0 eine dieser
Nullstellen ist.
Aufgabe 4∗
(6 Bonuspunkte)
Sei RANDOM QUICKSORT die probabilistische Version von Quicksort, bei der das PivotElement jeweils unabhängig und gleichwahrscheinlich aus allen Möglichkeiten gewählt wird.
Zeigen Sie:
Für eine beliebige Eingabe x1 , . . . , xn von n paarweise verschiedenen Zahlen gilt, dass die
erwartete Anzahl an Vergleichen, die Random Quicksort ausführt, gleich 2n ln n + O(n) ist.
Herunterladen