29.10.2013 Aufrufe

Skript zur Vorlesung Komplexitätstheorie im SS 1996

Skript zur Vorlesung Komplexitätstheorie im SS 1996

Skript zur Vorlesung Komplexitätstheorie im SS 1996

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.

5 NP-VOLLSTÄNDIGE PROBLEME 55<br />

NODE COVER: Sei G = (V, E) ein Graph, k ∈ N. Frage: Gibt es eine<br />

Überdeckung der Größe ≤ k? Eine Knotenüberdeckung ist eine Teilmenge<br />

U ⊆ V mit |U| ≤ k derart, daß für alle [u, v] ∈ E gilt: u ∈ U oder v ∈ U.<br />

Theorem 5.3 CLIQUE und NODE COVER sind NP-vollständig.<br />

Beweis:<br />

1. INDSET ≤ CLIQUE: Sei G = (V, E) ein Graph und k ein Fall von<br />

INDSET. Wähle die Relation R(G, k) = ¯ G mit k Fall von CLIQUE.<br />

¯G = (V, Ē) ein Graph mit Ē = {[u, v]|[u, v] ∈ E} ist. I ist unbhängig<br />

in G genau dann, wenn I einen vollständigen Untergraphen in ¯ G <strong>im</strong>pliziert.<br />

2. I ist unabhängig in G = (V, E), |I| = k genau dann, wenn V − I eine<br />

Überdeckung der Größe |V | − k in G ist.<br />

” ⇒“: Für alle [a, b] ∈ E gilt: a ∈ V − I oder b ∈ V − I (sonst a, b ∈ I,<br />

was ein Widerspruch <strong>zur</strong> Unabhängigkeit wäre)<br />

” ⇐“: V − I ist Überdeckung. Also gilt für alle a, b ∈ I: [a, b] ∈ E<br />

(andernfalls wäre a ∈ V − I oder b ∈ V − I).<br />

5.3 Mengen- und Zahlenprobleme<br />

Bisher spielten Zahlen für uns fast nur als Indizes eine Rolle (Ausnahme ist<br />

etwa TSP). Allerdings waren bei der Reduktion die Distanzen auch nur 1<br />

oder 2. Es gibt aber eine Anzahl interessanter Probleme, bei denen (große)<br />

Zahlen eine große Rolle spielen.<br />

SUMME VON UNTERMENGEN (SUM): Sei A = {a1, . . . , an} eine<br />

Teilmenge von N und M ∈ N. Frage: Existiert eine Menge B ⊆ A mit<br />

<br />

ai∈B ai = M?<br />

Theorem 5.4 SUM ist NP-vollständig.<br />

Beweis:<br />

1. SUM ∈ NP: Rate B und teste.<br />

2. Wir zeigen NODE COVER ≤ SUM: Sei R(G, k) = A; M mit<br />

G = (V, E), V = {v1, . . . , vn}, E = {e1, . . . , em}, A =<br />

{a1, . . . , an, b1, . . . , bm}. Für alle j = 1, . . . , n gilt:<br />

aj = 4 m +<br />

m<br />

ɛij · 4 i−1 <br />

1 vj ist Knoten von ei<br />

mit ɛij =<br />

0 sonst<br />

i=1<br />

Für alle i = 1, . . . , m gilt: bi = 4 i−1 und M = k · 4 m + 2 · m<br />

i=1 4i−1 .<br />

Behauptung: G hat Knotenüberdeckung S ⊆ V mit |S| ≤ k genau

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!