• Nenhum resultado encontrado

Komplexitätstheorie - Institut für Theoretische Informatik

N/A
N/A
Protected

Academic year: 2023

Share "Komplexitätstheorie - Institut für Theoretische Informatik"

Copied!
141
0
0

Texto

Allerdings gibt es in der Komplexitätstheorie eine ganze Reihe von Ergebnissen, die durchaus praktische Bedeutung haben. Ein schwieriges Problem für eine Klasse von Menschen ist jede Person, die mindestens so groß ist wie alle anderen in der Klasse. Die vollständigen Aufgaben einer Klasse sind genau die größten Personen in der Klasse (es kann mehr als eine geben).

Die erste Bedingung besagt, dass Prover Verifier für Wörter in der Sprache immer „überzeugen“ kann. Dies ist die Originalarbeit, in der Cook zeigt, dass das Erfüllbarkeitsproblem NP-vollständig ist. Deshalb gehen Sie bald zu Ihrer Chefin und sagen ihr zufrieden: „Ach übrigens, das große Geheimnis ist NP-vollständig.“ Die Antwort „Ja und?“ ist etwas überraschend.

Es stellt sich heraus, dass bei einigen Problemen, wie etwa der Färbbarkeit, die kombinatorische Explosion nicht vermieden werden kann (es sei denn, natürlich gilt P=NP).

Das Schlüsselproblem: Vertex-Cover

Die Idee: Feste Parameter

Das Vertex-Cover-Problem 82

Allgemein Theorie 85

Fixed-Parameter-Intractability

Man geht nicht davon aus, dass einige Probleme, wie z. B. p-Klicks, in FPT auftreten, obwohl dies nicht darauf hindeutet, dass P=NP gilt. War dies erfolgreich, gibt es in der Regel „offensichtliche“ Stellen, an denen man Zahlen eingeben kann; usw. Mit etwas Glück wird eine solche Kette von „offensichtlichen Vereinfachungen“ das ganze Problem verschwinden lassen.

Bei vielen Problemen können wir „offensichtliche Vereinfachungen“ überraschend lange durchführen, bevor wir einen Kern erreichen. Ein wichtiges Beispiel ist (wieder) das Scheitelpunktüberdeckungsproblem: Angenommen, wir suchen für einen Graphen nach einer Scheitelpunktüberdeckung mit 10 Scheitelpunkten. Dann gibt es einen einfachen Algorithmus, der jeden Graphen beliebiger Größe auf einen Graphen mit höchstens 100 Eckpunkten reduziert, der genau dann einen Eckpunkt von 10 Eckpunkten hat, wenn der „große“ Graph einen hatte.

Allgemeiner gesagt können wir, wie wir in diesem Kapitel sehen werden, genau dann „kernelisieren“, wenn das Problem mit festen Parametern behandelbar ist, also in FPT. Legen Sie für ein GraphG und eine Zahl Folgendes fest: Gibt eskNodes zurück, sodass jede Kante einen dieser Knoten als Endpunkt hat. Bevor wir den Suchraum durchsuchen, ersetzen wir die Eingabe durch eine vereinfachte Eingabe – idealerweise eine mit einem kleineren Parameter.

Geben Sie eine Regel zur Reduzierung der Scheitelpunktüberdeckung für den Fall an, dass G zwei benachbarte Scheitelpunkte vom Grad 2 enthält.

Definition: Kernel

Kernel 89

Approximationsrate

Eine Lösung für ist optimal, wenn ihr Maß unter allen Forx-Lösungen minimal ist (Voreilungen =max entsprechend Maximum).

Klassen von Optimierungsproblemen

Konstante Approximation 98

Bin-Packing

Vertex-Cover

Travelling-Salesperson

Approximationsschemata 102

Rucksack-Problem

Für jedes n gibt es einen Graphen Gn, sodass der Eager-Algorithmus eine Lösung der Qualität Ω(lnn) zurückgibt. Wenn wir hingegen ein Terabyte an Daten haben (z. B. den Inhalt einer Festplatte), dann stehen 3 Log-Bits zur Verfügung – also etwas mehr als zwei 64-Bit-Register. In diesem Abschnitt werden zwei zentrale Ergebnisse zum logarithmischen Raum untersucht: das Savitch-Theorem und das Immerman-Szelepcsényi-Theorem.

Der Satz von Savitch ist recht einfach zu zeigen, hat aber wichtige und überraschende Konsequenzen (im Wesentlichen, dass nichtdeterministische und deterministische Polynomräume dasselbe sind). Das Immerman-Szelepcsényi-Theorem ist wesentlich schwieriger zu beweisen und hat auch überraschende Konsequenzen: Die kontextsensitiven Sprachen sind unter Komplementbildung abgeschlossen. Um in einem Graphen von einem Startknoten zu einem Zielknoten zu gelangen, muss man einen Knoten v durchlaufen, der (fast) den gleichen Abstand von sundt hat.

