Theoretische Informatik und Logik

From International Center for Computational Logic

Theoretische Informatik und Logik

Course with SWS 4/2/0 (lecture/exercise/practical) in SS 2024

Lecturer

Tutor

SWS

  • 4/2/0

Modules

Examination method

  • Written exam

Matrix channel

Lecture series


Prüfung

Lernräume

Wir dürfen in diesem Semester drei Lernräume anbieten:

  • Montag, 05.08.2024 14:00-15:30 Uhr in APB E023
  • Mittwoch, 07.08.2024 13:00-14:30 Uhr in APB E023
  • Freitag, 09.08.2024 13:00-14:30 Uhr in APB E023

Klausur: Zeit & Ort

Die Klausur über 90 Minuten findet am Mittwoch, den 14.08.2024 in den Räumen des Hörsaalzentrums statt. Über die konkrete Verteilung der Räume sowie die Zeiten informieren wir Sie hier rechtzeitig.

Hilfsmittel

Es sind keine Hilfsmittel erlaubt, insbesondere keine technischen und elektronischen Hilfsmittel oder Formelsammlungen und Nachschlagewerke.

Beschreibung

Die Lehrveranstaltung vermittelt eine vertiefende Einleitung in die theoretische Informatik, beginnend mit den Grundlagen der Berechenbarkeits- und Komplexitätstheorie, Prädikatenlogik und deren Bezug zu Komplexität und Datenbanken, bis hin zu weiterführenden Themen wie Gödels Unvollständigkeitstheoreme und die Beziehung von Logik und formalen Sprachen. Wir stoßen vor zu den Grenzen der Informatik und Mathematik, treffen auf fleißige Biber und verrückte Logiker, vergleichen SQL mit Tic Tac Toe und stellen die großen Fragen unseres Fachgebiets.

Die Vorlesung ist weitgehend selbsterklärend, aber Grundlagen aus der Veranstaltung Formale Systeme können hilfreich sein.

Vorlesungen

Die Vorlesungstermine sind

  • montags 3.DS (11:10–12:40) in HÜL/S386 sowie
  • donnerstags 4.DS (13:00–14:30) in HSZ/0002.

Die erste Vorlesung findet am Montag, dem 8. April 2024 statt.

Übungen

Die Einschreibung in die Übungsgruppen wird über OPAL erfolgen. Die Einschreibung ist ab Montag, dem 8. April 2024, 18:00 Uhr möglich. Für die Teilnahme an einer Übungsgruppe ist die Einschreibung in dieser Gruppe verpflichtend. Studierenden ohne Einschreibung kann die Teilnahme an einer selbst gewählten Übung nicht garantiert werden. Übungsleiter sind berechtigt, nicht eingeschriebene Studierende bei Überfüllung aus der Übung zu verweisen.

Die folgenden Termine für Übungen werden von uns angeboten:

  • Gruppe A: montags 5. DS (14:50-16:20) in APB E008 (Übungsleiter: Florens Förster)
  • Gruppe B: dienstags 5. DS (14:50-16:20) in APB E006 (Übungsleiter: Dörthe Arndt)
  • Gruppe C: mittwochs 3. DS (11:10-12:40) in APB E008 (Übungsleiter: Anton Claußnitzer)
  • Gruppe D: mittwochs 5. DS (14:50-16:20) in APB E010 (Übungsleiter: Florens Förster)
  • Gruppe E: donnerstags 3. DS (11:10-12:40) in APB E006 (Übungsleiter: Marcos Cramer)
  • Gruppe F: donnerstags 5. DS (14:50-16:20) in POT 0106 (Übungsleiter: Linus Wemmer)
  • Gruppe G: freitags 2. DS (9:20-10:50) in APB E009 (Übungsleiter: Stephan Mennicke)

Die Übungsgruppe G wird vorläufig als hybride Übung für Studierende der TU Dresden angeboten. Die Plattform, für die Übung ist BigBlueButton. Nutzen Sie diesen Link, um der Veranstaltung zu seiner Zeit beizutreten. Sie benötigen einen ZIH-Login, um der Veranstaltung beitreten zu können. Dieses zusätzliche Angebot ist ein Pilotversuch. Sollte sich dieses Format als umständlich oder schwer durchführbar erweisen, wechseln wir zum ausschließlichen Präsenzmodus.


Der Übungsbetrieb startet am 15. April 2024 zu Ihren jeweiligen Terminen in den angegebenen Räumen. Die Übungsblätter können in der Spalte der jeweiligen Übung unter Termine und Unterlagen heruntergeladen werden.

WHILE/LOOP Simulator

Wir bieten einen Online-Simulator für WHILE- und LOOP-Programme an. Der Simulator unterstützt zusätzlich zu den Grundsprachen einige der Abkürzungen aus der Vorlesung. Im Menü unter Beispiele finden sich einige Beispielprogramme, die in das Programmfeld kopiert werden können.

Der Simulator wurde von Simon Meusel entwickelt. Der Quellcode ist frei verfügbar unter https://github.com/knowsys/while-simulator . Pull-Requests sind Willkommen.

