Komplexität von Algorithmen SS 2013 Übungsblatt 8 Abgabe: In der Woche ab 8.7. in der jeweiligen Übungsgruppe Bitte vermerken Sie in Ihrer Lösung die Namen und CIP-Logins/StudOn-IDs aller Mitglieder ihrer Gruppe sowie den Namen Ihres Übungsleiters. Geben Sie für jede Aufgabe eindeutig den Namen des für die Lösung verantwortlichen Mitgliedes an. Aufgabe 1 (10 Einzelpunkte, 5 Gruppenpunkte) Ein Entscheidungsproblem wurde als eine Menge von Bitstrings definiert. Beispielsweise entspricht das Problem, zu entscheiden, ob eine Zahl eine Primzahl ist, der Menge PRIMES = {bin(x) | x ist Primzahl}. Das mengentheoretische Komplement X eines Entscheidungsproblems X entspricht dann dem dualen Problem. Beispielsweise gilt: PRIMES = {0, 1}∗ \ PRIMES = {bin(x) | x ist keine Primzahl}. Eine Komplexitätsklasse wurde als eine Menge von Entscheidungsproblemen (welche alle unter bestimmten gemeinsamen Zeit- oder Speicher-Beschränkungen lösbar sind) definiert. Zum Beispiel bezeichnet PTIME die Menge all jener Entscheidungsprobleme, die von einer deterministischen Turing-Maschine in polynomieller Zeit gelöst werden können. Für eine gegebene Komplexitätsklasse C ist die duale Klasse co-C als co-C = {P | P ∈ C} definiert. 1. Beweisen Sie, dass PTIME = co-PTIME. 2. Kann dieselbe Argumentation verwendet werden, um NPTIME = co-NPTIME zu beweisen? Begründen Sie Ihr Antwort. 3. Zeigen Sie, dass wenn NPTIME 6= co-NPTIME, dann auch PTIME 6= NPTIME. Hinweis: Wenn Ihr Antwort auf Frage 2 “ja” lautet, sollten Sie vielleicht noch ein wenig länger über Ihre Antwort nachdenken. Aufgabe 2 (10 Einzelpunkte, 5 Gruppenpunkte) Wir sagen, dass ein gerichteter Graph G = hV, Ei einen Zyklus enthält, wenn es einen gerichteten Pfad der folgenden Form in G gibt: e e ek−1 e 0 1 k v0 −→ v1 −→ . . . −→ vk −→ v0 wobei vi ∈ V und ei ∈ E für alle entsprechenden i. Wir nehmen an, dass die Knoten in V mit den Zahlen 0, 1, 2, . . . , m − 1 nummeriert sind; eine Kantenrepräsentation von G ist dann ein Tupel hm, `i wobei ` eine Liste der Länge |E| ist und alle Paare (a, b) ∈ E enthält. KompAlg, SS 2013 Zeigen Sie, dass das Problem, zu entscheiden, ob ein gerichteter Graph in Kantenrepräsentation einen Zyklus enthält in NL ist (d.h., dass das Problem von einer nicht-deterministischen TuringMaschine gelöst werden kann, die für eine Eingabe der Länge n zusätzlichen Speicherplatz der Grösse höchstens c log(n) benötigt, wobei c eine Konstante ist, die nicht von n abhängt). Begründen Sie Ihre Lösung sorgfältig. Hinweis: Es ist nicht notwendig, eine Turing-Maschine in vollem Detail anzugeben; PseudoCode mit klaren Hinweisen für die tatsächliche Implementation des Codes auf einer nichtdeterministischen Turing-Maschine (insbesondere bezüglich des Speicherverbrauchs) genügt. Aufgabe 3 Beweisen Sie: (10 Einzelpunkte, 5 Gruppenpunkte) ∞ [ TIME(c) ⊆ SPACE(0) c=0 S wobei ∞ c=0 TIME(c) die Klasse von Entscheidungsproblemen ist, die von einer Turing-Maschine in konstanter Zeit gelöst werden können, und SPACE(0) die Menge von Entscheidungsproblemen bezeichnet, die ganz ohne Verwendung von zusätzlichem Speicherplatz gelöst werden können. 2