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

Vorlesung Logik in der Informatik (WS 22/23)

 

 


Aktuelles

  • Die vorläufigen Ergebnisse der Prüfung vom 14.04.23 stehen nun über Agnes in der Detailansicht Ihres Leistungsspiegels zur Verfügung. Bei Problemen wenden Sie sich bitte an André Frochaux. Details zur Einsicht finden Sie im Abschnitt Modulabschlussprüfung.
  • 28.02.2023: Die vorläufigen Ergebnisse der Prüfung vom 22.02.23 stehen nun über Agnes in der Detailansicht Ihres Leistungsspiegels zur Verfügung. Bei Problemen wenden Sie sich bitte an Benjamin Hauskeller. Details zur Einsicht finden Sie im Abschnitt Modulabschlussprüfung.
  • 10.02.2023: Im Abschnitt Modulabschlussprüfung finden Sie nun eine Zusammenstellung von Hinweisen zur Klausur (inkl. Beispiele früherer Klausuraufgaben; Details zum organisatorischen Ablauf der Klausur folgen demnächst). Bitte lesen Sie sich die dort erhältlichen Informationen und Regelungen sorgfältig durch!
  • 16.01.23: ab heute können Sie sich zur Prüfung anmelden. Beachten Sie die Hinweise unter Modulabschlussprüfung
  • Krankheitsbedingt wird die Aufgabe 4 von Blatt 8 auf Blatt 9 verschoben.
  • Am 16.12.22 fällt die Übung krankheitsbedingt aus.
  • Am 15.12.22 fällt die Prolog-Übung krankheitsbedingt aus.
  • Der Einschreibeschlüssel wird (entgegen der bisherigen Ankündigung) erst am 17.10. verteilt.
  • Falls Sie am Modul "Logik in der Informatik" teilnehmen wollen, melden Sie sich bitte für eine Übungsgruppe bis zum 12.10.22 (Nachfrist: bis 20.10.22) in AGNES an.
  • 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 18.10.2022 in den Kurs unter Moodle-Kurs ein. Der Einschreibeschlüssel wird an die über AGNES eingeschriebenen Studierenden verschickt (bis 14.10.22) und kann von Teilnehmer*innen, die noch nicht über AGNES eingeschrieben sind, auch per Mail 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 20. September 2022)

 

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 11:00-13:00 RUD26 0.115 und
Donnerstags 11:00-13:00 RUD26 0.115
Die Eröffnungsvorlesung findet am Dienstag, den 18.10.22 ab 11: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 24.-28.10.22.

 

Übungsgruppenleiter:
Dr. André Frochaux
Benjamin Hauskeller
Tutor*innen:
Cecilia Lange
Johannes F. Lange
Zeiten und Räume der Übungsgruppen:
Gruppe 1 :   Montags 15-17, RUD26 1.303  bei Benjamin Hauskeller
Gruppe 5 :   Montags 15-17, RUD26 1.306 bei Dr. André Frochaux
Gruppe 2 :   Mittwochs 11-13, RUD26 1.303 bei Benjamin Hauskeller
Gruppe 6 :   Mittwochs 11-13, RUD26 1.306 bei Dr. André Frochaux
Gruppe 3 :   Freitags 09-11, RUD26 1.305 bei Benjamin Hauskeller
Gruppe 4 :   Freitags 09-11, RUD26 1.306 bei Dr. André Frochaux

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

Bitte schreiben Sie sich außerdem zusätzlich bis zum 18.10.22 in den Moodle-Kurs ein. Der Einschreibeschlüssel wird an die über AGNES eingeschriebenen Studierenden verschickt (bis 17.10.22) 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.

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

 

