Vorlesung

Grundbegriffe der Theoretischen Informatik

Paul Fischer

Mo. 14:15-16:00, Di 10:15-12:00 in HS 6 / HG I


Inhalte der Vorlesung

Die Vorlesung gliedert sich in vier Teile. Zunächst geht es um die Frage, was mit Computern überhaupt berechenbar ist. Es stellt sich heraus, daß es Probleme gibt, die selbst mit beliebig viel Speicherplatz und beliebig langen Rechenzeiten nicht lösbar sind. Zu diesen Problemen gehören auch so fundamentale Probleme, wie das, zu entscheiden, ob ein gegebenes Computerprogramm mit einer gegebenen Eingabe überhaupt hält.

In der Praxis stellt sich selbst für Probleme, die die von einem Rechner gelöst werden können, noch die Frage, ob eine Lösung effizient möglich ist. Wir werden sehen, wie man den Begriff "Effizienz" präzise fassen kann und Probleme danach klassifiziern, ob sie effizient lösbar sind oder nicht. Dabei zeigt es sich, daß sehr viele wichtige Probleme in diesem Sinne sehr wahrscheinlich nicht effizient lösbar sind. Dazu gehören zum Beispiel Stundenplanenrwurf, Tourenplanung von Transportunternemen, Auswahl eines optimalen Aktienpaketes, optimale Beladung eines Containers, Auswahl einer möglichst kleinen Testmenge zur Fehlererkennung und so weiter. Wenn man weiß, daß ein Problem nicht effizient lösbar ist, so muß man keine Zeit auf die Suche nach effizienten Lösungsalgorithmen verschwenden. Wir werden verschiedene Techniken zum Nachweis dieser Tatsache kennenlernen.

Die "Endlichen Automaten" stellen eine einfache Modellierung für Schaltwerke, Rechnerkomponenten und Rechner mit beschränktem Speicher dar. Sie erlauben in diesen Bereichen die Synthese, Analyse und Verifikation der Korrektheit. In der Vorlesung werden die grundlegenden Eigenschaften von Endlichen Automaten untersucht. Auch ihre nichtdeterministische Variante wird behandelt.

Schließlich untersuchen wir Grammatiken, die die Grundlage für Programmiersprachen bilden. Anforderungen an solche Grammatiken sind, daß ausreichend mächtig sind, um die gewünschten Konstrukte der Programmiersprache zu unterstützen, und andererseites einfach genug, um von einem Compiler schnell geprüft werden zu können. Es wird gezeigt, daß die sogenannten kontextfreien Grammatiken diese Anforderungen erfüllen.

In der Vorlesung wird eine Reihe von neuen und zum Teil ungewohnten Denkweisen vermittelt. Insbesondere trifft dies auf den Umgang mit negativen Resultaten und die Untersuchung von abstrakten Rechnertypen zu. Eine erfolgreiche Teilnahme erfordert daher die regelmäßige Nachbearbeitung der Vorlesung ebenso wie das regelmäßige Bearbeiten der Übungsaufgaben und die Diskussion der Ergebnisse in den Übungsgruppen.


Literatur:

Die Vorlesung basiert im wesentlichen auf den folgenden Büchern:

Das Inhaltsverzeichnis

kann man sich als ASCII-File ansehen.

Die Übungsgruppen

  1. Mo, 8:00 - 9:00 Uhr, GB IV / R318
  2. Mo, 12:15 - 14:00 Uhr, GB V / R420
  3. Mo, 16:15 - 18:00 Uhr, GB IV / R113
  4. Mo, 16:15 - 18:00 Uhr, GB V / R420
  5. Di, 8:15 - 10:00 Uhr, GB IV / R318
  6. Di, 12:15 - 14:00 Uhr, GB V / R420
  7. Do, 12:15 - 14:00 Uhr, GB V / R420

Die Übungsblätter

(Postscript-Dateien)
Fragen an: Paul Fischer oder Martin Löbbing
Last Update, 22-06-1998, Martin Löbbing.