Grundlagen der Theoretischen Informatik
Einführung in Formale Sprachen, Berechenbarkeit, Komplexität - Ein Lernkurs mit Übungen
- 2026
- Buch
- Verfasst von
- André Schulz
- Verlag
- Springer Berlin Heidelberg
Über dieses Buch
Dieses Lehrbuch liefert eine grundlegende, aber verständliche Einführung in die Theoretische Informatik. Ziel ist es, Konzepte zu vermitteln, die auch in anderen Informatikbereichen Anwendung finden. Zentral sind Themen wie formale Sprachen, kontextfreie Grammatiken, endliche Automaten und die Komplexitätstheorie.
Die behandelten Inhalte sind grundlegend für das formale Arbeiten in der gesamten Informatik und bilden das Fundament für weiterführende Themen der Theoretischen Informatik. Durch eine Vielzahl von Aufgaben mit Lösungen – erweitert in dieser zweiten Auflage – eignet sich dieses Lehrbuch sehr gut zum Selbststudium.
Der Inhalt
Einführung und formale Sprachen Reguläre Sprachen Kontextfreie Sprachen Entscheidbare und erkennbare Sprachen Unentscheidbare Sprachen Komplexitätstheorie
Der Autor
André Schulz ist Professor für Theoretische Informatik an der FernUniversität in Hagen.
Inhaltsverzeichnis
-
Frontmatter
-
Kapitel 1. Einführung und formale Sprachen
André SchulzDieses Kapitel legt die mathematischen und konzeptionellen Grundlagen für die formale Beschreibung und Verarbeitung algorithmischer Probleme – ein zentrales Thema für jeden, der sich mit Berechenbarkeit, Algorithmen oder maschineller Datenverarbeitung beschäftigt. Zunächst wird erläutert, warum formale Sprachen und Kalküle notwendig sind, um komplexe Sachverhalte präzise zu benennen und maschinell handhabbar zu machen. Anhand eines anschaulichen Beispiels aus dem U-Bahn-Netz wird gezeigt, wie reale Probleme wie die Suche nach dem kürzesten Weg in ein mathematisches Modell – hier einen gewichteten Graphen – überführt werden können. Der Text geht detailliert auf die Herausforderung ein, solche Modelle für Rechner verständlich zu machen: Wie lassen sich Graphen, Mengen oder Funktionen in eine für Maschinen lesbare Form bringen? Dazu werden verschiedene Kodierungsmethoden vorgestellt, darunter die Darstellung als Kantenliste, Adjazenzliste oder Adjazenzmatrix, jeweils mit ihren spezifischen Vor- und Nachteilen. Besonders wichtig ist die Unterscheidung zwischen effizienter Speicherausnutzung und einfacher Abfragbarkeit – ein Spannungsfeld, das in der Praxis oft über die Wahl der geeigneten Datenstruktur entscheidet. Anschließend wird der Begriff der formalen Sprache eingeführt, der als Brücke zwischen Problembeschreibung und maschineller Verarbeitung dient. Es wird erklärt, wie Entscheidungsprobleme – also solche mit binärer Antwort (ja/nein) – durch Sprachen repräsentiert werden können und warum diese Abstraktion für die theoretische Informatik so zentral ist. Der Text vertieft zudem grundlegende Konzepte wie Mengen, Tupel, Relationen und Funktionen, die für das Verständnis formaler Systeme unverzichtbar sind. Abschließend gibt das Kapitel einen Ausblick auf Berechnungsmodelle, die als abstrakte Maschinen die Grundlage für die Analyse von Algorithmen bilden. Wer dieses Kapitel durcharbeitet, versteht nicht nur, wie Probleme formalisiert werden, sondern auch, warum bestimmte Darstellungen für Rechner besser geeignet sind als andere – und welche Rolle formale Sprachen dabei spielen. Ein Muss für alle, die algorithmische Lösungen nicht nur anwenden, sondern auch konzeptionell durchdringen wollen.KI-Generiert
Diese Zusammenfassung des Fachinhalts wurde mit Hilfe von KI generiert.
ZusammenfassungIn diesem ersten Kapitel beschäftigen wir uns mit den Grundlagen, die notwendig sind, um die Inhalte dieses Buches verstehen zu können. Insbesondere wollen wir uns damit beschäftigen, wie wir algorithmische Probleme so aufschreiben können, dass wir sie mit einem Berechnungsmodell bearbeiten können. Für diesen Umgang benötigen wir einen formalen Kalkül, welchen wir in erster Linie über die formalen Sprachen festlegen werden. -
Kapitel 2. Reguläre Sprachen
André SchulzDas Kapitel führt zunächst in endliche Automaten als erstes Berechnungsmodell mit begrenztem Speicher ein und erklärt, wie sie zur Lösung des Wortproblems regulärer Sprachen genutzt werden. Dabei wird der deterministische endliche Automat (DEA) detailliert beschrieben, einschließlich seiner formalen Definition, Zustandsübergänge und graphischen Darstellung als Zustandsdiagramm. Ein zentraler Fokus liegt auf der Minimierung von Automaten: Es wird ein Verfahren vorgestellt, um einen Automaten mit der minimalen Anzahl von Zuständen zu konstruieren, die dieselbe Sprache erkennen. Hierfür werden die Myhill-Nerode-Relation und der Table-Filling-Algorithmus als Methoden zur Identifikation äquivalenter Zustände erläutert. Darüber hinaus behandelt das Kapitel nichtdeterministische endliche Automaten (NEA) und zeigt, wie sie durch Potenzautomaten in deterministische Automaten umgewandelt werden können. Ein weiterer Schwerpunkt liegt auf den Abschlusseigenschaften regulärer Sprachen, insbesondere unter Vereinigung, Konkatenation und Kleene-Stern-Operationen. Abschließend wird der Spiegelautomat als Alternative zur Minimierung eingeführt und dessen Eigenschaften als Minimalautomat bewiesen. Praktische Anwendungen wie Mustererkennung und die Nutzung endlicher Automaten in Tools wie *grep* unterstreichen die Relevanz der theoretischen Konzepte für die Informatik.KI-Generiert
Diese Zusammenfassung des Fachinhalts wurde mit Hilfe von KI generiert.
ZusammenfassungIn diesem Kapitel lernen wir mit den endlichen Automaten ein erstes Berechnungsmodell kennen. Dieses Modell orientiert sich am Rechnen mit begrenztem Speicher. Wir werden sehen, dass wir nur sehr einfache Probleme mit einem endlichen Automaten lösen können. Trotzdem ist der endliche Automat ein sehr wichtiges Modell, denn er bildet die Grundlage für weitere Modelle und findet als Modellierungswerkzeug in der gesamten Informatik vielfältige Anwendungen. Im weiteren Verlauf betrachten wir das Problem der Minimierung von endlichen Automaten.Wir stellen dazu ein Verfahren vor, dass einen Automaten so umformt, dass er die minimale Anzahl von Zuständen hat (und dabei die gleiche Sprache erkennt). Um diese Konstruktion zu verstehen, tauchen wir etwas tiefer in die Theorie der regulären Sprachen ein, und untersuchen deren Myhill–Nerode Relationen. -
Kapitel 3. Kontextfreie Sprachen
André SchulzDas Kapitel führt in die Welt der kontextfreien Sprachen ein, einer zentralen Sprachklasse in der theoretischen Informatik mit weitreichenden Anwendungen in der Praxis. Zunächst wird gezeigt, warum einfache Sprachen wie die Sprache der Wörter mit gleicher Anzahl von 'a's und 'b's nicht regulär sind, aber durch Kellerautomaten erkannt werden können – ein Modell, das um einen Kellerspeicher erweitert wurde und damit unbegrenzte Zähloperationen ermöglicht. Im Zentrum stehen die kontextfreien Grammatiken, die als formales Werkzeug zur Beschreibung solcher Sprachen dienen und durch Regeln die Ableitung von Wörtern aus einem Startsymbol definieren. Praktische Beispiele wie die Sprache der Palindrome oder korrekt geklammerter Terme veranschaulichen die Funktionsweise dieser Grammatiken. Ein besonderer Fokus liegt auf dem CYK-Algorithmus, einem effizienten Verfahren zur Lösung des Wortproblems für kontextfreie Sprachen, das auf der Chomsky-Normalform basiert und durch eine tabellarische Methode die Zugehörigkeit eines Wortes zur Sprache überprüft. Zudem wird das kontextfreie Pumpinglemma vorgestellt, ein mächtiges Werkzeug zum Nachweis, dass bestimmte Sprachen nicht kontextfrei sind. Abschließend werden Abschlusseigenschaften kontextfreier Sprachen diskutiert, die zeigen, unter welchen Operationen diese Sprachklasse stabil bleibt – und wo ihre Grenzen liegen, etwa bei der Schnittbildung. Das Kapitel verbindet theoretische Grundlagen mit praktischen Anwendungen und bietet damit sowohl für Studierende als auch für Praktiker wertvolle Einblicke in ein zentrales Thema der Informatik.KI-Generiert
Diese Zusammenfassung des Fachinhalts wurde mit Hilfe von KI generiert.
ZusammenfassungWir haben bereits gesehen, dass sehr einfache Sprachen wie \(L=\{a^nb^n \mid n\ge 0\}\) nicht regulär sind. Das mag nicht überraschend sein, da wir mit begrenztem Speicher nicht das Wortproblem für diese Sprache entscheiden können. Dennoch steht wohl außer Frage, dass es sich bei L um keine komplizierte Sprache handelt. Wir werden im Folgenden ein Berechnungsmodell (Kellerautomat) vorstellen, in welchem wir das Wortproblem für L lösen können. Die Sprachen, die ein Kellerautomat erkennt, nennen wir kontextfrei. Diese Sprachklasse ist eine sehr wichtige Sprachklasse mit vielen Anwendungen in der Informatik (zum Beispiel beim Entwurf von Programmiersprachen). Wir gehen auf alternative Methoden zur Beschreibung kontextfreier Sprachen ein und diskutieren die Grenzen dieses Modells. -
Kapitel 4. Entscheidbare und erkennbare Sprachen
André SchulzDas Kapitel führt zunächst in das Turingmaschinenmodell ein, das als ideales Berechnungsmodell für Algorithmen dient und die Grundlage für die Definition entscheidbarer und erkennbarer Sprachen bildet. Es wird erklärt, wie Turingmaschinen funktionieren, welche Komponenten sie besitzen und wie sie sich von anderen Automatenmodellen wie endlichen Automaten oder Kellerautomaten unterscheiden. Besonders wird auf die Mächtigkeit des Modells eingegangen, die sowohl Vorteile als auch Herausforderungen mit sich bringt, etwa bei der Analyse konkreter Turingmaschinen. Anschließend werden die Begriffe entscheidbare und erkennbare Sprachen formal definiert und anhand von Beispielen veranschaulicht. Dabei wird deutlich, dass entscheidbare Sprachen eine definitive Antwort auf das Wortproblem liefern, während erkennbare Sprachen nur für Ja-Instanzen eine Garantie auf Terminierung bieten. Das Kapitel geht auch auf Varianten der Turingmaschine ein, wie die Mehrband-Turingmaschine, die Halbband-Turingmaschine und nichtdeterministische Turingmaschinen. Jede Variante wird in ihrer Funktionsweise und ihrem Nutzen für bestimmte Anwendungsfälle erläutert. Ein zentraler Punkt ist die universelle Turingmaschine, die als Grundlage für die Simulation beliebiger Turingmaschinen dient und damit die Mächtigkeit des Modells unterstreicht. Abschließend werden Sprachen mit Bezug zu Turingmaschinen vorgestellt, deren Entscheidbarkeit und Aufzählbarkeit analysiert. Das Kapitel bietet somit einen umfassenden Überblick über die theoretischen Grundlagen der Berechenbarkeit und zeigt, wie Turingmaschinen als universelles Werkzeug für die Informatik fungieren. Es verbindet formale Definitionen mit anschaulichen Beispielen und schafft so eine solide Basis für das Verständnis komplexer Konzepte in der theoretischen Informatik.KI-Generiert
Diese Zusammenfassung des Fachinhalts wurde mit Hilfe von KI generiert.
ZusammenfassungIn diesem Kapitel lernen wir die entscheidbaren Sprachen kennen und stellen mit der Turingmaschine das dazugehörige Rechenmodell vor. Die Turingmaschine ist das Modell, welches einen idealisierten Rechner nachbildet. Turingmaschinenprogramme(also konkrete Realisierungen von Turingmaschinen) sind genauso mächtig wie Programme in typischen Programmiersprachen wie zum Beispiel C, Java oder Python. -
Kapitel 5. Unentscheidbare Sprachen
André SchulzDas Kapitel behandelt zentrale Konzepte der Berechenbarkeitstheorie, insbesondere die Frage, welche Sprachen algorithmisch entscheidbar sind und welche nicht. Im Fokus stehen unentscheidbare Sprachen, die sich nicht durch einen Algorithmus erkennen oder entscheiden lassen. Der Text führt zunächst in die Grundlagen ein: Er erklärt, warum es Sprachen gibt, die nicht aufzählbar sind, und zeigt dies anhand von Diagonalisierungsbeweisen. Anschließend wird die Methode der Reduktion vorgestellt, mit der sich Unentscheidbarkeit von einem Problem auf ein anderes übertragen lässt – ein mächtiges Werkzeug, um die Grenzen der Berechenbarkeit zu erkunden. Ein zentrales Ergebnis ist der Satz von Rice, der besagt, dass keine nicht-trivialen Eigenschaften von Turingmaschinen algorithmisch überprüfbar sind. Der Text geht auch auf spezifische unentscheidbare Probleme ein, wie das Halteproblem und das Postsche Korrespondenzproblem, und zeigt, wie diese mit den vorgestellten Techniken analysiert werden können. Abschließend wird die Chomsky-Hierarchie der formalen Sprachen diskutiert und die Position der entscheidbaren und unentscheidbaren Sprachen innerhalb dieser Hierarchie eingeordnet. Für Fachleute bietet das Kapitel damit eine fundierte Grundlage, um die theoretischen Grenzen der Informatik zu verstehen und diese Erkenntnisse auf praktische Probleme anzuwenden.KI-Generiert
Diese Zusammenfassung des Fachinhalts wurde mit Hilfe von KI generiert.
ZusammenfassungBei der bisherigen Untersuchung von Sprachklassen haben wir festgestellt, dass die regulären Sprachen eine echte Teilmenge der kontextfreien Sprachen sind, und diese wiederum eine echte Teilmenge der entscheidbaren Sprachen. Der Fokus lag bislang darauf, die „Berechenbarkeit“ von Sprachen (bzw. Entscheidungsproblemen) nachzuweisen. Nun werden wir uns im Gegensatz dazu auf den Nachweis der „Nichtberechenbarkeit“ konzentrieren. Wir versuchen zudem, die Grenze zwischen Nichtberechenbaren und Berechenbaren möglichst gut zu bestimmen. -
Kapitel 6. Komplexitätstheorie
André SchulzDieses Kapitel führt in die Komplexitätstheorie ein und erklärt, wie Probleme nach ihrem Rechenaufwand klassifiziert werden können. Im Fokus stehen die zentralen Komplexitätsklassen P und NP, die sich mit der Frage beschäftigen, welche Probleme effizient lösbar und welche effizient verifizierbar sind. Sie erfahren, warum die Unterscheidung zwischen diesen Klassen von grundlegender Bedeutung für die Informatik ist und welche Rolle die Turingmaschine als Referenzmodell spielt. Ein zentraler Schwerpunkt liegt auf dem Konzept der NP-Vollständigkeit: Es wird erklärt, was NP-vollständige Probleme sind und warum sie als die „schwersten“ Probleme in NP gelten. Anhand des Erfüllbarkeitsproblems (SAT) und des Kachelungsproblems wird veranschaulicht, wie sich die NP-Vollständigkeit eines Problems nachweisen lässt. Zudem wird die Methode der polynomiellen Reduktion eingeführt, die es ermöglicht, die Komplexität eines Problems mit der eines anderen zu vergleichen. Abschließend wird die Bedeutung der Komplexitätstheorie für die Praxis diskutiert, etwa in Bezug auf die Entwicklung effizienter Algorithmen und die Grenzen der Berechenbarkeit. Das Kapitel bietet damit nicht nur theoretische Grundlagen, sondern auch praktische Einblicke in die Herausforderungen und Lösungsansätze der modernen Informatik.KI-Generiert
Diese Zusammenfassung des Fachinhalts wurde mit Hilfe von KI generiert.
ZusammenfassungIn der Komplexitätstheorie geht es unter anderem darum, Probleme entsprechend ihres Aufwandes zu klassifizieren. Dabei sind in erster Linie zwei Maße von Interesse: Rechenzeit und Speicherbedarf. In diesem Kapitel werden wir uns damit beschäftigen, wie man Probleme sinnvoll in Klassen entsprechend ihrer Komplexität zusammenfassen kann und welche Beziehung diese Klassen untereinander haben. Insbesondere werden wir dabei die Klassen P und NP vorstellen. -
Backmatter
- Titel
- Grundlagen der Theoretischen Informatik
- Verfasst von
-
André Schulz
- Copyright-Jahr
- 2026
- Verlag
- Springer Berlin Heidelberg
- Electronic ISBN
- 978-3-662-72141-4
- Print ISBN
- 978-3-662-72140-7
- DOI
- https://doi.org/10.1007/978-3-662-72141-4
Die PDF-Dateien dieses Buches wurden gemäß dem PDF/UA-1-Standard erstellt, um die Barrierefreiheit zu verbessern. Dazu gehören Bildschirmlesegeräte, beschriebene nicht-textuelle Inhalte (Bilder, Grafiken), Lesezeichen für eine einfache Navigation, tastaturfreundliche Links und Formulare sowie durchsuchbarer und auswählbarer Text. Wir sind uns der Bedeutung von Barrierefreiheit bewusst und freuen uns über Anfragen zur Barrierefreiheit unserer Produkte. Bei Fragen oder Bedarf an Barrierefreiheit kontaktieren Sie uns bitte unter accessibilitysupport@springernature.com.