Zeiten und Räume
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 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 18.10.22 bereitgestellt und muss bis zum 24.10.22, 13:00 Uhr bearbeitet werden.

  • Blatt 0 (ausgeteilt am 18.10., Bearbeitung bis zum 24.10., 13:00 Uhr)
  • Blatt 1 (ausgeteilt am 21.10., Bearbeitung bis zum 31.10., 13:00 Uhr)
  • Blatt 2 (ausgeteilt am 28.10., Bearbeitung bis zum 07.11., 13:00 Uhr)
  • Blatt 3 (ausgeteilt am 04.11., Bearbeitung bis zum 14.11., 13:00 Uhr)
  • Blatt 4 (ausgeteilt am 11.11., Bearbeitung bis zum 21.11., 13:00 Uhr)
  • Blatt 5 (ausgeteilt am 18.11., Bearbeitung bis zum 28.11., 13:00 Uhr)
  • Blatt 6 (ausgeteilt am 25.11., Bearbeitung bis zum 05.12., 13:00 Uhr)
  • Blatt 7 (ausgeteilt am 02.12., Bearbeitung bis zum 12.12., 13:00 Uhr)
  • Blatt 8 (ausgeteilt am 09.12., Bearbeitung bis zum 19.12., 13:00 Uhr) Die Aufgabe 4 wurde auf das nächste Blatt verschoben.
  • Blatt 9 (ausgeteilt am 16.12., Bearbeitung bis zum 9.1., 13:00 Uhr) [update 02.01.23: fehlende Pfeilspitze in Abb. zu A.3c Struktur B hinzugefügt ]
  • Blatt 10 (ausgeteilt am 06.01., Bearbeitung bis zum 16.01., 13:00 Uhr)
  • Blatt 11 (ausgeteilt am 13.01., Bearbeitung bis zum 23.01., 13:00 Uhr)
  • Blatt 12 (ausgeteilt am 20.01., Bearbeitung bis zum 30.01., 13:00 Uhr)
  • Blatt 13 (ausgeteilt am 27.01., Bearbeitung bis zum 06.02., 13:00 Uhr)
  • Blatt 14 (ausgeteilt am 10.02., Präsenzblatt für die letzte Übung)


Jedes weitere Übungsblatt wird jeweils freitags an dieser Stelle 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.

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. 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.

  • Die erste Klausur findet am 22.02.2023 um 11:40 Uhr (Einlass ab 11:15 Uhr) statt (in den Räumen 0'115 und 0'110 im ESZ).
    • Teilnehmer:innen, deren Nachname mit einem Buchstaben von A bis H beginnt, schreiben im Raum 0'110 im ESZ
    • Teilnehmer:innen, deren Nachname mit einem Buchstaben von J bis Z beginnt, schreiben im Raum 0'115 im ESZ
    • Die vorläufigen Ergebnisse finden Sie in Agnes in Ihrem Leistungsspiegel. Die Klausuren wurden nach folgenden Punktespiegel benotet. Die Einsicht findet am Montag, den 6.3.23, im Humboldt-Kabinett (1.OG zwischen Haus 3 und 4) im JvN-Haus von 9:00-11:00 Uhr statt.
      • Studierende, deren Nachname mit einem Buchstaben von A bis K beginnt, kommen bitte zwischen 9:00 und 10:00 Uhr
      • Studierende, deren Nachname mit einem Buchstaben von L bis Z beginnt, kommen bitte zwischen 10:00 und 11:00 Uhr
  • Die zweite Klausur findet am 14.04.2022 um 09:40 Uhr (Einlass ab 09:15 Uhr) in Raum 0'115 im ESZ statt. Die vorläufigen Ergebnisse finden Sie in Agnes in Ihrem Leistungsspiegel. Die Einsicht findet am Montag, den 8.5.23, im Humboldt-Kabinett (1.OG zwischen Haus 3 und 4) im JvN-Haus von 9:00-10:00 Uhr statt.

Den vollständigen Prüfungsplan sowie Hinweise zur An- und Abmeldung finden Sie auf der Seite des Prüfungsbüros. Eine Anmeldung ist auch möglich, falls Sie die Zulassung zur Prüfung noch nicht erhalten haben.

Auf der folgenden verlinkten Seite finden Sie weitere Hinweise zur Klausur.

 


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] M. Kreuzer, S. Kühling. Logik für Informatiker. Pearson, 2006.
[S] U. Schöning, Logik für Informatiker. 5. Auflage, Spektrum Akademischer Verlag, 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. 5. Auflage, Spektrum Akademischer Verlag, 2007. Online ist die 6. Auflage verfügbar.
[E] Heinz-Dieter Ebbinghaus, Einführung in die Mengenlehre. 4. Auflage, Spektrum Akademischer Verlag, 2003. Online ist die 5. Auflage verfügbar.
[L] Leonid Libkin, Elements of Finite Model Theory. Springer, 2004. Über den Link sind die für die Vorlesung relevanten Teile des Buchs unter "Download table of contents and a sample chapter" erhältlich.
[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. 4th Edition, Springer Verlag, 2004.
[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.