aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
4.2 Die Klassen P und N P, N P-Vollständigkeit<br />
auch P ⊆ co−N P. Eigentlich sollte man meinen, dass Algorithmen, die raten können,<br />
mächtiger sind als übliche Algorithmen. Trotz gewaltiger Forschungsanstrengungen seit<br />
den 70er Jahren ist die Frage, ob P = N P gilt oder nicht, immer noch ungelöst. Meiner<br />
Meinung nach ist dieses Problem eines der wichtigsten offenen Probleme der heutigen<br />
Mathematik und Informatik. Das Clay Mathematics Institute hat im Jahr 2000<br />
einen Preis von 1 Mio US$ für die Lösung <strong>des</strong> P = N P-Problems ausgesetzt, siehe:<br />
http://www.claymath.org/millenium. Jeder, der sich mit diesem Problem beschäftigt<br />
hat, glaubt, dass P = N P gilt. (Eine für die allgemeine Leserschaft geschriebene Diskussion<br />
dieser Frage ist in Grötschel (2002) zu finden.) Könnte diese Vermutung bestätigt<br />
werden, so würde das – wie wir gleich sehen werden – bedeuten, dass für eine sehr große<br />
Zahl praxisrelevanter Probleme niemals wirklich effiziente Lösungsalgorithmen gefunden<br />
werden können. Wir werden uns also mit der effizienten Auffindung suboptimaler Lösungen<br />
zufrieden geben und daher auf den Entwurf von Heuristiken konzentrieren müssen.<br />
Deswegen wird auch im weiteren Verlauf <strong>des</strong> Vorlesungszyklus viel Wert auf die Untersuchung<br />
und Analyse von Heuristiken gelegt.<br />
Wir haben gesehen, dass P ⊆ N P ∩ co−N P gilt. Auch bezüglich der Verhältnisse<br />
dieser drei Klassen zueinander gibt es einige offene Fragen.<br />
Gilt P = N P ∩ co−N P?<br />
Gilt N P = co−N P?<br />
Aus N P = co−N P würde P = N P folgen, da offenbar P = co−P gilt.<br />
Die Klassenzugehörigkeit <strong>des</strong> oben erwähnten und bereits von den Griechen untersuchten<br />
Primzahlproblems war lange Zeit offen. Dass das Primzahlproblem in co−P ist,<br />
haben wir oben gezeigt. Rivest gelang es 1977 zu zeigen, dass das Primzahlproblem auch<br />
in N P ist. Beginnend mit dem Sieb <strong>des</strong> Erathostenes sind sehr viele Testprogramme<br />
entwickelt worden. Erst 2002 gelang es drei Indern, einen polynomialen Algorithmus zu<br />
entwickeln, der in polynomialer Zeit herausfindet, ob eine ganze Zahl eine Primzahl ist<br />
oder nicht, siehe Agrawal et al. (2004) oder URL:<br />
http://www.cse.iitk.ac.in/users/manindra/primality.ps<br />
Wir wollen nun innnerhalb der Klasse N P eine Klasse von besonders schwierigen<br />
Problemen auszeichnen.<br />
(4.4) Definition. Gegeben seien zwei Entscheidungsprobleme Π und Π ′ . Eine polynomiale<br />
Transformation von Π in Π ′ ist ein polynomialer Algorithmus, der, gegeben ein<br />
(kodiertes) Problembeispiel I ∈ Π, ein (kodiertes) Problembeispiel I ′ ∈ Π ′ produziert, so<br />
dass folgen<strong>des</strong> gilt:<br />
Die Anwort auf I ist genau dann „ja“, wenn die Antwort auf I ′ „ja“ ist. △<br />
Offenbar gilt Folgen<strong>des</strong>: Ist Π in Π ′ polynomial transformierbar und gibt es einen polynomialen<br />
Algorithmus zur Lösung von Π ′ , dann kann man auch Π in polynomialer Zeit<br />
lösen. Man transformiert einfach je<strong>des</strong> Problembeispiel aus Π in eine Problembeispiel<br />
65