23.06.2013 Aufrufe

aktuelle Version des Vorlesungsskripts - ZIB

aktuelle Version des Vorlesungsskripts - ZIB

aktuelle Version des Vorlesungsskripts - ZIB

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.

4 Komplexitätstheorie und Speicherung von Graphen<br />

Die Probleme „Hat ein Graph G einen Kreis?“, „Hat ein Graph G einen hamiltonschen<br />

Kreis?“ sind somit in N P. Hat nämlich G einen Kreis oder hamiltonschen Kreis, so<br />

wählen wir diesen als Objekt Q. Dann entwerfen wir einen polynomialen Algorithmus,<br />

der für einen Graphen G und eine zusätzliche Kantenmenge Q entscheidet, ob Q ein Kreis<br />

oder hamiltonscher Kreis von G ist. Auch die Frage „Ist n ∈ N eine zusammengesetzte<br />

Zahl?“ ist in N P, denn liefern wir als „Objekt“ zwei Zahlen = 1, deren Produkt n ist, so<br />

ist n keine Primzahl. Die Überprüfung der Korrektheit besteht somit in diesem Fall aus<br />

einer einzigen Multiplikation.<br />

Die obige Definition der Klasse N P enthält einige Feinheiten, auf die ich ausdrücklich<br />

hinweisen möchte.<br />

– Es wird nichts darüber gesagt, wie das Zusatzobjekt Q zu finden ist. Es wird lediglich<br />

postuliert, dass es existiert, aber nicht, dass man es z. B. mit einem polynomialen<br />

Algorithmus finden kann.<br />

– Die Laufzeit <strong>des</strong> Algorithmus 2 in 4.3 ist nach Definition polynomial in 〈I〉. Da<br />

der Algorithmus Q lesen muss, folgt daraus, dass die Kodierungslänge von Q durch<br />

ein Polynom in der Kodierungslänge von I beschränkt sein muss. Auf die Frage<br />

„Hat die Gleichung x 2 + y 2 = n 2 eine Lösung x, y?“ ist „x = n und y = 0“ ein<br />

geeignetes Zusatzobjekt Q, aber weder „x = y = n √ 0.5“ ( √ 0.5 kann nicht endlich<br />

binär kodiert werden) noch „x = n22n<br />

22n , y = 0“ (die Kodierungslänge von x ist<br />

exponentiell in der Inputlänge <strong>des</strong> Problems) wären als Zusatzobjekt Q geeignet,<br />

um die Korrektheit der „ja“-Antwort in polynomialer Zeit verifizieren zu können.<br />

– Ferner ist die Definition von N P unsymmetrisch in „ja“ und „nein“. Die Definition<br />

impliziert nicht, dass wir auch für die Problembeispiele mit „nein“-Antworten Objekte<br />

Q und polynomiale Algorithmen mit den in 4.3 spezifizierten Eigenschaften<br />

finden können.<br />

Wir sagen, dass die Entscheidungsprobleme, die Negationen von Problemen aus der Klasse<br />

N P sind, zur Klasse co−N P gehören. Zu co−N P gehören folglich die Probleme „Hat<br />

G keinen Kreis?“, „Hat G keinen hamiltonschen Kreis?“, „Ist n ∈ N eine Primzahl?“. Es<br />

ist bekannt, dass das erste und das letzte dieser drei Probleme ebenfalls zu N P gehören.<br />

Diese beiden Probleme gehören also zu N P ∩ co−N P. Vom Problem „Hat G keinen hamiltonschen<br />

Kreis?“ weiß man nicht, ob es zu N P gehört. Niemand hat bisher Objekte<br />

Q und einen Algorithmus finden können, die den Forderungen 1 und 2 aus 4.3 genügen.<br />

Das Symbol N P ist abgeleitet vom Begriff „nichtdeterministischer polynomialer Algorithmus“.<br />

Dies sind – grob gesagt – Algorithmen, die am Anfang „raten“ können, also<br />

einen nichtdeterministischen Schritt ausführen können und dann wie übliche Algorithmen<br />

ablaufen. Ein nichtdeterministischer Algorithmus „löst“ z. B. das hamiltonsche Graphenproblem<br />

wie folgt: Am Anfang rät er einen hamiltonschen Kreis. Gibt es keinen, so hört<br />

das Verfahren auf. Gibt es einen, so überprüft er, ob das geratene Objekt tatsächlich ein<br />

hamiltonscher Kreis ist. Ist das so, so antwortet er mit „ja“.<br />

Trivialerweise gilt P ⊆ N P, da für Probleme in P Algorithmen existieren, die ohne<br />

Zusatzobjekte Q in polynomialer Zeit eine „ja“- oder „nein“-Antwort liefern. Also gilt<br />

64

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!