Savitchs Beobachtung lässt sich leicht rekursiv formulieren: Jeder Pfad vonsnacht- verläuft durch einen Knoten v, der den gleichen Abstand von sundt hat (oder die Abstände unterscheiden sich um genau 1), und dies gilt rekursiv auch für die Pfade vonszuv und vonvzut. Das wirklich Erstaunliche an Savitchs Aussage ist jedoch nicht, wie oben behauptet, die Beobachtung, die dem Algorithmus zugrunde liegt, sondern die vielfältigen Konsequenzen, die er in scheinbar völlig unterschiedlichen „Bereichen“ der Theorie hat. Wenn der Algorithmus umgekehrt „true“ zurückgibt, gibt es einen Knoten v mit dist(s,v)≤bk/2c und dist(v,t)≤dk/2e, der dist(s,t)≤k zeigt.

Darüber hinaus benötigt der Algorithmus höchstens O(log2|V|)Platz: Bei jedem rekursiven Aufruf benötigen wir O(log|V|) Platz, um die Van- und die Rücksprungadresse zu speichern.

NL

NPSPACE

PSPACE -Vollständigkeit

Dann ist inD ein weiterer Block zum Erraten von v3, gefolgt von einem ∀-Gatter und so weiter. Nachdem alles erraten ist«, muss nun geprüft werden, ob es eine Kante von s0···0 nach t0···0 gibt (oder ob sie identisch sind, was einfach ist). Nachdem wir nun s0···0 und t0···0 „kennen“, lässt sich leicht überprüfen, ob es in G eine Kante gibt: Der Kreis C beantwortet genau diese Frage.

Insbesondere wird es so regelmäßig sein, dass man mit einer kleinen Schaltung entscheiden kann, ob es einen Rand von einer Konfiguration zur anderen gibt. Die Modellrelation ist wie folgt definiert: Sei ϕ eine Aussagenformel mit Quantoren und β:V → {0,1} eine Zuordnung aller in ϕ vorkommenden Variablen (frei oder gebunden). Um zu zeigen, dass es eine Welwitschia mirabilis gibt, reicht es aus, ein Foto einer solchen Pflanze in Umlauf zu bringen.

In diesem Kapitel werden wir viel Energie darauf verwenden, zu beweisen, dass bestimmte Knoten eines Graphen von einem bestimmten Knoten aus in einer bestimmten Anzahl von Schritten nicht erreichbar sind. Wie oben erläutert, ist es ziemlich schwierig, Menschen (oder nichtdeterministische Turing-Maschinen) davon zu überzeugen, dass ein bestimmter Knoten nicht von einem anderen Knoten aus erreicht werden kann. Wie viel einfacher ist es, jemanden davon zu überzeugen, dass es einen Weg gibt: ihm einfach zeigen/nichtdeterministisch erraten? Hier kommt ein genialer Trick ins Spiel, den Immerman und Szelepcsényi fast zeitgleich unabhängig voneinander entdeckt haben: Nehmen wir an, das weiß ich sicher, dass von den 100 Knoten in einem Graphen genau 42 von einem Startknoten entfernt sind erreichbar. .

Der Lohn für all die Mühe ist das Immerman-Szelepcsényi-Theorem, da das Unerreichbarkeitsproblem für Graphen in NL liegt.

Den Richter überzeugen

Die Maschine funktioniert wie folgt: Das erste Symbol des Auswahlbandes teilt der Maschine mit, ob der Beweis „t∈Rd“ oder „t∈/Rd“ ist. Im ersten Fall prüft Mnow, ob der Rest der Auswahlspur ein Pfad mit der Länge höchstens snacht ist und gibt „thief“ aus, wenn dies der Fall ist. Im zweiten Fall prüft M, ob nun genau rBlöcke des folgenden Typs folgen: Jeder Block ist ein Pfad mit einer Länge von höchstens ds von einem anderen Knoten als t und mit einer größeren Anzahl als der letzte Knoten des vorherigen Pfades.

Beachten Sie, dass in beiden Fällen (t∈Rdundt∈/Rd) Inhalt für das Auswahlband vorhanden ist, sodass das Ergebnis abgeschlossen und das Ergebnis einstimmig ist.

Die Richterin induktiv überzeugen

Im zweiten Fall iteriert M über alle Vorgänger von v (d. h. Knoten u, für die (u, v) eine Kante in G ist). Dies ist richtig, da alle Vorfahren von v einen Abstand größer als d von s haben und v daher einen Abstand größer als d+1 haben muss. In einer Schleife iteriert M über alle v∈V und liest immer einen Beweis für v∈Rd+1 oder für v∈/Rd+1 aus dem Auswahlband.

Das induktive Zählen

Zeigen Sie, dass es eine Funktion f∈FL gibt, die jeden gerichteten Graphen G mit zwei Eckpunkten sundt auf einen neuen Graphen G0 und zwei Eckpunkte s0 und t0 abbildet, so dass es genau dann einen Pfad von snachtinG gibt, wenn es keinen Pfad von s0nacht0in G0 gibt nicht. Zeigen Sie, dass es eine Funktion f∈FL gibt, die jeden gerichteten Graphen G auf einen Graphen G0 abbildet, sodass G genau dann stark zusammenhängend ist, wenn G0 dies nicht ist. Hinweis: Zeigen Sie, dass der Zusammenhang für NList vollständig ist, und verwenden Sie dann die Funktion aus Übung 13.2.

