Table Of ContentLeitfaden der Informatik
Ingo Wegener
Kompendium
Theoretische Informatik
- eine Ideensammlung
Leitfiden der Informatik
Herausgegeben von
Prof. Dr. Hans-JUrgen Appelrath, Oldenburg
Prof. Dr. Volker Claus, Stuttgart
Prof. Dr. GUnter Hotz, SaarbrUcken
Prof. Dr. Lutz Richter, ZUrich
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 fur Anwender verstandlichen, exak
ten und prazisen Form.
Die Bande der Reihe wenden sich zum einen als Grundlage und Erganzung
zu Vorlesungen der Informatik an Studierende und Lehrende in Informa
tik-Studiengangen an Hochschulen, zum anderen an "Praktiker", die sich
einen Oberblick Uber die Anwendungen der Informatik(-Methoden) ver
schaffen wollen; sie dienen aber auch in Wirtschaft, Industrie und Verwal
tung tatigen Informatikern und Informatikerinnen zur Fortbildung in pra
xisrelevanten Fragestellungen ihres Faches.
Kompendium
Theoretische Informatik
- eine Ideensammlung
Von Prof. Dr. math. Ingo Wegener
UniversiHit Dortmund
EB
B. G. Teubuer Stuttgart 1996
Prof. Dr. math. Ingo Wegener
Geboren 1950 in Bremen, Studium der Mathematik und Soziologie in Bielefeld, Di
plom 1976, Promotion 1978, Habilitation 1981. Von 1980 bis 1987 zunachst als Gast
professor, dann als C3-Professor am Fachbereich Informatik der Johann Wolfgang
Goethe-Universitat in Frankfurt am Main, seit 1987 als C4-Professor fUr das Gebiet
Komplexitatstheorie und Effiziente Algorithmen am Fachbereich Informatik der
Universitat Dortmund.
Die Deutsche BibIiothek - CIP-Einheitsaufnahme
Wegener, Ingo:
Kompendium theoretische Informatik : eine Ideensammlung I
von logo Wegener. - Stuttgart: Teubner, 1996
(Leitfliden der Informatik)
ISBN-13: 978-3-519-02145-2 e-ISBN-13: 978-3-322-80090-9
DOl: 10.1007/978-3-322-80090-9
Das Werk einschlieBlich aller seiner Teile ist urheberrechtlich geschtitzt. Jede Verwertung auBerhalb
der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzullissig und
strafbar. Das gilt besonders ftir Vervielfliltigungen, Obersetzungen, Mikroverfilmungen und die Ein
speicherung und Verarbeitung in elektronischen Systemen.
© B. G Teubner Stuttgart 1996
Gesamtherstellupg: Lengericher Handelsdruckerei, Lengerich
Umschlaggestaltung: Ulrike Weigel, www.CorporateDesignGroup.de
Vorwort
Der Physiker Stephen Hawking, der bekannt fUr seine anschaulichen Beschreibun
gen komplexer, physikalischer Phanomene ist, leitet eines seiner Biicher mit fol
gender Bemerkung ein. Ihm sei gesagt worden, daB jede Gleichung in einem Buch
die Verkaufszahlen halbiert. Daher wolle er sich auf die Gleichung E = mc2 be
schranken. Nun wissen wir spatestens seit der Geschichte mit den Reiskornern auf
dem Schachbrett, deren Anzahl sich auf jedem Feld verdoppeln solI, daB exponen
tielles Wachstum nicht beherrschbar ist. So kenne ich kein Buch iiber Theoretische
Informatik, das nach der obigen Regel auch nur einmal verkauft werden kann. Das
gilt auch ffir die hier vorgelegte Ideensammlung, deren Hauptziel es dennoch ist, die
wesentlichen Konzepte, Ideen und Methoden, die in einer Einfiihrung in die Theore
tische Informatik vermittelt werden, so informal wie moglich darzustellen. Die vielen
guten Lehrbiicher zu diesem Thema haben ihr Hauptziel in der Wissensvermittlung
und der formal korrekten Darstellung des Stoffes. Sie alle sollen durch diese Ideen
sammlung erganzt und keinesfalls ersetzt werden. Der Themenkatalog umfaBt den
iiblichen Kanon einer vierstiindigen Einfiihrungsveranstaltung in die Theoretische
Informatik mit den Gebieten Entscheidbarkeit, NP-Vollstandigkeit, Automatentheo
rie, Grundlagen der Programmiersprachen und Syntaxanalyse.
Es ist haufig einfacher, ein Resultat formal korrekt zu beweisen, als die wesentlichen
Ideen und Methoden herauszuarbeiten. In formalen Beweisen haben wir sicheren
Boden unter den FiiJ3en, aber es fant uns schwer, aus derartigen Beweisen das Ge
meinsame und Wesentliche verschiedener Ansatze herauszufiltern und zu einem Netz
zu verkniipfen. Beim Versuch, das Wesentliche yom Unwesentlichen und auch yom
weniger Wesentlichen zu trennen, sind subjektive Entscheidungen zu treffen. Zu
dem besteht die Gefahr, Sachverhalte so stark zu vereinfachen, daB ihre Darstellung
falsch wird. Dennoch habe ich diesen Balanceakt gewagt. Dabei bin ich allen zu
Dank verpfiichtet, die mit mir iiber die Informatik diskutiert haben. Fragen von
Studierenden haben immer wieder dazu gefiihrt, daB ich Altbekanntes neu durch
dacht und von anderen Seiten betrachtet habe. Den Impuls zu diesem Buch verdanke
ich meinem Kollegen Volker Claus. Ihm muB ich ffir seine Hartnackigkeit danken,
da ich dem Projekt zunachst skeptisch gegeniiber gestanden habe. Wahrend des
Schreibens haben mir die Anmerkungen und Diskussionsbeitrage von Bea Bollig
ganZ besonders geholfen. Fiir die sorgfrutige und rasche Erstellung des Manuskripts
hat das Team Matthias BuBmann, Heike Griehl, Thomas Jansen, Steffi Pape, Jorg
VI
Pernotzky, Christian Stangier und Rudiger Weyrauch gesorgt. Schlie:6lich danke ich
Christa fUr die Zeit, die Ideen zu sammeln.
Dortmund/Bielefeld, im Oktober 1995 Ingo Wegener
Inhaltsverzeichnis
1 Einleitung 1
2 Rechner, Churchsche These, lOsbare und unlosbare Probleme 7
2.1 Rechnermodelle . . . . . . . . . . . . . . . . . 7
2.2 Losbare Probleme und die Churchsche These . 15
2.3 Verkniipfungen rekursiver und rekursiv aufzahlbarer Sprachen 19
2.4 Unentscheidbare Probleme 21
2.5 Reduktionen . . . . 23
2.6 Zusammenfassung. 27
2.7 Ubungsaufgaben mit Losungsansatzen 28
2.8 Testfragen und stichwortartige Antworten 36
3 Die NP-Vollstandigkeitstheorie 39
3.1 Effizient 16sbare Probleme und die Klasse P 39
3.2 Nichtdeterminismus und die Klasse NP 45
3.3 NP-Vollstandigkeit ........... 50
3.4 Der Satz von Cook ........... 54
3.5 Beweistechniken fUr die NP-Vollstandigkeit von Problemen 58
3.6 Erweiterungen der NP- Vollstandigkeitstheorie 65
3.7 Zu sammenfassung. . . . . . . . . . . . . . 67
3.8 Ubungsaufgaben mit Losungsansatzen .. 68
3.9 Testfragen und stichwortartige Antworten 78
4 Endliche Automaten 82
4.1 Cola-Automaten, Ampelanlagen, Schaltwerke und Rechner 82
4.2 Was endliche Automaten konnen und was sie nicht konnen 87
4.3 Die effiziente Minimierung der Zustandszahl endlicher Automaten 94
4.4 Verallgemeinerte endliche Automaten ... 96
4.5 Die Synthese groBer endlicher Automaten . . 101
VIII Inhaltsverzeichnis
4.6 Effiziente Algorithmen, um Eigenschaften regularer Sprachen zu iiber-
priifen . . . . . . . . . . . . . . . . . . 105
4.7 Zusammenfassung.............. . 107
4.8 Ubungsaufgaben mit Losungsansatzen .. . 109
4.9 Testfragen und stichwortartige Antworten . 119
5 Grammatiken als Grundlage von Programmiersprachen 123
5.1 Grammatiken......................... . 123
5.2 Chomsky-O Grammatiken und rekursiv aufzahlbare Sprachen . 127
5.3 Chomsky-l Grammatiken und kontextsensitive Sprachen . . . 129
5.4 Chomsky-2 Grammatiken und kontextfreie Sprachen .... . 131
5.5 Chomsky-3 Grammatiken, regulare Sprachen und Ausdriicke . 131
5.6 Zusammenfassung.............. . 135
5.7 Ubungsaufgaben mit Losungsansatzen .. . 136
5.8 Testfragen und stichwortartige Antworten . 139
6 Kontextfreie Sprachen, kontextfreie Grammatiken und Kellerauto-
m~~ 10
6.1 Ziele und Beispiele ............. . · 142
6.2 Syntaxanalyse................. · 146
6.3 Was kontextfreie Grammatiken nicht konnen · 152
6.4 Die Synthese grofier kontextfreier Grammatiken · 155
6.5 Algorithmen, um Eigenschaften kontextfreier Grammatiken zu iiber-
priifen . . . . . . . . . . . . . . . . . . . . . . 159
6.6 Kellerautomaten und kontextfreie Sprachen . .163
6.7 Eingeschrankte kontextfreie Grammatiken .168
6.8 Zusammenfassung ............. . · 172
6.9 Ubungsaufgaben mit Losungsansatzen .. · 173
6.10 Testfragen und stichwortartige Antworten .179
Schriftenverzeichnis 184
Index 186
1 Einleitung
Motivation
Gegentiber den mehr praktisch ausgerichteten Vorlesungen bietet die einfiihrende
Vorlesung in die Theoretische Informatik ftir die Lernenden zusatzliche Schwierigkei
ten. Die Fragestellungen und Ergebnisse sind grundsatzlicher und allgemeiner und
damit haufig auch abstrakter. Die Methoden und auch die Ergebnisse sind nicht
immer sehr anschaulich. Da die Theoretische Informatik schon tiber ein solides Fun
dament verftigt, greifen neue Uberlegungen auf friiher diskutierte Resultate zurtick.
Es ist daher nicht moglich, einige Vorlesungen auszulassen und dann problemlos wie
der einzusteigen. SchlieBlich werden recht allgemeine Aussagen bewiesen, und deren
Beweise sind teilweise recht aufwendig.
Aus diesem Grund wird in Vorlesungen versucht, neben korrekten Beweisen auch
anschauliche Beweisideen zu liefern. Da Anschauungen nicht formal zu vermitteln
sind und Lehrende davor zurtickschrecken, "fehlerhafte", aber motivierende und hilf
reiche Ideen in Lehrbtichern und Skripten schriftlich festzuhalten, lassen sich die
wesentlichen Ideen nicht nachlesen. Auch meine algorithmenorientierte Einftihrung
in die Theoretische Informatik (Wegener (1993)) ist als vorlesungsbegleitendes Lehr
buch konzipiert. In dieser erganzenden Ideensammlung sollen die gleichen Inhalte
auf komplementare Weise beschrieben werden. So fehlen vollstandige Beweise. Statt
dessen wird versucht, die wesentlichen, sich an vielen Stellen wiederholenden Ide
en herauszuarbeiten und die Beztige zu den motivierenden Fragestellungen aus den
Anwendungen zu betonen.
Gebrauchshinweise
Die Ideensammlung ist eine Erganzung zu bestehenden Lehrbtichern (s. Schriften
verzeichnis). Es wird ausdrticklich davor gewarnt, zu glauben, dafi mit der Ideen
sammlung allein ein profundes Wissen tiber die Grundbegriffe der Theoretischen
Informatik erworben werden kann. Die Ideensammlung kann jedoch Vorlesungen
oder ein Selbststudium sinnvoll erganzen. Daher wird auch an vielen Stellen fur
formale Definitionen und Satzformulierungen auf das Lehrbuch (Wegener (1993))
verwiesen.
2 1 Einleitung
Wem niitzt die Ideensammlung?
Die Ideensammlung wendet sich an alle, die sich fUr die grundlegenden Konzepte und
wesentlichen Ideen, die zu einer EinfUhrung in die Theoretische Informatik gehOren,
interessieren.
Diejenigen, die die Ideensammlung vor einer entsprechenden Vorlesung oder dem
Studium eines Lehrbuches lesen, erhalten die Motivation der Probleme und einen
ersten Einblick in Ergebnisse, Ideen und Konzepte. Ais Begleitbuch zu einer Vor
lesung oder einem Lehrbuch ist die Ideensammlung besonders zu empfehlen. Fur
diesen Interessentenkreis soIl eine Lucke geschlossen werden. Viele Lehrbucher ent
halten formale Beweise und auch Beweisideen. Der Schwerpunkt liegt jedoch in
der Wissensvermittlung, wahrend nun eine Darstellung mit dem Schwerpunkt auf
den Ideen und Konzepten vorgelegt wird. Bei einer Priifungsvorbereitung steht das
Verstandnis der Resultate und ihrer Beweise zunachst im Vordergrund. Um dieses
mehr punktuelle Wissen zu einem Wissensnetz zu verknupfen, ist es entscheidend,
das Gemeinsame der verschiedenen Resultate und Methoden herauszufiltern. Genau
dies soIl durch die Ideensammlung unterstutzt werden.
Insgesamt 84 typische Ubungsaufgaben mit Losungsansatzen und teilweise auch
vollstandigen Losungen sollen die Vorgehensweise bei der Losung von Aufgaben
exemplarisch beschreiben. Die Bearbeitung der Ubungsaufgaben ist eine erste Uber
priifung, wie gut der behandelte Stoff verstanden wurde. Die 67 Testfragen bieten
einen Service insbesondere bei der Priifungsvorbereitung. Es wird empfohlen, die
Testfragen in zufalli.ger Reihenfolge zu beantworten und die Antworten schriftlich
oder auf Band festzuhalten. AnschlieBend konnen die eigenen Antworten mit den
im Buch angegebenen stichwortartigen Antworten verglichen werden. In der realen
Priifungssituation werden zwar vielleicht ganz andere Fragen gestellt. Wer aber die
Testfragen um£assend beantworten kann, sollte in Priifungen keine Probleme haben.
Die Ideensammlung ist mit kurzen Unterabschnitten und aussagekraftigen Uber
schriften so strukturiert, daB sie auch als Nachschlagewerk benutzt werden kann.
Dieser Lexikoncharakter wird durch ein umfangreiches Stichwortverzeichnis mit 237
Eintragen unterstutzt.
SchlieBlich wendet sich die Ideensammlung auch an Interessierte, die sich nicht
hauptberuflich mit Informatik befassen. Sie sollen, ohne sich durch technische Einzel
heiten kampfen zu miissen, einen Einblick in die grundlegenden Ideen und Konzepte
von Teilen der Theoretischen Informatik gewinnen. Immer mehr Ingenieure, insbe
sondere aus der Elektrotechnik, werden z. B. in ihrem eigenen Forschungsgebiet mit
NP-vollstandigen Problemen konfrontiert. Fur sie ist es wichtig zu verstehen, was
sich hinter diesem Begriff verbirgt. Dabei konnen sie, zumindest zunachst, auf formal
vollstandige Beweise verzichten. Auch fur diesen Personenkreis solI die Ideensamm
lung von Nutzen sein.