hwr-notes/Komplexitätstheorie/zusammenfassungen/ko2 - zusammenfassung.md
2026-04-09 11:24:56 +02:00

12 KiB
Raw Blame History

KO2 NP-Vollständigkeit, Space Complexity & PSPACE

Vorlesung: Prof. Dr. Björn Grohmann, HWR Berlin
Datum: 25.02.2026
Folien: 72106


1. Hamiltonian Circuit Problem

Das Hamiltonian Circuit Problem fragt für einen ungerichteten Graphen, ob ein Rundweg (Hamiltonkreis) existiert, der jeden Knoten genau einmal besucht und zum Ausgangspunkt zurückkehrt.

Das Problem ist NP-vollständig, und zwar bereits dann, wenn der Graph planar (d.h. in der Ebene darstellbar ohne Kantenkreuzungen) und 3-regulär (jeder Knoten hat genau 3 Nachbarn) ist.

Reduktion von SAT auf Hamiltonian Circuit

Die NP-Vollständigkeit wird durch eine Konstruktion gezeigt, die eine aussagenlogische Formel in einen Graphen übersetzt. Der konstruierte Graph besitzt genau dann einen Hamiltonkreis, wenn die zugehörige Formel erfüllbar ist.

Beispielformel:

F = (x \lor y \lor z) \land (\bar{x} \lor \bar{y} \lor w) \land (y \lor \bar{z} \lor \bar{w})

Konstruktionselemente:

  • Variablenpfade: Der linke Weg steht für „wahr", der rechte Weg für „falsch". Ein XOR-Gadget stellt sicher, dass genau einer der beiden Wege zum Pfad gehört.
  • Klausel-Gadgets (OR): Mindestens eines der drei Literale muss „wahr" sein.
  • Kreuzungs-Gadgets: Sorgen dafür, dass sich Kanten des Graphen nicht kreuzen (Planarität).

2. Graph-Gadgets im Detail

Tutte Fragment

Ein spezielles planares Graphfragment mit drei Anschlüssen. Es hat die Eigenschaft, dass ein Hamiltonpfad durch das Fragment stets durch genau einen der drei Anschlüsse ein- und austritt. Es wird als Symbol mit einem Pfeil in einem Kreis dargestellt. Es gibt genau 6 mögliche Wege durch das Fragment.

Exclusive-OR (XOR) Gadget

Wird aus zwei Tutte-Fragmenten konstruiert. Verbindet zwei Pfade (v→v' und u→u') so, dass ein Hamiltonpfad genau einen der beiden Wege nutzen kann, nicht beide. Die zwei möglichen Wege entsprechen den zwei Wahrheitswerten einer Variable.

Kreuzungs-Gadget (Crossing)

Ermöglicht es, zwei sich kreuzende Kanten planar darzustellen. Wird aus mehreren XOR-Gadgets zusammengesetzt. Hat vier Anschlüsse und erlaubt vier mögliche Wegkombinationen, die den beiden unabhängigen Durchquerungsrichtungen entsprechen.

OR-Gadget

