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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6.2. KOMPLEXITÄTSKLASSE P 139<br />

wobei δ durch die folgenden Übergangsregeln bestimmt wird:<br />

(q0, 0) → (q0, R)<br />

(q0, 1) → (q1, R)<br />

(q0, #) → (qF,#)<br />

(q1, 0) → (q0, R)<br />

(q1, #) → (qF,#)<br />

Jede E<strong>in</strong>gabe der Länge n liest die TM von l<strong>in</strong>ks nach rechts und hält spätestens<br />

bei dem Symbol # h<strong>in</strong>ter dem E<strong>in</strong>gabewort, also nach höchstens n + 1 Schritten.<br />

Sie hat also die Zeitkomplexität<br />

t(n) = n + 1.<br />

Bemerkung 1. 1. Im Kapitel 3 haben wir verschiedene Varianten von TM e<strong>in</strong>geführt<br />

(zum Beispiel mit zusätzlichem Gedächtnis, mit mehreren Bändern,<br />

usw.). Die Def<strong>in</strong>ition der Klasse P (s.u.) ist unabhängig davon, welche der<br />

Varianten als TM geme<strong>in</strong>t ist; das beweisen wir exakt im Abschnitt 6.4.<br />

2. Zeitkomplexität ist nicht e<strong>in</strong>deutig def<strong>in</strong>iert (denn sie ist nur e<strong>in</strong>e Abschätzung<br />

für die Anzahl der Berechnungsschritte). Genau genommen ist jede Funktion<br />

t ′ (n) mit t ′ (n) ≥ n+1 für alle n auch e<strong>in</strong>e Zeitkomplexität der TM aus Beispiel<br />

1.<br />

Beispiel 2. Die Sprache aller Pal<strong>in</strong>drome (siehe Abschnitt 2.1, Beispiel 3) wird von<br />

der folgenden Tur<strong>in</strong>gmasch<strong>in</strong>e M akzeptiert. Die Masch<strong>in</strong>e M hat e<strong>in</strong> zusätzliches<br />

Gedächtnis (siehe 3.2.2) für die Symbole aus Σ und vier Zustände: q0, Initialzustand,<br />

qR und qL (für die Bewegung nach l<strong>in</strong>ks oder rechts des Kopfes der Tur<strong>in</strong>gmasch<strong>in</strong>e)<br />

und qF, e<strong>in</strong>en f<strong>in</strong>alen Zustand.<br />

Zustand q0: Falls # gelesen wird, hält die TM und akzeptiert. Falls e<strong>in</strong> Symbol aus<br />

Σ gelesen wird, speichert die TM es im Gedächtnis, löscht es und geht zu qR über.<br />

Zustand qR bewegt den Kopf nach rechts bis er # liest, dann bewegt sich der Kopf<br />

e<strong>in</strong>en Schritt nach l<strong>in</strong>ks. [Problem: nach dem Löschen des ersten Symbols steht die<br />

TM im Zustand qR auf e<strong>in</strong>em #; daher wird e<strong>in</strong> spezielles Löschsymbol benötigt.]<br />

Falls das jetzt gelesene Symbol mit dem Gedächtnis übere<strong>in</strong>stimmt, wird es gelöscht<br />

und die TM geht zu qL über; falls nicht, hält die TM und akzeptiert nicht. [Problem:<br />

zum Löschen am rechten Rand brauchen wir e<strong>in</strong>en weiteren Zustand, etwa qC.]<br />

Zustand qL bewegt den Kopf nach l<strong>in</strong>ks bis er # liest [bzw. das neue Löschsymbol],<br />

dann bewegt er den Kopf e<strong>in</strong>en Schritt nach rechts und geht zu q0 über.<br />

Wie lange dauert die Berechnung e<strong>in</strong>er E<strong>in</strong>gabe der Länge n? Der Übergang q0 → qR<br />

dauert e<strong>in</strong>en Schritt und der Übergang qR → qL dauert n + 2 Schritte. Es dauert<br />

also<br />

1 + (n + 2) + n = 2n + 3<br />

Schritte, bis wieder q0 erreicht wird. Jetzt beg<strong>in</strong>nt dieselbe Berechnung mit e<strong>in</strong>em<br />

Wort der Länge n − 2. Der Zustand q0 wird also <strong>in</strong> 2(n − 2) + 3 Schritten wieder<br />

erreicht. (Wir nehmen immer den schlechtesten Fall an, hier also den Fall, dass die<br />

E<strong>in</strong>gabe wirklich e<strong>in</strong> Pal<strong>in</strong>drom ist.) Die gesamte Berechnungszeit beträgt höchstens<br />

t(n) = (2n + 3) + (2n − 1) + · · · + 5 + 1<br />

Schritte. Diese Summe ist gleich n 2 + 4n + 4, wie durch Induktion leicht bewiesen<br />

werden kann (?). Das bedeutet, dass unsere TM die Zeitkomplexität<br />

t(n) = n 2 + 4n + 4

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!