Formale Grundlagen der Informatik 1
(Sommersemester 2016)
Veranstalter:
Frank Heitmann
Zeit und Ort:
Montag, 12-14 und Dienstag, 08-10 in
ErzWiss H
(erste Vorlesung am Montag, 4. April!)
Aktuelles:
Links
Folien:
Im Sommersemester 2017 startet ein neuer Durchgang mit dann neuen
Veranstaltern und neuen Folien!
Hier die vom letzten Durchgang:
- Errata:
bis jetzt noch keine
Foliensatz 1 (VL 4.4). Kapitel 1. Endliche Automaten:
Foliensatz 2 (VL 5.4). Kapitel 2. Endliche Automaten und reguläre Sprachen:
Foliensatz 3 (VL 11.4). Kapitel 3. Mit DFAs arbeiten:
Foliensatz 4 (VL 12.4). Kapitel 4. DFAs und NFAs:
Foliensatz 5 (VL 18.4). Kapitel 5. Abschlusseigenschaften:
Foliensatz 6 (VL 19.4). Kapitel 6. Abschlusseigenschaften und Grenzen regulärer Sprachen:
Foliensatz 7 (VL 25.4). Kapitel 7. Kontextfreie Sprachen:
Foliensatz 8 (VL 26.4). Kapitel 8. Eigenschaften und Grenzen kontextfreiere Sprachen:
Foliensatz 9 (VL 2.5). Kapitel 9. Turing-Maschinen
Foliensatz 10 (VL 3.5). Kapitel 10. Turing-Maschinen (Teil 2)
Foliensatz 11 (VL 9.5). Kapitel 11. Aufzählbarkeit und (Un-)Entscheidbarkeit
Foliensatz 12 (VL 10.5). Kapitel 12. Aufzählbarkeit und (Un-)Entscheidbarkeit (Teil 2)
Foliensatz 13 (VL 23.5). Kapitel 13. Aussagenlogik. Syntax & Semantik
Foliensatz 14 (VL 24.5). Kapitel 14. Folgerbarkeit, Äquivalenzen und Normalformen
Foliensatz 15 (VL 30.5). Kapitel 15. Normalformen und Hornformeln
Foliensatz 16 (VL 31.5). Kapitel 16. Resolution
Foliensatz 17 (VL 6.6 und 7.6). Kapitel 17. Prädikatenlogik. Syntax & Semantik
Foliensatz 18 (VL 13.6 und 14.6). Kapitel 18. Prädikatenlogische Normalformen
Foliensatz 19 (VL 14.6 und 20.6). Kapitel 19. Prädikatenlogische Resolution
Intermezzo: Wiederholung zum Logikteil.
Foliensatz 20 (VL 27.6). Kapitel 20. Zeit- und Platzkomplexität
Foliensatz 21 (VL 28.6). Kapitel 21. P und NP
Foliensatz 22 (VL 4.7). Kapitel 22. NP-Vollständigkeit
Foliensatz 23 (VL 5.7). Kapitel 23. NP-Vollständigkeit (Teil 2)
Foliensatz 24 (VL 11.7). Kapitel 24. Zusammenfassung
Skript:
Im Sommersemester 2017 startet ein neuer Durchgang mit dann neuen
Veranstaltern und neuen Materialien!
Kommentare/Inhalte:
Die Modellierung und Analyse von Problemen sowie die Beurteilung gefundener Lösungen sind grundlegende Bestandteile der Informatik. Das Modul Grundlagen der Theoretischen Informatik beschäftigt sich auf mathematischer Basis mit Abstraktionen, Modellbildungen und Verfahren zur Beschreibung und Analyse von Algorithmen und Prozessen. Formale Methoden spielen in der Informatik die Rolle eines "Denkzeugs", mit dem der (abstrakte) Kern einer Sache knapp und präzise beschrieben werden kann. Wesentliche Hilfsmittel zur Modellierung von Problemen sind Kalküle, insbesondere logische Kalküle, formale Sprachen, Grammatiken und Automaten. Dadurch werden Modelle und Problemlösungen einer mathematischen Analyse zugänglich.
Eine ausführliche Modulbeschreibung findet sich im Modulhandbuch unter InfB-FGI 1:
http://www.inf.uni-hamburg.de/de/studies/orga/mhb/modulhandbuch_2013.pdf
Die Vorlesung umfasst zwei Themenbereiche:
- Logik: Logikkalküle sind Grundlage für eine formale Semantik von sprachlichen Beschreibungen wie auch von Anweisungen in Programmier-, Spezifikations, und Repräsentationssprachen. In der Vorlesung wird die Aussagenlogik und die Prädikatenlogik behandelt.
- Automatentheorie, Formale Sprachen und Berechenbarkeit: Automaten dienen als einfache mathematische Modelle von Computern oder auch Algorithmen. Mit Formalen Sprachen wird der prinzipielle, strukturelle Aufbau von Programmier- und Spezifikationssprachen beschrieben. Die Theorie der Berechenbarkeit untersucht, in Verbindung mit der formalen Beschreibung von Komplexität, die Abgrenzung zwischen effektiv Ausführbarem und prinzipiell niemals Möglichem.
Im Zentrum der Vorlesung steht insbesondere auch die mathematische Beschäftigung mit den oben genannten Themen, d.h. das Aufstellen und formale Beweisen von Behauptungen.
Lernziel:
Die Studierenden sollen grundlegende formale Konzpete und Methoden, die für fast alle Teilgebiete der Informatik von Bedeutung sind, kennenlernen. Ferner sollen grundlegende Hilfsmittel für die Beschreibung, die Analyse, den Entwurf und die Bewertung von Problemen und deren Lösung besprochen und benutzt werden. Die Fähigkeit mathematische Beweise verstehen und selbst führen zu können ist hierbei ein weiteres zentrales Lernziel.
Vorgehen:
Vorlesung; ferner kommt den Übungen eine besondere Bedeutung zu, um den Umgang mit den formalen Methoden zu erlernen.
Informationen zu den Übungen sind hier zu finden:
http://www2.informatik.uni-hamburg.de/tgi/lehre/vl/SS16/FGI1Ue
Literatur:
Jedes einführende Lehrbuch zur Logik und zur Automatentheorie
eignet sich für die Veranstaltung. Wir empfehlen die nachfolgenden
Bücher (das erste für den Logik-Teil, das zweite
für den Automatenteil).
- Schöning, Uwe (2000). Logik für Informatiker. Spektrum, Akademischer Verlag
- Hopcroft, John E., Motwani, Rajeev und Ullman, Jeffrey D. (2007) Introduction to Automata Theory, Languages, and Computation, 3ed, Pearson/Addison-Wesley (auch auf Deutsch erhältlich).