NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die...
Transcript of NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die...
![Page 1: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/1.jpg)
NP-Vollständigkeit
![Page 2: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/2.jpg)
Wie komme ich von hier zum Hauptbahnhof?
![Page 3: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/3.jpg)
Wie komme ich von hier zum Hauptbahnhof?
Finde jemand, der den Weg kennt!
Alternativ: Finde eine Stadtkarte!
Alternativ: Bestelle ein Taxi!
…
P1
P2
verwende für
kann ich
reduzieren auf
![Page 4: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/4.jpg)
Wie komme ich von hier zum Hauptbahnhof?
Finde jemand, der den Weg kennt!
Alternativ: Finde eine Stadtkarte!
Alternativ: Bestelle ein Taxi!
…
P2
verwende für
kann ich
reduzieren auf
Reduktion kann rekursiv sein:Das Problem von Berlin nach Köln zu kommen reduziert sich auf das Problem, eine Fahrkarte zu kaufen… das wiederum reduziert sich darauf, Geld für die Fahrkarte zu verdienen… reduziert sich auf das Problem, einen Job zu finden
P1
![Page 5: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/5.jpg)
Reduktion
• Eine mächtige Technik: Algorithmendesign
P1 P2
Transformation f
verwende Lösung (f-1)
• Falls f, P2 und f-1 effizient berechenbar, dann auch P1!
![Page 6: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/6.jpg)
Beispiele• Fläche eines Rechtecks
• Das Problem, die Fläche eines Rechtecks zu bestimmen, reduziert sich auf das Problem, dessen Seitenlängen zu bestimmen.
• Gleichungssysteme lösen• Das Problem, ein lineares
Gleichungssystem zu lösen, reduziert sich auf das Problem, eine Matrix zu invertieren.
Fläche?
Länge?
Bre
ite?
: P1
P2:
![Page 7: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/7.jpg)
Heute: „Perverse“ Reduktion
• Reduktion kann auch dazu verwendet werden, zu zeigen dass ein Problem schwer ist.
• Falls f und f-1 effizient berechenbar und P1 schwer ist, so muss auch P2 schwer sein.
P1 P2
Transformation f
verwende Lösung
![Page 8: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/8.jpg)
Heute: „Perverse“ Reduktion
• Reduktion kann auch dazu verwendet werden, zu zeigen dass ein Problem schwer ist.
• Falls f und f-1 effizient berechenbar und P1 schwer ist, so muss auch P2 schwer sein.
P1 P2
Transformation f
verwende Lösung
Gilt das auch umgekehrt?Wenn P2 schwer dann auch P1?
![Page 9: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/9.jpg)
Repetition: Effiziente Algorithmen• Fundamentale algorithmische Probleme
• Matching• Spannbäume• Kürzeste Pfade
• Probleme schwer? Exponentiell viele gültige Lösungen!• n Männer, n Frauen: n! Matchings• Graph mit n Knoten: nn-2 Spannbäume• Exponentiell viele Pfade von s nach t
• Trotzdem: sehr effiziente Algorithmen!• Brillante Techniken: greedy Algorithmen, dynamische Programmierung, lineare
Programmierung
• Geht das für alle Probleme??
![Page 10: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/10.jpg)
Repetition: P, NP, P=NP• P: Probleme, die in polynomieller Zeit lösbar sind
• NP: (Entscheidungs-)Probleme, die in polynomieller Zeit verifizierbar sind • NP steht für nicht-deterministische Polynomialzeit (Lösung „raten“)
• Klar: P NP (lösen impliziert verifizieren)
• Bis heute unklar: P=NP? Eher unwahrscheinlich…• Kann exponentielle Suche immer vermieden werden?• Theorem beweisen nicht schwerer als Beweis verifizieren? Mathematiker
überflüssig?• Erfüllbarkeit logischer Formeln (SAT): seit 50 Jahren ungelöst
![Page 11: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/11.jpg)
Relevanz: Polynomiell vs Exponentiell
• Die Legende von Sissa• Monarch der Sissa belohnen möchte• Wunsch: Reiskörner auf Schachfeld• Verdopplung: Mehr Reis als in ganz Indien!
• Moore‘s Law hilft nicht viel! • Beispiel: Entscheidbarkeit (SAT)• Exponentiell: 1 Variable mehr pro Jahr• Polynomielle Algorithmen: doppelt so viele Variablen pro Jahr!
• Asymmetrische Kryptographie• Brisanterweise ist Komplexität von Faktorisierung unklar
![Page 12: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/12.jpg)
Heute: NP-Vollständig
• NP-vollständig: Die schwersten Probleme in NP
• Definiert über Reduktion: • Alle Probleme in NP lassen sich in polynomieller Zeit auf jedes NP-
vollständige Probleme reduzieren („sind höchstens so schwer“)
jedes NP Problem
jedes NP-vollständige Problem
![Page 13: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/13.jpg)
Heute: NP-Vollständig
• NP-vollständig: Die schwersten Probleme in NP
• Definiert über Reduktion: • Alle Probleme in NP lassen sich in polynomieller Zeit auf jedes NP-
vollständige Probleme reduzieren („sind höchstens so schwer“)
jedes NP Problem
jedes NP-vollständige Problem
Wie kann ich also versuchen zu beweisen, dass P=NP?
![Page 14: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/14.jpg)
Heute: NP-Vollständig
• NP-vollständig: Die schwersten Probleme in NP
• Definiert über Reduktion: • Alle Probleme in NP lassen sich in polynomieller Zeit auf jedes NP-
vollständige Probleme reduzieren („sind höchstens so schwer“)
jedes NP Problem
jedes NP-vollständige Problem
Wie kann ich also versuchen zu beweisen, dass P=NP?
Es reicht eines zu lösen → allein polynomieller Zeit lösbar.
![Page 15: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/15.jpg)
Heute: NP-Vollständig
• NP-vollständig: Die schwersten Probleme in NP
• Definiert über Reduktion: • Alle Probleme in NP lassen sich in polynomieller Zeit auf jedes NP-
vollständige Probleme reduzieren („sind höchstens so schwer“)
jedes NP Problem
jedes NP-vollständige Problem
Aber: gibt es dennüberhaupt solcheProbleme?
![Page 16: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/16.jpg)
Alle NP Probleme
Erfüllbarkeit der Aussagenlogik (SAT)
Die Schwersten Probleme in NPStephen A. Cook und Leonid Levin (1970)
![Page 17: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/17.jpg)
Die Schwersten Probleme in NPStephen A. Cook und Leonid Levin (1970)
1000e von NP-vollständigen Probleme:die meisten indirekt bewiesen,
durch Reduktion von NP-vollständigem Problem (z.B. SAT)
Alle NP Probleme
Erfüllbarkeit der Aussagenlogik (SAT)
![Page 18: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/18.jpg)
Vollständigkeitsbeweis durch Reduktion
Alle NP Probleme
SAT
3SAT
Independent Set
![Page 19: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/19.jpg)
Alle NP Probleme
SAT
3SAT
Independent Set
Poly-Zeit Reduktion
Poly-Zeit Reduktion
Poly-Zeit Reduktion
Wenn ich SAT lösen kann,kann ich alle NP Probleme lösen!
Vollständigkeitsbeweis durch Reduktion
![Page 20: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/20.jpg)
Alle NP Probleme
SAT
3SAT
Independent Set
Poly-Zeit Reduktion
Poly-Zeit Reduktion
Poly-Zeit Reduktion
Wenn ich SAT lösen kann,kann ich alle NP Probleme lösen!
Wenn ich 3SAT lösen kann,kann ich SAT lösen! Also auch alle NP Probleme (transitiv: Polynom + Polynom = Polynom).
Vollständigkeitsbeweis durch Reduktion
![Page 21: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/21.jpg)
Alle NP Probleme
SAT
3SAT
Independent Set
Poly-Zeit Reduktion
Poly-Zeit Reduktion
Poly-Zeit Reduktion
Wenn ich SAT lösen kann,kann ich alle NP Probleme lösen!
Wenn ich 3SAT lösen kann,kann ich SAT lösen! Also auch alle NP Probleme (transitiv: Polynom + Polynom = Polynom).
Wenn ich IS lösen kann,kann ich 3SAT lösen! Also auch alle NP Probleme (transitiv).
Vollständigkeitsbeweis durch Reduktion
![Page 22: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/22.jpg)
Beispiel: MM
Maximum Matching (MM): Gegeben ein ungerichteterGraph G(V,E). Ein Matching ist eine Kantenmenge M E(G), sodass jeder Knote inzident zu maximal einer Kante in M ist. Ein MM ist ein Matching maximaler Kardinalität.
![Page 23: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/23.jpg)
Beispiel: Matching?
5
6
7
3
2
1
4
34
![Page 24: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/24.jpg)
Beispiel: Matching?
5
6
7
3
2
1
4
34
![Page 25: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/25.jpg)
Beispiel: Maximum Matching (MM)?
5
6
7
3
2
1
4
34
![Page 26: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/26.jpg)
Beispiel: Maximum Matching (MM)?
5
6
7
3
2
1
4
34
![Page 27: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/27.jpg)
Beispiel: IS
• Independent Set (IS): Gegeben ein ungerichteter Graph G(V,E). Ein IS ist eine Menge U V(G), sodass {u1,u2} ϵE(G) für u1, u2 ϵ U. Ein Maximum IS (maxIS) ist ein IS maximaler Kardinalität |U|.
![Page 28: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/28.jpg)
Beispiel: IS?
5
6
7
3
2
1
4
34
![Page 29: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/29.jpg)
Beispiel: IS?
5
6
7
3
2
1
4
34
![Page 30: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/30.jpg)
Beispiel: MaxIS?
5
6
7
3
2
1
4
34
![Page 31: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/31.jpg)
Beispiel: MaxIS?
5
6
7
3
2
1
4
34
![Page 32: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/32.jpg)
Beispiel: NP-Vollständigkeit Reduktion
• Angenommen MM ist NP-vollständig.
• Wie kann ich vorgehen, um zu zeigen, dass MaxIS NP-vollständig ist?
• Tipp: Reduktion P1 P2verwende Lösung
transformiere
![Page 33: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/33.jpg)
MaxIS ist NP-vollständig: Beweisidee
MM MaxIS
verwende Lösung
• Zeige Reduktion:
• Zeige: MaxIS ist in NP• Kann ich in polynomieller Zeit Entscheidungsproblem
verifizieren: ist ein gegebenes IS der Größe M gültig?
Poly-Zeit Transformation
![Page 34: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/34.jpg)
MaxIS ist NP-vollständig: Beweisidee
MM MaxIS
verwende Lösung
• Zeige Reduktion:
• Zeige: MaxIS ist in NP• Kann ich in polynomieller Zeit Entscheidungsproblem
verifizieren: ist ein gegebenes IS der Größe M gültig?
Poly-Zeit Transformation
1. Gehe durch alle Kanten, prüfe ob max ein Endpunkt im IS.2. Prüfe ob es wirklich M viele Knoten sind.
![Page 35: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/35.jpg)
Reduktion
MM MaxIS
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
![Page 36: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/36.jpg)
Reduktion
MM MaxIS
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
12
23
35
13
34
67
56
57
![Page 37: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/37.jpg)
Reduktion
MM MaxIS
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
12
23
35
13
34
67
56
57Kanten ensprechen Knoten!
![Page 38: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/38.jpg)
Reduktion
MM MaxIS
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
12
23
35
13
34
67
56
57
effizient!
Kanten ensprechen Knoten!
![Page 39: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/39.jpg)
Reduktion
MM MaxIS
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
12
23
35
13
34
67
56
57
12
23
35
13
34
67
56
57
berechne Lösung!
![Page 40: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/40.jpg)
Reduktion
MM MaxIS
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
12
23
35
13
34
67
56
57
12
23
35
13
34
67
56
57
entsprechende Kanten sind Matching!
![Page 41: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/41.jpg)
Reduktion
MM MaxIS
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
12
23
35
13
34
67
56
57
12
23
35
13
34
67
56
57
Weshalb? Immer ein gültiges und maximum Matching?
![Page 42: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/42.jpg)
Reduktion
MM MaxIS
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
12
23
35
13
34
67
56
57
Ja, Äquivalent:
Knoten in MaxIS unabh.
gdw. Kanten im Matching gültig
(„unabh.“)
maximiere # Knoten im Independent Setgdw
maximiere # Kanten im Matching
Knoten rechts sind benachbart gdwKanten links benachbart sind!
Mengen sollen maximiert werden.
![Page 43: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/43.jpg)
Reduktion
MM MaxIS
1. IS Knoten entsprechen MM Kanten
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
12
23
35
13
34
67
56
57
12
23
35
13
34
67
56
57
effizient!
![Page 44: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/44.jpg)
Beweisidee
MM MaxIS
1. IS Knoten entsprechen MM Kanten
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
12
23
35
13
34
67
56
57
Gültiges IS muss gültiges Matching sein:
IS Knote blockiert adjazente Knoten = entsprechende Matching Kante blockiert inzidente Kanten!
![Page 45: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/45.jpg)
Beweisidee
MM MaxIS
1. IS Knoten entsprechen MM Kanten
1. Ersetze Kanten durch Knoten
2. Verbinde resultierende Knoten falls ursprüngliche Kanten inzident
1
2
3
4
5
6
7
12
23
35
13
34
67
56
57
Wenn MaxIS effizient lösbar wäre, so müsste auch MM effizient lösbar sein. Widerspruch!
effizient?
Gültiges IS muss gültiges Matching sein:
IS Knote blockiert adjazente Knoten = entsprechende Matching Kante blockiert inzidente Kanten!
![Page 46: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/46.jpg)
• Vertex Cover (VC): Gegeben ein ungerichteter Graph G(V,E). Ein Vertex Cover (VC) ist eine Menge von Knoten U V(G), sodass jede Kante in E(G) inzident zu mind. einem Knoten in U ist. Ein Minimum Vertex Cover (minVC) ist ein Vertex Cover minimaler Kardinalität |U|.
![Page 47: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/47.jpg)
Beispiel: MinVC
5
6
7
3
2
1
4
35
![Page 48: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/48.jpg)
Beispiel: MinVC
5
6
7
3
2
1
4
35
![Page 49: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/49.jpg)
Beispiel: NP-Vollständigkeit Reduktion
• Wie kann ich vorgehen, um zu zeigen, dass MinVCNP-vollständig ist?
![Page 50: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/50.jpg)
Beispiel: NP-Vollständigkeit Reduktion
• Wie kann ich vorgehen, um zu zeigen, dass MinVCNP-vollständig ist?
• Reduktion von MaxIS! Wir wissen: MaxIS is NP-vollständig.
![Page 51: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/51.jpg)
• Zeige Reduktion:
• Zeige: MinVC ist in NP
MinVC ist NP-vollständig: Beweisidee
MaxIS MinVC
verwende Lösung
Poly-Zeit Transformation
![Page 52: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/52.jpg)
• Zeige Reduktion:
• Zeige: MinVC ist in NP
MinVC ist NP-vollständig: Beweisidee
MaxIS MinVC
verwende Lösung
Poly-Zeit Transformation
1. Gehe durch alle Kanten, prüfe ob mind. ein Endpunkt im DS.2. Prüfe, ob auch die Anzahl Knoten stimmt (Entscheidungsproblem).
![Page 53: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/53.jpg)
Reduktion?
P1? P2?
Effizient!
Effizient!
2
3
5
1
4
8
6
7Vertex Cover
schwer?
![Page 54: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/54.jpg)
Reduktion
MaxIS MinVC
2
3
5
1
4
8
6
7
2
3
5
1
4
8
6
7
triviale Transformation
![Page 55: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/55.jpg)
Reduktion
MaxIS MinVC
2
3
5
1
4
8
6
7
2
3
5
1
4
8
6
7
Löse!
![Page 56: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/56.jpg)
Reduktion
MaxIS MinVC
Gegeben MinVC S:
MaxIS = V\S
„die anderen Knoten“
2
3
5
1
4
8
6
7
2
3
5
1
4
8
6
7
Nehme die anderen Knoten!
![Page 57: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/57.jpg)
Reduktion
MaxIS MinVC
Gegeben MinVC S:
MaxIS = V\S
„die anderen Knoten“
2
3
5
1
4
8
6
7
2
3
5
1
4
8
6
7
Menge S berührt jede Kante genau dann wenn restliche Knoten
unabhängig sind.
triviale Transformation!
![Page 58: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/58.jpg)
Reduktion
MaxIS MinVC
Gegeben MinVC S:
MaxIS = V\S
„die anderen Knoten“
2
3
5
1
4
8
6
7
2
3
5
1
4
8
6
7
Sicher keine anderen IS Knoten in der Nachbarschaft: alle Nachbarkanten sinddurch VC Knoten abgedeckt.
triviale Transformation!
Menge S berührt jede Kante genau dann wenn restliche Knoten
unabhängig sind.
![Page 59: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/59.jpg)
Reduktion
MaxIS MinVC
Gegeben MinVC S:
MaxIS = V\S
„die anderen Knoten“
triviale Transformation!
2
3
5
1
4
8
6
7
2
3
5
1
4
8
6
7
minimale Anzahl Knoten im VC =maximal viele restliche Knoten!
Menge S berührt jede Kante genau dann wenn restliche Knoten
unabhängig sind.
minimale Anzahl Knoten im VC =maximal viele restliche Knoten!
![Page 60: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/60.jpg)
Reduktion
MaxIS MinVC
Gegeben MinVC S:
MaxIS = V\S
„die anderen Knoten“
triviale Transformation!
2
3
5
1
4
8
6
7
2
3
5
1
4
8
6
7
Wenn MinVC effizient lösbar wäre, so müsste auch MaxIS effizient lösbar sein. Widerspruch!
effizient?
Menge S berührt jede Kante genau dann wenn restliche Knoten
unabhängig sind.
![Page 61: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/61.jpg)
Bemerkungen• Warnung 1: Details sind wichtig!
Harte Probleme (NP) Einfache Probleme (P)
3SAT 2SAT, Horn SAT
Traveling Salesman Minimum Spanning Tree
Longest Path Shortest Path
Independent Set Independent Set auf Bäumen
Balanced Cut Minimum Cut
• Warnung 2: Es gibt Probleme, die sind schwerer als NP-schwer! Z.B. gar nicht lösbar.
• Bemerkung 1: Selbst NP-vollständige Probleme lassen sich in der Praxis oft gut lösen: Gebiet der Approximationsalgorithmen.
• Bemerkung 2: NP-vollständige Probleme haben bisher Quantencomputern stand gehalten. (Faktorisierung nicht: aber fast niemand glaubt heute, dass FaktorisierungNP-vollständig ist.)
![Page 62: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/62.jpg)
Zusammenfassung
• Komplexitätstheorie: eine der faszinierendsten (und relevantesten) Themen unserer Zeit• Insbesondere polynomiell vs nicht polynomiell• Aber auch allgemein: Komplexität von Zahlen- und
Matritzenmultiplikation ungelöst!
• Reduktion: Nicht nur um Probleme zu lösen, sondern auch um zu zeigen, dass sie nicht lösbar sind
• Achtung: Reduktionen sind gerichtet• Auf ein NP vollständiges Problem reduzieren ≠ von einem NP
vollständigen Problem reduzieren
![Page 63: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/63.jpg)
Nächste Woche
Alle NP Probleme
SAT
![Page 64: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/64.jpg)
Backup
![Page 65: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/65.jpg)
Alle NP Probleme Circuit SAT
• Circuit SAT• Boolean Circuit in DAG Form• Verallgemeinerung von SAT: Finde
Belegung für „?“ sodass Output wahr, oder sage dass das unmöglich ist
• Operatoren: • AND, OR: in-degree 2• NOT: in-degree 1• Bekannte Inputs: true-false• Unbekannte Inputs: ?
true ? ? ?
AND OR AND
NOT OR
AND
output
![Page 66: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/66.jpg)
Alle NP Probleme Circuit SAT
true false true true
AND OR AND
NOT OR
AND
output
• Circuit SAT• Boolean Circuit in DAG Form• Verallgemeinerung von SAT: Finde
Belegung für „?“ sodass Output wahr, oder sage dass das unmöglich ist
• Operatoren: • AND, OR: in-degree 2• NOT: in-degree 1• Bekannte Inputs: true-false• Unbekannte Inputs: ?
![Page 67: NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die schwersten Probleme in NP •Definiert über Reduktion: •Alle Probleme in NP lassen sich](https://reader031.fdokument.com/reader031/viewer/2022022119/5e197a9b3a31ef10c0757872/html5/thumbnails/67.jpg)
Circuit SATBeliebiges NP-Problem X
• Klingt schwierig: Was wissen wir über X? Gar nichts…
• Nicht ganz: Gegeben Probleminstanz I und Lösung L: es gibt einen polynomiellen Algorithmus, der prüft, ob L eine Lösung für I ist
• Diesen Algorithmus kann man immer als Circuit polynomiellerGröße darstellen
• Setze bekannte Inputs auf I und unbekannte Inputs auf L
• Die erfüllenden Belegungen für L sind die Lösungen für unser Problem X! Die Reduktion ist komplett.