NP-Vollständigkeitstefan/Vorlesung.pdf · Heute: NP-Vollständig •NP-vollständig: Die...

67
NP-Vollständigkeit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

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

• 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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.