Dozent: Ralf Möller
Ort: TUHH SBS95 H0.03
Zeit: Mon. 15:45 - 17.15
Voraussetzungen:
Diskrete Algebraische Strukturen, Graphentheorie und Optimierung, Computational Logic, Prozedurale Programmierung, Software Engineering
Sprache:
Bilingual: Deutsch/Engslish
Einige Vorlesungen werden in Deutsch, einige in Englisch abgehalten, so dass die
Studierenden auch an die englische Nomenklatur herangeführt werden.
Inhalt:
Wir erarbeiten die wesentlichen Modelle für Automaten und Formalen Sprachen mit direktem Anwendungsbezug. Dabei betrachten wir als Anwendungen den Compilerbau, die Verifikation digitaler Systeme sowie die Definition einfacher paralleler Verarbeitungseinheiten (z.B. UML-Aktivitätaendiagramme) und stellen dabei Querbezüge zu Grammatiken und zur Logik her.
- Einführung
Motivation, Deterministische Endliche Automaten, Definition und Konstruktion - Reguläre Sprachen, Abschlusseigenschaften
Wortproblem, String Matching - Nichtdeterministische Automaten
Rabin-Scott-Transformation von nichtdeterministischen in deterministische Automaten - e-Automaten, Minimierung von Automaten
Eliminierung von e-Kanten, Eindeutigkeit des Minimierungsergebnisses (modulo Zustandsumbenennung) - Myhill Nerode Theorem
Beweis der Korrektheit des Minimierungsverfahrens, Äquivalenzklassen von Strings induziert durch Automaten - Pumping Lemma für
reguläre Sprachen
Bereitstellung eines Werkzeugs, mit dem man zeigen kann, dass ein endlicher Automat nicht ausdrucksstark genug sein kann, um ein Wortproblem zu lösen - Regluläre Ausdrücke vs. Automaten
Äquivalenz von Formalismen, Systematische Modelltransformationen, Reduktionen - Kellerautomaten und kontextfreie Grammatiken
Definition von Kellerautomaten, Grammatikdefinition, Ableitung, Parsebaum, Mehrdeutigkeit, Pumping Lemma für kontextfreie Grammatiken, Transformation von Formalismen: Von Kellerautomaten zu Grammatiken und zurück - Chomsky-Normalform
- CYK-Algorithmus zur Entscheidung des Wortproblems für kontextfreie Grammatiken
- Deterministische Kellerautomaten
- Deterministische vs. Nichtderministische Kellerautomaten
Parsing-Anwendungen: LL(k), LR(K)-Parser bzw. -Grammatiken, LR(1)-Grammatiken vs. deterministische Kellerautomaten, Compiler-Compiler - Reguläre Grammatiken
- Ausblick:
Turing-Maschinen und linear beschränkte Automaten vs. allgemeine und Kontextsensitive
Grammatiken
Chomsky-Hierarchie - Mealy- und Moore-Automaten
Automaten mit Ausgaben (und ohne Endzustände), unendliche Zustandsfolgen, Automatennetze - Omega-Automaten: Automaten über unendlichen Eingabeworten, Büchi-Automaten
Repräsentation von Zustandssystemen und Anwendungen zur Verifikation mit Hilfe von Modallogik-Spezifikationen (insbesondere LTL) - LTL-Safety-Bedingungen und Model-Checking mit Büchi-Automaten
Zusammenhang zwischen Automaten und Logik - Andere Akzeptanzbedingungen, Alternierung als Erweiterung zum Nichtdeterminismus, Alternating Automata, Tree Automata, Alternating Tree Automata (ATAs)
ATA Model-Checking von CTL und CTL* - Fixpunkte, Aussagenlogisches mu-Kalkül
- Charakterisierung von regulären Sprachen durch Monadische Logik Zweiter Ordnung (Monadic Second Order Logic, MSO)
- Reasoning about knowledge
Modal logics about knowledge
Danksagung
Die Vorlesung verwendet Material aus dem Buch von Vossen/Witt und insbesondere die PPT-Folien hierzu von Thomas Ottmann (Freiburg). In der Einleitung sind Folien von Christian Sohler (Dortmund) eingearbeitet. Weiterhin habe ich einige PPT-Präsentationen von Lenore Blum (CMU) für den Kurs 15-453 FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY verwendet. Teile 12-15 sind aus Präsentationen von Costas Busch, damals RPI, übernommen. Folien wurden übernommen von Igor Potapov (Liverpool) und Chang-Beom Choi. Der Algorithmus zur Umrechnung von LTL-Formeln in Büchi-Automaten wurde von Ingo Weigelt (Düsseldorf) dargestellt. ATAs werden unter Verweis auf Präsenationen von Marsha Chechik (Univ. ov Toronto) eingeführt. Ich bedanke mich bei den Autoren, dass sie ihr PPT- und PDF-Material im Web für Lehrzwecke bereitgestellt haben.Hinweise auf die Originalautoren sind in den hier verfügbar gemachten Dokumenten eingearbeitet.
Literatur/Skript:
- Gottfried Vossen, Kurt-Ulrich Witt, Grundkurs Theoretische Informatik, Vieweg-Verlag, 2010.
- 15-453: Formal Languages, Automata, and Computation (FLAC)
- Automaten und Formale Sprachen TU-Ilmenau
- Principles of Model Checking Christel Baier, Joost-Pieter Katoen, The MIT Press, 2007
Alte Klausuren finden Sie hier
Ralf Möller