Verbindet zwei Pfade (v→v' und u→u') so, dass mindestens einer der beiden Wege durchlaufen werden muss. Es gibt insgesamt 5 mögliche Wege (alle Kombinationen außer „keiner").

Triple-OR-Gadget

Erweitert das OR-Gadget auf drei Eingänge (u→u', v→v', w→w'). Mindestens einer der drei Wege muss durchlaufen werden. Wird für 3-SAT-Klauseln mit drei Literalen benötigt.


3. MINESWEEPER ist NP-vollständig

Die NP-Vollständigkeit von Minesweeper wird gezeigt, indem man logische Schaltkreise innerhalb eines Minesweeper-Spielfelds simuliert.

Grundidee

In einem Minesweeper-Feld können Zellen entweder Minen enthalten oder nicht. Die Zahlen in aufgedeckten Zellen geben an, wie viele Minen sich in den benachbarten Zellen befinden. Man nutzt Variablen x und x' (Komplement), wobei x=Mine und x'=keine Mine (oder umgekehrt) einer Wahrheitsbelegung entspricht.

Bausteine der Reduktion

  • Wire (Draht): Ein horizontales Muster aus 5 Zeilen, in dem sich x und x' abwechseln. Die Randbedingungen (Zahlen 0 und 1) erzwingen, dass der Wahrheitswert konsistent entlang des Drahtes weitergeleitet wird.
  • NOT-Gate: Invertiert den Wahrheitswert eines Drahtes. Nutzt ein Muster mit Zahlen 2, 3 und Pflichtminen (*), sodass aus x am Eingang x' am Ausgang wird.
  • Phase-Changer: Besteht aus zwei NOT-Gates hintereinander. Verschiebt die Phase des Signals, ohne den Wahrheitswert zu ändern.
  • Wire Crossing: Ermöglicht es, zwei Drähte zu kreuzen, ohne dass ihre Signale interferieren. Wird mit drei XOR-Gates realisiert.
  • XOR-Gate: Kann aus AND- und NOT-Gates zusammengebaut werden (Standardkonstruktion: A \oplus B = (A \land \lnot B) \lor (\lnot A \land B), äquivalent mittels NAND-Darstellung).
  • AND-Gate: Ein komplexes Muster (Figure 13), das zwei Eingangsdrähte U und V mit einem Ausgangsdraht T verbindet. Enthält feste Minen (*) und variable Zellen, deren Belegung durch die Zahlenbedingungen erzwungen wird.

Gesamtargumentation

Da man mit Wires, NOT, AND (und daraus abgeleitet OR, XOR) beliebige Boolesche Schaltkreise bauen kann, lässt sich jede SAT-Instanz als Minesweeper-Konfiguration kodieren. Die Frage „Gibt es eine konsistente Minenbelegung?" entspricht der Frage „Ist die Formel erfüllbar?". Da SAT NP-vollständig ist, ist auch Minesweeper NP-vollständig.


4. „Gaming is Hard" NP-Härte von Videospielen

Metatheorem 1: Location Traversal + Single-Use Paths

Jedes Spiel, das Location Traversal (bestimmte Punkte müssen erreicht werden) und Single-Use Paths (Wege können nur einmal benutzt werden) aufweist, ist NP-hard.

Beweisskizze: Man baut einen Level, der einen planaren, 3-regulären Graphen darstellt. Die Knoten sind die Punkte, die besucht werden müssen. Jede Kante ist ein Single-Use Path. Ein zusätzlicher Endpunkt wird mit dem Startknoten verbunden. Der Level ist genau dann lösbar, wenn ein Hamiltonkreis existiert.

Metatheorem 2: Tokens, Toll Roads, Location Traversal

Ein Spiel ist NP-hard, wenn eine der folgenden Bedingungen gilt:

  • (a) Das Spiel hat collectible tokens, toll roads und location traversal.
  • (b) Das Spiel hat cumulative tokens, toll roads und location traversal. (Spieler startet mit n+1 tokens.)
  • (c) Das Spiel hat collectible cumulative tokens, toll roads, und der Avatar muss einen Ausgang erreichen. (2 tokens pro Punkt, jede Kante ist eine toll road, die Kante zwischen Start und Ende ist eine Sequenz von n toll roads.)

Beispiel: Pac-Man Power Pills sind tokens, Geisterkorridore sind toll roads.

Metatheorem 3: Keys, Doors, One-Way Paths

Ein Spiel ist NP-hard, wenn es doors und one-way paths enthält und eine der folgenden Bedingungen gilt:

  • (a) Collectible keys und location traversal.
  • (b) Cumulative keys und location traversal.
  • (c) Collectible cumulative keys und der Avatar muss einen Ausgang erreichen.

Funktioniert genau wie Metatheorem 2, wobei keys = tokens und doors = toll roads.

Metatheorem 4: Doors + Pressure Plates

Wenn ein Spiel doors und pressure plates (Druckplatten, die Türen öffnen oder schließen) enthält und der Avatar einen Ausgang erreichen muss, dann ist das Spiel NP-hard selbst wenn keine zwei Druckplatten dieselbe Tür steuern.

Konstruktion: Wie bei MT 1, aber vor dem Ausgang befinden sich n Türen, die jeweils durch eine Druckplatte bei einem der Punkte geöffnet werden müssen. Single-Use Paths werden durch Druckplatten realisiert, die beim zweiten Durchgang den Weg versperren.

Metatheorem 5: Doors + k-Buttons

Buttons sind wie Druckplatten, aber der Spieler kann entscheiden, ob er den Button drückt. Ein k-Button beeinflusst k Türen gleichzeitig.

Wenn ein Spiel doors und k-buttons enthält und der Avatar einen Ausgang erreichen muss, dann ist das Spiel NP-hard für k \geq 2.


5. Übersicht NP-vollständiger Probleme

Alle folgenden Probleme sind NP-vollständig und liegen damit in der Schnittmenge von NP und NP-hard:

  • SAT (Erfüllbarkeitsproblem aussagenlogischer Formeln)
  • Hamiltonkreis
  • Traveling Salesman Problem (TSP)
  • Knapsack (Rucksackproblem)
  • MINESWEEPER
  • und viele weitere (Karp's Liste mit 21 Problemen)

Karp's Liste (1972)

Richard Karp bewies 1972, dass 21 Probleme NP-vollständig sind, ausgehend von SAT. Die Reduktionskette verläuft u.a.:

SATISFIABILITY → CLIQUE → NODE COVER → {FEEDBACK NODE SET, FEEDBACK ARC SET, DIRECTED HAMILTON CIRCUIT → UNDIRECTED HAMILTON CIRCUIT}

SATISFIABILITY → 0-1 INTEGER PROGRAMMING → SET PACKING → SET COVERING

SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE → CHROMATIC NUMBER → {EXACT COVER → {3-DIMENSIONAL MATCHING, KNAPSACK → {SEQUENCING, PARTITION → MAX CUT}}, HITTING SET, STEINER TREE, CLIQUE COVER}


6. Space Complexity

Definition

Die Speicherkomplexität (Space Complexity) einer deterministischen Turingmaschine M ist die Funktion f: \mathbb{N} \to \mathbb{N}, wobei f(n) die maximale Anzahl an Bandzellen ist, die M auf irgendeiner Eingabe der Länge n besucht.

Für eine nichtdeterministische Turingmaschine ist f(n) die maximale Anzahl an Bandzellen, die M auf irgendeinem Berechnungspfad für eine Eingabe der Länge n besucht.

Anmerkung: In der Literatur wird manchmal angenommen, dass die TM ein separates Eingabe- und Arbeitsband besitzt und nur die Zellen auf dem Arbeitsband gezählt werden.

Speicherkomplexitätsklassen

\text{SPACE}(f(n)) = {L \mid L \text{ wird von einer det. TM in } O(f(n)) \text{ Speicher entschieden}}
\text{NSPACE}(f(n)) = {L \mid L \text{ wird von einer nichtdet. TM in } O(f(n)) \text{ Speicher entschieden}}

7. Savitch's Theorem

Satz (Savitch): Für jede Funktion f: \mathbb{N} \to \mathbb{R}^+ mit f(n) \geq n gilt:

\text{NSPACE}(f(n)) \subseteq \text{SPACE}(f^2(n))

Der Satz gilt auch für f(n) \geq \log(n).

Beweisskizze

Gegeben eine nichtdeterministische TM N, die Sprache A mit Speicher f(n) entscheidet, konstruieren wir eine deterministische TM M, die A in O(f(n)^2) Speicher entscheidet:

Kernidee CANYIELD-Prozedur:
CANYIELD$(c_1, c_2, t)$ entscheidet, ob Konfiguration c_2 von Konfiguration c_1 in t Schritten erreicht werden kann.

  • Basisfall (t=1): Prüfe direkt, ob c_1 = c_2 oder ob c_1 in einem Schritt zu c_2 führt.
  • Rekursion (t > 1): Für jede mögliche Zwischenkonfiguration c_m: Prüfe CANYIELD$(c_1, c_m, t/2)$ und CANYIELD$(c_m, c_2, t/2)$.

Speicheranalyse:

  • Jede Rekursionsebene benötigt O(f(n)) Speicher (für die Zwischenkonfiguration).
  • Die Rekursionstiefe beträgt O(\log t), wobei t \leq 2^{d \cdot f(n)} für eine Konstante d.
  • Gesamtspeicher: O(f(n)) \cdot O(\log t) = O(f(n)) \cdot O(f(n)) = O(f(n)^2).

Da f(n) zu Beginn nicht bekannt ist, testet M nacheinander f(n) = 1, 2, 3, \ldots


8. PSPACE

Definition

PSPACE ist die Klasse aller Sprachen, die von einer deterministischen Turingmaschine in polynomiellem Speicher entschieden werden können:

\text{PSPACE} = \bigcup_k \text{SPACE}(n^k)

Beziehung zwischen Zeit- und Speicherkomplexität

P \subseteq NP \subseteq PSPACE = NPSPACE \subseteq EXPTIME = \bigcup_k \text{TIME}(2^{n^k})

Die Gleichheit \text{PSPACE} = \text{NPSPACE} folgt aus Savitch's Theorem (quadratischer Blow-up bei der Speicherkomplexität ist polynomiell).


9. PSPACE-Vollständigkeit

Definition

Eine Sprache B ist PSPACE-complete, wenn:

  1. B \in \text{PSPACE}
  2. Jedes A \in \text{PSPACE} ist in polynomieller Zeit auf B reduzierbar.

Erfüllt B nur Bedingung 2, heißt B PSPACE-hard.

TQBF ist PSPACE-vollständig

TQBF = {\langle \phi \rangle \mid \phi \text{ ist eine wahre, voll quantifizierte Boolesche Formel}}

Theorem: TQBF ist PSPACE-complete.

Eine voll quantifizierte Boolesche Formel hat die Form \forall x_1 \exists x_2 \forall x_3 \ldots \phi(x_1, x_2, x_3, \ldots), wobei alle Variablen gebunden sind. TQBF fragt, ob eine solche Formel wahr ist.

TQBF verallgemeinert SAT: Während SAT nur Existenzquantoren hat (\exists x_1 \exists x_2 \ldots: „Gibt es eine erfüllende Belegung?"), erlaubt TQBF auch Allquantoren. Diese Erweiterung macht das Problem härter von NP-vollständig zu PSPACE-vollständig.


Zusammenfassung der Komplexitätsklassen

Klasse Beschreibung Beispiel
P Deterministisch in polynomieller Zeit lösbar Sortieren, kürzeste Wege
NP Nichtdeterministisch in polynomieller Zeit lösbar (Lösung in Polynomialzeit verifizierbar) SAT, Hamiltonkreis, TSP, Knapsack, Minesweeper
PSPACE Deterministisch in polynomiellem Speicher lösbar TQBF
EXPTIME Deterministisch in exponentieller Zeit lösbar Generalisiertes Schach
NP-hard Mindestens so schwer wie jedes Problem in NP Alle NP-vollständigen Probleme + weitere
NP-vollständig In NP und NP-hard SAT, Hamiltonkreis, TSP, Knapsack, Minesweeper
PSPACE-vollständig In PSPACE und PSPACE-hard TQBF