Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Logik in der Informatik

Vorlesung Logik in der Informatik (WS 24/25)

 

 


Aktuelles

  • Die Eröffnungsvorlesung findet am Dienstag, den 15.10.24, um 9:00 Uhr im Hörsaal 0'115 im ESZ (Rudower Chaussee 26) statt.
  • Die Übungen beginnen in der Woche vom 21. bis 25.10.24. Falls Sie am Modul "Logik in der Informatik" teilnehmen wollen, melden Sie sich bitte in AGNES für eine Übungsgruppe an (Ende der Nachfrist: 17.10.24).
  • Viele wichtige Informationen zur Veranstaltung finden Sie hier auf der Webseite, die regelmäßig aktualisiert wird. Ergänzend dazu werden manche Teile der Veranstaltung über die Moodle-Plattform durchgeführt; bitte schreiben Sie sich dort bis zum 18.10.2024 in den Moodle-Kurs ein. Der Einschreibeschlüssel wird an die über AGNES eingeschriebenen Studierenden verschickt (bis 14.10.24) und kann von den Teilnehmer*innen, die noch nicht über AGNES eingeschrieben sind, danach auch per Email an Benjamin Hauskeller erfragt werden.
  • Im Logbuch finden Sie (nach den Vorlesungen) Informationen zum Inhalt der einzelnen Vorlesungsstunden, Teile des Vorlesungsskripts und gelegentlich auch Korrekturen und sonstige ergänzende Bemerkungen.

 


Einführung

Logik spielt eine grundlegende Rolle in vielen Bereichen der Informatik, etwa dem Schaltkreisentwurf, dem Software-Engineering, der künstlichen Intelligenz, der Datenbanken und der theoretischen Informatik. Die Logik in der Informatik baut auf der mathematischen Logik auf, die sich etwa seit Ende des 19. Jahrhunderts herausgebildet hat. In den letzten 30 Jahren hat sich die Logik in der Informatik aber in eine eigenständige, von den Anwendungen bestimmte Richtung entwickelt.

Die Vorlesung ist eine Einführung in die Logik und ihre Anwendungen in der Informatik. Darüber hinaus wird die logikbasierte Programmiersprache Prolog eingeführt.

 


Inhalt

  • Kapitel 1: Einleitung
  • Kapitel 2: Aussagenlogik
  • Kapitel 3: Logik erster Stufe
  • Kapitel 4: Grundlagen des automatischen Schließens
  • Kapitel 5: Logik-Programmierung

 

Vorlesungsskript (Version vom 8. November 2024)

 

Beachten Sie:
In den Vorlesungs- und Übungsstunden wird hauptsächlich an der Tafel gearbeitet. Alle behandelten Inhalte sind für die Veranstaltung wesentlich und daher auch dann prüfungsrelevant, wenn sie nicht in den auf den Webseiten oder in Moodle erhältlichen Materialien enthalten sind. Zur Vorbereitung auf eine Prüfung wird dringend empfohlen, das gesamte, in den Vorlesungs- und Übungsstunden vermittelte Material durchzuarbeiten. Es ist daher wichtig, dass Sie sich während der Vorlesungs- und Übungsstunden Notizen machen.

 


Logbuch

Im Logbuch finden Sie (nach den Vorlesungen) Informationen zum Inhalt der einzelnen Vorlesungsstunden, Teile des Vorlesungsskripts und gelegentlich auch Korrekturen und sonstige ergänzende Bemerkungen.

 


Informationen zum Vorlesungsbetrieb

Vorlesungen

Dienstags 09-11 RUD26 0.115 und
Donnerstags 11-13 RUD26 0.115
Die Eröffnungsvorlesung findet am Dienstag, dem 15.10.24, ab 09:00 Uhr statt.
Dozentin
Prof. Dr. Nicole Schweikardt

 


Informationen zum Übungsbetrieb

Ergänzend zu den Vorlesungen finden 2-stündige Übungen in kleinen Gruppen statt, in denen Fragen zur Vorlesung diskutiert und die Übungsaufgaben besprochen werden. Die Übungsgruppen treffen sich erstmalig in der zweiten Woche der Vorlesungszeit, also in der Woche vom 21. bis 25.10.24.

 

