Table Of ContentLeitfäden der Informatik
K. Rüdiger Reischuk
Komplexitätstheorie
Band I: Grundlagen
Leitfäden der Informatik
Herausgegeben von
Prof. Dr. Hans-Jürgen Appelrath, Oldenburg
Prof. Dr. Volker Claus, Stuttgart
Prof. Dr. Dr. h.c. mult. Günter Hotz, Saarbrücken
Prof. Dr. Lutz Richter, Zürich
Prof. Dr. Wolffried Stucky, Karlsruhe
Prof. Dr. Klaus Waldschmidt, Frankfurt
Die Leitfaden der Informatik behandeln
- Themen aus der Theoretischen, Praktischen und Technischen Informatik
entsprechend dem aktuellen Stand der Wissenschaft in einer systemati
schen und fundierten Darstellung des jeweiligen Gebietes.
- Methoden und Ergebnisse der Informatik, aufgearbeitet und dargestellt
aus Sicht der Anwendungen in einer für Anwender verständlichen, exak
ten und präzisen Form.
Die Bände dieser Reihe wenden sich zum einen als Grundlage und Ergänzung
zu Vorlesungen der Informatik an Studierende und Lehrende in Informa
tik-Studienlehrgängenan Hochschulen, zum anderen an "Praktiker", die sich
einen Überblick über die Anwendungen der Informatik(-Methoden) ver
schaffen wollen; sie dienen aber auch in Wirtschaft, Industrie und Verwal
tung tätigen Informatikern und Informatikerinnen zur Fortbildung in pra
xisrelevanten Fragestellungen ihres Faches.
Komplexitätstheorie
Band I: Grundlagen
Maschinenmodelle, Zeit- und Platzkomplexität,
Nichtdeterminismus
Von Prof. Dr. math. K. Rüdiger Reischuk
Med. Universität zu Lübeck
2., völlig neubearbeitete und erweiterte Auflage
ä3
B. G. Teubner Stuttgart · Leipzig 1999
Prof. Dr. math. K. Rüdiger Reischuk
Geboren 1955 in Bethel bei Bielefeld, Studium der Mathematik 1974-1978 an der
Universität Bielefeld, Diplom 1978, Promotion 1980 und Habilitation 1983; nach
dem Diplom Tätigkeit als wissenschaftlicher Mitarbeiter und Hochschulassistent
bei Prof. Wolfg ang Paul, unterbrochen 1981-1982 durch einen Forschungsaufent
halt im IBM Research Laboratory San Jose.
Professuren tUr Theoretische Informatik: von 1985 bis 1994 im Fachbereich Infor
matik der Technischen Hochschule Darmstadt, seit 1994 an der Technisch-Natur
wissenschaftlichen Fakultät der Med. Universität zu Lübeck, Direktor des dortigen
Institutes fiir Theoretische Informatik
Längere Forschungsaufenthalte im Ausland: IBM Watson Research Center, York
town Heights 1988, IBM Almaden Research Laboratory, San Jose 1989, Interna
tional Computer Science Institute ICSI, Berkeley 1989 und 1993, Kyushu Univer
sity, Fukuoka 1997. Herr Reischuk war mehrere Jahre Sprecher des GI-Fachaus
schusses Theoretische Informatik und Vorsitzender des Lenkungsgrerniums tUr die
jährlich stattfindende STACS-Conference (Symposium on Theoretical Aspects of
Computer Science) sowie Chairman der STACS'97 in Lübeck
Mitglied im Editorial Board des Electronic Colloquium on Computational Com
plexity ECCC, Organisator mehrerer Tagungen zu Themen der Komplexitätstheorie
am Internationalen Begegnungszentrumjiir Informatik Schloß Dagstuhl IBFI sowie
Mitglied im Preisrichterkornitee tUr den GI-Dissertationspreis Informatik
Email: reischuk@informatikmu-Iuebeckde
WWW: http://www.tcs.mu-Iuebeckde/pages/reischukl
Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Reischuk, K. Rüdiger:
Komplexitätstheorie / K. Rüdiger Reischuk. - Stuttgart ; Leipzig:
Teubner
(Leitfaden der Informatik)
Bd. I. Grundlagen: Maschinenmodelle, Zeit-und
Platzkomplexität, Nichtdeterminismus. - 2., völlig neubearb. und
erw. Aufl. - 1999
ISBN 978-3-519-12275-3 ISBN 978-3-322-80139-5 (eBook)
DOI 10.1007/978-3-322-80139-5
Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb
der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und
stratbar. Das gilt besonders rur Vervielfaltigungen, Übersetzungen, Mikroverfilmungen und die Ein
speicherung und Verarbeitung in elektronischen Systemen.
© 1999 B. G. Teubner Stuttgart . Leipzig
Einband: Peter Pfitz, Stuttgart
Gewidmet
meinen Eltern
Robert und Hermine
Vorwort
Im Jahre 1978 hat mein damaliger Lehrer Professor Wolfgang Paul eine Monogra
phie zur Komplexitätstheorie im Teubner Verlag veröffentlicht [Wo J. Paul, Komple
xitätstheorie, Teubner Studienbücher Informatik, 1978]. Seitdem hat dies Gebiet eine
stürmische Entwicklung genommen, und es erschien notwendig, den Erkenntnisstand in
Form eines neuen Lehrbuches aufzuarbeiten. Dies geschah 1990 durch das im gleichen
Verlag von mir publizierte Werk Einführung in die Komplexitätstheorie. Angesichts der
Stoffülle konnten damals wichtige Teilgebiete nicht in dem gewünschten Maße behandelt
werden.
Nach nunmehr acht weiteren Jahren sind viele interessante und wichtige Resultate
hinzugekommen, so daß mir eine nur leicht überarbeitete Neuauflage nicht angemessen
erschien. Das nun vorliegende Werk stellt eine umfangreiche Erweiterung und Aktuali
sierung dar. Es wurden zwei neue Kapitel hinzugefügt und Teile des Stoffes neu gegliedert.
Dies legte dann eine Auft eilung in zwei Bände nahe. Der erste Band konzentriert sich
auf die Grundlagen, der zweite behandelt die aktuelleren Entwicklungen, insbesondere in
Richtung auf Randomisierung und Parallelverarbeitung. Ich habe versucht, den Leser an
den aktuellen Stand der Forschung heranzuführen und durch zusätzliche Hinweise und
Literaturverweise zu weiteren Studien anzuregen.
Angefangen vor circa 30 Jahren hat sich die Komplexitätstheorie bis heute schon
sehr weit entwickelt; dennoch konnten zentrale Fragen trotz großer Anstrengungen bis
lang nicht beantwortet werden. Man kann erwarten, daß ein großer Teil der in dieser
Einführung behandelten Thematiken und Methoden auch in Zukunft den Grundstock die
ses immer noch jungen und dynamischen Gebietes bilden werden. Die Methodik der Wis
senschaft Informatik bewegt sich in dem breiten Spannungsfeld zwischen der der Mathe
matik und der Elektrotechnik. Auf informationsverarbeitende Methoden und Systeme
können heutzutage auch andere Wissenschaften nicht mehr verzichten. Bei den Systemen
herrscht stetiger Wandel und Kurzlebigkeit vor - die Informatik erweist sich momen
tan als eine Wissenschaft mit einer sehr kurzen Halbwertszeit der Erkenntnis. Komplexe
VI VORWORT
Systemstrukturen können entworfen und implementiert, aber oftmals nicht umfassend
analysiert werden - mit dem Ergebnis hoher Fehlerhaftigkeit und großer Ineffizienzen.
Solange der technologische Fortschritt diese Ineffizienzen durch enorme Steigerungen der
Rechenleistung überdeckt, mag der Anwender zufrieden sein. Allerdings ist erkennbar,
daß weitere Leistungssteigerungen bald an die Grenze des physikalisch Möglichen stoßen
werden. Spätestens dann dürften analytische Vorgehensweisen verbunden mit komple
xitätstheoretischen Untersuchungen bei algorithmischen Problemstellungen wieder mehr
über die engeren Fachgrenzen hinweg an Bedeutung gewinnen. Dies dürfte auch bei einem
möglichen Wechsel der Rechnertechnologie gelten.
Der StofIumfang des Gesamtwerkes entspricht etwa einer zweisemestrigen Vorlesung im
Hauptstudium, wie ich sie an der Universität des Saarlandes, der Technischen Hochschule
Darmstadt und der Med. Universität zu Lübeck gehalten habe. Obwohl die Kapitel
nicht vollständig unabhängig voneinander sind, sollte für eine einsemestrige Vorlesung
eine Auswahl möglich sein, beispielsweise Kapitell, die einführenden Abschnitte aus
Kapitel 2 und 3 sowie das Kapitel 6. Teile aus diesen Kapiteln eignen sich auch für eine
Vorlesung im fortgeschrittenen Grundstudium.
Hilfreiche Unterstützung anderer haben geholfen, diese Neufassung zu erstellen. Mei
nen Mitarbeitern, insbesondere Andreas Jakoby und Maciej Liskiewicz, danke ich für das
sorgfältige Korrekturlesen und zahlreiche Verbesserungsvorschläge. Sicherlich wird auch
dieses Werk nicht frei von Fehlern sein - für Korrekturhinweise und sonstige Reaktionen
meiner Leserschaft wäre ich dankbar. Aktuelle Hinweise werde ich auf der WWW-Seite
http:j jwww.tcs.mu-luebeck.dejpagesjreischukjMonographienj
zugänglich machen.
Lübeck, im September 1998
K. Rüdiger Reischuk
Inhaltsverzeichnis
Abbildungsverzeichnis XI
Tabellenverzeichnis XIII
Einleitung XV
1 Das TM-Modell 1
1.0 Vorbemerkungen 1
1.0.1 Mengen 1
1.0.2 Graphen. 2
1.0.3 Strings, Sprachen 4
1.1 Turing-Maschinen .... 4
1.1.1 Das allgemeine Modell 5
1.1.2 Verschiedene Speichertypen 9
1.1.3 Beispiele für die Arbeitsweise von TM 11
1.1.4 Berechenbarkeit .. · . · . · . · . . . 15
1.1.5 Nichtdeterministische Berechnungen. 18
1.2 Das Rechnen mit TM . .. · . · . · . · . . . 21
1.2.1 Elementare Techniken · . · . · ... 21
1.2.2 Simulation, Band- und Kopf-Reduktion. 26
1.2.3 Universelle Maschinen 28
1.3 Mathematische Grundlagen · .. 30
1.3.1 Notation. .... · . · . 30
1.3.2 Asymptotisches Wachstum . 33
1.3.3 Wachstumsordnungen 37
1.3.4 Rekursionsgleichungen 40
1.4 Die Komplexität von TM. . · . 45
1.4.1 Schranken, Maße und Konstruierbarkeit 45
1.4.2 Komplexitätsklassen 49
1.4.3 Diagonalisierung · . · . 51
1.4.4 Bandkompression · . · . 53
1.4.5 Lineare Beschleunigung. 55
1.5 Übungsaufgaben .... · . · . 60
VIII INHALTSVERZEICHNIS
1.6 Bemerkungen und Literaturhinweise . . . . . . . . . . . . . . . . . . . . .. 66
2 Weitere Maschinenmodelle 69
2.1 Registermaschinen .... 69
2.1.1 Das RAM-Modell . 70
2.1.2 Komplexitätsmaße für RAMs 73
2.1.3 Simulation von RAMs durch TM 76
2.1.4 Simulation von TM durch RAMs 79
2.2 Schaltkreis-Familien ........... . 86
2.2.1 Boolesche Funktionen und Schaltkreise 87
2.2.2 Schaltkreiskomplexität ........ . 88
2.2.3 Uniformität .............. . 94
2.2.4 Simulation von Schaltkreisfamilien durch TM 96
2.2.5 Simulation von TM durch Schaltkreisfamilien 100
2.2.6 Universelle Schaltkreise ........ . 109
2.3 Arithmetische Modelle, Entscheidungsgraphen 114
2.3.1 Arithmetische RAMs und Schaltkreise 114
2.3.2 Entscheidungsbaum-Modelle. 116
2.4 Übungsaufgaben .......... . 118
2.5 Bemerkungen und Literaturhinweise . 123
3 Hierarchie-Sätze 129
3.1 Untere Schranken und Komplexitätslücken ....... . 129
3.1.1 Logarithmische Platzschranke . . . . . . . . . . . 130
3.1.2 Quadratische Zeitschranke für I-Band Maschinen 132
3.1.3 Komplexitätslücke bei zeitbeschränkten I-Band TM . 135
3.1.4 Komplexitätslücke bei kleinen Platzschranken 137
3.2 Deterministische Hierarchien . . . 140
3.2.1 Allgemeiner Hierarchiesatz 140
3.2.2 Zeithierarchien . 142
3.2.3 Platzhierarchien ..... . 147
3.3 Translation ........... . 150
3.4 Nichtdeterministische Hierarchien 154
3.4.1 Komplementabschluß von nichtdeterministischem Platz 154
3.4.2 Nichtdeterministischer Platzhierarchiesatz 158
3.4.3 Nichtdeterministischer Zeithierarchiesatz 160
3.5 Das Komplexitätsmaß Reversal . . . . . 160
3.5.1 Reversalbeschränkte TM ..... 160
3.5.2 Vergleich von Time und Reversal 161
3.5.3 Vergleich von Space und Reversal 163
3.5.4 Bandreduktion und Reversal für NTM 167
3.6 Abstrakte Komplexitätstheorie . . 168
3.6.1 Allgemeines Gap-Theorem ...... . 168
INHALTSVERZEICHNIS IX
3.6.2 Speedup-Theorem ...... . 170
3.6.3 Union-Theorem ....... . 172
3.6.4 Abstrakte Komplexitätsmaße 174
3.7 Übungsaufgaben .......... . 175
3.8 Bemerkungen und Literaturhinweise . 180
4 Vergleich von Speicherstrukturen 183
4.1 Ein allgemeines Speichermodell 184
4.1.1 On-line versus off-line ... 184
4.1.2 Konstruierbare Speicher . 185
4.1.3 Lineare Bandsimulation konstruierbarer Speicher 188
4.2 I-dimensionale Speicher .......... . 189
4.2.1 Bandreduktion für NTM ........ . 189
4.2.2 Simulation von Mehrkopf-Maschinen .. 191
4.2.3 TM mit separatem Einweg-Eingabeband 192
4.2.4 1 versus 2 Bänder bei Zweiweg-Eingabe . 193
4.3 Untere Schranken für Speicherzugriffe .... 195
4.3.1 Kolmogorov-Komplexität von Strings 195
4.3.2 Der Einfluß des Radius .... 196
4.4 Obere Schranken für Speicherzugriffe 200
4.4.1 Einbettung von Graphen 200
4.4.2 Kompaktifizierung .. 205
4.4.3 Schnelle Simulationen. . · 208
4.5 Übungsaufgaben ....... . · 211
4.6 Bemerkungen und Literaturhinweise . · 213
5 Zeit- versus Platzkomplexität 217
5.1 Time-Space-Relationen für 1-Band TM ...... . 218
5.1.1 Simulation platzbeschränkter I-Band DTM . 218
5.1.2 Simulation platzbeschränkter I-Band NTM . 222
5.1.3 Mehrdimensionale 1-Band TM . 228
5.2 Das Pebble-Game . . . . . . · 229
5.2.1 Berechnungsgraphen ... . · 229
5.2.2 Superkonzentratoren ... . · 234
5.2.3 Schichtungen von Graphen. · 237
5.3 Platzeffiziente Simulation von TM und RAMs · 246
5.3.1 Lineare Speicher .... · 246
5.3.2 Nichtlineare Speicher .. 248
5.3.3 Auxiliary Pushdown TM 258
5.4 Simultane Ressource-Schranken 260
5.4.1 Schaltkreisweite . . . . . 260
5.4.2 Vergleich der Ressourcen von TM und Schaltkreisen. · 262
5.5 Übungsaufgaben ....................... . · 266
x INHALTSVERZEICHNIS
5.6 Bemerkungen und Literaturhinweise . · 270
6 Sequentielle Komplexitätsklassen 275
6.1 Einführung ...... . · 276
6.1.1 Notation.... . .... · 276
6.1.2 Zeit-Platz-Hierarchie... . 277
6.1.3 Reduzierbarkeit, Vollständigkeit . 279
6.2 Die Klassen von .c bis P ....... . 285
6.2.1 Labyrinth-Probleme zur Charakterisierung von .c und N.c . 285
6.2.2 P -vollständige Probleme . 287
6.3 NP -vollständige Probleme . 291
6.3.1 Das Erfüllbarkeitsproblem . 291
6.3.2 Selbstreduzierbarkeit . 294
6.3.3 Erfüllbarkeit für 3-CNF . 296
6.3.4 Graphenprobleme: Cliquen, Kreise und Überdeckungen . 298
6.3.5 Das Färbungsproblem für Graphen . . . . 302
6.3.6 Diskrete Optimierung. . . . . . . . . . . . . . 304
6.3.7 NP -Vollständigkeit im strengen Sinne . . . . 306
6.3.8 Obere Schranken und Parameterk omplexität . 307
6.4 Von NP bis PSPACE ............. . 311
6.4.1 Die Struktur von NP .......... . 311
6.4.2 Die Relation zwischen NP und co-NP. . 312
6.4.3 UP, Einweg-Funktionen und Kryptologie . 316
6.4.4 P SP ACE -Vollständigkeit . 318
6.5 Linguistische Klassifikationen . 321
6.5.1 Formale Grammatiken . . . 321
6.5.2 Die Chomsky-Hierarchie . 322
6.5.3 Kontextfreie Sprachen und Log CF.c . 324
6.5.4 Reguläre Ausdrücke. . . . . . . 325
6.6 Übungsaufgaben ........... . 327
6.7 Bemerkungen und Literaturhinweise . . 331
Stichwortverzeichnis 341
Symbolverzeichnis 350
Zeitschriftenverzeichnis 353
Konferenzverzeichnis 354
Verzeichnis von Fachorganisationen 354