Lehrstuhl für Informatik 1 WS 2019/20
Prof. Dr. Gerhard Woeginger 11.10.2019
Tim Hartmann, Daniel Wiebking
Übung zur Vorlesung
Berechenbarkeit und Komplexität
Blatt 1
Tutoriumsaufgabe 1.1
(a) Wiederholen Sie die Definitionen der O-,Ω- und Θ-Notation.
(b) Sortiere die folgenden Funktionen nach wachsender Größenordnung. Wenn in deiner Sortierung f vor g steht, dann ist f =O(g). Begründe dabei jeweils, warum f vor g steht.
√n, nn, logn, log(n!), n, n2, 3n, nlogn, 2n
Tutoriumsaufgabe 1.2
Geben Sie je eine formale Definition für die Sprachen der folgenden Entscheidungspro- bleme an. Machen Sie sich dabei insbesondere Gedanken zur Kodierung der Eingabe und zum Eingabealphabet.
(a) Eine Clique in einem Graphen G = (V, E) ist eine Menge K ⊆ V von paarweise benachbarten Knoten. Die Sprache des CliquenproblemsLClique enthalte die Kodie- rungen aller Paare (G, b)mit b∈N, so dassG eine Clique der Größe mindestens b besitzt.
(b) Das Teilsummenproblem besteht darin, für eine gegebene MultimengeM von natür- lichen Zahlen und eine natürliche Zahlb zu entscheiden, ob es eine Teilmultimenge vonM gibt, sodass die Summe der Elemente dieser Teilmultimenge b ist. Die Spra- che LTeilsumme enthalte die Kodierungen der Paare (M, b) mit dieser Eigenschaft.
Tutoriumsaufgabe 1.3
Geben Sie zu der folgenden Turingmaschine M an, welche Konfigurationen auf der Ein- gabe w= 110erreicht werden.
M = ({q0, q1,q},¯ {0,1},{0,1, B}, B, q0,q, δ)¯
δ 0 1 B
q0 (q0,0, R) (q0,1, R) (q1, B, L) q1 (¯q,0, R) (q1,1, L) (q0, B, R)
— bitte wenden —
Tutoriumsaufgabe 1.4
Geben Sie formal eine Turingmaschine M über Σ = {0,1} an, die für eine auf dem Eingabeband befindliche Binärzahl w ∈ Σ∗ (das höchstwertige Bit stehe jeweils links) die Binärzahl w+ 2 berechnet. Wenn w=, soll M auch ausgeben.
Beschreiben Sie kurz die Funktionsweise Ihrer Turingmaschine.
Hausaufgabe 1.1 (2 + 2 Punkte)
Geben Sie je eine formale Definition für die Sprachen der folgenden Entscheidungspro- bleme an. Machen Sie sich dabei insbesondere Gedanken zur Kodierung der Eingabe und zum Eingabealphabet.
(a) Ein Hamiltonpfad in einem Graphen G= (V, E) ist ein Pfad, indem jeder Knoten des Graphen genau einmal vorkommt. Die Sprache des Hamiltonpfad-ProblemsLHP enthält die Kodierungen aller Graphen G, so dassG einen Hamiltonpfad besitzt.
(b) Das Partition-Into-Three-Sets-Problem besteht darin, zu entscheiden, ob eine gege- bene Menge von natürlichen Zahlen so in drei Teile partitioniert werden kann, dass die Summen über die jeweiligen Elemente der einzelnen Teile gleich groß sind. Die SpracheLP3 enthalte genau jene Zahlmengen, für die die genannte Eigenschaft gilt.
Hausaufgabe 1.2 (4 Punkte)
Geben Sie eine Beschreibung des Verhaltens der folgenden TuringmaschineM an. Geben Sie die von M berechnete Funktion an.
M = ({q0, q1, q2, q3, q4,q},¯ {0,1},{0,1, B}, B, q0,q, δ)¯
δ 0 1 B
q0 (q1,0, R) (q2,1, R) (¯q,0, N) q1 (q1,0, R) (q1,1, R) (q4, B, L) q2 (q2,0, R) (q2,1, R) (q3, B, L) q3 accept reject accept q4 reject accept accept
Hausaufgabe 1.3 (4 Punkte)
In dieser Aufgabe sollen Sie eine Turingmaschine M =
({q0, q1,q},¯ {0,1},{0,1, B}, B, q0,q, δ)¯ entwerfen, die terminiert und nach Termi- nierung möglichst viele ’1’-en auf dem Band stehen. Dabei startet die Turingmaschine M auf der leeren Eingabe. Geben Sie eine solche Turingmaschine M an, die terminiert und nach Terminierung mindestens vier (oder zumindest möglichst viele) ’1’-en auf dem Band stehen hat. Geben Sie die Konfigurationsfolge ihrer Turingmaschine bei leerer Eingabe an.
Abgabe bis Mittwoch, den 23.10.2019 um 14:00 Uhr
im Sammelkasten am Lehrstuhl i1 oder vorher in Ihrem Tutorium.