Übungsgruppenleiter
Dr. André Frochaux
M.Sc. Benjamin Hauskeller
M.Sc. Benjamin Scheidt
Tutor*innen
Anke Bianchi
Dorian Gutschenreiter
Johannes F. Lange
Zeiten und Räume der Übungsgruppen
Gruppe 1:   Montags 15-17, RUD26 1.305 bei M.Sc. Benjamin Scheidt
Gruppe 4:   Montags 15-17, RUD26 1.306 bei M.Sc. Benjamin Hauskeller
Gruppe 2:   Dienstags 11-13, RUD26 1.305 bei M.Sc. Benjamin Scheidt
Gruppe 5:   Dienstags 11-13, RUD26 1.306 bei Dr. André Frochaux
Gruppe 3:   Freitags 09-11, RUD26 1.305 bei M.Sc. Benjamin Scheidt
Gruppe 6:   Freitags 09-11, RUD26 1.306 bei M.Sc. Benjamin Hauskeller

Melden Sie sich bitte für eine Übungsgruppe bis zum 09.10.24 (Nachfrist: bis 17.10.24) in AGNES an.

Bitte schreiben Sie sich außerdem zusätzlich bis zum 18.10.24 in den Moodle-Kurs ein. Beachten Sie, dass das Übungsblatt 0 bereits am 21.10. über Moodle abgegeben werden muss. Der Einschreibeschlüssel wird an die über AGNES eingeschriebenen Studierenden verschickt (bis 14.10.24) und kann danach von Teilnehmer*innen, die noch nicht über AGNES eingeschrieben sind, auch per Mail an Benjamin Hauskeller erfragt werden.

 


Informationen zur Prolog-Übung

Ergänzend zu den Vorlesungen und Übungen findet jede Woche eine 2-stündige Prolog-Übung statt, in denen Sie darin unterstützt werden, sich in die Programmiersprache Prolog einzuarbeiten. In der Prolog-Übung werden zusätzliche Programmierbeispiele behandelt und Anleitungen zur Lösung der Prolog-bezogenen Übungsaufgaben gegeben. Die Teilnahme an der Prolog-Übung ist freiwillig und bedarf keiner Anmeldung. Auf der Seite zur Prolog-Übung finden Sie weitere Informationen und (zu gegebener Zeit) den Quellcode der in der Prolog-Übung verwendeten Beispiele.

 

Beachten Sie: Für die Nutzung der Rechner der RBG in der Übung, wie auch für den Zugang des Referenzrechners ist zwingend (seit diesem Semester) ein Informatik-Account notwendig (hier rechtzeitig beantragen). Ein Zugang mittels CMS-Account ist nicht mehr möglich.

 

Die Prolog-Übung findet erstmalig in der zweiten Woche der Vorlesungszeit statt, also am 22.10.24.

 

Zeiten und Räume
Dienstags 13:00-15:00, RUD25 3.213
Donnerstags 09:00-11:00, RUD25 3.213
Dozent
Dr. André Frochaux

 


Übungsaufgaben

Es wird wöchentlich ein Übungsblatt ausgegeben. In der Regel enthält ein Übungsblatt vier Aufgaben:

  1. Aufgabe: wird elektronisch als Moodle-Quiz organisiert
  2. Aufgabe: dient in der zugehörigen Übungsstunde als Präsenzaufgabe
  3. Aufgabe: die handschriftlich und in deutscher Sprache formulierte Lösung soll eingescannt und über Moodle abgegeben werden
  4. Aufgabe: behandelt das Thema "Prolog"; die Lösung soll über Moodle abgegeben werden

 

Davon abweichend wird das Übungsblatt 0 nur eine "1. Aufgabe" haben. Das Übungsblatt 0 wird Ihnen hier am 14.10.24 bereitgestellt und muss bis zum 21.10.24, 13:00 Uhr bearbeitet werden.

  • Blatt 0 (wird bereitgestellt am 14.10., Bearbeitung bis zum 21.10., 13:00 Uhr)
  • Blatt 1 (wird bereitgestellt am 18.10., Bearbeitung bis zum 28.10., 13:00 Uhr)
  • Blatt 2 (wird bereitgestellt am 25.10., Bearbeitung bis zum 4.11., 13:00 Uhr)
  • Blatt 3 (wird bereitgestellt am 1.11., Bearbeitung bis zum 11.11., 13:00 Uhr)
  • Blatt 4 (wird bereitgestellt am 8.11., Bearbeitung bis zum 18.11., 13:00 Uhr)

Jedes weitere Übungsblatt wird jeweils freitags an dieser Stelle und in Moodle bereitgestellt.