Ein gerichteter Graph G= (V,E) hat die Eigenschaft des eindeutig kürzesten Weges, wenn es für alle eu,v∈ V, für die es einen Weg von unachv gibt, genau einen kürzesten Weg von unachv gibt. Zeigen Sie, dass das auf Diagramme mit der Eigenschaft „unique-shortest-path“ beschränkte Erreichbarkeitsproblem durch eindeutige Logspace-Maschinen gelöst werden kann. Tipp: Wenden Sie die Doppelzählmethode induktiv wie im Immerman-Szelepcsényi-Theorem an.

Hinweis: Es kann gezeigt werden, dass man planare Graphen jederzeit so ändern kann, dass sie die eindeutige Eigenschaft des kürzesten Pfads haben, ohne die Erreichbarkeitsbeziehung zu ändern. Es gibt eine Funktion f ∈FL, die für jedes n das Wort 1n auf eine universelle Traversierungsreihe für die Klasse ungerichtet verbundener Graphen auf n Knoten abbildet. Ändern Sie eine Zufallsmaschine so, dass sie nicht nur für „die meisten“, sondern für „alle“ Zufallszeichenfolgen ordnungsgemäß funktioniert.

Zur Erinnerung: Randomisierte Maschinen verhalten sich bei den meisten Zufallszeichenfolgen korrekt (d. h. sie akzeptieren für die meisten Wörter in der Sprache und lehnen für die meisten alle anderen Wörter ab).

Konsequenzen für

NL

Kontextsensitive Sprachen

Hinweis: Um t∈/R∞ anzuzeigen, iterieren Sie über alle v∈R∞ und lesen Sie den kürzesten Pfad aus snachv aus dem ausgewählten Band ab. Man zählt nicht nur die Anzahl dieser Knoten, sondern berechnet auch die Summe der Längen dieser Pfade. Um sicherzustellen, dass es einen eindeutigen Auswahlbandinhalt gibt, der t∈/R∞ anzeigt, muss die Summe der Lesepfade genau S sein.

In den Kapiteln dieses Szenarios haben wir bereits viele der seltsamen Tierarten, die den Zoo bevölkern, getroffen, sie in ihrem natürlichen Lebensraum untersucht und gesehen, wie sie sich in freier Wildbahn verhalten. Ich kann Ihnen jedoch versichern, dass Sie beim Verlassen des Zoos noch nicht die Hälfte von dem gesehen haben, was es zu entdecken gibt. Dies war auch die erste Klassifizierung eines Problems: Das Halteproblem gehört nicht zur Klasse der rekursiven Sprachen.

Wie in einem echten Zoo verpasst man jedoch viel, wenn man nur die Raubtiere und Elefanten betrachtet; Sehen Sie sich eine Ausstellung über Insekten an. In diesem abschließenden Kapitel möchte ich Ihnen eine Führung durch den Zoo geben. Dann kommen wir zu den Arbeitspferden, denen wir in der Praxis ständig begegnen: P, NC und Probleme wie Suchen oder Sortieren.

Schließlich gibt es noch die großen (bei Kindern immer sehr beliebten) wie NP und PSPACE.

Einfache Probleme

Ausblicke

Dieser Satz ist überraschend schwer zu beweisen, da es sich als äußerst schwierig erweist, algorithmische Probleme als Graphisomorphismusprobleme zu kodieren. Bei „Entscheidungsvarianten“ ist eine Bitposition Teil der Eingabe und es stellt sich die Frage, ob die beschriebene Funktion an dieser Stelle eine 1 ausgibt. Zufallsmaschinen verwenden (per Definition) ihre eigenen ausgewählten Bänder als Quellen für Zufallsbits. Es lässt sich leicht sicherstellen, dass die Maschinen für die überwiegende Mehrheit der Zufallszeichenfolgen „richtig“ funktionieren, das heißt, dass sie Wörter in der Sprache akzeptieren und alle anderen ablehnen.

Daraus folgt natürlich, dass bestimmte Inhalte des Auswahlbandes dafür sorgen, dass sich die Maschine bei „vielen Wörtern“ richtig verhält. Eine BPP-Maschine ist eine polynomiale Zeitmaschine, daher können wir sie mit polynomialen Schaltkreisen simulieren, wenn wir den Inhalt des Auswahlbandes angeben. Da unsere Schaltungsfamilie nicht einheitlich sein muss, können wir die universelle Zufallszeichenfolge einfach für jede Wortlänge „fest verdrahten“.

NP kann mithilfe von Prüfer-Verifizierer-Protokollen definiert werden: Hier ist der Prüfer allmächtig, während der Prüfer in polynomieller Zeit entscheiden muss.

Referências

Documentos relacionados

Dazu wird eine ¨Aquivalenzrelation zwischen den Konfigurationen der operationalen Semantik und denen der AM definiert: hS, σi ≡ hCS[[S]], λ, σi σ ≡ hλ, λ, σi Es bleibt dann zu zeigen,