Handout - Institut für Theoretische Informatik - Technische ...
Handout - Institut für Theoretische Informatik - Technische ... Handout - Institut für Theoretische Informatik - Technische ...
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
- Seite 71 und 72: 4. Church-Turing-These 4.2 Rekursiv
- Seite 73 und 74: 4. Church-Turing-These 4.2 Rekursiv
- Seite 75 und 76: 4. Church-Turing-These 4.2 Rekursiv
- Seite 77 und 78: 5. Unentscheidbare Probleme Kapitel
- Seite 79 und 80: 5. Unentscheidbare Probleme 5.1 Uni
- Seite 81 und 82: 5. Unentscheidbare Probleme 5.1 Uni
- Seite 83 und 84: 5. Unentscheidbare Probleme 5.1 Uni
- Seite 85 und 86: 5. Unentscheidbare Probleme 5.2 Das
- Seite 87 und 88: 5. Unentscheidbare Probleme 5.2 Das
- Seite 89 und 90: 5. Unentscheidbare Probleme 5.3 Wei
- Seite 91 und 92: 5. Unentscheidbare Probleme 5.3 Wei
- Seite 93 und 94: 5. Unentscheidbare Probleme 5.3 Wei
- Seite 95 und 96: 5. Unentscheidbare Probleme 5.3 Wei
- Seite 97 und 98: 5. Unentscheidbare Probleme 5.4 Sat
- Seite 99 und 100: 5. Unentscheidbare Probleme 5.4 Sat
- Seite 101 und 102: 6. Komplexität von Algorithmen Kap
- Seite 103 und 104: 6. Komplexität von Algorithmen 6.0
- Seite 105 und 106: 6. Komplexität von Algorithmen 6.0
- Seite 107 und 108: 6. Komplexität von Algorithmen 6.1
- Seite 109 und 110: 6. Komplexität von Algorithmen 6.1
- Seite 111 und 112: 6. Komplexität von Algorithmen 6.1
- Seite 113 und 114: 6. Komplexität von Algorithmen 6.1
- Seite 115 und 116: 6. Komplexität von Algorithmen 6.1
- Seite 117 und 118: 6. Komplexität von Algorithmen 6.1
- Seite 119 und 120: 6. Komplexität von Algorithmen 6.1
- Seite 121: 6. Komplexität von Algorithmen 6.2
- Seite 125 und 126: 6. Komplexität von Algorithmen 6.2
- Seite 127 und 128: 6. Komplexität von Algorithmen 6.2
- Seite 129 und 130: 6. Komplexität von Algorithmen 6.3
- Seite 131 und 132: 6. Komplexität von Algorithmen 6.3
- Seite 133 und 134: 6. Komplexität von Algorithmen 6.4
- Seite 135 und 136: 6. Komplexität von Algorithmen 6.4
- Seite 137 und 138: 6. Komplexität von Algorithmen 6.4
- Seite 139 und 140: 6. Komplexität von Algorithmen 6.4
- Seite 141 und 142: 6. Komplexität von Algorithmen 6.4
- Seite 143 und 144: 6. Komplexität von Algorithmen 6.5
- Seite 145 und 146: 6. Komplexität von Algorithmen 6.5
- Seite 147 und 148: 6. Komplexität von Algorithmen 6.6
- Seite 149 und 150: 6. Komplexität von Algorithmen 6.6
- Seite 151 und 152: 6. Komplexität von Algorithmen 6.7
- Seite 153 und 154: 6. Komplexität von Algorithmen 6.7
- Seite 155 und 156: 6. Komplexität von Algorithmen 6.7
- Seite 157 und 158: 6. Komplexität von Algorithmen 6.7
- Seite 159 und 160: 6. Komplexität von Algorithmen 6.7
- Seite 161 und 162: 6. Komplexität von Algorithmen 6.8
- Seite 163 und 164: 6. Komplexität von Algorithmen 6.8
- Seite 165 und 166: 6. Komplexität von Algorithmen 6.8
- Seite 167 und 168: 6. Komplexität von Algorithmen 6.8
- Seite 169 und 170: 6. Komplexität von Algorithmen 6.9
- Seite 171 und 172: 6. Komplexität von Algorithmen 6.9
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