18.09.2013 Aufrufe

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

144 KAPITEL 6. KOMPLEXITÄT VON ALGORITHMEN<br />

(Wörter über Γ) überführt, so dass die Lösungen von L genau den Lösungen von<br />

L0 entsprechen und f selbst effizient berechenbar ist:<br />

Def<strong>in</strong>ition. Wir sagen, dass e<strong>in</strong>e Sprache L ⊆ Σ∗ <strong>in</strong> polynomialer Zeit auf e<strong>in</strong>e<br />

Sprache L0 ⊆ Γ∗ reduzierbar ist, falls es e<strong>in</strong>e Funktion f : Σ∗ → Γ∗ der Klasse<br />

FP mit<br />

x ∈ L genau dann, wenn f(x) ∈ L0 (für alle x ∈ Σ ∗ )<br />

gibt.<br />

Aufpassen! Die Voraussetzung, dass die Reduktion f zur Klasse FP gehört, ist der<br />

Kern dieser Def<strong>in</strong>ition! Es ist nämlich trivial, e<strong>in</strong>e beliebige Funktion f zu def<strong>in</strong>ieren,<br />

für die gilt x ∈ L genau dann, wenn f(x) ∈ L0: man wähle zwei Wörter w ∈ L0<br />

und w ′ /∈ L0 und setze<br />

f(x) =<br />

<br />

w falls x ∈ L<br />

w ′ falls x /∈ L<br />

Beispiel 3 (KANTEN-2-FÄRBBARKEIT). Wir wollen für e<strong>in</strong>en gegebenen ungerichteten<br />

Graphen G wissen, ob sich se<strong>in</strong>e Kanten derart blau und rot färben lassen,<br />

so dass Kanten mit geme<strong>in</strong>samen Knoten nie gleichfarbig s<strong>in</strong>d. [Achtung: Wir haben<br />

gerade e<strong>in</strong> Entscheidungproblem formuliert; das zugehörige Berechnugsproblem<br />

besteht dar<strong>in</strong>, e<strong>in</strong>e legitime Kantenfärbung zu konstruieren, oder festzustellen, daß<br />

ke<strong>in</strong>e existiert. Insofern können wir das Entscheidungprobem auf dem Umweg über<br />

das Berechnungsproblem lösen.] Dieses Entscheidungsproblem können wir wie folgt<br />

auf das Problem von 2-Färbbarkeit (von Knoten) reduzieren: für jeden ungerichteten<br />

Graphen G = (V, E) bezeichnen wir mit ˆ G = (E, H) den dualen Graphen,<br />

dessen Knoten die Kanten von G s<strong>in</strong>d, und zwei Kanten von G formen <strong>in</strong> ˆ G e<strong>in</strong>e<br />

Kante (also gehören sie zu H) genau dann, wenn sie <strong>in</strong> G benachbart s<strong>in</strong>d. Beispiel:<br />

• 3<br />

<br />

<br />

1 •<br />

<br />

<br />

• 2<br />

<br />

<br />

<br />

•<br />

5<br />

G<br />

• 4<br />

•<br />

(2, 3)<br />

(1, 3) •<br />

<br />

• (1, 2)<br />

<br />

<br />

<br />

•<br />

<br />

(2, 4)<br />

<br />

Es gilt: jede 2-Färbung von ˆ G ergibt e<strong>in</strong>e Kanten-2-Färbung von G und umgekehrt.<br />

Folglich ist ˆ G genau dann 2-färbbar, wenn dies für G gilt.<br />

Ist diese Reduktion <strong>in</strong> polynomialer Zeit durchführbar? Das heißt, gehört die Funktion<br />

f : {0, 1} ∗ → {0, 1} ∗ , die jedem Code wG e<strong>in</strong>es Graphen G den Code f(wG) = w ˆ G<br />

des dualen Graphen zuordnet, zu FP? Falls die Graphen als Adjazenzmatrizen implementiert<br />

werden, wird zu e<strong>in</strong>er Matrix M die folgende Matrix f(M) zugeordnet:<br />

die Zeilen und Spalten von f(M) s<strong>in</strong>d mit allen Paaren (i, j) markiert, wobei i ≤ j<br />

und Mij = 1. Und f(M) hat e<strong>in</strong>e 1 <strong>in</strong> der Position von Zeile (i, j) und Spalte (i ′ , j ′ )<br />

genau dann, wenn i = i ′ oder j = j ′ . Das können wir <strong>in</strong> l<strong>in</strong>earer Zeit O(m), wobei<br />

m die Größe der E<strong>in</strong>gabe ist (m = n 2 für Graphen mit n Knoten), berechnen.<br />

Satz 1. Falls e<strong>in</strong>e Sprache L0 zur Klasse P gehört, gehören zu P auch alle Sprachen,<br />

die sich <strong>in</strong> polynomialer Zeit auf L0 reduzieren lassen.<br />

Beweis. Wir haben e<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e M0, die L0 ⊆ Γ ∗ akzeptiert, und e<strong>in</strong>e<br />

polynomiale Zeitkomplexität p(n) hat. Für jede Sprache L ⊆ Σ ∗ und jede Funktion<br />

f : Σ ∗ → Γ ∗ der Klasse FP, die x ∈ L ⇐⇒ f(x) ∈ L0 erfüllt, zeigen wir, dass<br />

ˆG

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!