Unterlagen

Die vollständigen Foliensätze zur Vorlesung erscheinen bis zur Woche der Vorlesung online (siehe Termine und Unterlagen). Weiterführende Literatur ist unter Literatur angegeben. Die Quellen der Vorlesungsfolien sind auf github verfügbar: https://github.com/knowsys/TheoLog

(C) Markus Krötzsch, https://iccl.inf.tu-dresden.de/web/TheoLog2024, CC BY 3.0 DE

Bildrechte können davon abweichen und sind gesondert in den LaTeX-Dateien angegeben. Die Foliensätze enthalten keinerlei Texte, die aus Werken entnommen sind, für welche die VG Wort Verwertungsrechte vertritt.

Die Nutzung der Materialien in eigenen Lehrveranstaltungen ist willkommen, sofern der obige Lizenztext in allen abgeleiteten Foliensätzen angegeben wird. Rückmeldungen sind ebenfalls willkommen (z.B. als Issue zu diesem Repository); wir verlinken hier gern auf die Homepages der entsprechenden Kurse. Interessierte Lehrende können ihre abgewandelten Quellen auch mit in diesem Respository veröffentlichen -- kontaktieren Sie Prof. Krötzsch.

Die Folien wurden erstellt von Markus Krötzsch. Eine vollständige Liste der Beitragenden ist unter https://github.com/mkroetzsch/TheoLog/graphs/contributors zu finden.

Kontakt

Zur Kommunikation unter Vorlesungsteilnehmern der TU Dresden steht ein Matrix-Kanal zur Verfügung.

Kommentare und Bug Reports können gern auch direkt über die entsprechenden Seiten auf github gepostet werden: https://github.com/mkroetzsch/TheoLog

Persönliche Fragen können direkt an das Organisationsteam (siehe Links oben) gestellt werden, falls sie aus einem zwingenden Grund nicht über andere Kanäle gerichtet werden können. Allgemeine Fragen sollten Sie aber immer in geteilten Kanälen stellen, damit auch Ihre Kommilitoninnen und Kommilitonen davon profitieren (oder vielleicht sogar direkt helfen können).

Allgemein sind die Vorlesungsfolien und Übungsunterlagen ausreichend detailliert für das Studium. Weitere Lehrmaterialien können dennoch hilfreich sein, um Details nachzuschlagen oder sich weiter im Thema zu vertiefen.

Allgemeine Lehrbücher

  • Uwe Schöning: Theoretische Informatik -- kurz gefasst. Spektrum Akademischer Verlag.
(deutschsprachiger Standardtext; in der Tat ziemlich kurz gefasst)
  • Michael Sipser: Introduction to the Theory of Computation. Cengage Learning.
(Standardtext zur Berechnung und Sprachen, speziell zum Thema Komplexität zu empfehlen; leider nur auf Englisch)
  • Christopher Moore, Stephan Meterns: The Nature of Computation. Oxford University Press.
(sehr guter, moderner Text zu Komplexität und Berechnung, weniger formell; leider nur auf Englisch)
  • John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman: Einführung in Automatentheorie, Formale Sprachen und Berechenbarkeit. Pearson Studium.
(aus dem Englischen übertragenes Standardwerk; Original ev. besser)

Unterhaltung

Besonders spannende und interessante Themen aus der theoretischen Informatik und der Geschichte ihrer Protagonisten kann man auch in weniger formalen Texten nachlesen:

  • Apostolos Doxiadis, Christos Papadimitriou: Logicomix: An Epic Search for Truth. Bloomsbury
(Graphic Novel, inspiriert von Russels Leben und der Geschichte der Logik, wenn auch in Teilen frei erfunden)
  • Scott Aaronson: Quantum Computing Since Democritus. Cambridge
(informeller Text (eigentlich eine Sammlung von Blogeinträgen) mit interessanten Denkanstößen rund um Berechnung und Komplexität)
  • Douglas Hofstadter: Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books
(der Klassiker; in viele Sprachen übersetzt, aber im Original am besten)

Berechnung und Komplexität

Die Bücher von Sipser und Moore & Mertens sind hier bereits sehr gute Referenzen. Wer darüber hinaus noch mehr Details sucht, der kann die folgenden Fachbücher konsultieren:

  • Christos H. Papadimitriou: Computational Complexity Academic Internet Publ., 2007.
(Standardwerk zu vielen Themen der Komplexitätstheorie)
  • Sanjeev Arora, Boaz Barak: Computational Complexity: A Modern Approach Cambridge University Press.
(Detailllierter und umfangreicher Text zur Komplexitätstheorie)

Prädikatenlogik

Die Vorlesungsfolien sollten bei diesem Thema ausreichen. Die Darstellung des Themas in der Literatur ist ziemlich uneinheitlich, so dass verschiedene Bücher oft leicht unterschiedliche Definitionen verwenden. Wer dennoch weitere Details nachschlagen will, dem nützen eventuell die folgenden Bücher:

  • Uwe Schöning: Logik für Informatiker. Spektrum Akademischer Verlag.