Die Lösungen der Aufgaben 1, 3 und 4 müssen dann bis zur übernächsten Woche montags um 13:00 Uhr über Moodle eingereicht werden. Geben Sie auf jeder Abgabe bitte Ihre Matrikelnummer an.
Eine verspätete Abgabe ist nicht möglich. Bei Problemen wenden Sie sich bitte an die Übungsleiter (z.B. über das Diskussionsforum in Moodle).

Wir raten Ihnen, über die Aufgaben mit Kommiliton*innen gemeinsam zu reden und nachzudenken. Aber zur Abgabe der Lösungen muss jede*r Student*in seine*ihre Lösung selbst aufschreiben und abgeben.

Die von Ihnen abgegebenen Lösungen werden in der Woche der Abgabe in den Übungsstunden besprochen und von unseren Tutor*innen korrigiert und bewertet. Die Aufgaben 1-3 werden in den Übungsstunden besprochen; die Prolog-basierte Aufgabe 4 wird in der Prolog-Übung besprochen.

 


Voraussetzung für die Zulassung zur Modulabschlussprüfung

 

Um die Zulassung zur Modulabschlussprüfung zu erhalten, muss der Übungsschein erarbeitet werden; um den Übungsschein zu bekommen, muss jede der folgenden Bedingungen erfüllt werden:

  1. Für jedes Übungsblatt bis auf max. 2 Stück muss das zur Aufgabe 1 gehörende Moodle-Quiz bestanden werden und
  2. mindestens 40 % der während des Semesters insgesamt in den Aufgaben 3 und 4 maximal erreichbaren Punkte müssen tatsächlich erreicht werden.

 


Modulabschlussprüfung

Die Klausur dauert 2 Stunden. Sie wird in Präsenz stattfinden. Weitere Details folgen im Laufe des Semesters.

 


Literatur

Haupthema der Vorlesung ist die Logik. Folgende Bücher seien dazu zur Vertiefung des Vorlesungstoffes empfohlen:

[B] S. Burris, Logic for Mathematics and Computer Science. Prentice Hall, 1998.
[KK] Martin Kreuzer, Stefan Kühling. Logik für Informatiker. Pearson, 2014.
[S] U. Schöning, Logik für Informatiker. Spektrum Akademischer Verlag, 5. Auflage, 2000.

Als Ergänzung seien auch noch folgende Bücher genannt:

 

[EFT] Heinz-Dieter Ebbinghaus, Jörg Flum, Wolfgang Thomas, Einführung in die mathematische Logik, Springer Spektrum, 6. Auflage, 2018.
[E] Heinz-Dieter Ebbinghaus, Einführung in die Mengenlehre. Springer Spektrum, 5. Auflage, 2021.
[L] Leonid Libkin, Elements of Finite Model Theory. Springer-Verlag, 2004.
[FG] Jörg Flum, Martin Grohe, Parameterized Complexity Theory. Springer, 2005.
[C] P. J. Cameron, Sets, Logic and Categories. Springer Verlag, 1998.
[vD] D. van Dalen, Logic and Structure. Springer Verlag, 4. Auflage, 2008.
[HR] M. Huth and M. Ryan, Logic in Computer Science – Modelling and Reasoning About Systems . 2nd Edition, Cambridge University Press, 2003.

Im praktischen Teil der Veranstaltung beschäftigen wir uns mit der Programmiersprache Prolog. Hier basiert die Vorlesung auf den folgenden beiden Büchern:

[BBS] Patrick Blackburn, Johan Bos, Kristina Striegnitz, Learn PROLOG Now!. Kings College Publications, 2006.
[SS]

Ehud Shapiro, Leon Sterling, The Art of PROLOG: Advanced Programming Techniques. 2nd Edition, MIT Press, 1994.

Zugang zur Online-Literatur

Einige der Bücher sind für Angehörige der HU Berlin online erhältlich (siehe Verlinkung). Loggen Sie sich dazu auf der Springerlink-Seite via Shibboleth mit ihrem CMS-Account ein (über Log In, Access via your institution bzw. Shibboleth-Login, Find your institution: Humboldt-Universität zu Berlin). Alternativ können Sie ggf. über eine VPN-Verbindung über das HU-Netz direkt darauf zugreifen. Zur Einrichtung eines VPN-Zugangs siehe die Anleitung des CMS.

 


Weitere Materialien

Programmierresourcen: Wir verwenden in der Vorlesung SWI-Prolog. Für den Einstieg steht Ihnen folgende Kurzanleitung zur Verfügung.

snippets-of-logic: Dort finden Sie u.a. einen Formelchecker für Aussagenlogik.