Handout - Institut für Theoretische Informatik - Technische ...

Handout - Institut für Theoretische Informatik - Technische ... Handout - Institut für Theoretische Informatik - Technische ...

iti.cs.tu.bs.de
von iti.cs.tu.bs.de Mehr von diesem Publisher
05.11.2013 Aufrufe

6. Komplexität von Algorithmen 6.2 Die Komplexitätsklassen P und NP Beispiel Vollständig deterministische endliche Automaten (vDEA’s) verbrauchen pro Schritt ein Symbol der Eingabe und halten dann. Also benötigen sie lineare Zeit O(n) . Beispiel Eine dTM für die Sprache L = { w ∈ {a, b} ∗ : w = sp(w) } aller Palindrome über Σ = {a, b} könnte wie folgt operieren: Zeichen am rechten Rand löschen und im Zustand speichern; linken Rand suchen, und dortiges Zeichen mit dem gespeicherten Wert vergleichen; im Erfolgsfall linkes Randzeichen löschen und mit dem nächsten Zeichen von links symmetrisch analog verfahren. Bei gleichzeitigem Schreiben und Bewegen erfordern die ⌈n/2⌉ Durchläufe n + 1 , n − 1 , . . . 1 Schritte, was sich durch ⌈n/2⌉(⌈n/2⌉ + 3)/2 ∈ O(n 2 ) abschätzen läßt. Jürgen Koslowski (TU-BS) Theoretische Informatik 2 SS 2012 122 / 215

6. Komplexität von Algorithmen 6.2 Die Komplexitätsklassen P und NP Anmerkungen: Bei gleichzeitiger Bearbeitung von k Zeichen läßt sich eine Beschleunigung um den Faktor k erreichen, da sich die Anzahl der Durchläufe entsprechend verringert. Bei Verwendung einer 2-Band TM kann die Eingabe einmal kopiert und die Kopie direkt in umgekehrter Richtung mit dem Original verglichen werden, wodurch das Speichern des am Rand gelöschten Symbols und die jeweilige Suche nach dem anderen Rand entfällt. Damit läßt sich eine Laufzeit der Größenordnung O(n) realisieren. In Abschnitt 6.4 werden wir zeigen, daß folgende Definition der Klassen P und NP unter solchen Modifikationen des Maschinenmodells robust ist. Definition P ( NP ) ist die Klasse der entscheidbaren formalen Sprachen L , die von einer dTM (nTM) mit polynomialer Zeitkomplexität akzeptiert werden können, d.h., es existiert eine d/nTM M mit L = L(M) , und ein Polynom p so daß jede Berechnung von w nach höchstens p(|w|) Schritten hält. Jürgen Koslowski (TU-BS) Theoretische Informatik 2 SS 2012 123 / 215

6. Komplexität von Algorithmen 6.2 Die Komplexitätsklassen P und NP<br />

Beispiel<br />

Vollständig deterministische endliche Automaten (vDEA’s) verbrauchen<br />

pro Schritt ein Symbol der Eingabe und halten dann. Also benötigen sie<br />

lineare Zeit O(n) .<br />

Beispiel<br />

Eine dTM <strong>für</strong> die Sprache L = { w ∈ {a, b} ∗ : w = sp(w) } aller<br />

Palindrome über Σ = {a, b} könnte wie folgt operieren:<br />

Zeichen am rechten Rand löschen und im Zustand speichern;<br />

linken Rand suchen, und dortiges Zeichen mit dem gespeicherten<br />

Wert vergleichen; im Erfolgsfall linkes Randzeichen löschen und mit<br />

dem nächsten Zeichen von links symmetrisch analog verfahren.<br />

Bei gleichzeitigem Schreiben und Bewegen erfordern die ⌈n/2⌉ Durchläufe<br />

n + 1 , n − 1 , . . . 1 Schritte, was sich durch ⌈n/2⌉(⌈n/2⌉ + 3)/2 ∈ O(n 2 )<br />

abschätzen läßt.<br />

Jürgen Koslowski (TU-BS) <strong>Theoretische</strong> <strong>Informatik</strong> 2 SS 2012 122 / 215

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!