Logik (WS 2018/19)
Dozentin
Prof. Dr. Barbara König
Übungsleitung
Dennis Nolte
Richard Eggert
Inhalt und Lernziele
Logik dient in der Informatik unter anderem als Grundlage der Datenbanken (Abfragesprache SQL), als Beschreibungssprache für Schaltkreise und als Modellierungs- und Spezifikationssprache, wo sie auch für die Analyse und Verifikation von Programmen eingesetzt wird. In Form der Logik-Programmiersprache Prolog wird Logik auch zur Wissensverarbeitung und für Expertensysteme eingesetzt. Außerdem ist die Logik ein Anwendungsgebiet der Informatik, beispielsweise bei der Entwicklung von Theorembeweisern. Im Rahmen dieser Veranstaltung werden die Grundlagen der Aussagen- und Prädikatenlogik und ihre Anwendungen vermittelt. Inhalte im Einzelnen:
- Aussagenlogik (Grundbegriffe, Äquivalenz und Normalformen, Hornformeln, Resolution in der Aussagenlogik, Anwendung SAT-Solver)
- Prädikatenlogik erster Stufe (Grundbegriffe, Normalformen, Unentscheidbarkeit der Prädikatenlogik, Herbrandtheorie, Resolution in der Prädikatenlogik)
- Grundlagen der Logik-Programmierung (SLD-Resolution)
Siehe auch die Webseite aus dem WS17/18 (mit den Folien des vorigen Semesters).
Literatur
- Die Vorlesung stützt sich im wesentlichen auf: Uwe Schöning, Logik für Informatiker. Spektrum, 2000.
- Ein sehr gutes englisches Einführungsbuch ist Language, proof, and logic, das es auch in deutscher Übersetzung gibt:
John Barwise, John Etchemendy, Sprache, Beweis und Logik. Mentis, 2005 - Kreuzer, Kühling, Logik für Informatiker. Pearson, 2006
- Tjark Weber, A SAT-based Sudoku Solver. LPAR 2005.
Tools
Folgende Werkzeuge werden in der Vorlesung eingesetzt:
Aussagenlogik:
- SAT-Solver: Überprüfung der Erfüllbarkeit von aussagenlogischen Formeln
Limboole
[Sudoku-Formel für limboole]
Prädikatenlogik:
- Anschauliche Lehrsoftware für die Prädikatenlogik:
Tarski's World bzw. Tarski's World (Java Applet + Jar) - Theorembeweiser für die Prädikatenlogik 1. Stufe (basierend auf Resolution):
Otter - PROLOG-Interpreter bzw. -Compiler (zip-Datei mit Prolog-Beispielen)
Termine
Vorlesung
- Mittwoch, 8:30-10:00, LB 107
- Erste Vorlesung am 10.10.2018
Übungsgruppen
- Gruppe 1: Mi, 16–18, LE 105
(Tutorin: Rebecca Bernemann) - Gruppe 2: Do, 10–12, LE 120
(Tutor: Philip Garus) - Gruppe 3: Do, 10–12, LK 051
(Tutor: Dennis Nolte) - Gruppe 4: Do, 12–14, LE 120
(Tutor: Matthias Schaffeld) - Gruppe 5: Do, 12–14, LK 051
(Tutor: Richard Eggert) - Gruppe 6: Fr, 12–14, LE 120
(Tutorin: Marleen Matjeka)
Die Übungsgruppen beginnen ab dem 24.10.2018.
Prüfung/Klausur
Die Klausur findet voraussichtlich am Montag, den 18. Februar 2019, von 8:30-10:30 Uhr statt.
Die zweite Klausur findet am Montag, den 29. Juli 2019, von 8:30-10:30 Uhr in Raum LE 104 statt.
Die Klausurergebnisse der zweiten Klausur sind in Moodle zu finden. Die Einsicht ist am 05.08 ab 14 Uhr in Raum LF 265.