Leitfä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