Grundbegriffe der Theoretischen Informatik - LS1

Werbung
Grundbegriffe der Theoretischen Informatik
Sommersemester 2015 - Thomas Schwentick
Teil D: Komplexitätstheorie
24: NP: weitere Erkenntnisse
Version von: 7. Juli 2015 (11:55)
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 15
D: 24. NP: weitere Erkenntnisse
. ✁✄
Folie 1
Weitere NP-vollständige Probleme (1/2)
Definition: V ERTEX C OVER
‚ Es sind buchstäblich Tausende von NPvollständigen Problemen bekannt
Gegeben: Ungerichteter Graph
G “ pV, Eq, Zahl k
‚ 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: 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?
Gegeben: Menge S natürlicher Zahlen und
eine Zielzahl k
Ď S mit k “
GTI / Schwentick / SoSe 15
Definition: I NTEGER P ROGRAMMING O
Gegeben: Lineares Ungleichungssystem, lineare Zielfunktion
Gesucht: Ganzzahlige Lösung des Systems
mit maximalem Wert der Zielfunktion
Definition: I NTEGER P ROGRAMMING
Gegeben: Lineares Ungleichungssystem
Frage: Gibt es eine ganzzahlige Lösung des
Systems?
Definition: S HORTEST S UPER S TRING
Definition: S UBSET S UM
Frage: Gibt es I
Frage: Gibt es S Ď V mit |S| ď k, so dass
jede Kante einen Knoten in S hat?
ř
iPI
i
Gegeben: Strings s1 , . . . , sm , Zahl k
Frage: Gibt es einen String der Länge k, der
alle Strings si als Teilstrings enthält?
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 15
D: 24. NP: weitere Erkenntnisse
. ✁✄
Folie 3
Alles oder nichts...
‚ Aus Satz 22.4 folgt:
– Entweder sind 3-SAT und 3-C OL in polynomieller Zeit lösbar
oder
– 3-SAT und 3-C OL sind beide 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 15
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 haben
im Detail durchaus unterschiedliche
Eigenschaften:
– Manche lassen sich gut approximieren, andere nicht:
∗ Für RUCKSACKO gibt es einen
Algorithmus, der bei Eingabe
pI, ǫq in polynomieller Zeit in |I|
und 1{ǫ eine Lösung berechnet,
die mindestens einen p1 ´ ǫqAnteil des optimalen Wertes liefert
∗ TSPO lässt sich im Gegensatz
dazu im Allgemeinen gar nicht
approximieren (falls P ­“ NP)
GTI / Schwentick / SoSe 15
‚ Manche NP-vollständige Probleme lassen sich
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
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 15
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
‚ 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 lässt sich zeigen:
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 15
D: 24. NP: weitere Erkenntnisse
. ✁✄
Folie 7
Die innere Struktur von NP (2/2)
‚ Noch einige 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 15
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 15
D: 24. NP: weitere Erkenntnisse
. ✁✄
Folie 9
Ein effizienter (?) Algorithmus für RUCKSACKO
‚ RUCKSACKO 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
GTI / Schwentick / SoSe 15
‚ 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
D: 24. NP: weitere Erkenntnisse
. ✁✄
Folie 10
Pseudo-polynomiell vs. stark NP-vollständig (1/2)
‚ Der Algorithmus für RUCKSACKO hat also Laufzeit Opm2 w1 q
‚ Ist das ein Polynomialzeit-Algorithmus? Nein!
– Ein Polynomialzeit-Algorithmus hat eine Laufzeitschranke der
Form nk für Eingaben der Länge n
– Länge einer (binär kodierten) RUCKSACKO-Eingabe:
logpGq `
m
ÿ
plog wi ` log gi q
i“1
✎ Abhängig von der Kodierung sind hier etwas andere Größe
möglich
– Die Laufzeitschranke Opm2 w1 q ist polynomiell in m und dem
Wert von w1
– Die Laufzeitschranke des RUCKSACKO-Algorithmus 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 pseudo-polynomiell
GTI / Schwentick / SoSe 15
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 RUCKSACK 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 muss sauber definiert werden, was „vorkommende Zahlen“ bedeutet...
GTI / Schwentick / SoSe 15
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 15
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
‚ 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 15
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 15
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 15
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 relationalen Datenbanken ein Teilergebnis von
q2 ?
w P L ðñ
Dp x1 @p x2 Dp x3 ¨ ¨ ¨ @p xk :
pw, x1 , x2 , . . . , xk q P L1 ,
wobei alle Quantoren über die Σ˚ -Strings
‚ UCQ-C ONT ist vollständig für Πp2
der Länge pp|w|q quantifizieren
‚ Die Klasse der Probleme, die sich für ein bestimmtes k auf diese Weise charakterisieren
p
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 15
D: 24. NP: weitere Erkenntnisse
. ✁✄
Folie 17
Übersicht
EXPTIME
PSPACE
PH
Πp2
NP
Σp2
Y co-NP
co-NP
NP
P
GTI / Schwentick / SoSe 15
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
Frage: Ist Lpαq
“ H?
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
Funktion
Gegeben: Regulärer Ausdruck mit Negation
α
‚ Eine Funktion T : N Ñ R ist (1-
‚ Eine Funktion heißt elementar, wenn sie,
für irgendein k P N, k-fach exponentiell
beschränkt ist
Satz [Stockmeyer, Meyer 73]
‚ Es gibt keinen Algorithmus für
REN EG E MPTY mit einer elementaren Laufzeitschranke
GTI / Schwentick / SoSe 15
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 15
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 15
D: 24. NP: weitere Erkenntnisse
. ✁✄
Folie 21
Herunterladen