03.09.2013 Aufrufe

Komplexitaet-WS-2010.. - Parallele Systeme

Komplexitaet-WS-2010.. - Parallele Systeme

Komplexitaet-WS-2010.. - Parallele Systeme

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

80 Vorlesungsskript von E. Best / Stand: 17. Januar 2011<br />

ist. Jedes cj wird durch eine Konjunktion von Dreier-Disjunktionen F ′ j<br />

U ′ j von Variablen verwendet, die nur in F′ j vorkommen. Dann wird<br />

U ′ m<br />

= U ∪{ Uj}, F ′ =<br />

j=1<br />

m<br />

∀<br />

j=1 F′ j<br />

Sei cj = z1 ∧...∧zk, wobei die zl Literale von U sind, für 1 ≤ l ≤ k.<br />

ersetzt. Dabei wird eine Menge<br />

k = 1: U ′ j = {y1,y2}; F ′ j = (z1 ∨y1 ∨y2)∧(z1 ∨y1 ∨y 2 )∧(z1 ∨y 1 ∨y2)∧(z1 ∨y 1 ∨y 2 ).<br />

k = 2: U ′ j = {y}; F′ j = (z1 ∨z2 ∨y)∧(z1 ∨z2 ∨y).<br />

k = 3: U ′ j = ∅; F′ j<br />

= cj.<br />

k > 3: U ′ j = {yi | 1 ≤ i ≤ k −3};<br />

F ′ j = (z1 ∨z2 ∨y1)∧(y i ∨zi+2 ∨yi+1) k−4<br />

i=1 ∧(y k−3 ∨zk−1 ∨zk).<br />

Rein aussagenlogisch ist zu ersehen, dass F ′ genau dann erfüllbar ist, wenn auch F erfüllbar ist.<br />

F ′ ist ersichtlich in 3SAT-Form. Die Konstruktion ist polynomiell, denn O(m·n) ist eine obere Schranke<br />

für die Länge von F ′ . 4.4.6<br />

Beispiel:<br />

F = (u1 ∨u2)<br />

<br />

k=2,U ′ 1 ={y}<br />

∧ (u1 ∨u2 ∨u3 ∨u4 ∨u5 ∨u6)<br />

<br />

k=6,U ′ 2 ={y1,y2,y3}<br />

F ′ = (u1 ∨u2 ∨y)∧(u1 ∨u2 ∨y) ∧ (u1 ∨u2 ∨y1)∧(y 1 ∨u3 ∨y2)∧(y 2 ∨u4 ∨y3)∧(y 3 ∨u5 ∨u6).<br />

Ende des Beispiels<br />

In diesem Abschnitt haben wir mehrere Probleme als NP-vollständig nachgewiesen. Dabei haben wir<br />

bei einem einzigen, CNF−SAT, die Definition der NP-Vollständigkeit angewendet, und das war etwas<br />

kompliziert und vor allem sehr technisch. Bei den anderen wurde Korollar 4.3.3(b) verwendet, was im<br />

Allgemeinen die übliche (wenn nichtsogar,außerbei Satz 4.4.5,die einzig übliche) Methode ist, die Eigenschaft<br />

der NP-Vollständigkeit zu zeigen. Korollar4.3.3(b) setzt allerdings voraus, dass ein NP-vollständiges<br />

Problem bereits bekannt ist, und das war in den bisher betrachteten Fällen das Problem CNF−SAT.<br />

Sei L ein Problem, dessen NP-Vollständigkeit nachgewiesen werden soll. Im Allgemeinen verlangt die<br />

Anwendung von Korollar 4.3.3(b) drei Schritte:<br />

(1) Man suche ein geeignetes Problem L ′ , dessen NP-Vollständigkeit bereits bekannt ist.<br />

(2) Man zeige L ′ ≤p L. Nach diesem Schritt ist die NP-Härte von L gesichert. Intuitiv: ” wenn L ′ schon<br />

NP-hart ist, dann erst recht L“.<br />

(3) Man zeige L ∈ NP. Erst nach diesem Schritt ist die NP-Vollständigkeit von L bewiesen.<br />

Dabei ist es ganz wichtig, die Reduktionsrichtung in Schritt (2) zu beachten. Beweist man stattdessen<br />

L ≤p L ′ , kann man überhaupt keine Aussage machen!<br />

Unter den vielen praktisch bekannten Fällen solcher Beweise gibt es solche, in denen Schritt (3) einfach<br />

ist, Schritt (2) dagegen relativ kompliziert; aber auch solche, in denen es sich umgekehrt verhält, dass<br />

nämlich die Reduktion einfach zu beweisen ist, die Aussage L ∈ NP dagegen nicht so einfach; und auch<br />

solche, in denen beide Aussagen einfach oder auch beide Aussagen kompliziert sind.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!