Academia.eduAcademia.edu

Berechnungstheorie für Informatiker

1988

einschlie13lich aller seiner Teile ist urheberrechtlich geschUtzt. Jede Verwertung au13erhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Veri ages unzuliissig und strafbar. Das gilt besonders fUr Vervie1fii1tigungen, Ubersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.

Leitfiiden und Monographien der Informatik E. Engeler/P. Liiuchli Berechnungstheorie fUr Informatiker Leitfiden und Monographien der Informatik Herausgegeben von Prof. Prof. Prof. Prof. Dr. Dr. Dr. Dr. Hans-Jurgen Appelrath, Oldenburg Volker Claus, Oldenburg Gunter Hotz, Saarbriicken Klaus Waldschmidt, Frankfurt Die Leitfaden und Monographien behandeln Themen aus der Theoretischen, Praktischen und Technischen Informatik entsprechend dem aktuellen Stand der Wissenschaft. Besonderer Wert wird auf eine systematische und fundierte Darstellung des jeweiligen Gebietes gelegt. Die Bucher dieser Reihe sind einerseits als Grundlage und Erganzung zu Vorlesungen der Informatik und andererseits als Standardwerke fur die selbstandige Einarbeitung in umfassende Themenbereiche der Informatik konzipiert. Sie sprechen vorwiegend Studierende und Lehrende in Informatik-Studiengangen an Hochschulen an, dienen aber auch in Wirtschaft, Industrie und Verwaltung tatigen Informatikem zur Fortbildung im Zuge der fortschreitenden Wissenschaft. Berechnungstheorie fiir Informatiker Von Prof. Dr. sc. math. Erwin Engeler und Prof. Dr. sc. math. Peter Uiuchli Unter Mitwirkung von Dr. sc. math. Ronald Peikert Eidg. Technische Hochschule Zurich 2., durchgesehene Auflage Mit 22 Abbildungen und 34 Ubungsaufgaben 83 B. G. Teubner Stuttgart 1992 Prof. Dr. sc. math. Erwin Engeler Geboren 1930 in Schaffhausen, Schweiz. Von 1950 bis 1955 Mathematikstudium an der Eidg. Technischen Hochschule Zurich, Diplom 1955, Dr. sc. math. 1958. Liingerer Aufenthalt in USA: Assistenzprofessor Univ. of Minnesota, Univ. of Calif. Berkeley 1958 bis 1963. Assoc. Prof. 1963, Professor 1967 (Univ. of Minnesota). Seit 1972 an der ETH fUr Logik und Informatik. Prof. Dr. Peter Liiuchli Geboren 1928 in Zurich, Schweiz. Von 1948 bis 1953 Studium an der Eidg. Technischen Hochschule (ETH) in Zurich mit AbschluB in Theoretischer Physik. Assistent am Institut fUr Angewandte Mathematik, Mitarbeit an der Fertigstellung des Computers ERMETH. 1959 Promotion in Mathematik, 1961 Habilitation an der ETH. 1964 Assistenzprofessor fUr Angewandte Mathematik, 1968 a. o. Prof. fUr Computerwissenschaften. 1972 Studienaufenthalt im IBM-Forschungslabor Yorktown Heights, N. Y. Seit 1983 Ordinarius fUr Informatik an der ETH Zurich. Dr. sc. math. Ronald Peikert Geboren 1955 in Zurich, Schweiz. Von 1974 bis 1979 Studium an der Eidg. Technischen Hochschule Zurich mit AbschluB als Dipl. Math., 1985 Promotion. 1986 Visiting Assistant Professor an der University of Minnesota. Seit 1987 Oberassistent an der ETH Zurich. Die Deutsche Bibliothek - CIP·Einheitsaufnahme Engeler, Erwin: Berechnungstheorie fUr Informatiker I von Erwin Engeler und Peter Uiuchli. Unter Mitw. von Ronald Peikert. - 2., durchges. Aufl. - Stuttgart: Teubner, 1992 (Leitfliden und Monographien der Informatik) ISBN 978-3-519-12258-6 ISBN 978-3-322-92677-7 (eBook) DOI 10.1007/978-3-322-92677-7 NE: Uiuchli, Peter: Das Werk einschlie13lich aller seiner Teile ist urheberrechtlich geschUtzt. Jede Verwertung au13erhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Veri ages unzuliissig und strafbar. Das gilt besonders fUr Vervie1fii1tigungen, Ubersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. © B. G. Teubner Stuttgart 1988 Gesamtherstellung: Zechnersche Buchdruckerei GmbH, Speyer Umschlaggestaltung: M. Koch, Reutlingen Vorwort Der Inhalt dieses Buches entspricht weitgehend dem Stoff, den die beiden Autoren seit mehreren lahren in einem zweisemestrigen Kurs fUr Informatiker an der ETH Ziirich vermitteln. Vieles davon ist bereits friiher in der Form von provisorischen Notizen von E. Engeler als "Kleines Repetitorium der Berechnungstheorie" an die Studenten abgegeben worden. Bei der Niederschrift des nun vorliegenden Textes hat sich immer deutlicher gezeigt, dass sich eine weitgehend unabhangige Redaktion der beiden, jetzt auch im Inhaltsverzeichnis abgegrenzten Teile, sowohl arbeitstechnisch als auch von der Stoffbehandlung her, als durchaus natUrlich aufdrangte. So hat denn P. Lauchli den ersten, E. Engeler den zweiten Teil selbstandig betreut. Wir haben uns zwar punkto Notation weitgehend abgesprochen, nehmen jedoch eine gewisse Verschiedenheit im Sti! bewusst in Kauf. FUr die Lektiire des Buches wird vorausgesetzt, dass der Leser iiber das mathematische Riistzeug verftigt, welches etwa in einem elementaren Kurs "Diskrete Mathematik" in den unteren Semestem eines Hochschulstudiums, Richtung Inforrnatik oder Elektrotechnik, angeboten wird. Dazu gehoren jedenfalls Grundbegriffe bezUglich Mengen, Funktionen, Relationen etc. Der erste Teil, im allgemeinen elementarer formuliert, entspricht ungefahr der oben erwahnten ersten Vorlesung ("Berechnungstheorie", 4. Semester), in welcher vor allem der Berechenbarkeitsbegriff herausgearbeitet und eine erste Bekanntschaft mit der Erzeugung, bzw. Erkennung von formalen Sprachen anhand der ausfUhrlich diskutierten regularen Sprachen vermittelt wird. Die anschliessend eingeftihrte Fixpunkttheorie solI dem Studenten ein theoretisches Werkzeug in die Hand geben, welches ihm erlaubt, verschiedene Gegenstiinde von einem einheitlichen Standpunkt aus zu betrachten. Schliesslich liefert der "Hauptsatz iiber syntaktische Strukturen" eine Grundlage fUr die strenge Definition der Semantik forrnaler Sprachen. 1m zweiten Teil, der in der Darstellung konzentrierter und anspruchsvoller gehalten ist, kommt zumindest teilweise der Inhalt unserer zweiten Vorlesung ("Theoretische Inforrnatik", 6. Semester) zur Sprache. Hier wird zunachst ftir die Konstruktion eines Universalprogramrns, das aIle partiell-rekursiven Funktionen berechnen kann, eine Godel-Numerierung der Programme und Wertbelegungen eingefUhrt und die effektive Aufzahlung der erwahnten Funktionsklasse dann gleich in der Rekursionstheorie angewendet. Verschiedene Maschinenmodelle (Turing-, Tag-Maschine, k-Kellerautomat) werden als aquivalent erkannt und zur Diskussion von einigen klassischen unentscheidbaren Problemen herangezogen. Schliesslich kommt als wichtige Datenstruktur (zu den bisherigen Zahlen und Zeichenreihen) diejenige der Listen ins Spiel, wo die Identifikation von Daten und Programmen beide als Listen zu LISP-artiger Rekursion ftihrt. Dabei ergeben sich natiirliche Verwendungen der Hauptsatze der Rekursionstheo- 6 Vorwort rie sowohl fUr die Semantik rekursiver Definitionen als auch fUr die Grundlegung einer Theorie von Interpretem und Compilem. Zum ganzen Buch ist zu sagen, dass darin keineswegs alles behandelt wird, was zu einem Minimum an Theorie in die Ausbildung zum Diplom-Informatiker gehort. So fehlen z.B. konkret folgende Gegenstande: kontextfreie Sprachen, Automatentheorie (ausser den endlichen Akzeptoren fUr reguliire Sprachen), Komplexitiitstheorie, LogikProgrammierung. Fiir diese Gebiete muss auf entsprechende Literatur hingewiesen werden. In der vorliegenden zweiten Auflage wurden lediglich die uns bis dahin zur Kenntnis gebrachten Fehler korrigiert. Beide Autoren m6chten an dieser Stelle Herro Dr. R. Peikert recht herzlich danken fUr die mehr als kompetente tiitige Mithilfe bei der letzten Redaktion und der Erstellung des Textes. Von ihm stammen die Formulierungen fUr die den Kapiteln beigegebenen Ubungsaufgaben, und ohne ihn ware das Biichlein wohl irgendwo auf der Strecke geblieben. Dank gebiihrt auch Herro E. Bauer, der eine Vorversion erstellt hat und dem Teubner Verlag fUr die vorbildliche Betreuung und Geduld. Ziirich, im Januar 1992 E. Engeler, P. Liiuchli Inhalt VOIwort 5 Inhalt 7 Teil I Berechenbarkeit, Aufziihlbarkeit 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 2.4 2.5 3 LOOP- / WHILE-Berechenbarkeit Primitiv-rekursive, partiell-rekursive Funktionen Aquivalenz von Berechenbarkeitsbegriffen Aufziihlbarkeit Ubungsaufgaben Automaten und formale Sprachen Produktionsgrammatiken Endliche Akzeptoren und reguliire Sprachen ReguUire Ausdriicke Einige Satze tiber regulare und kontextfreie Sprachen Kongruenzrelationen und reguliire Sprachen Ubungsaufgaben Fixpunkttheorie Ubungsaufgaben 4 Syntaktische Strukturen Ubungsaufgaben 10 10 16 23 26 30 32 32 36 44 48 51 56 58 65 66 73 Inhalt 8 Teil II 5 5.1 5.2 5.3 6 6.1 6.2 7 7.1 7.2 7.3 GOdelisierung und Universalprogramme 76 Godelnumerierung Ein Universalprogramm Ausblick in die Rekursionstheorie Ubungsaufgaben 77 Unlosbare Probleme der Informatik 87 Tag-Maschinen und unlOsbare kombinatorische Probleme Turing-Maschinen, Kellerautomaten und der Schluss des Zirkels Ubungsaufgaben Rekursive Prozeduren Rekursion und LISP Fixpunktsemantik Partielle Evaluation, Interpreter und Compiler Ubungsaufgaben 79 81 86 88 94 99 100 100 103 109 113 Bibliographische Schluss bemerkungen 114 Sachverzeichnis 118