Table Of ContentClemens H. Cap
Theoretische Grundlagen
der Informatik
Springer-Verlag Wien New York
Dr. Clemens H. Cap
Assistenzprofessor fur formale Methoden in der Informatik
Institut fur Informatik der Universitat Zurich
Das Werk ist urheberrechtlich geschutzt.
Die dadurch begriindeten Rechte, insbesondere die der Ubersetzung, des Nachdruckes, der
Entnahme von Abbildungen, der Funksendung, der Wiedergabe auf photomechanischem oder
ahnlichem Wege und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugs
weiser Verwertung, vorbehalten.
© 1993 Springer-Verlag/Wien
Gedruckt auf saurefreiem Papier
Mit 24 Abbildungen
Die Deutsche Bibliothek -CIP-Einheitsaufnahme
Cap, Clemens H.:
Theoretische Grundlagen der Informatik I Clemens H. Cap. -
Wien ; New York: Springer, 1993
ISBN-13:978-3-211-82527-3
ISBN-13:978-3-21 1-82527-3 e-ISBN-13:978-3-7091-9329-7
DOl: 10.1007/978-3-7091-9329-7
Cui dono lepidum novum libellum '?
CATULL, Carmina
Aus Dank
meinem Vater
Ferdinand F. Cap
und zur Erinnerung
an meinen GrojJvater
Heinrich K uhnl
Vorwort
Die Komplexitiit der modernen Informationstechnologie ist beeindruckend: Pro
gramme mit etlichen Millionen Zeilen, Computer aus einigen Milliarden Transisto
ren, Netzwerke, die sich iiber alle fiinf Kontinente hinweg erstrecken und iiber eine
Million Rechner zu einem weltweiten Verbund zusammenschliefien. Angesichts die
ser Anzahl von Teilelementen benotigt der Informatiker klar durchdachte Konzepte
und Methoden, urn seine Produkte beschreiben und ihr korrektes Verhalten sicher
stellen zu konnen. Bei der Omnipriisenz der Informatik in der Alltagswelt, die von
Zug- und Kernkraftwerks-Steuerungen iiber Navigationsrechner moderner Reiseflug
zeuge bis hin zu Computertomographen reicht, ist das korrekte Verhalten auch von
besonderer Bedeutung fiir unsere Gesellschaft.
Techniken zur Beschreibung und niiheren Untersuchung un serer Umwelt stellt die
Mathematik seit iiber 3.000 Jahren zur Verfiigung. Die alten Babylonier und Agyp
ter benotigten Methoden zur Landvermessung, Newton beschrieb die Bewegungen
fallender Apfel und kreisender Planeten, Einstein untersuchte das ganze Universum,
Schrodinger die kleinsten Teile unserer Welt - und seit einigen J ahren beginnt man
sogar Lebewesen durch mathematische Gleichungen zu beschreiben. Angesichts die
ser universellen Bedeutung, welche die Mathematik fiir die menschliche Kultur und
Wissenschaft hat, darf man sich iiber den schlecht en Ruf wundern, den sie leider bei
manchen Leuten besitzt. Aber auch der Autor mufi als begeisterter Mathematiker
und Informatiker einen gewissen Schrecken eingestehen, der ihn beim Blick in das
Dickicht der Formeln mancher mathematischer Arbeiten gelegentlich befiillt.
Das vorliegende Buch will eine erste Einfiihrung in die theoretischen und zumeist
mathematischen Grundlagen der Informatik geben und mochte Verstiindnis fiir die
Struktur und die Mechanismen moderner formaler Methoden wecken. Detaillierte
oder auch nur ausfiihrlichere Kenntnisse in theoretischer Informatik miissen ange
sichts der Stoffiille und Komplexitiit dieses Gebietes und mit Hinblick auf die wich
tigen Lehrinhalte anderer Teilgebiete der Informatik dem Spezialisten vorbehalten
bleiben: Nicht jeder Programmierer mufi alle Umformungsregeln des sogenannten
Pi-Kalkiils kennen. Da dieser Formalismus aber die elegante Beschreibung von Pro
tokollen moderner Satellitentelefone erlaubt, sollte ein Projektleiter fiir derartige
VIll VORWORT
Ansii.tze aber vertrauensvoll gestimmt sein.
Ahnlich, wie die alte Definition von Chemie als "alles was kracht und stinkt" schon
lange nicht mehr an moderne chemische Methoden erinnert, so wenig kann moderne
Informatik auf den Hacker reduziert werden, der vor einem bunt blinkenden Com
puterbildschirm sitzt. Wenn sich der geneigte Leser angesichts von Mathematik,
Logik oder Formalismen unwohl fiihlt, so wird er sich mit einem anderen Interes
sensgebiet als jenem der Informatik wohl gliicklicher wissen. 1st diese Einsicht in
der Chemie schon lange allgemein bekannt, so wird die Informatik leider noch hii.ufig
unter falschem Licht gesehen: Formales, methodisch exaktes, logisch abgesichertes
Vorgehen muB zUlnindest bei sicherheitskritischen Systemen - und derer gibt es im
mer mehr - Prioritii.t vor einem spielerischen Umgang mit dem Computer erlangen.
Auch dieser hat seine Berechtigungj ob er aber beim Entwurf einer Aufzugssteue
rung oder einer Flugsicherungsanlage am rechten Platz ist, dariiber mag der Leser
an gegebenem Ort, in einem Aufzug oder Flugzeug, selber philosophieren.
Das Buch wendet sich an Studierende der Informatik und der Mathematik im er
sten Studienabschnitt, aber auch an den Praktiker, und kann zur Begleitung einer
Lehrveranstaltung sowie zum Selbststudium verwendet werden. In beiden Fii.llen
wird dem Leser das genaue Durcharbeiten der angefiihrten Beispiele besonders ans
Herz gelegt. In der Darstellung wird mehr auf die konkrete Bedeutung, Anwendung
und Interpretation geachtet, als auf formaltechnische Details - einem Mathematiker
mag deshalb die beweistechnische Verankerung vieler Aussagen fehlen, wii.hrend sich
ein Informatiker an manchen Stellen iiber den aufwendigen formalen Apparat zur
Beschreibung einfacher Ideen wundern kann. Der Autor wiinscht sich, daB der hier
gewii.hlte KompromiB Studierenden beider Fachrichtungen die theoretischen Grund
lagen der Informatik vermitteln kann.
Das Buch gliedert sich in kleine Einheiten, die nach mathematischem Vorbild Defi
nitionen, Beispiele oder Bemerkungen genannt werden. Diese Abschnitte sind auch
iiber die Kapitelgrenzen hinweg durchlaufend numeriert, was das Auffinden von
Textstellen erleichtern soIl. 1m Anhang findet sich neben einem ausfiihrlichen Sach
verzeichnis auch ein Verzeichnis der verwendeten Symbole. Ein Literaturverzeichnis
soIl das weitere Eindringen in die theoretische Informatik erleichtern. Wegen der
besonderen Rolle der englischen Sprache fiir die heutigen Wissenschaften und be
sonders fiir die Informatik habe ich zu den meisten Definitionen auch die englischen
Bezeichnungen in Klammern beigefiigt.
Das Buch entstand aus Vorlesungen, die ich in den Jahren 1991 bis 1993 an der Uni
versitii.t Ziirich und am Studienzentrum Bregenz der Universitii.t Linz abgehalten
habe. Die Anregungen und Ermunterungen von Herrn Prof. Helmut Schauer und
seine Fiirsprache als Serienherausgeber des Wiener Springer-Verlages gaben mir den
VORWORT
lX
Mut und die Moglichkeit, mich an eine groBere Leserschaft zu wagen. Dank der
freundlichen Forderung und steten Unterstutzung von Herrn Institutsdirektor Prof.
Kurt Bauknecht und Herrn Prof. Lutz Richter hatte ich auch die Zeit und Gele
genheit sowie die notwendige Infrastruktur, um mich diesem Vorhaben zu widmen.
Herrn Prof. Peter Baumann danke ich fiir Diskussionen zum Stoffumfang.
Wahrend der Ausarbeitung waren in inhaltlichen, fachlichen und organisatorischen
Fragen viele Kollegen behilflich. Insbesondere mochte ich mich bei Frau Lucia
Sprotte-Kleiber, Herrn Nikolaus Almassy, Herrn Dr. Martin Durst, Herrn Dr. Edgar
Lederer, Herrn Silvano Maffeis, Herrn Daniel Scharer und Herrn Volker Strumpen
fiir ihre Mithilfe bedanken. Bei technischen und graphischen Problemen wiihrend der
Erstellung der reproduktionsreifen Druckvorlagen durfte ich stets mit Unterstutzung
von Herrn Beat Rageth, Herrn Rico Solea und Herrn Dr. Peter Vollenweider rechnen.
Herr Dr. Ruedi Signer gab mir als Mitarbeiter der hochschuldidaktischen Arbeits
stelle der Universitat Zurich in Kursen und Hospitationen didaktische Hilfestellung.
Dem Springer-Verlag in Wien, Herrn Direktor Siegle und meiner Ansprechpartnerin
Frau Schilgerius, danke ich fiir die Aufnahme dieses Buches und die kompetente
Betreuung. Meine Studenten trugen durch die interessanten Stunden der Lehrver
anstaltungen und die zahlreichen Anregungen und Gesprache viel zu diesem Werk
bei.
Das erste Lehrbuch verlangt von einem jungen Autor viel Kraft, Mut und Begei
sterung, fur das Fach seIber, aber auch fur die Darstellung und didaktische Aufbe
reitung. Viel hiervon verdanke ich meinem verehrten Lehrer und Doktorvater Prof.
Roman Liedl. Meine erste Begegnung mit theoretischer Informatik durfte ich als
Assistent von Herrn Prof. Rudolf Albrecht machen. Bei meinen Eltern, Prof. Fer
dinand und Dr. Theresia Cap, und meiner Partnerin Angelika Vallaster mochte ich
mich fur ihre Hilfe ganz besonders bedanken.
Clemens H. CAP
Zurich, im Juli 1993
Inhaltsverzeichnis
1 Logische Propadeutik 1
1.1 Aussagen und Operatoren 1
1.2 Wahrheit und Umformung 3
1.3 Implikation und Folgerung 9
1.4 Formale Logik . . . . . . . 11
2 Mengenlehre 17
2.1 Elementare Definitionen 17
2.2 Vergleichen von Mengen 18
2.3 Operationen auf Mengen 19
2.4 Gesetze fur Mengenoperationen 22
2.5 Familien von Mengen .... 24
2.6 Eigenschaften und Mengen . 25
3 Quantoren 29
3.1 Elementare Definitionen 29
3.2 Bereichsangaben .... 30
3.3 Mehrstellige Eigenschaften 31
3.4 Freie und gebundene Variable 34
4 Relationen 41
4.1 Elementare Definitionen 41
4.2 Binare Relationen . 42
4.3 Funktionen ...... . 46
4.4 Ordnungsrelationen... 51
4.5 Operationen auf Relationen 55
4.6 Aquivalenzrelationen 57
4.7 Hullen . . . . . . . . 61
5 Graphen 65
5.1 Element are Definitionen 65
5.2 Spezielle Graphen . . . . 68
INHALTSVERZEICHNIS
XII
5.3 Isomorphe Graphen . . . . . . . . . . . 73
5.4 Verbindungen in Graphen ..... . . 74
5.5 Darstellung von Graphen auf Rechnern 84
5.6 Spezielle Wege in Graphen 86
5.7 Attributierte Graphen 90
5.8 Planare Graphen . 97
5.9 Baume und Wii.lder · 101
5.10 PETRI-Netze .114
6 Sprachen 119
6.1 Sprachen und Grammatiken · 120
6.2 Regulare (Typ 3) Sprachen . · 125
6.3 Kontextfreie (Typ 2) Sprachen . · 127
6.4 Kontextsensitive (Typ 1) Sprachen · 130
6.5 Rekursiv aufzahlbare (Typ 0) Sprachen · 130
7 Maschinen 133
7.1 Automaten ..... · 133
7.2 Kellerautomaten .. · 143
7.3 TURING-Maschinen. · 146
7.4 Linear beschrankte Automaten · 148
7.5 Automaten mit Ausgabewerten · 149
8 Maschinen und Sprachen 155
9 Techniken und Beispiele formaler Sprachen 161
9.1 Einfache Beispiele ... · 161
9.2 Vollstandige Induktion .. · 162
9.3 Strukturelle Induktion .. · 167
9.4 Charakteristische Beispiele · 169
9.5 Arithmetische Ausdriicke . · 176
9.6 Logische Ausdriicke .... · 183
9.7 Regulare Mengen und Ausdriicke · 185
9.8 Arithmetische Sprachen · 186
9.9 Programmiersprachen. · 188
9.10 Natiirliche Sprachen .. · 189
10 Semantik von Programmiersprachen 191
10.1 Die Programmiersprache Loop . · 191
10.2 Die Programmiersprache WHILE. · 196
10.3 Die Programmiersprache GOTO . .200
10.4 Die Programmiersprache RECUR .202
10.5 Techniken zur Semantikdefinition .208
INHALTSVERZEIGHNIS Xl11
11 Berechenbarkeit 211
11.1 Primitiv rekursive Funktionen ..... · 211
11.2 Total und partiell rekursive Funktionen · 216
11.3 Die CHURCHsche These ....... . · 221
11.4 Berechenbarkeit bei Mengen ..... . · 225
11.5 Berechenbarkeit bei formalen Sprachen · 231
11.6 Rekursionstheorie . . . . . . . . .... · 232
12 KomplexWitstheorie 235
12.1 Asymptotische Notationen .235
12.2 Wachstumsklassen · 237
12.3 Komplexitiitsaussagen .239
12.4 NP-Vollstiindigkeit .. .240
13 Information und Codierung 247
13.1 Elementare Wahrscheinlichkeitsrechnung .247
13.2 Information .... .250
13.3 Informationsquellen · 254
13.4 Quellcodierung · 256
13.5 Kaniile . . . . . . . · 259
13.6 Kanalcodierung .. · 262
13.7 Kryptologische Codierung · 265
14 Logik 269
14.1 Deduktion in der Aussagenlogik · 269
14.2 Semantik der Aussagenlogik .. .274
14.3 Normalformen der Aussagenlogik · 279
14.4 Deduktion in der Priidikatenlogik · 282
14.5 Semantik der Priidikatenlogik .. · 284
14.6 Normalformen der Priidikatenlogik .287
14.7 Zur Logik der Arithmetik und Informatik . · 288
15 Grenzen von Computern 291
15.1 Erste Beispiele .......... . · 291
15.2 Allgemeine Probleme der Programmierung · 296
15.3 Probleme der Sprachtheorie . . . . . · 299
15.4 Probleme aus Logik und Arithmetik . · 301
Literaturverzeichnis 305
Symbolverzeichnis 311
Sachverzeichnis 319