Übung Theoretische Grundlagen

Ähnliche Dokumente
Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Einige Grundlagen der Komplexitätstheorie

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Wissenschaftliche Arbeitstechniken und Präsentation. NP-Vollständigkeit

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Algorithmische Methoden für schwere Optimierungsprobleme

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

Rucksackproblem und Verifizierbarkeit

Kochrezept für NP-Vollständigkeitsbeweise

Übungsblatt Nr. 5. Lösungsvorschlag

Kapitel L:II. II. Aussagenlogik

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen

Die Klasse NP und die polynomielle Reduktion

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Algorithmen zur Visualisierung von Graphen

Willkommen zur Vorlesung Komplexitätstheorie

NP-Vollständigkeit des Erfüllbarkeitsproblems

Dank. Theoretische Informatik II. Teil VI. Vorlesung

Theoretische Informatik Mitschrift

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Theoretische Grundlagen der Informatik

Berechenbarkeits- und Komplexitätstheorie

Wie komme ich von hier zum Hauptbahnhof?

Weitere NP-vollständige Probleme

Logik für Informatiker

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP

Einführung in die Informatik 2

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik. Vorlesung am 27. November INSTITUT FÜR THEORETISCHE INFORMATIK

Algorithmen II Vorlesung am

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Theoretische Grundlagen der Informatik

Kurt Mehlhorn und Adrian Neumann Max Planck Institute for Informatics and Saarland University 1. Dezember 2013

Probleme aus NP und die polynomielle Reduktion

Algorithmische Spieltheorie

Das P=NP-Problem. Besitzen (Entscheidungs-)Probleme mit einer Nichtdeterministischen. deterministische Polynomielle Lösung?

Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Übungsblatt 4. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Theoretische Informatik 1

Polynomielle Verifizierer und NP

Theoretische Grundlagen der Informatik

14. Die polynomiell beschränkten Komplexitätsklassen. Die Grenzen der tatsächlichen Berechenbarkeit

Einführung Erfüllbarkeitsproblem NP-Vollständigkeit Definition von NP Was wäre, wenn Was tun? Ideen und Konzepte der Informatik.

Die Komplexitätsklassen P und NP

Logik für Informatiker

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Welche Probleme können Rechner (effizient) lösen? Die P = NP Frage. Ideen der Informatik Kurt Mehlhorn

Einführung in die Informatik 2

NP-Vollständigkeit einiger Zahlprobleme

Wie man das Poissonsche Problem löst

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Komplexitätstheorie P versus NP

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Informatik-Grundlagen

THEORETISCHE INFORMATIK UND LOGIK

Konjunktive Normalform

Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Formale Systeme. Das Erfu llbarkeitsproblem. Prof. Dr. Bernhard Beckert, WS 2017/2018

Informatik III - WS07/08

NP-vollständige Probleme

Grundlagen der Theoretischen Informatik

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Logik für Informatiker

Logik für Informatiker

Theoretische Informatik II

Theoretische Grundlagen der Informatik

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 13

Diskrete Strukturen Wiederholungsklausur

Satz 227 3SAT ist N P-vollständig. Info IV 2 N P-Vollständigkeit 375/388 c Ernst W. Mayr

Theoretische Grundlagen der Informatik

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

NP Vollständigkeit. Patryk Mazur

NP-vollst. u. NP-äquiv. Probleme

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

