finale Version des Vorlesungsskripts - ZIB

finale Version des Vorlesungsskripts - ZIB finale Version des Vorlesungsskripts - ZIB

23.06.2013 Aufrufe

4.2 Die Klassen P und N P, N P-Vollständigkeit Wir fragen nun den Algorithmus zur Lösung des TSP-Entscheidungsproblems, ob es eine Rundreise gibt, deren Länge nicht größer als nt 2 ist. Ist das so, fragen wir, ob es eine Rundreise gibt, deren Länge höchstens nt ist, andernfalls fragen wir, ob es eine Rundrei- 4 se gibt mit Länge höchstens 3nt 4 . Wir fahren auf diese Weise fort, bis wir das Intervall ganzer Zahlen, die als mögliche Länge einer kürzesten Rundreise in Frage kommen, auf eine einzige Zahl reduziert haben. Diese Zahl muss dann die Länge der kürzesten Rundreise sein. Insgesamt haben wir zur Lösung des Optimierungsproblems das zugehörige TSP-Entscheidungsproblem (⌈log2(nt)⌉ + 1)-mal aufgerufen, also eine polynomiale Anzahl von Aufrufen eines Algorithmus vorgenommen. Dieser Algorithmus findet also in polynomialer Zeit die Länge einer kürzesten Rundreise – bei einem gegebenen polynomialen Algorithmus für das zugehörige Entscheidungsproblem. (Überlegen Sie sich, ob — und gegebenenfalls wie — man eine kürzeste Rundreise finden kann, wenn man ihre Länge kennt!) Dem aufmerksamen Leser wird nicht entgangen sein, dass die oben beschriebene Methode zur Reduktion des Travelling-Salesman-Problems auf das zugehörige Entscheidungsproblem nichts anderes ist als das bekannte Verfahren der binären Suche. Mit diesem oder ähnlichen „Tricks“ lassen sich viele Optimierungsprobleme durch mehrfachen Aufruf von Algorithmen für Entscheidungsprobleme lösen. Wir nennen ein Optimerungsproblem Π N P-leicht, falls es ein Entscheidungsproblem Π ′ in N P gibt, so dass Π durch polynomial viele Aufrufe eines Algorithmus zur Lösung von Π ′ gelöst werden kann. N P-leichte Probleme sind also nicht schwerer als die Probleme in N P. Unser Beispiel oben zeigt, dass das TSP auch N P-leicht ist. Wir nennen ein Optimierungsproblem N P-äquivalent, wenn es sowohl N P-leicht als auch N P-schwer ist. Diese Bezeichnung ist im folgenden Sinne gerechtfertigt. Ein N Päquivalentes Problem ist genau dann in polynomialer Zeit lösbar, wenn P = N P gilt. Wenn jemand einen polynomialen Algorithmus für das TSP findet, hat er damit gleichzeitig P = N P bewiesen. Wir wollen im Weiteren dem allgemein üblichen Brauch folgen und die feinen Unterschiede zwischen den oben eingeführten Bezeichnungen für Entscheidungs- und Optimierungsprobleme nicht so genau nehmen. Wir werden häufig einfach von N P-vollständigen Optimierungsproblemen sprechen, wenn diese N P-schwer sind. Die Begriffe N P-leicht und N P-äquivalent werden wir kaum gebrauchen, da sie für unsere Belange nicht so wichtig sind. Die folgenden Beispiele von kombinatorischen Optimierungsproblemen, die wir in früheren Abschnitten eingeführt haben, sind N P-schwer: • das symmetrische Travelling Salesman Problem • das asymmetrische Travelling Salesman Problem • das Chinesische Postbotenproblem für gemischte Graphen • fast alle Routenplanungsprobleme • das Stabile-Mengen-Problem 67

4 Komplexitätstheorie und Speicherung von Graphen • das Cliquenproblem • das Knotenüberdeckungsproblem • das Knotenfärbungsproblem • das Kantenfärbungsproblem • das Max-Cut-Problem • die meisten Standortprobleme • das Linear-Ordering-Problem • das azyklische Subdigraphenproblem • das Feedback-Arc-Set-Problem. Einige hundert weitere N P-vollständige bzw. N P-schwere Probleme und einige tausend Varianten von diesen sind in dem bereits zitierten Buch von Garey and Johnson (1979) aufgeführt. Probleme, die mit diesem Themenkreis zusammenhängen, wurden auch in einer von 1981 – 1992 laufenden Serie von Aufsätzen von D. S. Johnson mit dem Titel „The N P-completeness column: an ongoing guide“ im Journal of Algorithms behandelt. Seit 2005 sind drei weitere Artikel der Serie in ACM Trans. Algorithms publiziert worden. Der derzeit letzte Artikel ist 2007 erschienen. Alle (bisher) 26 Artikel sind unter der folgenden URL zu finden: http://www.research.att.com/~dsj/columns/ Im Internet finden Sie unter der URL http://www.nada.kth.se/~viggo/problemlist/compendium.html ein „Compendium of N P Optimization Problems“. Eine aktuelle Zusammenfassung der Geschichte des Konzepts der N P-Vollständigkeit findet sich in Johnson (2012). Der wichtigste Aspekt der hier skizzierten Theorie ist, dass man zwischen „einfachen“ und „schwierigen“ Problemen zu unterscheiden lernt, und dass man – sobald man weiß, dass ein Problem schwierig ist – andere Wege (Heuristiken, etc.) als bei Problemen in P suchen muss, um das Problem optimal oder approximativ zu lösen. In dieser Vorlesung soll versucht werden, einige der Methoden zu beschreiben, mit denen man derartige Probleme angreifen kann. Zum Schluss dieses Abschnitts sei angemerkt, dass es noch viel schwierigere Probleme als die N P-schweren Probleme gibt. Ein „Klassiker“ unter den wirklich schwierigen Problemen ist das Halteproblem von Turing-Maschinen, die wir in Abschnitt 4.1 erwähnt haben. Wir skizzieren die Fragestellung kurz. Wir nennen ein Entscheidungsproblem entscheidbar, wenn es eine Turing-Maschine (genauer einen Algorithmus, der auf einer Turing-Maschine läuft) gibt, die für jede Eingabe 68

