Perlen der Informatik

Werbung
Technische Universität München
Institut für Informatik
Prof. Tobias Nipkow, Ph.D.
Alexander Krauss
WS 2007/08
13. 12. 2007
Perlen der Informatik
6. Übung
Aufgabe G6.1 Nichtdeterministisches Programmieren
Gegeben sei ein gerichteter Graph
G = (V, E)
wobei
V = {v1 , . . . , vn } und E ⊆ V × V
Ein Hamilton-Kreis ist eine Permutation π der Knotenindizes mit der Eigenschaft
(vπ(i) , vπ(i+1) ) ∈ E für alle i ∈ {1, . . . , n − 1} und
(vπ(n) , vπ(1) ) ∈ E
Geben Sie einen nichtdeterministischen Algorithmus an, der prüft, ob ein Graph einen HamiltonKreis besitzt.
Aufgabe G6.2 3SAT-Problem
Wir betrachten das Erfüllbarkeitsproblem für aussagenlogische Formeln der folgenden Gestalt:
(z1,1 ∨ z1,2 ∨ z1,3 ) ∧ . . . ∧ (zn,1 ∨ zn,2 ∨ zn,3 )
Hierbei ist zi,j entweder eine Variable oder eine negierte Variable. (die Teilformeln zi,1 ∨ zi,2 ∨ zi,3
werden auch als Klauseln bezeichnet).
Zeigen Sie, daß das Erfüllbarkeitsproblem auch für Formeln dieser speziellen Form NP-vollständig
ist.
Aufgabe G6.3 Was wäre wenn...
Was halten Sie von folgender Aussage:
Es ist noch nicht abschließend geklärt, ob das Problem, festzustellen, ob zwei Zahlen
teilerfremd sind, NP-vollständig ist oder nicht.
Aufgabe G6.4 SAT als Meta-Problem
Neben seiner theoretischen Relevanz ist SAT auch in der Praxis interessant: Da man viele schwierige Probleme mit SAT ausdrücken kann, kann man Verfahren zum Lösen von SAT auch zur
Lösung dieser Probleme benutzen. Mittlerweile existieren daher hochoptimierte Löser für SATProbleme (z.B. MiniSat, http://minisat.se).
Skizzieren Sie, wie man mit einem SAT-Solver Sudokus löst.
Aufgabe H6.1 Hamilton-Kreis (schwer!)
Wir haben in Aufgabe G6.1. bereits gezeigt, dass das Problem, zu entscheiden, ob ein Graph G
einen Hamilton-Kreis besitzt, in NP liegt.
Zeigen Sie nun, dass es auch NP-hart ist, indem Sie eine polynomielle Reduktion des 3SATProblems auf dieses Problem angeben.
Hinweis: Der unten angegebene Teilgraph (der “Klauselgraph”) wird dabei von Bedeutung sein.
Untersuchen Sie zunächst, auf welche Arten ein Hamilton-Kreis durch diesen Graph verlaufen
kann.
1
1
2
2
3
3
Herunterladen