Grundbegriffe der Theoretischen Informatik Sommersemester 2016 - Thomas Schwentick Teil D: Komplexitätstheorie 24: NP: weitere Erkenntnisse Version von: 7. Juli 2016 (14:09) Inhalt ✄ 24.1 NP-vollständige Probleme: weitere Bemerkungen 24.2 Die innere Struktur von NP 24.3 Pseudo-polynomiell vs. stark NP-vollständig 24.4 P, NP und so weiter GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 1 Weitere NP-vollständige Probleme (1/2) ‚ Es sind buchstäblich Tausende von NPvollständigen Problemen bekannt ‚ Eine schöne Auswahl findet sich in: – Garey, Johnsen: Computers and Intractability: A Guide to the Theory of NPCompleteness, 1979 ‚ Wir betrachten im Folgenden kurz einige weitere NP-vollständige Probleme Definition: V ERTEX C OVER Definition: B IN PACKING Gegeben: Gegenstände mit Größen s1 , . . . , sn P Q zwischen 0 und 1, Zahl k Frage: Lassen sich die Gegenstände in k Behälter mit jeweiliger Kapazität 1 füllen? Definition: I NTEGER P ROGRAMMING O Gegeben: Lineares Ungleichungssystem, lineare Zielfunktion Gesucht: Ganzzahlige Lösung des Systems mit maximalem Wert der Zielfunktion Gegeben: Ungerichteter Graph G “ pV, Eq, Zahl k Frage: Gibt es S Ď V mit |S| ď k, so dass jede Kante einen Knoten in S hat? Definition: S HORTEST S UPER S TRING Gegeben: Strings s1 , . . . , sm , Zahl k Definition: I NTEGER P ROGRAMMING Gegeben: Lineares Ungleichungssystem Frage: Gibt es eine ganzzahlige Lösung des Systems? Frage: Gibt es einen String der Länge k, der alle Strings si als Teilstrings enthält? GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 2 ! Weitere NP-vollständige Probleme (2/2) Definition: B UNDESLIGA Gegeben: Tabellenstand eines Turnieres, Menge restlicher Spiele, Lieblingsverein x Frage: Kann x noch Meister werden? ‚ [Bernholt, Gülich, Hofmeister, Schmitt 99] zeigen: – NP-vollständig mit 3Punkte-Regel – in P mit 2-Punkte-Regel GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 3 Alles oder nichts... ‚ Aus Satz 22.4 folgt für 3-SAT und 3-C OL: – Entweder sind beide in polynomieller Zeit lösbar oder – beide sind nicht in polynomieller Zeit lösbar ‚ Eines der beiden folgenden Diagramme ist also gültig: 3-Cb OL 3-SAT b 3-Cb OL P P 3-SAT b ‚ Die beiden folgenden Diagramme sind jedoch sicher falsch: 3-SAT b 3-Cb OL 3-Cb OL P P 3-SAT b ‚ Entsprechende Aussagen gelten für beliebige andere Paare NPvollständiger Probleme GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 4 NP-Vollständigkeit: weitere Anmerkungen ‚ NP-vollständige Probleme sind in einem gewissen Sinne sehr ähnlich: – Sind L1 und L2 NP-vollständig so gilt L1 ďp L2 und L2 ďp L1 ‚ Aber NP-vollständige Probleme effizient lösen, falls nur ein gewisser Parameter des Problems nicht zu groß wird: – V ERTEX C OVER lässt sich beispielsweise leicht in Zeit Op2k nq lösen ‚ Andere NP-vollständige Probleme haben durch haben im Detail durchaus unterschiedliche Eigenschaften ‚ Manche lassen sich gut approximieren, andere nicht: – Für K NAPSACKO gibt es einen Algorithmus, der bei Eingabe pI, ǫq in polynomieller Zeit in |I| und 1{ǫ eine Lösung berechnet, die mindestens einen p1 ´ ǫq-Anteil des optimalen Wertes liefert – TSPO lässt sich im Gegensatz dazu im Allgemeinen gar nicht approximieren (falls P ­“ NP) GTI / Schwentick / SoSe 16 ‚ Manche NP-vollständige Probleme lassen sich ausgefeilte Algorithmen für viele in der Praxis auftretende Eingaben ihren Schrecken verloren: – Inzwischen lässt sich für viele große „praktisch relevante“ KNF-Formeln die Erfüllbarkeit effizient testen – In manchen Anwendungen werden sogar polynomiell lösbare (aber praktisch ungünstige) Probleme durch Reduktion auf SAT und Anwendung eines effizienten SAT-Solvers gelöst ‚ Mehr darüber gibt es in der Vorlesung Komplexitätstheorie zu erfahren – ... immer im Sommersemester D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 5 Inhalt 24.1 NP-vollständige Probleme: weitere Bemerkungen ✄ 24.2 Die innere Struktur von NP 24.3 Pseudo-polynomiell vs. stark NP-vollständig 24.4 P, NP und so weiter GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 6 Die innere Struktur von NP (1/2) ‚ Empirische Erfahrung: für die meisten Probleme L in NP lässt sich eine der beiden folgenden Aussagen zeigen: (1) L P P (2) L ist vollständig für NP ☞ in NPC ‚ Lässt sich das vielleicht allgemein beweisen? ‚ Anders gefragt: welche der folgenden Illustrationen der Struktur von NP könnten der Realität entsprechen? NPC NPC NP NP NPC “ P ´ tH, Σ˚ u NP P “P P ‚ Es gilt: NP ist nicht die disjunkte Vereinigung von P und NPC ‚ Die Frage, welche der beiden verbleibenden Möglichkeiten die Richtige ist, ist gerade die Frage, ob P “ NP gilt GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 7 Die innere Struktur von NP (2/2) Weitere Bemerkungen ‚ Die Relation ďp induziert eine Äquivalenzrelation ”p durch: def 1 L ”p L ô L ďp L1 und L1 ďp L ‚ Die Sprachen aus P (außer H und Σ˚ ) bilden die „einfachste“ Äquivalenzklasse von NP ‚ Die NP-vollständigen Sprachen bilden die „schwierigste“ Äquivalenzklasse innerhalb von NP ‚ Es gilt: falls P ­“ NP gibt es noch unendlich viele weitere ”p -Klassen GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 8 Inhalt 24.1 NP-vollständige Probleme: weitere Bemerkungen 24.2 Die innere Struktur von NP ✄ 24.3 Pseudo-polynomiell vs. stark NP-vollständig 24.4 P, NP und so weiter GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 9 Ein effizienter (?) Algorithmus für K NAPSACKO ‚ K NAPSACKO lässt sich mit dynamischer Programmierung lösen ‚ Gegeben: w1 , . . . , wm , g1 , . . . , gm , G – OBdA: w1 ě wi für alle i P t1, . . . , mu ➨ der optimale Wert ist ď mw1 ‚ Es bezeichne Api, wq das minimale Gewicht einer Menge I Ď t1, . . . , iu von Gegenständen mit Gesamtwert w ‚ Ansatz: Berechne induktiv, für jedes i ď m und jedes w ď w1 , den Wert Api, wq ‚ Der optimale Wert ist dann das maximale w, das Apm, wq ď G erfüllt ‚ Entscheidende Beobachtung: Api, wq ist das Minimum der beiden folgenden Werte: – Api ´ 1, wq ✎ Das entspricht dem Weglassen von Gegenstand i – Api ´ 1, w ´ wi q ` gi ✎ Das entspricht dem Hinzunehmen von Gegenstand i ➨ Die Werte Api, wq lassen sich leicht berechnen, wenn die Werte Api ´ 1, jq schon für alle j berechnet sind ‚ Initialisierung: – Ap0, 0q “ 0 – Ap0, wq “ 8, für alle w ą 0 ‚ Dynamische Programmierung: m2 w1 Tabelleneinträge berechnen ‚ Aufwand: Opm2 w1 q GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 10 Pseudo-polynomiell vs. stark NP-vollständig (1/2) ‚ Der Algorithmus für K NAPSACKO hat also Laufzeit Opm2 w1 q ‚ Ist das ein Polynomialzeit- ‚ Länge einer (binär kodierten) K NAPSACKOm Eingabe: ÿ logpGq ` plog wi ` log gi q Algorithmus? Nein! i“1 ‚ Ein Polynomialzeit-Algorithmus hat eine Laufzeitschranke der Form nk für Eingaben der Länge n ✎ Abweichungen durch etwas andere Kodierungen sind hier irrelevant ‚ Die Laufzeitschranke Opm2 w1 q ist polynomiell in m und dem Wert von w1 ‚ Die Laufzeitschranke des K NAPSACKOAlgorithmus ist aber nicht polynomiell in der Länge der Kodierung von w1 : – Die Laufzeitschranke lässt sich schreiben als Opm2 2log w1 q – Sie ist also exponentiell in der Länge der Eingabe ‚ Einen Algorithmus, der polynomiell in den Größen (statt: der Länge der Kodierung) der vorkommenden Zahlen ist, nennen wir pseudopolynomiell GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 11 Pseudo-polynomiell vs. stark NP-vollständig (2/2) ‚ Umgekehrt heißt ein Problem, das NP-vollständig bleibt, selbst wenn die Größe der vorkommenden Zahlen durch ein Polynom in der Länge der Eingabe beschränkt sind, stark NP-vollständig ‚ Beispiel: TSP ist stark NP-vollständig: – es ist auch schon für Eingaben NP-vollständig, bei denen alle Abstände den Wert 1 oder 2 haben und k “ |V | ‚ Gäbe es für ein stark NP-vollständiges Problem einen pseudo-polynomiellen Algorithmus, wäre P “ NP ✎ Es ist also kein Wunder, dass in der Reduktion 3-SAT ďp K NAPSACK die verwendeten Zahlen so groß sind ✎ Zu beachten: bei der genauen Formalisierung der Begriffe „pseudo-polynomiell“ und „stark NPvollständig“ ist etwas Vorsicht geboten: – Es müsste sauber definiert werden, was „vorkommende Zahlen“ bedeutet... GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 12 Inhalt 24.1 NP-vollständige Probleme: weitere Bemerkungen 24.2 Die innere Struktur von NP 24.3 Pseudo-polynomiell vs. stark NP-vollständig ✄ 24.4 P, NP und so weiter GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 13 Die Welt der Komplexitätstheorie ‚ Wir haben in Teil D drei Komplexitätsklassen betrachtet: P, NP und EXPTIME ‚ Alle algorithmischen Probleme, die wir in Teil D betrachtet haben, sind in EXPTIME, die meisten davon in NP ‚ Es stellen sich offensichtliche Fragen: ‚ Sind alle entscheidbaren Probleme in EXPTIME? ‚ Sind alle „natürlichen“ entscheidbaren Probleme in EXPTIME? ‚ Gibt es außer den drei Klassen noch andere relevante Komplexitätsklassen? ‚ Haben andere Klassen auch vollständige Probleme? GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 14 Rechenzeit vs. Speicherplatz ‚ Für manche Berechnungen ist Speicherplatz eine kritischere Ressource als Rechenzeit ‚ Die algorithmische Schwierigkeit mancher algorithmischen Probleme lässt sich besser durch ihren Speicherplatzverbrauch als durch ihre Rechenzeit charakterisieren Definition: KORREKTER AUTOMAT Gegeben: Endlicher Automat A, regulärer Ausdruck α Frage: Erfüllt der Automat A die Spezifikation α? ‚ Dieses Problem ist vermutlich nicht in NP ‚ Es ist aber vollständig für die Komplexitätsklasse PSPACE, die alle Probleme enthält, die für Eingaben der Größe n mit Speicherplatz ppnq, für ein Polynom p, gelöst werden können ‚ Es gilt: NP Ď PSPACE Ď EXPTIME GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 15 ! Polynomielle Hierarchie (1/2) ‚ Zur Erinnerung: – Eine Sprache L ist genau dann semientscheidbar, wenn es eine entscheidbare Sprache L1 gibt, so dass für alle Strings w P Σ˚ gilt: w P L ðñ Dx1 : pw, x1 q P L1 , wobei der Existenzquantor über alle Σ˚ - Strings quantifiziert Satz 24.1 ‚ Eine Sprache L ist genau dann in NP, wenn es eine Sprache L1 P P und ein Polynom p gibt, so dass für alle Strings w P Σ˚ gilt: w P L ðñ Dp x1 : pw, x1 q P L1 , wobei der modifizierte Existenzquantor Dp über alle Σ˚ -Strings der Länge pp|w|q quantifiziert ‚ Analog zur arithmetischen Hierarchie gibt es auch hier eine Hierarchie von vermutlich nicht in polynomieller Zeit entscheidbaren Problemen GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 16 Polynomielle Hierarchie (2/2) ‚ Die polynomielle Hierarchie besteht aus allen Sprachen L, für die es ein k P N, eine Sprache L1 P P und ein Polynom p gibt, so dass gilt: Definition: UCQ-C ONT Gegeben: Select-From-Where-Anfragen q1 , q2 (mit UNION) Frage: Liefert q1 für alle passenden relatiow P L ðñ nalen Datenbanken ein Teilergebnis von Dp x1 @p x2 Dp x3 ¨ ¨ ¨ @p xk : q2 ? pw, x1 , x2 , . . . , xk q P L1 , wobei alle Quantoren über die Σ˚ -Strings p ‚ UCQ-C ONT ist vollständig für Π2 der Länge pp|w|q quantifizieren ‚ Die Klasse der Probleme, die sich für ein bestimmtes k auf diese Weise charakterip sieren lassen, wird Σk genannt p – Analog: Πk , wenn der erste Quantor in der Charakterisierung ein Allquantor ist ‚ Σp1 “ NP, Πp1 “ co-NP GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 17 Übersicht EXPTIME PSPACE PH Πp2 NP Σp2 Y co-NP co-NP NP P GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 18 Weit jenseits des Effizienten ‚ Ein regulärer Ausdruck mit Negation darf neben den üblichen Operatoren auch einen Negationsoperator verwenden ‚ Die Semantik-Definition wird dann erweitert durch: – Lp def αq “ Σ˚ ´ Lpαq Definition: REN EG E MPTY Funktion Gegeben: Regulärer Ausdruck α mit Negation Frage: Ist Lpαq ‚ Eine Funktion heißt elementar, wenn sie, für irgendein k P N, k-fach exponentiell beschränkt ist “ H? ‚ Mit den Methoden aus Teil A der Vorlesung ist es nicht schwer zu zeigen: – REN EG E MPTY ist entscheidbar GTI / Schwentick / SoSe 16 ‚ Eine Funktion T : N Ñ R ist (1-fach) exponentiell beschränkt, wenn T pnq “ 2Opppnqq für ein Polynom p ‚ Eine Funktion ist k-fach exponentiell beschränkt, wenn T pnq “ 2Opgq , für eine pk´1q-fach exponentiell beschränkte Satz [Stockmeyer, Meyer 73] ‚ Es gibt keinen Algorithmus für REN EG E MPTY mit einer elementaren Laufzeitschranke D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 19 Zusammenfassung ‚ Die NP-vollständigen Probleme sind die schwierigsten Probleme in NP: – Jedes NP-Problem lässt sich polynomiell auf jedes NP-vollständige Problem reduzieren ‚ Es gibt Tausende von NP-vollständigen Problemen ‚ Pseudo-polynomielle Algorithmen lösen Probleme in polynomieller Zeit in Abhängigkeit von der Größe der vorkommenden Zahlen ‚ Für stark NP-vollständige Probleme lässt sich die NP-Vollständigkeit ohne die Verwendung „großer Zahlen“ zeigen ‚ Es gibt viele algorithmische Probleme, die für andere Klassen als P und NP vollständig sind GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 20 Literaturhinweise ‚ Angegebene Bücher ‚ Thorsten Bernholt, Alexander Gülich, Thomas Hofmeister, and Niels Schmitt. Football elimination is hard to decide under the 3point-rule. In MFCS, pages 410–418, 1999 ‚ Larry J. Stockmeyer and Albert R. Meyer. Word problems requiring exponential time: Preliminary report. In Proceedings of the 5th Annual ACM Symposium on Theory of Computing, April 30 - May 2, 1973, Austin, Texas, USA, pages 1–9, 1973 GTI / Schwentick / SoSe 16 D: 24. NP: weitere Erkenntnisse . ✁✄ Folie 21