18.09.2013 Aufrufe

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

162 KAPITEL 6. KOMPLEXITÄT VON ALGORITHMEN<br />

Beispiel 2. 1. Jedes Problem der Klasse P gehört zu N P.<br />

2. ZERLEGBARKEIT ist e<strong>in</strong> Problem der Klasse N P; es ist nicht bekannt, ob<br />

es zur Klasse P gehört.<br />

3. ERFÜLLBARKEIT (siehe Beispiel 5 <strong>in</strong> 6.2) ist e<strong>in</strong> Problem der Klasse N P:<br />

für jede Boolesche Formel f(x1, . . . , xn) und jede ” potentielle Lösung“, d.h.<br />

jede (beliebig berechnete) Belegung aller Variablen x1, . . . , xn, können wir<br />

effizient entscheiden, ob der Wert von f true oder false ist. Es ist e<strong>in</strong>fach,<br />

e<strong>in</strong>e NTM mit polynomialer Zeitkomplexität zu konstruieren, die das Problem<br />

ERFÜLLBARKEIT löst: Band 1 ist e<strong>in</strong> E<strong>in</strong>gabeband, auf dem e<strong>in</strong> Code der<br />

Formel f(x1, . . .,xn) gespeichert wird. Auf Band 2 erzeugt die NTM nichtdeterm<strong>in</strong>istisch<br />

n Werte 0 oder 1. Dann berechnet sie den Wert von f mit diesen<br />

n Variablenwerten (mit 1 = true und 0 = false).<br />

4. TRAVELING SALESMAN PROBLEM (TSP) ist e<strong>in</strong> Problem der Klasse<br />

N P mit großer praktischer Relevanz. Die E<strong>in</strong>gabe ist e<strong>in</strong>e Liste S1, . . . , Sn<br />

von Städten und e<strong>in</strong>e Matrix von Zahlen<br />

d(i, j) ≥ 0 für i, j = 1, . . .,n<br />

die die Distanz von Si zu Sj repräsentieren (oder die Kosten der Reise von<br />

Si nach Sj). Die Aufgabe ist, zu entscheiden, ob alle Städte besucht werden<br />

können, ohne dass die gesamten Kosten e<strong>in</strong>e gegebene Zahl k überschreiten.<br />

Das heißt: die E<strong>in</strong>gabe besteht aus Zahlen k und dij für i, j = 1, . . .,n. Die<br />

Lösung ist e<strong>in</strong>e Rundfahrt, d.h. e<strong>in</strong>e Permutation (i1, i2, . . . , <strong>in</strong>) der Zahlen<br />

1, . . .,n, so dass<br />

(∗) d(i1, i2) + d(i2, i3) + · · · + d(<strong>in</strong>−1, <strong>in</strong>) + d(<strong>in</strong>, i1) ≤ k.<br />

Auch für dieses Problem gibt es ke<strong>in</strong>en effizienten Algorithmus. Aber das<br />

Problem gehört sicher zu N P: falls e<strong>in</strong>e Permutation gegeben wird, benötigt<br />

die Überprüfung der Ungleichung (∗) nur l<strong>in</strong>eare Zeit.<br />

Satz 1. Jede NTM mit der Zeitkomplexität p(n) kann von e<strong>in</strong>er TM mit der Zeitkomplexität<br />

O(K p(n) ) wobei K e<strong>in</strong>e Konstante ist<br />

simuliert werden.<br />

Beweis. Im Beweis des Satzes 1 <strong>in</strong> 3.4 haben wir e<strong>in</strong>e Simulation e<strong>in</strong>er nichtdeterm<strong>in</strong>istischen<br />

Tur<strong>in</strong>gmasch<strong>in</strong>e M durch e<strong>in</strong>e determ<strong>in</strong>istische 3-Band Tur<strong>in</strong>gmasch<strong>in</strong>e<br />

M gezeigt. Wir beweisen, dass M die Zeitkomplexität O(r 2p(n) ) für e<strong>in</strong>e Konstante<br />

r hat, falls M die Zeitkomplexität p(n) hat. Danach simulieren wir M mit e<strong>in</strong>er<br />

(1-Band) TM, deren Komplexität O(n 2 + (r 2p(n) ) 2 ) ist, siehe Satz 1 <strong>in</strong> 6.4. Da<br />

(r 2p(n) ) 2 = r 4p(n) , setzen wir K = r 4 : die Funktion n 2 + r 4p(n) gehört zu O(K p(n) ).<br />

Sei, wie im Beweis des Satzes 1 <strong>in</strong> 3.4, e<strong>in</strong>e Numerierung der Übergänge (q, s) →<br />

(qi, si) für i = 1, . . .,r gegeben. Für jede E<strong>in</strong>gabe der Länge n brauchen wir nur die<br />

ersten p(n) Berechnungsschritte der Masch<strong>in</strong>e M zu simulieren. Die Masch<strong>in</strong>e M<br />

erzeugt systematisch alle Listen aus Zahlen<br />

i1i2 . . . ik<br />

auf Band 2 – die Anzahl dieser Listen ist<br />

mit k ≤ p(n) (und 1 ≤ is ≤ r für s = 1, . . .,k)<br />

r + r 2 + r 3 + · · · + r p(n) ∈ O(r p(n) ).<br />

Für jede Liste wird M (<strong>in</strong> k ≤ p(n) Schritten) simuliert, also dauert die ganze Simulation<br />

e<strong>in</strong>er E<strong>in</strong>gabe höchstens O(p(n)r p(n) ) Schritte. Es gilt p(n)r p(n) ∈ O(r 2p(n) ).

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!