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.