subexponentielle Algorithmen (d.h. Laufzeiten wie z. B. 2 n oder

Übungsblatt Nr. 6. Lösungsvorschlag

Overview. Testen von Planarität. Planare Graphen. Beliebige Knotenpositionen. Gerade Linien. Faces

Logische und funktionale Programmierung

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

NP-Vollständigkeit und der Satz von Cook und Levin

Transkript:

Übung Theoretische Grundlagen Komplexitätstheorie Nico Döttling 8. Januar 2010 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Die Komplexitätsklasse P Die Komplexitätsklasse P enthält all jene Probleme welche von einer deterministischen Turingmaschine in Polynomialzeit entschieden werden können. D.h. L P genau dann wenn es eine Turingmaschine M und eine Polynom p gibt, sodass M bei Eingabe w Σ nach p( w ) Schritten hält und genau dann akzeptiert wenn w L. Ein (Zeit-)Schritt ist dabei ein Zustandsübergang der Turingmaschine. Daraus folgt unmittelbar: Die Klasse P ist unter Komplementbildung abgeschlossen. Ist M ein Polynomialzeitentscheider für L so erhält man einen Polynomialzeitentscheider M für L indem man schlicht die Ausgabe von M negiert. Tatsächlich sind mit dem selben Argument alle deterministischen Klassen unter Komplementbildung abgeschlossen. Nico Döttling Übung 8. Januar 2010 2/27

Die Komplexitätsklasse P Die Komplexitätsklasse P enthält all jene Probleme welche von einer deterministischen Turingmaschine in Polynomialzeit entschieden werden können. D.h. L P genau dann wenn es eine Turingmaschine M und eine Polynom p gibt, sodass M bei Eingabe w Σ nach p( w ) Schritten hält und genau dann akzeptiert wenn w L. Ein (Zeit-)Schritt ist dabei ein Zustandsübergang der Turingmaschine. Daraus folgt unmittelbar: Die Klasse P ist unter Komplementbildung abgeschlossen. Ist M ein Polynomialzeitentscheider für L so erhält man einen Polynomialzeitentscheider M für L indem man schlicht die Ausgabe von M negiert. Tatsächlich sind mit dem selben Argument alle deterministischen Klassen unter Komplementbildung abgeschlossen. Nico Döttling Übung 8. Januar 2010 2/27

Die Komplexitätsklasse P Die Komplexitätsklasse P enthält all jene Probleme welche von einer deterministischen Turingmaschine in Polynomialzeit entschieden werden können. D.h. L P genau dann wenn es eine Turingmaschine M und eine Polynom p gibt, sodass M bei Eingabe w Σ nach p( w ) Schritten hält und genau dann akzeptiert wenn w L. Ein (Zeit-)Schritt ist dabei ein Zustandsübergang der Turingmaschine. Daraus folgt unmittelbar: Die Klasse P ist unter Komplementbildung abgeschlossen. Ist M ein Polynomialzeitentscheider für L so erhält man einen Polynomialzeitentscheider M für L indem man schlicht die Ausgabe von M negiert. Tatsächlich sind mit dem selben Argument alle deterministischen Klassen unter Komplementbildung abgeschlossen. Nico Döttling Übung 8. Januar 2010 2/27

Die Komplexitätsklasse P Die Komplexitätsklasse P enthält all jene Probleme welche von einer deterministischen Turingmaschine in Polynomialzeit entschieden werden können. D.h. L P genau dann wenn es eine Turingmaschine M und eine Polynom p gibt, sodass M bei Eingabe w Σ nach p( w ) Schritten hält und genau dann akzeptiert wenn w L. Ein (Zeit-)Schritt ist dabei ein Zustandsübergang der Turingmaschine. Daraus folgt unmittelbar: Die Klasse P ist unter Komplementbildung abgeschlossen. Ist M ein Polynomialzeitentscheider für L so erhält man einen Polynomialzeitentscheider M für L indem man schlicht die Ausgabe von M negiert. Tatsächlich sind mit dem selben Argument alle deterministischen Klassen unter Komplementbildung abgeschlossen. Nico Döttling Übung 8. Januar 2010 2/27

Probleme in P Mit der Klasse P assoziiert man gemeinhin effiziente Berechnung, wenn auch nur asymptotisch. Example Selbst effiziente Algorithmen mit Laufzeit O(n) können durch ihre Laufzeit inhärent unbrauchbar sein, wenn sie beispielsweise eine Laufzeitschranke p(n) = 2 1024 n haben. Aus der Vorlesung bekannte Probleme in P Alle Ch-2 Sprachen. Das Pfadproblem in Graphen. Die Berechnung des größten gemeinsamen Teilers (Das ist kein Entscheidungsproblem). Das PRIMES Problem (Ist eine Zahl prim?) Nico Döttling Übung 8. Januar 2010 3/27

Probleme in P Mit der Klasse P assoziiert man gemeinhin effiziente Berechnung, wenn auch nur asymptotisch. Example Selbst effiziente Algorithmen mit Laufzeit O(n) können durch ihre Laufzeit inhärent unbrauchbar sein, wenn sie beispielsweise eine Laufzeitschranke p(n) = 2 1024 n haben. Aus der Vorlesung bekannte Probleme in P Alle Ch-2 Sprachen. Das Pfadproblem in Graphen. Die Berechnung des größten gemeinsamen Teilers (Das ist kein Entscheidungsproblem). Das PRIMES Problem (Ist eine Zahl prim?) Nico Döttling Übung 8. Januar 2010 3/27

Probleme in P Mit der Klasse P assoziiert man gemeinhin effiziente Berechnung, wenn auch nur asymptotisch. Example Selbst effiziente Algorithmen mit Laufzeit O(n) können durch ihre Laufzeit inhärent unbrauchbar sein, wenn sie beispielsweise eine Laufzeitschranke p(n) = 2 1024 n haben. Aus der Vorlesung bekannte Probleme in P Alle Ch-2 Sprachen. Das Pfadproblem in Graphen. Die Berechnung des größten gemeinsamen Teilers (Das ist kein Entscheidungsproblem). Das PRIMES Problem (Ist eine Zahl prim?) Nico Döttling Übung 8. Januar 2010 3/27

Probleme in P Mit der Klasse P assoziiert man gemeinhin effiziente Berechnung, wenn auch nur asymptotisch. Example Selbst effiziente Algorithmen mit Laufzeit O(n) können durch ihre Laufzeit inhärent unbrauchbar sein, wenn sie beispielsweise eine Laufzeitschranke p(n) = 2 1024 n haben. Aus der Vorlesung bekannte Probleme in P Alle Ch-2 Sprachen. Das Pfadproblem in Graphen. Die Berechnung des größten gemeinsamen Teilers (Das ist kein Entscheidungsproblem). Das PRIMES Problem (Ist eine Zahl prim?) Nico Döttling Übung 8. Januar 2010 3/27

Probleme in P Mit der Klasse P assoziiert man gemeinhin effiziente Berechnung, wenn auch nur asymptotisch. Example Selbst effiziente Algorithmen mit Laufzeit O(n) können durch ihre Laufzeit inhärent unbrauchbar sein, wenn sie beispielsweise eine Laufzeitschranke p(n) = 2 1024 n haben. Aus der Vorlesung bekannte Probleme in P Alle Ch-2 Sprachen. Das Pfadproblem in Graphen. Die Berechnung des größten gemeinsamen Teilers (Das ist kein Entscheidungsproblem). Das PRIMES Problem (Ist eine Zahl prim?) Nico Döttling Übung 8. Januar 2010 3/27

Probleme in P Mit der Klasse P assoziiert man gemeinhin effiziente Berechnung, wenn auch nur asymptotisch. Example Selbst effiziente Algorithmen mit Laufzeit O(n) können durch ihre Laufzeit inhärent unbrauchbar sein, wenn sie beispielsweise eine Laufzeitschranke p(n) = 2 1024 n haben. Aus der Vorlesung bekannte Probleme in P Alle Ch-2 Sprachen. Das Pfadproblem in Graphen. Die Berechnung des größten gemeinsamen Teilers (Das ist kein Entscheidungsproblem). Das PRIMES Problem (Ist eine Zahl prim?) Nico Döttling Übung 8. Januar 2010 3/27

Probleme in P Mit der Klasse P assoziiert man gemeinhin effiziente Berechnung, wenn auch nur asymptotisch. Example Selbst effiziente Algorithmen mit Laufzeit O(n) können durch ihre Laufzeit inhärent unbrauchbar sein, wenn sie beispielsweise eine Laufzeitschranke p(n) = 2 1024 n haben. Aus der Vorlesung bekannte Probleme in P Alle Ch-2 Sprachen. Das Pfadproblem in Graphen. Die Berechnung des größten gemeinsamen Teilers (Das ist kein Entscheidungsproblem). Das PRIMES Problem (Ist eine Zahl prim?) Nico Döttling Übung 8. Januar 2010 3/27

Probleme in P Eine wichtige Klasse von Graphen sind die planaren Graphen. Definition Ein Graph heißt planar genau dann wenn er sich ohne Überschneidungen seiner Kanten in die Ebene Zeichnen läßt Planare Graphen treten sehr häufig bei natürlichen Problemen (z.b. Landkarten) auf und haben eine Reihe wichtiger Eigenschaften (Dualität, Vierfärbbarkeit etc.) Nico Döttling Übung 8. Januar 2010 4/27

Probleme in P Eine wichtige Klasse von Graphen sind die planaren Graphen. Definition Ein Graph heißt planar genau dann wenn er sich ohne Überschneidungen seiner Kanten in die Ebene Zeichnen läßt Planare Graphen treten sehr häufig bei natürlichen Problemen (z.b. Landkarten) auf und haben eine Reihe wichtiger Eigenschaften (Dualität, Vierfärbbarkeit etc.) Nico Döttling Übung 8. Januar 2010 4/27

Planare Graphen Example Ist dieser Graph planar? Nico Döttling Übung 8. Januar 2010 5/27

Planare Graphen Example Ja. Planarität ist zwar zunächst geometrisch definiert, ist aber vielmehr eine topologische Eigenschaft von Graphen. Nico Döttling Übung 8. Januar 2010 6/27

Planare Graphen Example Ja. Planarität ist zwar zunächst geometrisch definiert, ist aber vielmehr eine topologische Eigenschaft von Graphen. Nico Döttling Übung 8. Januar 2010 6/27

Planare Graphen Das war ein verfahren von Hand. Wie können wir algorithmisch Graphen auf Planarität testen? Problem: PLANARITY Gegeben: Ein Graph G = (V, E) Gesucht: Ist G planar? Nico Döttling Übung 8. Januar 2010 7/27

Planare Graphen Das war ein verfahren von Hand. Wie können wir algorithmisch Graphen auf Planarität testen? Problem: PLANARITY Gegeben: Ein Graph G = (V, E) Gesucht: Ist G planar? Nico Döttling Übung 8. Januar 2010 7/27

Planare Graphen Definition Ein zusammenhängender Graph H = (W, F) heißt Minore eines zusammenhängenden Graphen G = (V, E), falls sich G sich durch Kantenkontraktion in eine Graphen G überführen läßt, welcher H als Subgraphen enthält. Eine Kantenkontraktion ist das Löschen einer Kante und anschließende Verschmelzen der beiden Endknoten. Ein Graph G enthält einen Graphen H als Subgraphen, wenn sich G durch Löschung von Knoten und Kanten, sowie anschließende Umbenennung in H überführen läßt. Nico Döttling Übung 8. Januar 2010 8/27

Planare Graphen Example Ist H eine Minore von G? H G Nico Döttling Übung 8. Januar 2010 9/27

Planare Graphen Example Ja: Nico Döttling Übung 8. Januar 2010 10/27

Satz von Kuratowski Es gibt eine einfache kombinatorische Charakterisierung von planaren Graphen. Theorem (Kuratowski) Ein Graph G = (V, E) ist genau dann planar, wenn er weder den K 5 noch den K 3,3 als Minore enthält. K 5 K 3,3 Der Beweis für diesen Satz umfasst einen Induktionsbeweis mit vielen Fallunterscheidungen. Nico Döttling Übung 8. Januar 2010 11/27

Satz von Kuratowski Es gibt eine einfache kombinatorische Charakterisierung von planaren Graphen. Theorem (Kuratowski) Ein Graph G = (V, E) ist genau dann planar, wenn er weder den K 5 noch den K 3,3 als Minore enthält. K 5 K 3,3 Der Beweis für diesen Satz umfasst einen Induktionsbeweis mit vielen Fallunterscheidungen. Nico Döttling Übung 8. Januar 2010 11/27

Planare Graphen Mit diesem Satz erhält man einen Algorithmus T um Graphen auf Planarität zu testen. Dies gelingt durch Anwendung einer sogenannten Branch-Decomposition des Graphen. Mit ihr kann man in O( V 3 ) beliebige Minoren konstanter Größe in Graphen finden. Leider übersteigt auch dies den Rahmen dieser Übung. Der Planaritätstest sieht dann so aus. PLANAR Eingabe: Graph G = (V, E) Ausgabe: G planar JA/NEIN? Erzeuge Branch-Decomposition T von G Prüfe ob G K 5 als Minore enthält. Falls ja gebe NEIN aus. Prüfe ob G K 3,3 als Minore enthältm. Falls ja gebe NEIN aus. gebe JA aus Nico Döttling Übung 8. Januar 2010 12/27

Planare Graphen Mit diesem Satz erhält man einen Algorithmus T um Graphen auf Planarität zu testen. Dies gelingt durch Anwendung einer sogenannten Branch-Decomposition des Graphen. Mit ihr kann man in O( V 3 ) beliebige Minoren konstanter Größe in Graphen finden. Leider übersteigt auch dies den Rahmen dieser Übung. Der Planaritätstest sieht dann so aus. PLANAR Eingabe: Graph G = (V, E) Ausgabe: G planar JA/NEIN? Erzeuge Branch-Decomposition T von G Prüfe ob G K 5 als Minore enthält. Falls ja gebe NEIN aus. Prüfe ob G K 3,3 als Minore enthältm. Falls ja gebe NEIN aus. gebe JA aus Nico Döttling Übung 8. Januar 2010 12/27

Planare Graphen Es gibt allerdings auch Linearzeitalgorithmen für PLANARITY, also Algorithmen mit Laufzeit O( V + E ) (Hopcroft und Tarjan 1974). Man kann sich aber auch Verallgemeinerungen des Planaritätsproblems vorstellen. Nico Döttling Übung 8. Januar 2010 13/27

Planare Graphen Es gibt allerdings auch Linearzeitalgorithmen für PLANARITY, also Algorithmen mit Laufzeit O( V + E ) (Hopcroft und Tarjan 1974). Man kann sich aber auch Verallgemeinerungen des Planaritätsproblems vorstellen. Nico Döttling Übung 8. Januar 2010 13/27

Planare Graphen Wenn man einen Graphen überschneidungsfrei in die Ebene zeichnen kann, dann kann man ihn auch überschneidungsfrei auf eine Kugeloberfläche zeichnen (die Umkehrung gilt genauso) Man kann Graphen auch auf Flächen mit Löchern, zeichnen, beispielsweise auf einen Torus. Die Anzahl der Löcher wird als Genus einer Fläche bezeichnet und ist ein Begriff aus der Differenzialgeometrie. Nico Döttling Übung 8. Januar 2010 14/27

Planare Graphen Wenn man einen Graphen überschneidungsfrei in die Ebene zeichnen kann, dann kann man ihn auch überschneidungsfrei auf eine Kugeloberfläche zeichnen (die Umkehrung gilt genauso) Man kann Graphen auch auf Flächen mit Löchern, zeichnen, beispielsweise auf einen Torus. Die Anzahl der Löcher wird als Genus einer Fläche bezeichnet und ist ein Begriff aus der Differenzialgeometrie. Nico Döttling Übung 8. Januar 2010 14/27

Planare Graphen Wenn man Graphen auf Flächen mit höherem Genus einbettet lassen sich nichtplanare Graphen plötzlich überschneidungsfrei zeichnen. Nico Döttling Übung 8. Januar 2010 15/27

Planare Graphen Planare Graphen lassen sich durch verbotene Minoren charakterisieren (namentlich K 5 und K 3,3 ) Es gibt eine Verallgemeinerung des Satzes von Kuratowski auf größere Klassen von Graphen, insbesondere auch für Graphen die auf Flächen mit höheren Genera planar sind. Das ist das Robertson Seymour Theorem. Es besagt grob dass es auch für Graphen die auf Flächen mit höherem Genus planar sind ein Planaritätskriterium mit verbotenen Minoren gibt. Beispielsweise gibt es eine Menge H von verbotenen Minoren für die Planarität auf dem Torus. Die Menge H hat konstante Größe. Es gibt also (analog zum oben skizzierten Planaritätstest-Algorithmus) einen Polynomialzeitalgorithmus der testet ob Graphen auf einem Torus planar sind. Nico Döttling Übung 8. Januar 2010 16/27

Planare Graphen Planare Graphen lassen sich durch verbotene Minoren charakterisieren (namentlich K 5 und K 3,3 ) Es gibt eine Verallgemeinerung des Satzes von Kuratowski auf größere Klassen von Graphen, insbesondere auch für Graphen die auf Flächen mit höheren Genera planar sind. Das ist das Robertson Seymour Theorem. Es besagt grob dass es auch für Graphen die auf Flächen mit höherem Genus planar sind ein Planaritätskriterium mit verbotenen Minoren gibt. Beispielsweise gibt es eine Menge H von verbotenen Minoren für die Planarität auf dem Torus. Die Menge H hat konstante Größe. Es gibt also (analog zum oben skizzierten Planaritätstest-Algorithmus) einen Polynomialzeitalgorithmus der testet ob Graphen auf einem Torus planar sind. Nico Döttling Übung 8. Januar 2010 16/27

Planare Graphen Planare Graphen lassen sich durch verbotene Minoren charakterisieren (namentlich K 5 und K 3,3 ) Es gibt eine Verallgemeinerung des Satzes von Kuratowski auf größere Klassen von Graphen, insbesondere auch für Graphen die auf Flächen mit höheren Genera planar sind. Das ist das Robertson Seymour Theorem. Es besagt grob dass es auch für Graphen die auf Flächen mit höherem Genus planar sind ein Planaritätskriterium mit verbotenen Minoren gibt. Beispielsweise gibt es eine Menge H von verbotenen Minoren für die Planarität auf dem Torus. Die Menge H hat konstante Größe. Es gibt also (analog zum oben skizzierten Planaritätstest-Algorithmus) einen Polynomialzeitalgorithmus der testet ob Graphen auf einem Torus planar sind. Nico Döttling Übung 8. Januar 2010 16/27

Planare Graphen Planare Graphen lassen sich durch verbotene Minoren charakterisieren (namentlich K 5 und K 3,3 ) Es gibt eine Verallgemeinerung des Satzes von Kuratowski auf größere Klassen von Graphen, insbesondere auch für Graphen die auf Flächen mit höheren Genera planar sind. Das ist das Robertson Seymour Theorem. Es besagt grob dass es auch für Graphen die auf Flächen mit höherem Genus planar sind ein Planaritätskriterium mit verbotenen Minoren gibt. Beispielsweise gibt es eine Menge H von verbotenen Minoren für die Planarität auf dem Torus. Die Menge H hat konstante Größe. Es gibt also (analog zum oben skizzierten Planaritätstest-Algorithmus) einen Polynomialzeitalgorithmus der testet ob Graphen auf einem Torus planar sind. Nico Döttling Übung 8. Januar 2010 16/27

Planare Graphen Planare Graphen lassen sich durch verbotene Minoren charakterisieren (namentlich K 5 und K 3,3 ) Es gibt eine Verallgemeinerung des Satzes von Kuratowski auf größere Klassen von Graphen, insbesondere auch für Graphen die auf Flächen mit höheren Genera planar sind. Das ist das Robertson Seymour Theorem. Es besagt grob dass es auch für Graphen die auf Flächen mit höherem Genus planar sind ein Planaritätskriterium mit verbotenen Minoren gibt. Beispielsweise gibt es eine Menge H von verbotenen Minoren für die Planarität auf dem Torus. Die Menge H hat konstante Größe. Es gibt also (analog zum oben skizzierten Planaritätstest-Algorithmus) einen Polynomialzeitalgorithmus der testet ob Graphen auf einem Torus planar sind. Nico Döttling Übung 8. Januar 2010 16/27

Planare Graphen Allerdings: Der Beweis des Satzes von Robertson und Seymour ist nicht-konstruktiv. Man weiß also nur dass es eine solche Menge H von verbotenen Minoren gibt, niemand kennt sie allerdings 1. Anders formuliert: Es gibt Probleme, von welchen man weiß dass sie in der Komplexitätsklasse P liegen, für welche allerdings kein Polynomialzeitalgorithmus bekannt ist. 1 Man weiß bisher nur dasshmehr als 16000 Elemente besitzen muss Nico Döttling Übung 8. Januar 2010 17/27

Planare Graphen Allerdings: Der Beweis des Satzes von Robertson und Seymour ist nicht-konstruktiv. Man weiß also nur dass es eine solche Menge H von verbotenen Minoren gibt, niemand kennt sie allerdings 1. Anders formuliert: Es gibt Probleme, von welchen man weiß dass sie in der Komplexitätsklasse P liegen, für welche allerdings kein Polynomialzeitalgorithmus bekannt ist. 1 Man weiß bisher nur dasshmehr als 16000 Elemente besitzen muss Nico Döttling Übung 8. Januar 2010 17/27

Die Komplexitätsklasse NP NP ist die Klasse allderjeniger Sprachen die von einer nichtdeterministischen Turingmaschine in Polynomialzeit akzeptiert werden. Das heißt, ist L NP, dann es gibt eine nichtdeterministische Turingmaschine M und ein Polynom p sodass M bei Eingabe w Σ genau dann nach höchstens p( w ) Schritten akzeptiert wenn w L. Äquivalent dazu ist dass es einen Verifizierer V und Polynome p, q gibt, sodass w L genau dann wenn es einen Beweis s Σ mit s q( w ) gibt sodass V die Eingabe (w, s) in p( w ) Schritten akzeptiert. (Vorgelagerter Nichtdeterminismus) Nico Döttling Übung 8. Januar 2010 18/27

Die Komplexitätsklasse NP NP ist die Klasse allderjeniger Sprachen die von einer nichtdeterministischen Turingmaschine in Polynomialzeit akzeptiert werden. Das heißt, ist L NP, dann es gibt eine nichtdeterministische Turingmaschine M und ein Polynom p sodass M bei Eingabe w Σ genau dann nach höchstens p( w ) Schritten akzeptiert wenn w L. Äquivalent dazu ist dass es einen Verifizierer V und Polynome p, q gibt, sodass w L genau dann wenn es einen Beweis s Σ mit s q( w ) gibt sodass V die Eingabe (w, s) in p( w ) Schritten akzeptiert. (Vorgelagerter Nichtdeterminismus) Nico Döttling Übung 8. Januar 2010 18/27

Die Komplexitätsklasse NP Es liegen viele interessante kombinatorische und algebraische Probleme in NP Das Erfüllbarkeitsproblem für Aussagenlogische Formeln Das Problem des Handlungsreisenden Lineare Programmierung Nico Döttling Übung 8. Januar 2010 19/27

NP-Vollständigkeit p bezeichne Polynomialzeitreduzierbarkeit. Eine Sprache L NP heißt NP-vollständig wenn für für alle L NP gilt L p L. NP-vollständige Probleme sind sozusagen die schwierigsten Probleme in NP. Warum Polynomialzeitreduktionen? Idee dahinter: Könnte man ein NP-vollständiges Problem effizient lösen (läge es in P), dann würde P = NP gelten. Nico Döttling Übung 8. Januar 2010 20/27

NP-Vollständigkeit p bezeichne Polynomialzeitreduzierbarkeit. Eine Sprache L NP heißt NP-vollständig wenn für für alle L NP gilt L p L. NP-vollständige Probleme sind sozusagen die schwierigsten Probleme in NP. Warum Polynomialzeitreduktionen? Idee dahinter: Könnte man ein NP-vollständiges Problem effizient lösen (läge es in P), dann würde P = NP gelten. Nico Döttling Übung 8. Januar 2010 20/27

NP-Vollständigkeit p bezeichne Polynomialzeitreduzierbarkeit. Eine Sprache L NP heißt NP-vollständig wenn für für alle L NP gilt L p L. NP-vollständige Probleme sind sozusagen die schwierigsten Probleme in NP. Warum Polynomialzeitreduktionen? Idee dahinter: Könnte man ein NP-vollständiges Problem effizient lösen (läge es in P), dann würde P = NP gelten. Nico Döttling Übung 8. Januar 2010 20/27

NP-Vollständigkeit p bezeichne Polynomialzeitreduzierbarkeit. Eine Sprache L NP heißt NP-vollständig wenn für für alle L NP gilt L p L. NP-vollständige Probleme sind sozusagen die schwierigsten Probleme in NP. Warum Polynomialzeitreduktionen? Idee dahinter: Könnte man ein NP-vollständiges Problem effizient lösen (läge es in P), dann würde P = NP gelten. Nico Döttling Übung 8. Januar 2010 20/27

NP-Vollständigkeit Problem SAT Gegeben: Eine aussagenlogische Formel φ in konjunktiver Normalform Frage: Gibt es erfüllende Belegung von φ Example Hat die Formel φ = (x y z) (x ȳ z) ( x ȳ) eine erfüllende Belegung? Nico Döttling Übung 8. Januar 2010 21/27

NP-Vollständigkeit Problem SAT Gegeben: Eine aussagenlogische Formel φ in konjunktiver Normalform Frage: Gibt es erfüllende Belegung von φ Example Hat die Formel φ = (x y z) (x ȳ z) ( x ȳ) eine erfüllende Belegung? Nico Döttling Übung 8. Januar 2010 21/27

NP-Vollständigkeit Example φ = (x y z) (x ȳ z) ( x ȳ) Ja: x = TRUE y = FALSE z = FALSE Nico Döttling Übung 8. Januar 2010 22/27

NP-Vollständigkeit Theorem (Cook-Levin) Das Erfüllbarkeitsproblem der Aussagenlogik SAT ist NP-vollständig Problem 3SAT Gegeben: Eine aussagenlogische Formel φ in konjunktiver Normalform bei welcher jede Klausel höchstens 3 Literale enthält Frage: Gibt es erfüllende Belegung von φ? Nico Döttling Übung 8. Januar 2010 23/27

NP-Vollständigkeit Theorem (Cook-Levin) Das Erfüllbarkeitsproblem der Aussagenlogik SAT ist NP-vollständig Problem 3SAT Gegeben: Eine aussagenlogische Formel φ in konjunktiver Normalform bei welcher jede Klausel höchstens 3 Literale enthält Frage: Gibt es erfüllende Belegung von φ? Nico Döttling Übung 8. Januar 2010 23/27

NP-Vollständigkeit Lemma 3SAT ist NP-vollständig Nico Döttling Übung 8. Januar 2010 24/27

NP-Vollständigkeit Beweis: 3SAT ist offensichtlich in NP. Man rät eine erfüllende Belegung T für φ und der Verifizierer prüft ob T tatsächlich φ erfüllt. Es gilt SAT p 3SAT. Sei φ eine aussagenlogische Formel in konjunktiver Normalform. Wir konstruieren eine neue aussagenlogische Formel φ in konjunktiver Normalform die pro Klausel nur noch 3 Literale besitzt und genau dann erfüllbar ist wenn φ erfüllbar ist. Nico Döttling Übung 8. Januar 2010 25/27

NP-Vollständigkeit Sei φ = K 1 K 2 K n mit K i = L i,1 L i,2... L i,ki Wir ersetzen jedes K i, i = 1,...,n durch eine Konjunktion neuer Klauseln. Wir führen dazu für jede Klausel K i k i 1 neue Variable α i,1,...α i,ki 1 ein. K j =(L i,1 α i,1 ) (α i,1 L i,2 α i,2 )... (α i,ki 2 L i,ki 1 α i,ki 1) (α i,ki 1 L i,ki ) Wir setzen φ = K 1 K n Nico Döttling Übung 8. Januar 2010 26/27

NP-Vollständigkeit Ist nun T eine erfüllende Belegung für φ, dann gibt es für jede Klausel K i ein Literal L i,t das wahr ist. Wir eine erfüllende Belegung für φ indem wir die Variablen α i,1,...,α i,t 1 auf TRUE setzen und α i,t,...,α i,ki auf FALSE. Haben wir umgekehrt eine erfüllende Belegung für φ, so ist für jedes K i mindestens ein L i,t TRUE, da K i k i Klauseln besitzt aber nur k i 1 neue Variablen α i,t die jeweils maximal eine Klausel erfüllen können. Damit erhalten wir eine erfüllende Belegung für φ. Nico Döttling Übung 8. Januar 2010 27/27