Automaten und formale Sprachen (SS 2023)

Inhalt und Lernziele

Die Theorie der formalen Sprachen bildet die Grundlage für viele andere Gebiete der Informatik, beispielsweise für Informationsverarbeitung, Compilerbau, Verifikation oder Modellierung. Im Rahmen dieser Veranstaltung werden die Grundlagen der formalen Sprachen vermittelt und Fertigkeiten im Umgang mit Automaten und Grammatiken eingeübt. Außerdem soll vermittelt werden, in welchen Bereichen diese Theorie zur Anwendung kommt. Im Einzelnen wird dabei behandelt:

  • Grammatiken, Chomsky-Hierarchie
  • Wortproblem, Syntaxbäume
  • Reguläre Sprachen (Endliche Automaten, Reguläre Ausdrücke, Pumping-Lemma, Äquivalenzrelationen und Minimalautomaten, Abschlusseigenschaften, Entscheidbarkeit, Anwendung: Verifikation eines Protokolls zum wechselseitigen Ausschluss)
  • Kontextfreie Sprachen (Normalformen, Pumping-Lemma, CYK-Algorithmus, Kellerautomaten, deterministisch kontextfreie Sprachen, Abschlusseigenschaften, Entscheidbarkeit)
  • Kontextsensitive und Typ-0-Sprachen

Die Vorlesung wird sich inhaltlich stark an der Vorlesung aus dem SS 2022 orientieren, wobei die Folien des aktuellen Semesters durchaus abweichen können.

Termine

Vorlesung

Dienstag, 12:15-13:45, LX 1203

Tutorium

Details werden noch festgelegt und dann über das Moodle-Forum bekanntgegeben

Übungsgruppen

Beginn ab der dritten Vorlesungswoche

  • G1 Mo 10:15-11:45 ("10-12"), LF 035
  • G2 Di 8:30-10:00 ("8-10"), LE 120
  • G3 Di 14:15-15:45 ("14-16"), LK 052
  • G4 Di 16:15-17:45 ("16-18"), LE 103
  • G5 Mi 10:15-11:45 ("10-12"), LB 117
  • G6 Fr 10:15-11:45 ("10-12"), LC 137

(Termine und Räume unter Vorbehalt)

Übungsablauf und Bonuspunkte

Prüfungen

wird noch festgelegt

Hinweise zu den Prüfungsformen

Arbeitsmaterial

Moodle

Moodle-Kurs

Literatur

  • Uwe Schöning: "Theoretische Informatik - kurz gefasst"
    Spektrum, 2008. 5. Auflage.
    ISBN: 978-3-8274-1824-1 
    Der Inhalt der Vorlesung orientiert sich besonders an Kapitel 2 und 3.
  • Hopcroft, Motwani, Ullman: "Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie"
    Pearson Studium, 2006. 2. Auflage.
    ISBN: 978-3-8273-7020-4 
  • Michael Sipser: "Introduction to the theory of computation"
    Thomson Course Technology, 2008. 2. internationale Auflage.
    ISBN: 978-0-619-21764-8

Alle drei Bücher stehen auch in der Bibliothek zur Verfügung.

Hinweise

Zielgruppe

Diese Vorlesung kann von Studierenden verschiedener Studiengänge gehört werden. Insbesondere handelt es sich dabei um:

  • Studierende im Duisburger Bachelor-Studiengang "Angewandte Informatik (Ingenieur- und Medieninformatik)"
  • Studierende mit Nebenfach Informatik
  • Studierende im Master-Studiengang "International Studies in Engineering"

Hinweise zu den Übungen

Die Bearbeitung der Übungszettel und die Beteiligung an den Diskussionen im Forum ist dringend erwünscht, da sich ein Großteil des Stoffes durch Anwendung am Beispiel deutlich besser verstehen lässt als bei reinem Studium der Folien.

Die Abgabe der Übungen ist per Moodle oder Papier möglich. Hinweise zu den möglichen Abgabeformen siehe Moodle.

Den Bonus von einer Notenstufe (z.B. 2,0 statt 2,3) erhält, wer am Ende der Vorlesung mindestens 50% der Übungspunkte (also 120 Punkte oder mehr) erhalten hat.

Hinweise zu den Prüfungen

  • Am Ende des Sommersemesters wird eine schriftliche Prüfung stattfinden.
  • Für Schülerstudenten gelten die Regelungen des Studiengangs, für den sie eingetragen sind. Es ist keine Anmeldung beim Prüfungsamt erforderlich.