29.10.2013 Aufrufe

Skript zur Vorlesung Komplexitätstheorie im SS 1996

Skript zur Vorlesung Komplexitätstheorie im SS 1996

Skript zur Vorlesung Komplexitätstheorie im SS 1996

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.

3 BEZIEHUNGEN ZWISCHEN KOMPLEXITÄTSKLA<strong>SS</strong>EN 29<br />

3.2 Hierarchiesätze<br />

Sie kennen unter Umständen die Chomsky-Hierarchie REG < KFR < K<strong>SS</strong><br />

< REKURSIVAUFZ. Hier geht es um quantitative Hierarchien f(n) ≥ n,<br />

f(n) eigentliche Komplexitätsfunktion. Es werden nur eigentliche Komplexitätsfunktionen<br />

f(n) mit f(n) ≥ n betrachtet (Ausnahme: Theorem 3.3)<br />

Definition 3.4 (Haltesprache) Eine Haltesprache Hf ist wie folgt definiert:<br />

Hf = {M; x|M ist Beschreibung einer deterministischen Turing-Maschine<br />

M akzeptiert x in höchstens f(|x|) Schritten}<br />

Das heißt, wir betrachten alle Beschreibungen von Turing-Maschinen. Dabei<br />

nehmen wir an, unser Alphabet Σ sei groß genug: 0, 1, ” (“, ” ;“, usw. seien<br />

Symbole aus Σ.<br />

Wie kann man nun eine Turing-Maschine für Hf konstruieren?<br />

Einschub: Eine angemessene einheitliche Kodierung der Beschreibung<br />

von Turing-Maschinen ist: M = (K, Σ, δ, s) mit:<br />

• Σ = {1, . . . , |Σ|} (Zahlen, alle binär)<br />

• K = {|Σ| + 1,<br />

|Σ| + 2, . . . , |Σ| + |k|}<br />

<br />

≡s<br />

• Zahlen |k| + |Σ| + 1, . . . , |k| + |Σ| + 6 für spezielle Symbole ←, →, –, h,<br />

” yes“, ” no“<br />

• alle verwendeten Zahlen werden dargestellt durch Strings der Länge<br />

⌈log(|k| + |Σ| + 6)⌉ Bits mit führenden Nullen<br />

• δ wird dargestellt als Sequenz von Paaren ((q, σ1, . . . , σk), (p, ρ1, D1,<br />

ρ2, D2, . . . , ρk, Dk ))<br />

• ” (“ und ” )“ sind als Symbole vorhanden<br />

Das heißt also, daß ein String M = (|Σ|)(|K|)δ ∈ Σ eine Turing-Maschine<br />

beschreibt.<br />

Für die folgende Sätze und Lemmata benötigen wir noch eine universelle<br />

Turing-Maschine U, die sämtliche Turing-Maschinen M s<strong>im</strong>ulieren kann.<br />

Dabei wird die Beschreibung vom jeweiligen M mit einer Eingabe x kombiniert<br />

(M; x) und als Eingabe von U verstanden: U(M; x) = M(x).<br />

S<strong>im</strong>ulation eines Schrittes von M ((q, w, u) M → (p, w ′ , u ′ )) auf U wie folgt:<br />

U ∗<br />

(s<strong>im</strong>, ⊲, M; x, ⊲w, q; u) → (s<strong>im</strong>, ⊲, M; x, ⊲w ′ , p; u ′ ). U kennt das letzte Symbol<br />

von w und den Zustand q von M. U sucht in der Beschreibung von M den

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!