• Keine Ergebnisse gefunden

Berechenbarkeit und Komplexit¨at Vorlesung 15

N/A
N/A
Protected

Academic year: 2022

Aktie "Berechenbarkeit und Komplexit¨at Vorlesung 15"

Copied!
10
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Berechenbarkeit und Komplexit¨at Vorlesung 15

Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7

RWTH Aachen

5. Januar 2015

(2)

Problem COLOR( k )

Erinnerung: COLOR(3)

Gegeben: Ungerichteter GraphG = (V,E)

Frage: Kann man mit drei Farben die Knoten so f¨arben, dass durch eine Kante verbundene Knoten verschiedene Farben tragen?

Allgemeiner Problem COLOR(k)

Gegeben: Ungerichteter Graph G = (V,E)

Frage: Kann man mit k Farben die Knoten so f¨arben, dass durch eine Kante verbundene Knoten jeweils verschiedene Farben tragen?

(Ist dies m¨oglich, heißt der Graph k-f¨arbbar).

Kodierung durch SpracheLk ={code(G)|G istk-f¨arbbar}

(3)

Weiteres Beispiel: CLIQUE

Problem

CLIQUE Gegeben: Ungerichteter Graph G = (V,E) , Zahl k in Bin¨ardarstellung

Frage: Gibt es eine Teilmenge V0V , die eine Clique bildet, d.h.

f¨ur die gilt: Sind x,yV0, x 6=y , so gilt(x,y)E ? (Der durch V0 induzierte Graph ist also vollst¨andig.)

Probieralgorithmus: Gehe alle m¨oglichenV0 mit|V0|=k durch und pr¨ufe jeweils, ob eine Clique vorliegt.

Ist|V|=n, so ist die Anzahl derV0 mitk Knoten:

n·(n−1)·(n−2)·. . .(n−k+ 1), also exponentiell ink

(4)

NTM

Wie kann man die Probieralgorithmen durch ein allgemeines Berechnungsmodell erfassen?

Wir f¨uhren dazu nichtdeterministische Turingmaschinen (NTM) ein.

Format:M = (Q,Σ,Γ,q0q,∆)

wobei bis auf ∆ alle Komponenten wie bei TM definiert sind und ∆⊆(Q\ {¯q})×Γ×Q×Γ× {L,R,N}

(p,a,p,a,d)∈∆ besagt:

im Zustandp mit aauf dem Arbeitsfeld ist es erlaubt, a zu drucken, das Arbeitsfeld umd zu verschieben und in Zustand p zu gehen.

F¨ur KonfigurationenK =uqv,K =uqv schreiben wirKK, fallsM in einem Schritt vonK nach K ¨ubergehen kann.

(5)

Akzeptieren durch NTM

Eine Berechnung (Rechenweg) f¨ur die Eingabew ist eine Folge K0, . . . ,K mitK0=q0w,KiKi+1 f¨uri < ℓ undK eine Endkonfiguration, d.h. von der Formuqv¯ .

Erinnerung:K heißt akzeptierend, wenn das Arbeitsfeld das Symbol 1 tr¨agt.

M akzeptiertw, falls es einen Rechenweg von q0w in eine akzeptierende Endkonfiguration gibt.

L(M) ist die Menge der durch M akzeptierten W¨orter.

Man kann zeigen: Die durch NTM akzeptierten Sprachen sind die rekursiv aufz¨ahlbaren Sprachen.

(6)

Definition der Laufzeit

SeiM eine NTM. Die Laufzeit von M auf einer EingabexL(M) ist definiert als

TM(x) := L¨ange des k¨urzesten akzeptierenden Rechenweges vonM aufx .

F¨urx 6∈L(M) definieren wir TM(x) = 0.

Die worst case LaufzeittM(n) f¨ur M auf Eingaben der L¨ange n∈Nist definiert durch

tM(n) := max{TM(x) |x∈Σn} .

(7)

Definition der Klasse NP

Definition (Komplexit¨atsklasse NP)

NPist die Klasse der Entscheidungsprobleme, die durch eine NTM M erkannt werden, deren worst case Laufzeit tM(n) polynomiell beschr¨ankt ist.

NP steht dabei f¨urnichtdeterministisch polynomiell.

(8)

Beispiel f¨ur ein Problem aus NP

Satz

CLIQUE∈NP.

Beweis:Wir beschreiben eine NTM M mitL(M) = CLIQUE:

1 Syntaktisch inkorrekte Eingaben werden verworfen.

2 M

”r¨at“ einen 0-1-String y der L¨ange |V|.

3 Sei C ={i ∈V|yi = 1} ⊆V.

4 M akzeptiert, falls C ausk Knoten besteht und jedes Knotenpaar aus C durch eine Kante verbunden ist.

Korrektheit:Es gibt genau dann einen akzeptierenden Rechenweg, wennG eine k-Clique enth¨alt.

Laufzeit:Alle Schritte haben polynomielle Laufzeit.

(9)

Etwas mehr Detail

Wir denken uns den Graphen ¨uberV ={1, . . . ,n} kodiert durch seine Adjazenzmatrix, zeilenweise notiert, und anschließendk in Bin¨ardarstellung:

c11. . .c1n#c21. . .c2n#. . .#cn1. . .cnn##bin(k) mitcij ∈ {0,1}.

Das “Raten vonC kann so erfolgen:

Die NTM druckt das Wort #n|vor dem Input und geht auf das erste # in Zustand p.

Sie erzeugt durch ¨Uberdrucken dern Symbole # mit 0 bzw 1 nichtdeterministisch alle Bitw¨ortery der L¨ange n, mit Hilfe folgender Transitionen

(p,#,p,0,R),(p,#,p,1,R),(p,|,p0,|R)

Das Worty=y1. . .yn definiert dann C ={i ∈V |yi = 1}

(10)

Alternative Charakterisierung der Klasse NP

Satz

Eine Sprache L⊆Σ ist genau dann in NP, wenn es einen

Polynomialzeitalgorithmus V (einen sogenanntenVerifizierer) und ein Polynom p mit der folgenden Eigenschaft gibt:

xL ⇔ ∃y ∈ {0,1},|y| ≤p(|x|) :V akzeptiert y#x.

Referenzen

ÄHNLICHE DOKUMENTE

Welche Funktionen sind durch einen Algorithmus

Falls dieses Zeichen eine 1 ist, so l¨osche es, gehe nach links, und wechsel in den Zustand

F¨ur jeden m¨oglichen Zustand, gibt es dann eine zweite Stufe von |Γ| vielen if-Abfragen, die das gelesene Zeichen selektieren. Durchf¨uhrung des

Beweis: Die Menge aller TM ¨uber {0, 1} ist abz¨ahlbar, also auch die Menge der TM, die eine Sprache

Als Eingabe erh¨alt die universelle TM U ein Wort der Form hMiw f¨ur beliebiges w ∈ {0, 1} ∗.. Mit der Eingabe hMiw verf¨ahrt U so, wie M dies mit

Auf diese Weise entsteht die “arithmetische Hierarchie”, eine Abstufung der unentscheidbaren Sprachen nach wachsender logischer Komplexit¨ at. Auf der n-ten Stufe sind Sprachen

Wir m¨ussen also nur noch zeigen, dass jede Funktion, die durch eine eingeschr¨ankte RAM berechnet werden kann, auch durch ein WHILE-Programm berechnet werden kann... Beweis

Wir zeigen jetzt, dass sogar bei der Berechnung totaler Funktionen das while-Konstrukt nicht durch loop ersetzt werden kann.. Dazu betrachten wir