Skriptes - Uni Bremen - Universität Bremen
Skriptes - Uni Bremen - Universität Bremen
Skriptes - Uni Bremen - Universität Bremen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Einige Komplexitätsklassen<br />
18. Einige Komplexitätsklassen<br />
Eine Komplexitätsklasse ist eine Klasse von Entscheidungsproblemen, die mit einer bestimmten<br />
„Menge“ einer Ressource gelöst werden können. Wir führen zunächst ein allgemeines<br />
Schema zur Definition von Komplexitätsklassen ein und fixieren dann einige<br />
fundamentale Zeit- und Platzkomplexitätsklassen. Im Gegensatz zur Berechenbarkeit<br />
ist es in der Komplexitätstheorie sehr wichtig, zwischen deterministischen und nichtdeterministischen<br />
Turingmaschinen zu unterscheiden.<br />
Zunächst führen wir formal ein, was es heißt, dass der Aufwand durch eine Funktion der<br />
Größe der Eingabe beschränkt ist.<br />
Definition 18.1 (f(n)-zeitbeschränkt, f(n)-platzbeschränkt)<br />
Es sei f : N → N eine Funktion und A eine DTM über Σ.<br />
1) A heißt f(n)-zeitbeschränkt, falls für alle w ∈ Σ ∗ die Maschine A bei Eingabe w<br />
nach ≤ f(|w|) Schritten anhält.<br />
2) A heißt f(n)-platzbeschränkt, falls für alle w ∈ Σ ∗ die Maschine A bei Eingabe w<br />
≤ f(|w|) viele Felder des Bandes benutzt.<br />
Auf NTM kann man die Definition dadurch übertragen, dass die Aufwandsbeschränkung<br />
für alle bei der gegebenen Eingabe möglichen Berechnungen zutreffen muss. Beachte<br />
dass eine f(n)-zeitbeschränkte TM auf jeder Eingabe terminiert; für eine f(n)-<br />
platzbeschränkte TM muß das nicht unbedingt der Fall sein.<br />
Definition 18.2 (Komplexitätsklassen)<br />
DTIME(f(n)) := {L | es gibt eine f(n)-zeitbeschränkte DTM A mit L(A) = L}<br />
NTIME(f(n)) := {L | es gibt eine f(n)-zeitbeschränkte NTM A mit L(A) = L}<br />
DSPACE(f(n)) := {L | es gibt eine f(n)-platzbeschränkte DTM A mit L(A) = L}<br />
NSPACE(f(n)) := {L | es gibt eine f(n)-platzbeschränkte NTM A mit L(A) = L}<br />
Wegen der Bemerkung vor Definition 18.2 enthalten alle Komplexitätsklassen der Form<br />
DTIME(f(n)) und NTIME(f(n)) nur entscheidbare Probleme. Man kann zeigen, dass das<br />
auch für alle Klassen der Form DSPACE(f(n)) und NSPACE(f(n)) gilt.<br />
Im folgenden Beobachten wir einige elementare Zusammenhänge zwischen Komplexitätsklassen.<br />
Satz 18.3<br />
1) DTIME(f(n)) ⊆ DSPACE(f(n)) ⊆ NSPACE(f(n))<br />
2) DTIME(f(n)) ⊆ NTIME(f(n))<br />
3) NSPACE(f(n)) ⊆ DTIME(2 O(f(n)) ) wenn f(n) von einer f(n)-zeitbeschränkten DTM<br />
berechnet werden kann. 1<br />
1 Wobei sowohl die Eingabe als auch die Ausgabe unär kodiert sind.<br />
141