stark NP-vollständig - LS1

Werbung
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
Herunterladen