Informatik · Grundlagen · Logik, Automaten, Sprachen, Berechenbarkeit und Komplexität
Theoretische Informatik
Von Aussagen- und Prädikatenlogik über Automaten, Grammatiken und Turing-Maschinen bis zu P = NP, Petri-Netzen und Anwendungen in Compilerbau, Verifikation und Kryptologie – ein zusammenhängender Lernweg in 8 Bereichen und 32 Einheiten.
Aussagenlogik
Formeln aus Elementaraussagen und Operatoren: ihre Syntax, ihre Bedeutung, Normalformen und Kalküle, mit denen man Folgerungen mechanisch beweist.
- 1.1Grundbegriffe der AussagenlogikElementaraussagen, Operatoren und Wahrheitstabellen – und die Aussagenlogik als formale Sprache mit Grammatik und Syntaxbaum.
- 1.2Rechenregeln und NormalformenUmformungsregeln, DNF und KNF – und der Schritt vom Umformen zum Kalkül, in dem Beweise reine Symbolmanipulation sind.
- 1.3Interpretation und ErfüllbarkeitEine Interpretation belegt die Variablen mit Wahrheitswerten. Wie viele Belegungen eine Formel wahr machen, teilt Formeln in vier Klassen.
- 1.4Indirekter Beweis und ResolutionDen Widerspruch mechanisch suchen: Klauseln verschmelzen, bis die leere Klausel entsteht.
- 1.5Korrektheit und VollständigkeitBeweist ein Kalkül nur Wahres – und alles Wahre? Für die Aussagenlogik lautet die Antwort zweimal ja.
Prädikatenlogik
Logik mit Objekten, Eigenschaften und Quantoren – bis zu Gödels Grenzen der Beweisbarkeit und zur Logik-Programmierung mit Prolog.
- 2.1Grundbegriffe der PrädikatenlogikTerme, Prädikate und Quantoren über einem Universum – die Sprache, in der auch Datenbankabfragen formuliert sind.
- 2.2Resolution in der PrädikatenlogikBevor zwei Literale sich aufheben können, müssen ihre Terme passend gemacht werden – durch Unifikation.
- 2.3Vollständigkeit und UnvollständigkeitHilberts Traum einer vollständig beweisbaren Mathematik – und Gödels Nachweis, dass er sich nicht erfüllen lässt.
- 2.4Logik-Programmierung mit PrologProgrammieren durch Beschreiben: Fakten und Regeln aufschreiben, Anfragen stellen – die Suche übernimmt Prolog.
Endliche Automaten und reguläre Ausdrücke
Maschinen mit endlichem Gedächtnis, die Wörter lesen und akzeptieren – und die Mustersprache der regulären Ausdrücke, die genau dasselbe kann.
- 3.1Grundbegriffe endlicher AutomatenZustände, Übergänge, Start und Ziel: deterministische und nichtdeterministische Automaten, Akzeptoren und Transduktoren.
- 3.2Reguläre Ausdrücke und SprachenMuster aus Alternative, Verkettung und Wiederholung – genauso mächtig wie endliche Automaten, und mit klaren Grenzen.
- 3.3PraxisanwendungenWo Automaten und reguläre Ausdrücke täglich arbeiten: in Suchfunktionen, Eingabefiltern, Compilern und Schaltungen.
Formale Sprachen und Grammatiken
Grammatiken erzeugen Sprachen. Nach der Form ihrer Regeln ordnet die Chomsky-Hierarchie sie in vier Stufen – mit sehr unterschiedlicher Entscheidbarkeit.
- 4.1Grundbegriffe formaler SprachenAlphabet, Wort, Sprache und Grammatik – und die vier Fragen, die man einer Sprache stellen kann.
- 4.2Die Chomsky-HierarchieVier Grammatiktypen, vier Sprachklassen, echt ineinander verschachtelt.
- 4.3Kontextfreie GrammatikenDie Grammatiken der Programmiersprachen: Ableitungsbäume, Mehrdeutigkeit, BNF und ihre eigene Version des Pumping-Lemmas.
- 4.4Kontextsensitive GrammatikenRegeln, die nur in einer bestimmten Umgebung greifen – mächtiger, aber kaum noch entscheidbar.
Berechenbarkeit und Turing-Maschinen
Was kann ein Computer überhaupt berechnen? Turing-Maschinen und gleich mächtige Modelle – und Probleme wie das Halteproblem, die kein Programm lösen kann.
- 5.1Modelle der BerechenbarkeitTuring-Maschine und Lambda-Kalkül beschreiben dasselbe – die Church-Turing-These macht daraus den Begriff „berechenbar“.
- 5.2Turing-MaschinenEin Band, ein Kopf und eine Tabelle von Anweisungen – das einfachste Modell eines Computers.
- 5.3Weitere BerechnungsmodelleLoop, While, Goto und rekursive Funktionen: Welche Sprachmittel braucht man für volle Berechnungsstärke?
- 5.4Berechenbarkeit, Entscheidbarkeit und das HalteproblemManche Ja-Nein-Fragen über Programme kann kein Programm beantworten – das Halteproblem ist die berühmteste.
Komplexitätstheorie
Nicht nur ob, sondern wie schnell: Wachstumsklassen, Zeit- und Platzbedarf und die offene Frage P = NP.
- 6.1Landausche O-NotationWie schnell wächst der Aufwand mit der Eingabegröße? Die O-Notation vergleicht Funktionen, ohne sich um Konstanten zu kümmern.
- 6.2Grundbegriffe der KomplexitätstheorieZeit und Speicher als Ressourcen – gemessen an Algorithmen und an ganzen Aufgaben, mit Sortieren als Paradebeispiel.
- 6.3P = NP?Ist Finden so leicht wie Prüfen? Die wichtigste offene Frage der Informatik – und was Quantencomputer daran ändern.
- 6.4NP-vollständige ProblemeVon Logik über Packprobleme bis zu Graphen: ein Katalog harter Probleme, die alle aneinander hängen.
Petri-Netze
Ein grafisches Modell für nebenläufige Systeme: Marken wandern durch ein Netz aus Plätzen und Transitionen – mit Werkzeugen für Verklemmungen, Erreichbarkeit und Invarianten.
- 7.1Graphen und Petri-NetzeBipartite Graphen aus Plätzen und Transitionen, Marken als Zustand und das Schalten als einziger Rechenschritt.
- 7.2Eigenschaften nebenläufiger SystemeLebendigkeit, Beschränktheit und Verklemmungsfreiheit – modelliert am Beispiel der speisenden Philosophen.
- 7.3Erreichbarkeit in Petri-NetzenWelche Zustände kann ein Netz überhaupt annehmen? Der Erreichbarkeitsgraph beantwortet das – solange er endlich bleibt.
- 7.4Invarianten von Petri-NetzenLineare Algebra für Netze: Schalten als Vektoraddition, und Invarianten als Größen, die sich beim Schalten nie ändern.
Anwendungen der Logik und der theoretischen Informatik
Wo die Theorie Praxis wird: im Compiler, bei der Verifikation von Programmen, in der künstlichen Intelligenz und in der Kryptologie.
- 8.1CompilerAutomaten, Grammatiken und Typregeln im Zusammenspiel: der Weg vom Quelltext zum Maschinencode.
- 8.2ProgrammkorrektheitTut ein Programm, was es soll? Spezifikationen, Hoare-Logik und Schleifeninvarianten als Werkzeuge für Beweise über Programme.
- 8.3Künstliche IntelligenzVon regelbasierten Expertensystemen bis zur datengetriebenen KI – und was formale Sprachen mit Sprachverarbeitung zu tun haben.
- 8.4KryptologieSicherheit aus Komplexität: Einwegfunktionen, RSA, Diffie-Hellman und die Bedrohung durch Quantencomputer.