4.2 Die Klassen P und N P, N P-Vollständigkeit<br />

Wir fragen nun den Algorithmus zur Lösung <strong>des</strong> TSP-Entscheidungsproblems, ob es eine<br />

Rundreise gibt, deren Länge nicht größer als nt<br />

2 ist. Ist das so, fragen wir, ob es eine<br />

Rundreise gibt, deren Länge höchstens nt ist, andernfalls fragen wir, ob es eine Rundrei-<br />

4<br />

se gibt mit Länge höchstens 3nt<br />

4 . Wir fahren auf diese Weise fort, bis wir das Intervall<br />

ganzer Zahlen, die als mögliche Länge einer kürzesten Rundreise in Frage kommen, auf<br />

eine einzige Zahl reduziert haben. Diese Zahl muss dann die Länge der kürzesten Rundreise<br />

sein. Insgesamt haben wir zur Lösung <strong>des</strong> Optimierungsproblems das zugehörige<br />

TSP-Entscheidungsproblem (⌈log2(nt)⌉ + 1)-mal aufgerufen, also eine polynomiale Anzahl<br />

von Aufrufen eines Algorithmus vorgenommen. Dieser Algorithmus findet also in<br />

polynomialer Zeit die Länge einer kürzesten Rundreise – bei einem gegebenen polynomialen<br />

Algorithmus für das zugehörige Entscheidungsproblem. (Überlegen Sie sich, ob<br />

— und gegebenenfalls wie — man eine kürzeste Rundreise finden kann, wenn man ihre<br />

Länge kennt!)<br />

Dem aufmerksamen Leser wird nicht entgangen sein, dass die oben beschriebene Methode<br />

zur Reduktion <strong>des</strong> Travelling-Salesman-Problems auf das zugehörige Entscheidungsproblem<br />

nichts anderes ist als das bekannte Verfahren der binären Suche.<br />

Mit diesem oder ähnlichen „Tricks“ lassen sich viele Optimierungsprobleme durch mehrfachen<br />

Aufruf von Algorithmen für Entscheidungsprobleme lösen. Wir nennen ein Optimerungsproblem<br />

Π N P-leicht, falls es ein Entscheidungsproblem Π ′ in N P gibt, so<br />

dass Π durch polynomial viele Aufrufe eines Algorithmus zur Lösung von Π ′ gelöst werden<br />

kann. N P-leichte Probleme sind also nicht schwerer als die Probleme in N P. Unser<br />

Beispiel oben zeigt, dass das TSP auch N P-leicht ist.<br />

Wir nennen ein Optimierungsproblem N P-äquivalent, wenn es sowohl N P-leicht als<br />

auch N P-schwer ist. Diese Bezeichnung ist im folgenden Sinne gerechtfertigt. Ein N Päquivalentes<br />

Problem ist genau dann in polynomialer Zeit lösbar, wenn P = N P gilt.<br />

Wenn jemand einen polynomialen Algorithmus für das TSP findet, hat er damit gleichzeitig<br />

P = N P bewiesen.<br />

Wir wollen im Weiteren dem allgemein üblichen Brauch folgen und die feinen Unterschiede<br />

zwischen den oben eingeführten Bezeichnungen für Entscheidungs- und Optimierungsprobleme<br />

nicht so genau nehmen. Wir werden häufig einfach von N P-vollständigen<br />

Optimierungsproblemen sprechen, wenn diese N P-schwer sind. Die Begriffe N P-leicht<br />

und N P-äquivalent werden wir kaum gebrauchen, da sie für unsere Belange nicht so<br />

wichtig sind.<br />

Die folgenden Beispiele von kombinatorischen Optimierungsproblemen, die wir in früheren<br />

Abschnitten eingeführt haben, sind N P-schwer:<br />

• das symmetrische Travelling Salesman Problem<br />

• das asymmetrische Travelling Salesman Problem<br />

• das Chinesische Postbotenproblem für gemischte Graphen<br />

• fast alle Routenplanungsprobleme<br />

• das Stabile-Mengen-Problem<br />

67

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!