(leichte Abweichungen in Notation und Darstellung)
  • Martin Kreuzer, Stefan Kühling: Logik für Informatiker. Pearson Studium.
(sehr knapp und informell; eventuell interessant als Quelle für Übungsaufgaben)
(Schwerpunkt auf Logikprogrammierung und Prädikatenlogik)
(Aufgabensammlung aus den Logikvorlesungen vergangener Jahre)

Spezielle Themen

  • Torkel Franzén: 'Gödel's Theorem: An Incomplete Guide to Its Use and Abuse. A K Peters.
(Gut verdaulicher Text zu Gödels Unvollständigkeitssätzen, einschl. deren Beziehungen zur Berechenbarkeitstheorie)
  • Raymond M. Smullyan: A Beginner's Guide to Mathematical Logic. Dover Publications, 2014.
(Erster Teil: Einleitung und Logikrätsel. Zweiter Teil: Umfassende Entwicklung von Gödels Unvollständigkeitsbeweisen mit Gödel-Nummern und Gödel-Sätzen)

Subscribe to events of this course (icalendar)

Lecture Einleitung und Übersicht DS3, April 8, 2024 in HÜL/S386 File 1 File 2
Lecture Berechenbarkeit und Unentscheidbarkeit DS4, April 11, 2024 in HSZ/0002 File 1 File 2
Exercise Übung 1 File
Lecture WHILE und LOOP DS3, April 15, 2024 in HÜL/S386 File 1 File 2
Lecture Das Halteproblem und Reduktionen DS4, April 18, 2024 in HSZ/0002 File 1 File 2
Exercise Übung 2 File
Lecture Der Satz von Rice und das Postsche Korrespondenzproblem DS3, April 22, 2024 in HÜL/S386 File 1 File 2
Lecture Unentscheidbare Probleme formaler Sprachen DS4, April 25, 2024 in HSZ/0002 File 1 File 2
Exercise Übung 3 File
Lecture Einführung in die Komplexitätstheorie DS3, April 29, 2024 in HÜL/S386 File 1 File 2
Lecture Beziehungen zwischen Komplexitätsklassen / Effizient lösbare Probleme DS4, May 2, 2024 in HSZ/0002 File 1 File 2
Exercise Übung 4 File
Lecture NP und NP-Vollständigkeit DS3, May 6, 2024 in HÜL/S386 File 1 File 2
No session Christi Himmelfahrt (gesetzlicher Feiertag) DS4, May 9, 2024 in HSZ/0002
Exercise Übung 5 File
Lecture NP, Teil 2 DS3, May 13, 2024 in HÜL/S386 File 1 File 2
Lecture NL und PSpace DS4, May 16, 2024 in HSZ/0002 File 1 File 2
No session Pfingstmontag (gesetzlicher Feiertag) DS3, May 20, 2024 in HÜL/S386
No session Pfingsten (vorlesungsfreie Woche) DS4, May 23, 2024 in HSZ/0002
Exercise Übung 6 File
Lecture PSpace-Vollständigkeit DS3, May 27, 2024 in HÜL/S386 File 1 File 2
Lecture Prädikatenlogik: Syntax und Semantik DS4, May 30, 2024 in HSZ/0002 File 1 File 2
Exercise Übung 7 File
Lecture Modelltheorie und logisches Schließen DS3, June 3, 2024 in HÜL/S386 File 1 File 2
Lecture Logisches Schließen (1) DS4, June 6, 2024 in HSZ/0002 File 1 File 2
No session Keine Vorlesung DS3, June 10, 2024 in HÜL/S386
No session OUTPUT.DD DS4, June 13, 2024 in HSZ/0002
Exercise Übung 8 File
Lecture Logisches Schließen (2) DS3, June 17, 2024 in HÜL/S386 File 1 File 2
Lecture Funktionen und Normalformen DS4, June 20, 2024 in HSZ/0002 File 1 File 2
Exercise Übung 9 File
Lecture Unifikation DS3, June 24, 2024 in HÜL/S386 File 1 File 2
Lecture Resolution (1) DS4, June 27, 2024 in HSZ/0002 File 1 File 2
Exercise Übung 10 File
Lecture Resolution (2) DS3, July 1, 2024 in HÜL/S386 File 1 File 2
Lecture Endliche Modelle und Datenbanken DS4, July 4, 2024 in HSZ/0002 File 1 File 2
Exercise Übung 11 File
Lecture Datalog DS3, July 8, 2024 in HÜL/S386 File 1 File 2
Lecture Gödels 1. Unvollständigkeitssatz DS4, July 11, 2024 in HSZ/0002 File 1 File 2
Exercise Übung 12 File
Lecture Gödel, Turing und der ganze Rest DS3, July 15, 2024 in HÜL/S386 File 1 File 2
Lecture Repetitorium DS4, July 18, 2024 in HSZ/0002
Consultation Lernraum - Probeklausur (14:00-15:30 Uhr)
Consultation Lernraum DS4, August 7, 2024 in APB E023
Consultation Lernraum DS4, August 9, 2024 in APB E023


Calendar